@@ -1684,10 +1684,32 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
1684
1684
.fixed_divider = 1 ,
1685
1685
.flags = CLK_SET_RATE_PARENT ),
1686
1686
1687
- /*
1688
- * PLLB is used for the ARM's clock. Controlled by firmware, see
1689
- * clk-raspberrypi.c.
1690
- */
1687
+ /* PLLB is used for the ARM's clock. */
1688
+ [BCM2835_PLLB ] = REGISTER_PLL (
1689
+ SOC_ALL ,
1690
+ .name = "pllb" ,
1691
+ .cm_ctrl_reg = CM_PLLB ,
1692
+ .a2w_ctrl_reg = A2W_PLLB_CTRL ,
1693
+ .frac_reg = A2W_PLLB_FRAC ,
1694
+ .ana_reg_base = A2W_PLLB_ANA0 ,
1695
+ .reference_enable_mask = A2W_XOSC_CTRL_PLLB_ENABLE ,
1696
+ .lock_mask = CM_LOCK_FLOCKB ,
1697
+
1698
+ .ana = & bcm2835_ana_default ,
1699
+
1700
+ .min_rate = 600000000u ,
1701
+ .max_rate = 3000000000u ,
1702
+ .max_fb_rate = BCM2835_MAX_FB_RATE ),
1703
+ [BCM2835_PLLB_ARM ] = REGISTER_PLL_DIV (
1704
+ SOC_ALL ,
1705
+ .name = "pllb_arm" ,
1706
+ .source_pll = "pllb" ,
1707
+ .cm_reg = CM_PLLB ,
1708
+ .a2w_reg = A2W_PLLB_ARM ,
1709
+ .load_mask = CM_PLLB_LOADARM ,
1710
+ .hold_mask = CM_PLLB_HOLDARM ,
1711
+ .fixed_divider = 1 ,
1712
+ .flags = CLK_SET_RATE_PARENT ),
1691
1713
1692
1714
/*
1693
1715
* PLLC is the core PLL, used to drive the core VPU clock.
0 commit comments