]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
dt-bindings: clock: Convert alphascale,asm9260-clock-controller to DT schema
authorRob Herring (Arm) <robh@kernel.org>
Wed, 21 May 2025 00:47:11 +0000 (19:47 -0500)
committerStephen Boyd <sboyd@kernel.org>
Thu, 19 Jun 2025 01:42:10 +0000 (18:42 -0700)
Convert the Alphascale Clock Controller binding to DT schema format.
Add the undocumented 'clocks' property which is used in DTS. Drop the
clock defines and consumer examples from the old binding.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250521004712.1793193-1-robh@kernel.org
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Documentation/devicetree/bindings/clock/alphascale,acc.txt [deleted file]
Documentation/devicetree/bindings/clock/alphascale,asm9260-clock-controller.yaml [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/clock/alphascale,acc.txt b/Documentation/devicetree/bindings/clock/alphascale,acc.txt
deleted file mode 100644 (file)
index c9fb932..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-Alphascale Clock Controller
-
-The ACC (Alphascale Clock Controller) is responsible for choosing proper
-clock source, setting dividers and clock gates.
-
-Required properties for the ACC node:
- - compatible: must be "alphascale,asm9260-clock-controller"
- - reg: must contain the ACC register base and size
- - #clock-cells : shall be set to 1.
-
-Simple one-cell clock specifier format is used, where the only cell is used
-as an index of the clock inside the provider.
-It is encouraged to use dt-binding for clock index definitions. SoC specific
-dt-binding should be included to the device tree descriptor. For example
-Alphascale ASM9260:
-#include <dt-bindings/clock/alphascale,asm9260.h>
-
-This binding contains two types of clock providers:
- _AHB_ - AHB gate;
- _SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider.
-All clock specific details can be found in the SoC documentation.
-CLKID_AHB_ROM          0
-CLKID_AHB_RAM          1
-CLKID_AHB_GPIO         2
-CLKID_AHB_MAC          3
-CLKID_AHB_EMI          4
-CLKID_AHB_USB0         5
-CLKID_AHB_USB1         6
-CLKID_AHB_DMA0         7
-CLKID_AHB_DMA1         8
-CLKID_AHB_UART0                9
-CLKID_AHB_UART1                10
-CLKID_AHB_UART2                11
-CLKID_AHB_UART3                12
-CLKID_AHB_UART4                13
-CLKID_AHB_UART5                14
-CLKID_AHB_UART6                15
-CLKID_AHB_UART7                16
-CLKID_AHB_UART8                17
-CLKID_AHB_UART9                18
-CLKID_AHB_I2S0         19
-CLKID_AHB_I2C0         20
-CLKID_AHB_I2C1         21
-CLKID_AHB_SSP0         22
-CLKID_AHB_IOCONFIG     23
-CLKID_AHB_WDT          24
-CLKID_AHB_CAN0         25
-CLKID_AHB_CAN1         26
-CLKID_AHB_MPWM         27
-CLKID_AHB_SPI0         28
-CLKID_AHB_SPI1         29
-CLKID_AHB_QEI          30
-CLKID_AHB_QUADSPI0     31
-CLKID_AHB_CAMIF                32
-CLKID_AHB_LCDIF                33
-CLKID_AHB_TIMER0       34
-CLKID_AHB_TIMER1       35
-CLKID_AHB_TIMER2       36
-CLKID_AHB_TIMER3       37
-CLKID_AHB_IRQ          38
-CLKID_AHB_RTC          39
-CLKID_AHB_NAND         40
-CLKID_AHB_ADC0         41
-CLKID_AHB_LED          42
-CLKID_AHB_DAC0         43
-CLKID_AHB_LCD          44
-CLKID_AHB_I2S1         45
-CLKID_AHB_MAC1         46
-
-CLKID_SYS_CPU          47
-CLKID_SYS_AHB          48
-CLKID_SYS_I2S0M                49
-CLKID_SYS_I2S0S                50
-CLKID_SYS_I2S1M                51
-CLKID_SYS_I2S1S                52
-CLKID_SYS_UART0                53
-CLKID_SYS_UART1                54
-CLKID_SYS_UART2                55
-CLKID_SYS_UART3                56
-CLKID_SYS_UART4                56
-CLKID_SYS_UART5                57
-CLKID_SYS_UART6                58
-CLKID_SYS_UART7                59
-CLKID_SYS_UART8                60
-CLKID_SYS_UART9                61
-CLKID_SYS_SPI0         62
-CLKID_SYS_SPI1         63
-CLKID_SYS_QUADSPI      64
-CLKID_SYS_SSP0         65
-CLKID_SYS_NAND         66
-CLKID_SYS_TRACE                67
-CLKID_SYS_CAMM         68
-CLKID_SYS_WDT          69
-CLKID_SYS_CLKOUT       70
-CLKID_SYS_MAC          71
-CLKID_SYS_LCD          72
-CLKID_SYS_ADCANA       73
-
-Example of clock consumer with _SYS_ and _AHB_ sinks.
-uart4: serial@80010000 {
-       compatible = "alphascale,asm9260-uart";
-       reg = <0x80010000 0x4000>;
-       clocks = <&acc CLKID_SYS_UART4>, <&acc CLKID_AHB_UART4>;
-       interrupts = <19>;
-};
-
-Clock consumer with only one, _AHB_ sink.
-timer0: timer@80088000 {
-       compatible = "alphascale,asm9260-timer";
-       reg = <0x80088000 0x4000>;
-       clocks = <&acc CLKID_AHB_TIMER0>;
-       interrupts = <29>;
-};
-
diff --git a/Documentation/devicetree/bindings/clock/alphascale,asm9260-clock-controller.yaml b/Documentation/devicetree/bindings/clock/alphascale,asm9260-clock-controller.yaml
new file mode 100644 (file)
index 0000000..1caad41
--- /dev/null
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/alphascale,asm9260-clock-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Alphascale Clock Controller
+
+maintainers:
+  - Oleksij Rempel <linux@rempel-privat.de>
+
+description: |
+  The ACC (Alphascale Clock Controller) is responsible for choosing proper
+  clock source, setting dividers and clock gates.
+
+  Simple one-cell clock specifier format is used, where the only cell is used
+  as an index of the clock inside the provider.
+  It is encouraged to use dt-binding for clock index definitions. SoC specific
+  dt-binding should be included to the device tree descriptor. For example
+  Alphascale ASM9260:
+
+  #include <dt-bindings/clock/alphascale,asm9260.h>
+
+  This binding contains two types of clock providers:
+
+    _AHB_ - AHB gate;
+    _SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider.
+
+  All clock specific details can be found in the SoC documentation.
+
+properties:
+  compatible:
+    const: alphascale,asm9260-clock-controller
+
+  reg:
+    maxItems: 1
+
+  '#clock-cells':
+    const: 1
+
+  clocks:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - '#clock-cells'
+
+additionalProperties: false