[PATCH v2 2/3] clock:aspeed: Sync with Linux kernel clock header define
Cédric Le Goater
clg at kaod.org
Wed Sep 9 08:47:36 CEST 2020
On 8/31/20 8:03 AM, Ryan Chen wrote:
> v2: modify title description aspeed:clock -> clock:aspeed
>
> Use kernel include/dt-bindings/clock/aspeed-clock.h define
> for clock driver.
>
> Signed-off-by: Ryan Chen <ryan_chen at aspeedtech.com>
> ---
> arch/arm/dts/ast2500-u-boot.dtsi | 20 +++----
> drivers/clk/aspeed/clk_ast2500.c | 38 +++++++------
> include/dt-bindings/clock/aspeed-clock.h | 68 ++++++++++++++----------
> 3 files changed, 68 insertions(+), 58 deletions(-)
>
> diff --git a/arch/arm/dts/ast2500-u-boot.dtsi b/arch/arm/dts/ast2500-u-boot.dtsi
> index 3b119e4ace..29b08f16ac 100644
> --- a/arch/arm/dts/ast2500-u-boot.dtsi
> +++ b/arch/arm/dts/ast2500-u-boot.dtsi
> @@ -25,7 +25,7 @@
> reg = <0x1e6e0000 0x174
> 0x1e6e0200 0x1d4 >;
> #reset-cells = <1>;
> - clocks = <&scu PLL_MPLL>;
> + clocks = <&scu ASPEED_CLK_MPLL>;
> resets = <&rst AST_RESET_SDRAM>;
> };
>
> @@ -39,7 +39,7 @@
> compatible = "aspeed,ast2500-sdhci";
> reg = <0x1e740100>;
> #reset-cells = <1>;
> - clocks = <&scu BCLK_SDCLK>;
> + clocks = <&scu ASPEED_CLK_SDIO>;
> resets = <&rst AST_RESET_SDIO>;
> };
>
> @@ -47,7 +47,7 @@
> compatible = "aspeed,ast2500-sdhci";
> reg = <0x1e740200>;
> #reset-cells = <1>;
> - clocks = <&scu BCLK_SDCLK>;
> + clocks = <&scu ASPEED_CLK_SDIO>;
> resets = <&rst AST_RESET_SDIO>;
> };
> };
> @@ -56,23 +56,23 @@
> };
>
> &uart1 {
> - clocks = <&scu PCLK_UART1>;
> + clocks = <&scu ASPEED_CLK_GATE_UART1CLK>;
> };
>
> &uart2 {
> - clocks = <&scu PCLK_UART2>;
> + clocks = <&scu ASPEED_CLK_GATE_UART2CLK>;
> };
>
> &uart3 {
> - clocks = <&scu PCLK_UART3>;
> + clocks = <&scu ASPEED_CLK_GATE_UART3CLK>;
> };
>
> &uart4 {
> - clocks = <&scu PCLK_UART4>;
> + clocks = <&scu ASPEED_CLK_GATE_UART4CLK>;
> };
>
> &uart5 {
> - clocks = <&scu PCLK_UART5>;
> + clocks = <&scu ASPEED_CLK_GATE_UART5CLK>;
> };
>
> &timer {
> @@ -80,9 +80,9 @@
> };
>
> &mac0 {
> - clocks = <&scu PCLK_MAC1>, <&scu PLL_D2PLL>;
> + clocks = <&scu ASPEED_CLK_GATE_MAC1CLK>, <&scu ASPEED_CLK_D2PLL>;
> };
>
> &mac1 {
> - clocks = <&scu PCLK_MAC2>, <&scu PLL_D2PLL>;
> + clocks = <&scu ASPEED_CLK_GATE_MAC1CLK>, <&scu ASPEED_CLK_D2PLL>;
> };
> diff --git a/drivers/clk/aspeed/clk_ast2500.c b/drivers/clk/aspeed/clk_ast2500.c
> index 392fe76b27..aab7d14deb 100644
> --- a/drivers/clk/aspeed/clk_ast2500.c
> +++ b/drivers/clk/aspeed/clk_ast2500.c
> @@ -122,8 +122,7 @@ static ulong ast2500_clk_get_rate(struct clk *clk)
> ulong rate;
>
> switch (clk->id) {
> - case PLL_HPLL:
> - case ARMCLK:
> + case ASPEED_CLK_HPLL:
> /*
> * This ignores dynamic/static slowdown of ARMCLK and may
> * be inaccurate.
> @@ -131,11 +130,11 @@ static ulong ast2500_clk_get_rate(struct clk *clk)
> rate = ast2500_get_hpll_rate(clkin,
> readl(&priv->scu->h_pll_param));
> break;
> - case MCLK_DDR:
> + case ASPEED_CLK_MPLL:
> rate = ast2500_get_mpll_rate(clkin,
> readl(&priv->scu->m_pll_param));
> break;
> - case BCLK_PCLK:
> + case ASPEED_CLK_APB:
> {
> ulong apb_div = 4 + 4 * ((readl(&priv->scu->clk_sel1)
> & SCU_PCLK_DIV_MASK)
> @@ -146,7 +145,7 @@ static ulong ast2500_clk_get_rate(struct clk *clk)
> rate = rate / apb_div;
> }
> break;
> - case BCLK_SDCLK:
> + case ASPEED_CLK_SDIO:
> {
> ulong apb_div = 4 + 4 * ((readl(&priv->scu->clk_sel1)
> & SCU_SDCLK_DIV_MASK)
> @@ -157,19 +156,19 @@ static ulong ast2500_clk_get_rate(struct clk *clk)
> rate = rate / apb_div;
> }
> break;
> - case PCLK_UART1:
> + case ASPEED_CLK_GATE_UART1CLK:
> rate = ast2500_get_uart_clk_rate(priv->scu, 1);
> break;
> - case PCLK_UART2:
> + case ASPEED_CLK_GATE_UART2CLK:
> rate = ast2500_get_uart_clk_rate(priv->scu, 2);
> break;
> - case PCLK_UART3:
> + case ASPEED_CLK_GATE_UART3CLK:
> rate = ast2500_get_uart_clk_rate(priv->scu, 3);
> break;
> - case PCLK_UART4:
> + case ASPEED_CLK_GATE_UART4CLK:
> rate = ast2500_get_uart_clk_rate(priv->scu, 4);
> break;
> - case PCLK_UART5:
> + case ASPEED_CLK_GATE_UART5CLK:
> rate = ast2500_get_uart_clk_rate(priv->scu, 5);
> break;
> default:
> @@ -431,11 +430,10 @@ static ulong ast2500_clk_set_rate(struct clk *clk, ulong rate)
>
> ulong new_rate;
> switch (clk->id) {
> - case PLL_MPLL:
> - case MCLK_DDR:
> + case ASPEED_CLK_MPLL:
> new_rate = ast2500_configure_ddr(priv->scu, rate);
> break;
> - case PLL_D2PLL:
> + case ASPEED_CLK_D2PLL:
> new_rate = ast2500_configure_d2pll(priv->scu, rate);
> break;
> default:
> @@ -450,7 +448,7 @@ static int ast2500_clk_enable(struct clk *clk)
> struct ast2500_clk_priv *priv = dev_get_priv(clk->dev);
>
> switch (clk->id) {
> - case BCLK_SDCLK:
> + case ASPEED_CLK_SDIO:
> if (readl(&priv->scu->clk_stop_ctrl1) & SCU_CLKSTOP_SDCLK) {
> ast_scu_unlock(priv->scu);
>
> @@ -471,13 +469,13 @@ static int ast2500_clk_enable(struct clk *clk)
> * configured based on whether RGMII or RMII mode has been selected
> * through hardware strapping.
> */
> - case PCLK_MAC1:
> + case ASPEED_CLK_GATE_MAC1CLK:
> ast2500_configure_mac(priv->scu, 1);
> break;
> - case PCLK_MAC2:
> + case ASPEED_CLK_GATE_MAC2CLK:
> ast2500_configure_mac(priv->scu, 2);
> break;
> - case PLL_D2PLL:
> + case ASPEED_CLK_D2PLL:
> ast2500_configure_d2pll(priv->scu, D2PLL_DEFAULT_RATE);
> break;
> default:
> @@ -497,9 +495,9 @@ static int ast2500_clk_ofdata_to_platdata(struct udevice *dev)
> {
> struct ast2500_clk_priv *priv = dev_get_priv(dev);
>
> - priv->scu = dev_read_addr_ptr(dev);
> - if (!priv->scu)
> - return -EINVAL;
> + priv->scu = devfdt_get_addr_ptr(dev);
> + if (IS_ERR(priv->scu))
> + return PTR_ERR(priv->scu);
This is an unrelated change.
> return 0;
> }
> diff --git a/include/dt-bindings/clock/aspeed-clock.h b/include/dt-bindings/clock/aspeed-clock.h
> index 4803abe9f6..e6599deeb9 100644
> --- a/include/dt-bindings/clock/aspeed-clock.h
> +++ b/include/dt-bindings/clock/aspeed-clock.h
> @@ -1,30 +1,42 @@
> /* SPDX-License-Identifier: GPL-2.0+ */
> -/*
> - * Copyright 2016 Google Inc.
> - */
I don't know how to deal with this change.
I think merging the first two patches in one patch will solve the issue
as it would remove file ast2500-scu.h and add aspeed-clock.h.
But please move the devfdt_get_addr_ptr() change in another patch.
Thanks,
C.
> -/* Core Clocks */
> -#define PLL_HPLL 1
> -#define PLL_DPLL 2
> -#define PLL_D2PLL 3
> -#define PLL_MPLL 4
> -#define ARMCLK 5
> -
> -
> -/* Bus Clocks, derived from core clocks */
> -#define BCLK_PCLK 101
> -#define BCLK_LHCLK 102
> -#define BCLK_MACCLK 103
> -#define BCLK_SDCLK 104
> -#define BCLK_ARMCLK 105
> -
> -#define MCLK_DDR 201
> -
> -/* Special clocks */
> -#define PCLK_UART1 501
> -#define PCLK_UART2 502
> -#define PCLK_UART3 503
> -#define PCLK_UART4 504
> -#define PCLK_UART5 505
> -#define PCLK_MAC1 506
> -#define PCLK_MAC2 507
> +#define ASPEED_CLK_GATE_ECLK 0
> +#define ASPEED_CLK_GATE_GCLK 1
> +#define ASPEED_CLK_GATE_MCLK 2
> +#define ASPEED_CLK_GATE_VCLK 3
> +#define ASPEED_CLK_GATE_BCLK 4
> +#define ASPEED_CLK_GATE_DCLK 5
> +#define ASPEED_CLK_GATE_REFCLK 6
> +#define ASPEED_CLK_GATE_USBPORT2CLK 7
> +#define ASPEED_CLK_GATE_LCLK 8
> +#define ASPEED_CLK_GATE_USBUHCICLK 9
> +#define ASPEED_CLK_GATE_D1CLK 10
> +#define ASPEED_CLK_GATE_YCLK 11
> +#define ASPEED_CLK_GATE_USBPORT1CLK 12
> +#define ASPEED_CLK_GATE_UART1CLK 13
> +#define ASPEED_CLK_GATE_UART2CLK 14
> +#define ASPEED_CLK_GATE_UART5CLK 15
> +#define ASPEED_CLK_GATE_ESPICLK 16
> +#define ASPEED_CLK_GATE_MAC1CLK 17
> +#define ASPEED_CLK_GATE_MAC2CLK 18
> +#define ASPEED_CLK_GATE_RSACLK 19
> +#define ASPEED_CLK_GATE_UART3CLK 20
> +#define ASPEED_CLK_GATE_UART4CLK 21
> +#define ASPEED_CLK_GATE_SDCLK 22
> +#define ASPEED_CLK_GATE_LHCCLK 23
> +#define ASPEED_CLK_HPLL 24
> +#define ASPEED_CLK_AHB 25
> +#define ASPEED_CLK_APB 26
> +#define ASPEED_CLK_UART 27
> +#define ASPEED_CLK_SDIO 28
> +#define ASPEED_CLK_ECLK 29
> +#define ASPEED_CLK_ECLK_MUX 30
> +#define ASPEED_CLK_LHCLK 31
> +#define ASPEED_CLK_MAC 32
> +#define ASPEED_CLK_BCLK 33
> +#define ASPEED_CLK_MPLL 34
> +#define ASPEED_CLK_24M 35
> +#define ASPEED_CLK_MAC1RCLK 36
> +#define ASPEED_CLK_MAC2RCLK 37
> +#define ASPEED_CLK_DPLL 38
> +#define ASPEED_CLK_D2PLL 39
>
More information about the U-Boot
mailing list