[PATCH v4 3/8] dt-bindings: clock: brcm,kona-ccu: Add BCM21664 and BCM281xx bus clocks

From: Artur Weber
Date: Tue Mar 18 2025 - 04:16:05 EST


Add bus clocks corresponding to peripheral clocks currently supported
by the BCM21664 and BCM281xx clock drivers and add the relevant clock
IDs to the dt-bindings headers (bcm21664.h, bcm281xx.h).

Signed-off-by: Artur Weber <aweber.kernel@xxxxxxxxx>
---
Changes in v4:
- Squash BCM21664 and BCM281xx bus clock bindings commits
---
.../devicetree/bindings/clock/brcm,kona-ccu.yaml | 49 ++++++++++++++++++++--
include/dt-bindings/clock/bcm21664.h | 13 ++++++
include/dt-bindings/clock/bcm281xx.h | 19 +++++++++
3 files changed, 78 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml b/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml
index e5656950b3bd0ad44ba47f0ada84b558e71df590..d00dcf916b45904177614c6f19a5df02abdf42f7 100644
--- a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml
+++ b/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml
@@ -40,7 +40,7 @@ properties:

clock-output-names:
minItems: 1
- maxItems: 10
+ maxItems: 20

required:
- compatible
@@ -61,6 +61,8 @@ allOf:
- const: hub_timer
- const: pmu_bsc
- const: pmu_bsc_var
+ - const: hub_timer_apb
+ - const: pmu_bsc_apb
- if:
properties:
compatible:
@@ -86,6 +88,13 @@ allOf:
- const: usb_ic
- const: hsic2_48m
- const: hsic2_12m
+ - const: sdio1_ahb
+ - const: sdio2_ahb
+ - const: sdio3_ahb
+ - const: sdio4_ahb
+ - const: usb_ic_ahb
+ - const: hsic2_ahb
+ - const: usb_otg_ahb
- if:
properties:
compatible:
@@ -116,6 +125,16 @@ allOf:
- const: bsc2
- const: bsc3
- const: pwm
+ - const: uartb_apb
+ - const: uartb2_apb
+ - const: uartb3_apb
+ - const: uartb4_apb
+ - const: ssp0_apb
+ - const: ssp2_apb
+ - const: bsc1_apb
+ - const: bsc2_apb
+ - const: bsc3_apb
+ - const: pwm_apb
- if:
properties:
compatible:
@@ -124,7 +143,9 @@ allOf:
then:
properties:
clock-output-names:
- const: hub_timer
+ items:
+ - const: hub_timer
+ - const: hub_timer_apb
- if:
properties:
compatible:
@@ -142,6 +163,11 @@ allOf:
- const: sdio2_sleep
- const: sdio3_sleep
- const: sdio4_sleep
+ - const: sdio1_ahb
+ - const: sdio2_ahb
+ - const: sdio3_ahb
+ - const: sdio4_ahb
+ - const: usb_otg_ahb
- if:
properties:
compatible:
@@ -158,6 +184,13 @@ allOf:
- const: bsc2
- const: bsc3
- const: bsc4
+ - const: uartb_apb
+ - const: uartb2_apb
+ - const: uartb3_apb
+ - const: bsc1_apb
+ - const: bsc2_apb
+ - const: bsc3_apb
+ - const: bsc4_apb

additionalProperties: false

@@ -176,6 +209,16 @@ examples:
"bsc1",
"bsc2",
"bsc3",
- "pwm";
+ "pwm",
+ "uartb_apb",
+ "uartb2_apb",
+ "uartb3_apb",
+ "uartb4_apb",
+ "ssp0_apb",
+ "ssp2_apb",
+ "bsc1_apb",
+ "bsc2_apb",
+ "bsc3_apb",
+ "pwm_apb";
};
...
diff --git a/include/dt-bindings/clock/bcm21664.h b/include/dt-bindings/clock/bcm21664.h
index 7a380a51848ce100cbf94f9da2b997dbe3a65230..9f3614eb9036b5ce36b610fd7437338655a9cf97 100644
--- a/include/dt-bindings/clock/bcm21664.h
+++ b/include/dt-bindings/clock/bcm21664.h
@@ -25,6 +25,7 @@
/* aon CCU clock ids */

#define BCM21664_AON_CCU_HUB_TIMER 0
+#define BCM21664_AON_CCU_HUB_TIMER_APB 1

/* master CCU clock ids */

@@ -36,6 +37,11 @@
#define BCM21664_MASTER_CCU_SDIO2_SLEEP 5
#define BCM21664_MASTER_CCU_SDIO3_SLEEP 6
#define BCM21664_MASTER_CCU_SDIO4_SLEEP 7
+#define BCM21664_MASTER_CCU_SDIO1_AHB 8
+#define BCM21664_MASTER_CCU_SDIO2_AHB 9
+#define BCM21664_MASTER_CCU_SDIO3_AHB 10
+#define BCM21664_MASTER_CCU_SDIO4_AHB 11
+#define BCM21664_MASTER_CCU_USB_OTG_AHB 12

/* slave CCU clock ids */

@@ -46,5 +52,12 @@
#define BCM21664_SLAVE_CCU_BSC2 4
#define BCM21664_SLAVE_CCU_BSC3 5
#define BCM21664_SLAVE_CCU_BSC4 6
+#define BCM21664_SLAVE_CCU_UARTB_APB 7
+#define BCM21664_SLAVE_CCU_UARTB2_APB 8
+#define BCM21664_SLAVE_CCU_UARTB3_APB 9
+#define BCM21664_SLAVE_CCU_BSC1_APB 10
+#define BCM21664_SLAVE_CCU_BSC2_APB 11
+#define BCM21664_SLAVE_CCU_BSC3_APB 12
+#define BCM21664_SLAVE_CCU_BSC4_APB 13

#endif /* _CLOCK_BCM21664_H */
diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clock/bcm281xx.h
index 0c7a7e10cb425ddb597392939cb218545a48bf22..8e3ac4ab3e16fb33a82259ccb82287fdfbb749bc 100644
--- a/include/dt-bindings/clock/bcm281xx.h
+++ b/include/dt-bindings/clock/bcm281xx.h
@@ -33,6 +33,8 @@
#define BCM281XX_AON_CCU_HUB_TIMER 0
#define BCM281XX_AON_CCU_PMU_BSC 1
#define BCM281XX_AON_CCU_PMU_BSC_VAR 2
+#define BCM281XX_AON_CCU_HUB_TIMER_APB 3
+#define BCM281XX_AON_CCU_PMU_BSC_APB 4

/* hub CCU clock ids */

@@ -47,6 +49,13 @@
#define BCM281XX_MASTER_CCU_USB_IC 4
#define BCM281XX_MASTER_CCU_HSIC2_48M 5
#define BCM281XX_MASTER_CCU_HSIC2_12M 6
+#define BCM281XX_MASTER_CCU_SDIO1_AHB 7
+#define BCM281XX_MASTER_CCU_SDIO2_AHB 8
+#define BCM281XX_MASTER_CCU_SDIO3_AHB 9
+#define BCM281XX_MASTER_CCU_SDIO4_AHB 10
+#define BCM281XX_MASTER_CCU_USB_IC_AHB 11
+#define BCM281XX_MASTER_CCU_HSIC2_AHB 12
+#define BCM281XX_MASTER_CCU_USB_OTG_AHB 13

/* slave CCU clock ids */

@@ -60,5 +69,15 @@
#define BCM281XX_SLAVE_CCU_BSC2 7
#define BCM281XX_SLAVE_CCU_BSC3 8
#define BCM281XX_SLAVE_CCU_PWM 9
+#define BCM281XX_SLAVE_CCU_UARTB_APB 10
+#define BCM281XX_SLAVE_CCU_UARTB2_APB 11
+#define BCM281XX_SLAVE_CCU_UARTB3_APB 12
+#define BCM281XX_SLAVE_CCU_UARTB4_APB 13
+#define BCM281XX_SLAVE_CCU_SSP0_APB 14
+#define BCM281XX_SLAVE_CCU_SSP2_APB 15
+#define BCM281XX_SLAVE_CCU_BSC1_APB 16
+#define BCM281XX_SLAVE_CCU_BSC2_APB 17
+#define BCM281XX_SLAVE_CCU_BSC3_APB 18
+#define BCM281XX_SLAVE_CCU_PWM_APB 19

#endif /* _CLOCK_BCM281XX_H */

--
2.48.1