xref: /linux/Documentation/devicetree/bindings/clock/alphascale,acc.txt (revision 76b4701a03472330d1f62144c55eeaba1fed70cf)
1*76b4701aSOleksij RempelAlphascale Clock Controller
2*76b4701aSOleksij Rempel
3*76b4701aSOleksij RempelThe ACC (Alphascale Clock Controller) is responsible of choising proper
4*76b4701aSOleksij Rempelclock source, setting deviders and clock gates.
5*76b4701aSOleksij Rempel
6*76b4701aSOleksij RempelRequired properties for the ACC node:
7*76b4701aSOleksij Rempel - compatible: must be "alphascale,asm9260-clock-controller"
8*76b4701aSOleksij Rempel - reg: must contain the ACC register base and size
9*76b4701aSOleksij Rempel - #clock-cells : shall be set to 1.
10*76b4701aSOleksij Rempel
11*76b4701aSOleksij RempelSimple one-cell clock specifier format is used, where the only cell is used
12*76b4701aSOleksij Rempelas an index of the clock inside the provider.
13*76b4701aSOleksij RempelIt is encouraged to use dt-binding for clock index definitions. SoC specific
14*76b4701aSOleksij Rempeldt-binding should be included to the device tree descriptor. For example
15*76b4701aSOleksij RempelAlphascale ASM9260:
16*76b4701aSOleksij Rempel#include <dt-bindings/clock/alphascale,asm9260.h>
17*76b4701aSOleksij Rempel
18*76b4701aSOleksij RempelThis binding contains two types of clock providers:
19*76b4701aSOleksij Rempel _AHB_ - AHB gate;
20*76b4701aSOleksij Rempel _SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider.
21*76b4701aSOleksij RempelAll clock specific details can be found in the SoC documentation.
22*76b4701aSOleksij RempelCLKID_AHB_ROM		0
23*76b4701aSOleksij RempelCLKID_AHB_RAM		1
24*76b4701aSOleksij RempelCLKID_AHB_GPIO		2
25*76b4701aSOleksij RempelCLKID_AHB_MAC		3
26*76b4701aSOleksij RempelCLKID_AHB_EMI		4
27*76b4701aSOleksij RempelCLKID_AHB_USB0		5
28*76b4701aSOleksij RempelCLKID_AHB_USB1		6
29*76b4701aSOleksij RempelCLKID_AHB_DMA0		7
30*76b4701aSOleksij RempelCLKID_AHB_DMA1		8
31*76b4701aSOleksij RempelCLKID_AHB_UART0		9
32*76b4701aSOleksij RempelCLKID_AHB_UART1		10
33*76b4701aSOleksij RempelCLKID_AHB_UART2		11
34*76b4701aSOleksij RempelCLKID_AHB_UART3		12
35*76b4701aSOleksij RempelCLKID_AHB_UART4		13
36*76b4701aSOleksij RempelCLKID_AHB_UART5		14
37*76b4701aSOleksij RempelCLKID_AHB_UART6		15
38*76b4701aSOleksij RempelCLKID_AHB_UART7		16
39*76b4701aSOleksij RempelCLKID_AHB_UART8		17
40*76b4701aSOleksij RempelCLKID_AHB_UART9		18
41*76b4701aSOleksij RempelCLKID_AHB_I2S0		19
42*76b4701aSOleksij RempelCLKID_AHB_I2C0		20
43*76b4701aSOleksij RempelCLKID_AHB_I2C1		21
44*76b4701aSOleksij RempelCLKID_AHB_SSP0		22
45*76b4701aSOleksij RempelCLKID_AHB_IOCONFIG	23
46*76b4701aSOleksij RempelCLKID_AHB_WDT		24
47*76b4701aSOleksij RempelCLKID_AHB_CAN0		25
48*76b4701aSOleksij RempelCLKID_AHB_CAN1		26
49*76b4701aSOleksij RempelCLKID_AHB_MPWM		27
50*76b4701aSOleksij RempelCLKID_AHB_SPI0		28
51*76b4701aSOleksij RempelCLKID_AHB_SPI1		29
52*76b4701aSOleksij RempelCLKID_AHB_QEI		30
53*76b4701aSOleksij RempelCLKID_AHB_QUADSPI0	31
54*76b4701aSOleksij RempelCLKID_AHB_CAMIF		32
55*76b4701aSOleksij RempelCLKID_AHB_LCDIF		33
56*76b4701aSOleksij RempelCLKID_AHB_TIMER0	34
57*76b4701aSOleksij RempelCLKID_AHB_TIMER1	35
58*76b4701aSOleksij RempelCLKID_AHB_TIMER2	36
59*76b4701aSOleksij RempelCLKID_AHB_TIMER3	37
60*76b4701aSOleksij RempelCLKID_AHB_IRQ		38
61*76b4701aSOleksij RempelCLKID_AHB_RTC		39
62*76b4701aSOleksij RempelCLKID_AHB_NAND		40
63*76b4701aSOleksij RempelCLKID_AHB_ADC0		41
64*76b4701aSOleksij RempelCLKID_AHB_LED		42
65*76b4701aSOleksij RempelCLKID_AHB_DAC0		43
66*76b4701aSOleksij RempelCLKID_AHB_LCD		44
67*76b4701aSOleksij RempelCLKID_AHB_I2S1		45
68*76b4701aSOleksij RempelCLKID_AHB_MAC1		46
69*76b4701aSOleksij Rempel
70*76b4701aSOleksij RempelCLKID_SYS_CPU		47
71*76b4701aSOleksij RempelCLKID_SYS_AHB		48
72*76b4701aSOleksij RempelCLKID_SYS_I2S0M		49
73*76b4701aSOleksij RempelCLKID_SYS_I2S0S		50
74*76b4701aSOleksij RempelCLKID_SYS_I2S1M		51
75*76b4701aSOleksij RempelCLKID_SYS_I2S1S		52
76*76b4701aSOleksij RempelCLKID_SYS_UART0		53
77*76b4701aSOleksij RempelCLKID_SYS_UART1		54
78*76b4701aSOleksij RempelCLKID_SYS_UART2		55
79*76b4701aSOleksij RempelCLKID_SYS_UART3		56
80*76b4701aSOleksij RempelCLKID_SYS_UART4		56
81*76b4701aSOleksij RempelCLKID_SYS_UART5		57
82*76b4701aSOleksij RempelCLKID_SYS_UART6		58
83*76b4701aSOleksij RempelCLKID_SYS_UART7		59
84*76b4701aSOleksij RempelCLKID_SYS_UART8		60
85*76b4701aSOleksij RempelCLKID_SYS_UART9		61
86*76b4701aSOleksij RempelCLKID_SYS_SPI0		62
87*76b4701aSOleksij RempelCLKID_SYS_SPI1		63
88*76b4701aSOleksij RempelCLKID_SYS_QUADSPI	64
89*76b4701aSOleksij RempelCLKID_SYS_SSP0		65
90*76b4701aSOleksij RempelCLKID_SYS_NAND		66
91*76b4701aSOleksij RempelCLKID_SYS_TRACE		67
92*76b4701aSOleksij RempelCLKID_SYS_CAMM		68
93*76b4701aSOleksij RempelCLKID_SYS_WDT		69
94*76b4701aSOleksij RempelCLKID_SYS_CLKOUT	70
95*76b4701aSOleksij RempelCLKID_SYS_MAC		71
96*76b4701aSOleksij RempelCLKID_SYS_LCD		72
97*76b4701aSOleksij RempelCLKID_SYS_ADCANA	73
98*76b4701aSOleksij Rempel
99*76b4701aSOleksij RempelExample of clock consumer with _SYS_ and _AHB_ sinks.
100*76b4701aSOleksij Rempeluart4: serial@80010000 {
101*76b4701aSOleksij Rempel	compatible = "alphascale,asm9260-uart";
102*76b4701aSOleksij Rempel	reg = <0x80010000 0x4000>;
103*76b4701aSOleksij Rempel	clocks = <&acc CLKID_SYS_UART4>, <&acc CLKID_AHB_UART4>;
104*76b4701aSOleksij Rempel	interrupts = <19>;
105*76b4701aSOleksij Rempel	status = "disabled";
106*76b4701aSOleksij Rempel};
107*76b4701aSOleksij Rempel
108*76b4701aSOleksij RempelClock consumer with only one, _AHB_ sink.
109*76b4701aSOleksij Rempeltimer0: timer@80088000 {
110*76b4701aSOleksij Rempel	compatible = "alphascale,asm9260-timer";
111*76b4701aSOleksij Rempel	reg = <0x80088000 0x4000>;
112*76b4701aSOleksij Rempel	clocks = <&acc CLKID_AHB_TIMER0>;
113*76b4701aSOleksij Rempel	interrupts = <29>;
114*76b4701aSOleksij Rempel};
115*76b4701aSOleksij Rempel
116