Path: blob/main/sys/contrib/device-tree/Bindings/clock/alphascale,acc.txt
48377 views
Alphascale Clock Controller12The ACC (Alphascale Clock Controller) is responsible for choosing proper3clock source, setting dividers and clock gates.45Required properties for the ACC node:6- compatible: must be "alphascale,asm9260-clock-controller"7- reg: must contain the ACC register base and size8- #clock-cells : shall be set to 1.910Simple one-cell clock specifier format is used, where the only cell is used11as an index of the clock inside the provider.12It is encouraged to use dt-binding for clock index definitions. SoC specific13dt-binding should be included to the device tree descriptor. For example14Alphascale ASM9260:15#include <dt-bindings/clock/alphascale,asm9260.h>1617This binding contains two types of clock providers:18_AHB_ - AHB gate;19_SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider.20All clock specific details can be found in the SoC documentation.21CLKID_AHB_ROM 022CLKID_AHB_RAM 123CLKID_AHB_GPIO 224CLKID_AHB_MAC 325CLKID_AHB_EMI 426CLKID_AHB_USB0 527CLKID_AHB_USB1 628CLKID_AHB_DMA0 729CLKID_AHB_DMA1 830CLKID_AHB_UART0 931CLKID_AHB_UART1 1032CLKID_AHB_UART2 1133CLKID_AHB_UART3 1234CLKID_AHB_UART4 1335CLKID_AHB_UART5 1436CLKID_AHB_UART6 1537CLKID_AHB_UART7 1638CLKID_AHB_UART8 1739CLKID_AHB_UART9 1840CLKID_AHB_I2S0 1941CLKID_AHB_I2C0 2042CLKID_AHB_I2C1 2143CLKID_AHB_SSP0 2244CLKID_AHB_IOCONFIG 2345CLKID_AHB_WDT 2446CLKID_AHB_CAN0 2547CLKID_AHB_CAN1 2648CLKID_AHB_MPWM 2749CLKID_AHB_SPI0 2850CLKID_AHB_SPI1 2951CLKID_AHB_QEI 3052CLKID_AHB_QUADSPI0 3153CLKID_AHB_CAMIF 3254CLKID_AHB_LCDIF 3355CLKID_AHB_TIMER0 3456CLKID_AHB_TIMER1 3557CLKID_AHB_TIMER2 3658CLKID_AHB_TIMER3 3759CLKID_AHB_IRQ 3860CLKID_AHB_RTC 3961CLKID_AHB_NAND 4062CLKID_AHB_ADC0 4163CLKID_AHB_LED 4264CLKID_AHB_DAC0 4365CLKID_AHB_LCD 4466CLKID_AHB_I2S1 4567CLKID_AHB_MAC1 466869CLKID_SYS_CPU 4770CLKID_SYS_AHB 4871CLKID_SYS_I2S0M 4972CLKID_SYS_I2S0S 5073CLKID_SYS_I2S1M 5174CLKID_SYS_I2S1S 5275CLKID_SYS_UART0 5376CLKID_SYS_UART1 5477CLKID_SYS_UART2 5578CLKID_SYS_UART3 5679CLKID_SYS_UART4 5680CLKID_SYS_UART5 5781CLKID_SYS_UART6 5882CLKID_SYS_UART7 5983CLKID_SYS_UART8 6084CLKID_SYS_UART9 6185CLKID_SYS_SPI0 6286CLKID_SYS_SPI1 6387CLKID_SYS_QUADSPI 6488CLKID_SYS_SSP0 6589CLKID_SYS_NAND 6690CLKID_SYS_TRACE 6791CLKID_SYS_CAMM 6892CLKID_SYS_WDT 6993CLKID_SYS_CLKOUT 7094CLKID_SYS_MAC 7195CLKID_SYS_LCD 7296CLKID_SYS_ADCANA 739798Example of clock consumer with _SYS_ and _AHB_ sinks.99uart4: serial@80010000 {100compatible = "alphascale,asm9260-uart";101reg = <0x80010000 0x4000>;102clocks = <&acc CLKID_SYS_UART4>, <&acc CLKID_AHB_UART4>;103interrupts = <19>;104};105106Clock consumer with only one, _AHB_ sink.107timer0: timer@80088000 {108compatible = "alphascale,asm9260-timer";109reg = <0x80088000 0x4000>;110clocks = <&acc CLKID_AHB_TIMER0>;111interrupts = <29>;112};113114115116