[PATCH v1 10/15] aspeed: Add P-Bus clock in ast2500 clock driver
Simon Glass
sjg at chromium.org
Wed Apr 19 10:11:59 AEST 2017
On 17 April 2017 at 13:00, Maxim Sloyko <maxims at google.com> wrote:
> Add P-Bus Clock support to ast2500 clock driver.
> This is the clock used by I2C devices.
>
> Signed-off-by: Maxim Sloyko <maxims at google.com>
> ---
>
> Changes in v1: None
>
> arch/arm/include/asm/arch-aspeed/scu_ast2500.h | 3 ++-
> drivers/clk/aspeed/clk_ast2500.c | 11 +++++++++++
> 2 files changed, 13 insertions(+), 1 deletion(-)
>
Reviewed-by: Simon Glass <sjg at chromium.org>
> diff --git a/arch/arm/include/asm/arch-aspeed/scu_ast2500.h b/arch/arm/include/asm/arch-aspeed/scu_ast2500.h
> index 1cdd3b9198..319d75e05c 100644
> --- a/arch/arm/include/asm/arch-aspeed/scu_ast2500.h
> +++ b/arch/arm/include/asm/arch-aspeed/scu_ast2500.h
> @@ -21,7 +21,8 @@
> #define SCU_MPLL_NUM_MASK 0xff
> #define SCU_MPLL_POST_SHIFT 13
> #define SCU_MPLL_POST_MASK 0x3f
I think it works better in general if the mask is defined as 0x3f <<
SCU_MPLL_POST_SHIFT. Something to think about as a possible clean-up.
> -
> +#define SCU_PCLK_DIV_SHIFT 23
> +#define SCU_PCLK_DIV_MASK 7
> #define SCU_HPLL_DENUM_SHIFT 0
> #define SCU_HPLL_DENUM_MASK 0x1f
> #define SCU_HPLL_NUM_SHIFT 5
> diff --git a/drivers/clk/aspeed/clk_ast2500.c b/drivers/clk/aspeed/clk_ast2500.c
> index 504731271c..9e4c66ea85 100644
> --- a/drivers/clk/aspeed/clk_ast2500.c
> +++ b/drivers/clk/aspeed/clk_ast2500.c
> @@ -110,6 +110,17 @@ static ulong ast2500_clk_get_rate(struct clk *clk)
> rate = ast2500_get_mpll_rate(clkin,
> readl(&priv->scu->m_pll_param));
> break;
> + case BCLK_PCLK:
> + {
> + ulong apb_div = 4 + 4 * ((readl(&priv->scu->clk_sel1)
> + >> SCU_PCLK_DIV_SHIFT) &
> + SCU_PCLK_DIV_MASK);
> + rate = ast2500_get_hpll_rate(clkin,
> + readl(&priv->scu->
> + h_pll_param));
> + rate = rate / apb_div;
> + }
> + break;
> case PCLK_UART1:
> rate = ast2500_get_uart_clk_rate(priv->scu, 1);
> break;
> --
> 2.12.2.762.g0e3151a226-goog
>
Regards,
Simon
More information about the openbmc
mailing list