115 lines · plain
1Alphascale Clock Controller2 3The ACC (Alphascale Clock Controller) is responsible for choosing proper4clock source, setting dividers and clock gates.5 6Required properties for the ACC node:7 - compatible: must be "alphascale,asm9260-clock-controller"8 - reg: must contain the ACC register base and size9 - #clock-cells : shall be set to 1.10 11Simple one-cell clock specifier format is used, where the only cell is used12as an index of the clock inside the provider.13It is encouraged to use dt-binding for clock index definitions. SoC specific14dt-binding should be included to the device tree descriptor. For example15Alphascale ASM9260:16#include <dt-bindings/clock/alphascale,asm9260.h>17 18This binding contains two types of clock providers:19 _AHB_ - AHB gate;20 _SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider.21All clock specific details can be found in the SoC documentation.22CLKID_AHB_ROM 023CLKID_AHB_RAM 124CLKID_AHB_GPIO 225CLKID_AHB_MAC 326CLKID_AHB_EMI 427CLKID_AHB_USB0 528CLKID_AHB_USB1 629CLKID_AHB_DMA0 730CLKID_AHB_DMA1 831CLKID_AHB_UART0 932CLKID_AHB_UART1 1033CLKID_AHB_UART2 1134CLKID_AHB_UART3 1235CLKID_AHB_UART4 1336CLKID_AHB_UART5 1437CLKID_AHB_UART6 1538CLKID_AHB_UART7 1639CLKID_AHB_UART8 1740CLKID_AHB_UART9 1841CLKID_AHB_I2S0 1942CLKID_AHB_I2C0 2043CLKID_AHB_I2C1 2144CLKID_AHB_SSP0 2245CLKID_AHB_IOCONFIG 2346CLKID_AHB_WDT 2447CLKID_AHB_CAN0 2548CLKID_AHB_CAN1 2649CLKID_AHB_MPWM 2750CLKID_AHB_SPI0 2851CLKID_AHB_SPI1 2952CLKID_AHB_QEI 3053CLKID_AHB_QUADSPI0 3154CLKID_AHB_CAMIF 3255CLKID_AHB_LCDIF 3356CLKID_AHB_TIMER0 3457CLKID_AHB_TIMER1 3558CLKID_AHB_TIMER2 3659CLKID_AHB_TIMER3 3760CLKID_AHB_IRQ 3861CLKID_AHB_RTC 3962CLKID_AHB_NAND 4063CLKID_AHB_ADC0 4164CLKID_AHB_LED 4265CLKID_AHB_DAC0 4366CLKID_AHB_LCD 4467CLKID_AHB_I2S1 4568CLKID_AHB_MAC1 4669 70CLKID_SYS_CPU 4771CLKID_SYS_AHB 4872CLKID_SYS_I2S0M 4973CLKID_SYS_I2S0S 5074CLKID_SYS_I2S1M 5175CLKID_SYS_I2S1S 5276CLKID_SYS_UART0 5377CLKID_SYS_UART1 5478CLKID_SYS_UART2 5579CLKID_SYS_UART3 5680CLKID_SYS_UART4 5681CLKID_SYS_UART5 5782CLKID_SYS_UART6 5883CLKID_SYS_UART7 5984CLKID_SYS_UART8 6085CLKID_SYS_UART9 6186CLKID_SYS_SPI0 6287CLKID_SYS_SPI1 6388CLKID_SYS_QUADSPI 6489CLKID_SYS_SSP0 6590CLKID_SYS_NAND 6691CLKID_SYS_TRACE 6792CLKID_SYS_CAMM 6893CLKID_SYS_WDT 6994CLKID_SYS_CLKOUT 7095CLKID_SYS_MAC 7196CLKID_SYS_LCD 7297CLKID_SYS_ADCANA 7398 99Example of clock consumer with _SYS_ and _AHB_ sinks.100uart4: 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 107Clock consumer with only one, _AHB_ sink.108timer0: timer@80088000 {109 compatible = "alphascale,asm9260-timer";110 reg = <0x80088000 0x4000>;111 clocks = <&acc CLKID_AHB_TIMER0>;112 interrupts = <29>;113};114 115