brintos

brintos / linux-shallow public Read only

0
0
Text · 2.7 KiB · c9fb932 Raw
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