Re: [PATCH v5 23/27] Revert "clk: bcm2835: remove pllb"

2020-06-24 Thread Stephen Boyd
Quoting Maxime Ripard (2020-06-15 01:41:03)
> This reverts commit 2256d89333bd17b8b56b42734a7e1046d52f7fc3. Since we
> will be expanding the firmware clock driver, we'll need to remove the
> quirks to deal with the PLLB. However, we still want to expose the clock
> tree properly, so having that clock in the MMIO driver will allow that.
> 
> Acked-by: Nicolas Saenz Julienne 
> Tested-by: Nicolas Saenz Julienne 
> Signed-off-by: Maxime Ripard 
> ---

Applied to clk-next


[PATCH v5 23/27] Revert "clk: bcm2835: remove pllb"

2020-06-15 Thread Maxime Ripard
This reverts commit 2256d89333bd17b8b56b42734a7e1046d52f7fc3. Since we
will be expanding the firmware clock driver, we'll need to remove the
quirks to deal with the PLLB. However, we still want to expose the clock
tree properly, so having that clock in the MMIO driver will allow that.

Acked-by: Nicolas Saenz Julienne 
Tested-by: Nicolas Saenz Julienne 
Signed-off-by: Maxime Ripard 
---
 drivers/clk/bcm/clk-bcm2835.c | 30 ++
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
index 6bb7efa12037..32f5c13be9d1 100644
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
@@ -1684,10 +1684,32 @@ static const struct bcm2835_clk_desc clk_desc_array[] = 
{
.fixed_divider = 1,
.flags = CLK_SET_RATE_PARENT),
 
-   /*
-* PLLB is used for the ARM's clock. Controlled by firmware, see
-* clk-raspberrypi.c.
-*/
+   /* PLLB is used for the ARM's clock. */
+   [BCM2835_PLLB]  = REGISTER_PLL(
+   SOC_ALL,
+   .name = "pllb",
+   .cm_ctrl_reg = CM_PLLB,
+   .a2w_ctrl_reg = A2W_PLLB_CTRL,
+   .frac_reg = A2W_PLLB_FRAC,
+   .ana_reg_base = A2W_PLLB_ANA0,
+   .reference_enable_mask = A2W_XOSC_CTRL_PLLB_ENABLE,
+   .lock_mask = CM_LOCK_FLOCKB,
+
+   .ana = _ana_default,
+
+   .min_rate = 6u,
+   .max_rate = 30u,
+   .max_fb_rate = BCM2835_MAX_FB_RATE),
+   [BCM2835_PLLB_ARM]  = REGISTER_PLL_DIV(
+   SOC_ALL,
+   .name = "pllb_arm",
+   .source_pll = "pllb",
+   .cm_reg = CM_PLLB,
+   .a2w_reg = A2W_PLLB_ARM,
+   .load_mask = CM_PLLB_LOADARM,
+   .hold_mask = CM_PLLB_HOLDARM,
+   .fixed_divider = 1,
+   .flags = CLK_SET_RATE_PARENT),
 
/*
 * PLLC is the core PLL, used to drive the core VPU clock.
-- 
git-series 0.9.1