]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
dt-bindings: clock: convert lpc1850-ccu.txt to yaml format
authorFrank Li <Frank.Li@nxp.com>
Mon, 2 Jun 2025 14:19:36 +0000 (10:19 -0400)
committerStephen Boyd <sboyd@kernel.org>
Thu, 19 Jun 2025 20:02:33 +0000 (13:02 -0700)
Convert lpc1850-ccu.txt to yaml format.

Additional changes:
- remove label in examples.
- remove clock consumer in examples.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250602141937.942091-1-Frank.Li@nxp.com
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Documentation/devicetree/bindings/clock/lpc1850-ccu.txt [deleted file]
Documentation/devicetree/bindings/clock/nxp,lpc1850-ccu.yaml [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/clock/lpc1850-ccu.txt b/Documentation/devicetree/bindings/clock/lpc1850-ccu.txt
deleted file mode 100644 (file)
index 8cf8f0e..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-* NXP LPC1850 Clock Control Unit (CCU)
-
-Each CGU base clock has several clock branches which can be turned on
-or off independently by the Clock Control Units CCU1 or CCU2. The
-branch clocks are distributed between CCU1 and CCU2.
-
- - Above text taken from NXP LPC1850 User Manual.
-
-This binding uses the common clock binding:
-    Documentation/devicetree/bindings/clock/clock-bindings.txt
-
-Required properties:
-- compatible:
-       Should be "nxp,lpc1850-ccu"
-- reg:
-       Shall define the base and range of the address space
-       containing clock control registers
-- #clock-cells:
-       Shall have value <1>.  The permitted clock-specifier values
-       are the branch clock names defined in table below.
-- clocks:
-       Shall contain a list of phandles for the base clocks routed
-       from the CGU to the specific CCU. See mapping of base clocks
-       and CCU in table below.
-- clock-names:
-       Shall contain a list of names for the base clock routed
-       from the CGU to the specific CCU. Valid CCU clock names:
-       "base_usb0_clk",  "base_periph_clk", "base_usb1_clk",
-       "base_cpu_clk",   "base_spifi_clk",  "base_spi_clk",
-       "base_apb1_clk",  "base_apb3_clk",   "base_adchs_clk",
-       "base_sdio_clk",  "base_ssp0_clk",   "base_ssp1_clk",
-       "base_uart0_clk", "base_uart1_clk",  "base_uart2_clk",
-       "base_uart3_clk", "base_audio_clk"
-
-Which branch clocks that are available on the CCU depends on the
-specific LPC part. Check the user manual for your specific part.
-
-A list of CCU clocks can be found in dt-bindings/clock/lpc18xx-ccu.h.
-
-Example board file:
-
-soc {
-       ccu1: clock-controller@40051000 {
-               compatible = "nxp,lpc1850-ccu";
-               reg = <0x40051000 0x1000>;
-               #clock-cells = <1>;
-               clocks = <&cgu BASE_APB3_CLK>,   <&cgu BASE_APB1_CLK>,
-                        <&cgu BASE_SPIFI_CLK>,  <&cgu BASE_CPU_CLK>,
-                        <&cgu BASE_PERIPH_CLK>, <&cgu BASE_USB0_CLK>,
-                        <&cgu BASE_USB1_CLK>,   <&cgu BASE_SPI_CLK>;
-               clock-names = "base_apb3_clk",   "base_apb1_clk",
-                             "base_spifi_clk",  "base_cpu_clk",
-                             "base_periph_clk", "base_usb0_clk",
-                             "base_usb1_clk",   "base_spi_clk";
-       };
-
-       ccu2: clock-controller@40052000 {
-               compatible = "nxp,lpc1850-ccu";
-               reg = <0x40052000 0x1000>;
-               #clock-cells = <1>;
-               clocks = <&cgu BASE_AUDIO_CLK>, <&cgu BASE_UART3_CLK>,
-                        <&cgu BASE_UART2_CLK>, <&cgu BASE_UART1_CLK>,
-                        <&cgu BASE_UART0_CLK>, <&cgu BASE_SSP1_CLK>,
-                        <&cgu BASE_SSP0_CLK>,  <&cgu BASE_SDIO_CLK>;
-               clock-names = "base_audio_clk", "base_uart3_clk",
-                             "base_uart2_clk", "base_uart1_clk",
-                             "base_uart0_clk", "base_ssp1_clk",
-                             "base_ssp0_clk",  "base_sdio_clk";
-       };
-
-       /* A user of CCU branch clocks */
-       uart1: serial@40082000 {
-               ...
-               clocks = <&ccu2 CLK_APB0_UART1>, <&ccu1 CLK_CPU_UART1>;
-               ...
-       };
-};
diff --git a/Documentation/devicetree/bindings/clock/nxp,lpc1850-ccu.yaml b/Documentation/devicetree/bindings/clock/nxp,lpc1850-ccu.yaml
new file mode 100644 (file)
index 0000000..5459038
--- /dev/null
@@ -0,0 +1,104 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/nxp,lpc1850-ccu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP LPC1850 Clock Control Unit (CCU)
+
+description:
+  Each CGU base clock has several clock branches which can be turned on
+  or off independently by the Clock Control Units CCU1 or CCU2. The
+  branch clocks are distributed between CCU1 and CCU2.
+
+  Above text taken from NXP LPC1850 User Manual
+
+maintainers:
+  - Frank Li <Frank.Li@nxp.com>
+
+properties:
+  compatible:
+    const: nxp,lpc1850-ccu
+
+  reg:
+    maxItems: 1
+
+  '#clock-cells':
+    const: 1
+
+  clocks:
+    minItems: 1
+    maxItems: 8
+
+  clock-names:
+    minItems: 1
+    maxItems: 8
+    items:
+      enum:
+        - base_usb0_clk
+        - base_periph_clk
+        - base_usb1_clk
+        - base_cpu_clk
+        - base_spifi_clk
+        - base_spi_clk
+        - base_apb1_clk
+        - base_apb3_clk
+        - base_adchs_clk
+        - base_sdio_clk
+        - base_ssp0_clk
+        - base_ssp1_clk
+        - base_uart0_clk
+        - base_uart1_clk
+        - base_uart2_clk
+        - base_uart3_clk
+        - base_audio_clk
+    description:
+      Which branch clocks that are available on the CCU depends on the
+      specific LPC part. Check the user manual for your specific part.
+
+      A list of CCU clocks can be found in dt-bindings/clock/lpc18xx-ccu.h.
+
+required:
+  - compatible
+  - reg
+  - '#clock-cells'
+  - clocks
+  - clock-names
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/lpc18xx-cgu.h>
+
+    clock-controller@40051000 {
+        compatible = "nxp,lpc1850-ccu";
+        reg = <0x40051000 0x1000>;
+        #clock-cells = <1>;
+        clocks = <&cgu BASE_APB3_CLK>, <&cgu BASE_APB1_CLK>,
+                 <&cgu BASE_SPIFI_CLK>, <&cgu BASE_CPU_CLK>,
+                 <&cgu BASE_PERIPH_CLK>, <&cgu BASE_USB0_CLK>,
+                 <&cgu BASE_USB1_CLK>, <&cgu BASE_SPI_CLK>;
+        clock-names = "base_apb3_clk",   "base_apb1_clk",
+                      "base_spifi_clk",  "base_cpu_clk",
+                      "base_periph_clk", "base_usb0_clk",
+                      "base_usb1_clk",   "base_spi_clk";
+    };
+
+  - |
+    #include <dt-bindings/clock/lpc18xx-cgu.h>
+
+    clock-controller@40052000 {
+        compatible = "nxp,lpc1850-ccu";
+        reg = <0x40052000 0x1000>;
+        #clock-cells = <1>;
+        clocks = <&cgu BASE_AUDIO_CLK>, <&cgu BASE_UART3_CLK>,
+                 <&cgu BASE_UART2_CLK>, <&cgu BASE_UART1_CLK>,
+                 <&cgu BASE_UART0_CLK>, <&cgu BASE_SSP1_CLK>,
+                 <&cgu BASE_SSP0_CLK>,  <&cgu BASE_SDIO_CLK>;
+        clock-names = "base_audio_clk", "base_uart3_clk",
+                      "base_uart2_clk", "base_uart1_clk",
+                      "base_uart0_clk", "base_ssp1_clk",
+                      "base_ssp0_clk",  "base_sdio_clk";
+    };
+