Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
[linux-2.6-microblaze.git] / arch / arm / boot / dts / ep7209.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later
2
3 /dts-v1/;
4
5 #include <dt-bindings/clock/clps711x-clock.h>
6
7 / {
8         #address-cells = <1>;
9         #size-cells = <1>;
10         model = "Cirrus Logic EP7209";
11         compatible = "cirrus,ep7209";
12
13         chosen { };
14
15         aliases {
16                 gpio0 = &porta;
17                 gpio1 = &portb;
18                 gpio3 = &portd;
19                 gpio4 = &porte;
20                 serial0 = &uart1;
21                 serial1 = &uart2;
22                 spi0 = &spi;
23                 timer0 = &timer1;
24                 timer1 = &timer2;
25         };
26
27         cpus {
28                 #address-cells = <0>;
29                 #size-cells = <0>;
30
31                 cpu {
32                         device_type = "cpu";
33                         compatible = "arm,arm720t";
34                 };
35         };
36
37         soc {
38                 #address-cells = <1>;
39                 #size-cells = <1>;
40                 compatible = "simple-bus";
41                 interrupt-parent = <&intc>;
42                 ranges;
43
44                 clks: clks@80000000 {
45                         #clock-cells = <1>;
46                         compatible = "cirrus,ep7209-clk";
47                         reg = <0x80000000 0xc000>;
48                         startup-frequency = <73728000>;
49                 };
50
51                 intc: intc@80000000 {
52                         compatible = "cirrus,ep7209-intc";
53                         reg = <0x80000000 0x4000>;
54                         interrupt-controller;
55                         #interrupt-cells = <1>;
56                 };
57
58                 porta: gpio@80000000 {
59                         compatible = "cirrus,ep7209-gpio";
60                         reg = <0x80000000 0x1 0x80000040 0x1>;
61                         gpio-controller;
62                         #gpio-cells = <2>;
63                 };
64
65                 portb: gpio@80000001 {
66                         compatible = "cirrus,ep7209-gpio";
67                         reg = <0x80000001 0x1 0x80000041 0x1>;
68                         gpio-controller;
69                         #gpio-cells = <2>;
70                 };
71
72                 portd: gpio@80000003 {
73                         compatible = "cirrus,ep7209-gpio";
74                         reg = <0x80000003 0x1 0x80000043 0x1>;
75                         gpio-controller;
76                         #gpio-cells = <2>;
77                 };
78
79                 porte: gpio@80000083 {
80                         compatible = "cirrus,ep7209-gpio";
81                         reg = <0x80000083 0x1 0x800000c3 0x1>;
82                         gpio-controller;
83                         #gpio-cells = <2>;
84                 };
85
86                 syscon1: syscon@80000100 {
87                         compatible = "cirrus,ep7209-syscon1", "syscon";
88                         reg = <0x80000100 0x80>;
89                 };
90
91                 bus: bus@80000180 {
92                         #address-cells = <2>;
93                         #size-cells = <1>;
94                         compatible = "cirrus,ep7209-bus", "simple-bus";
95                         clocks = <&clks CLPS711X_CLK_BUS>;
96                         reg = <0x80000180 0x80>;
97                         ranges = <
98                                 0 0 0x00000000 0x10000000
99                                 1 0 0x10000000 0x10000000
100                                 2 0 0x20000000 0x10000000
101                                 3 0 0x30000000 0x10000000
102                                 4 0 0x40000000 0x10000000
103                                 5 0 0x50000000 0x10000000
104                                 6 0 0x60000000 0x0000c000
105                                 7 0 0x70000000 0x00000080
106                         >;
107                 };
108
109                 fb: fb@800002c0 {
110                         compatible = "cirrus,ep7209-fb";
111                         reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
112                         clocks = <&clks CLPS711X_CLK_BUS>;
113                         syscon = <&syscon1>;
114                         status = "disabled";
115                 };
116
117                 timer1: timer@80000300 {
118                         compatible = "cirrus,ep7209-timer";
119                         reg = <0x80000300 0x4>;
120                         clocks = <&clks CLPS711X_CLK_TIMER1>;
121                         interrupts = <8>;
122                 };
123
124                 timer2: timer@80000340 {
125                         compatible = "cirrus,ep7209-timer";
126                         reg = <0x80000340 0x4>;
127                         clocks = <&clks CLPS711X_CLK_TIMER2>;
128                         interrupts = <9>;
129                 };
130
131                 pwm: pwm@80000400 {
132                         compatible = "cirrus,ep7209-pwm";
133                         reg = <0x80000400 0x4>;
134                         clocks = <&clks CLPS711X_CLK_PWM>;
135                         #pwm-cells = <1>;
136                 };
137
138                 uart1: serial@80000480 {
139                         compatible = "cirrus,ep7209-uart";
140                         reg = <0x80000480 0x80>;
141                         interrupts = <12 13>;
142                         clocks = <&clks CLPS711X_CLK_UART>;
143                         syscon = <&syscon1>;
144                 };
145
146                 spi: spi@80000500 {
147                         #address-cells = <1>;
148                         #size-cells = <0>;
149                         compatible = "cirrus,ep7209-spi";
150                         reg = <0x80000500 0x4>;
151                         interrupts = <15>;
152                         clocks = <&clks CLPS711X_CLK_SPI>;
153                         syscon = <&syscon3>;
154                         status = "disabled";
155                 };
156
157                 syscon2: syscon@80001100 {
158                         compatible = "cirrus,ep7209-syscon2", "syscon";
159                         reg = <0x80001100 0x80>;
160                 };
161
162                 uart2: serial@80001480 {
163                         compatible = "cirrus,ep7209-uart";
164                         reg = <0x80001480 0x80>;
165                         interrupts = <28 29>;
166                         clocks = <&clks CLPS711X_CLK_UART>;
167                         syscon = <&syscon2>;
168                 };
169
170                 dai: dai@80002000 {
171                         #sound-dai-cells = <0>;
172                         compatible = "cirrus,ep7209-dai";
173                         reg = <0x80002000 0x604>;
174                         clocks = <&clks CLPS711X_CLK_PLL>;
175                         clock-names = "pll";
176                         interrupts = <32>;
177                         syscon = <&syscon3>;
178                         status = "disabled";
179                 };
180
181                 syscon3: syscon@80002200 {
182                         compatible = "cirrus,ep7209-syscon3", "syscon";
183                         reg = <0x80002200 0x40>;
184                 };
185         };
186
187         keypad: keypad {
188                 compatible = "cirrus,ep7209-keypad";
189                 interrupt-parent = <&intc>;
190                 interrupts = <16>;
191                 syscon = <&syscon1>;
192                 status = "disabled";
193         };
194
195         mctrl: mctrl {
196                 compatible = "cirrus,ep7209-mctrl-gpio";
197                 gpio,syscon-dev = <&syscon1 0 0>;
198                 gpio-controller;
199                 #gpio-cells = <2>;
200         };
201 };