Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: clock: Convert alphascale,asm9260-clock-controller to DT schema

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>

authored by

Rob Herring (Arm) and committed by
Stephen Boyd
2e090ae6 cc332891

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