GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / ep7209.dtsi
1 /*
2  * The code contained herein is licensed under the GNU General Public
3  * License. You may obtain a copy of the GNU General Public License
4  * Version 2 or later at the following locations:
5  */
6
7 /dts-v1/;
8
9 #include "skeleton.dtsi"
10
11 #include <dt-bindings/clock/clps711x-clock.h>
12
13 / {
14         model = "Cirrus Logic EP7209";
15         compatible = "cirrus,ep7209";
16
17         aliases {
18                 gpio0 = &porta;
19                 gpio1 = &portb;
20                 gpio3 = &portd;
21                 gpio4 = &porte;
22                 serial0 = &uart1;
23                 serial1 = &uart2;
24                 spi0 = &spi;
25                 timer0 = &timer1;
26                 timer1 = &timer2;
27         };
28
29         cpus {
30                 #address-cells = <0>;
31                 #size-cells = <0>;
32
33                 cpu {
34                         device_type = "cpu";
35                         compatible = "arm,arm720t";
36                 };
37         };
38
39         soc {
40                 #address-cells = <1>;
41                 #size-cells = <1>;
42                 compatible = "simple-bus";
43                 interrupt-parent = <&intc>;
44                 ranges;
45
46                 clks: clks@80000000 {
47                         #clock-cells = <1>;
48                         compatible = "cirrus,ep7209-clk";
49                         reg = <0x80000000 0xc000>;
50                         startup-frequency = <73728000>;
51                 };
52
53                 intc: intc@80000000 {
54                         compatible = "cirrus,ep7209-intc";
55                         reg = <0x80000000 0x4000>;
56                         interrupt-controller;
57                         #interrupt-cells = <1>;
58                 };
59
60                 porta: gpio@80000000 {
61                         compatible = "cirrus,ep7209-gpio";
62                         reg = <0x80000000 0x1 0x80000040 0x1>;
63                         gpio-controller;
64                         #gpio-cells = <2>;
65                 };
66
67                 portb: gpio@80000001 {
68                         compatible = "cirrus,ep7209-gpio";
69                         reg = <0x80000001 0x1 0x80000041 0x1>;
70                         gpio-controller;
71                         #gpio-cells = <2>;
72                 };
73
74                 portd: gpio@80000003 {
75                         compatible = "cirrus,ep7209-gpio";
76                         reg = <0x80000003 0x1 0x80000043 0x1>;
77                         gpio-controller;
78                         #gpio-cells = <2>;
79                 };
80
81                 porte: gpio@80000083 {
82                         compatible = "cirrus,ep7209-gpio";
83                         reg = <0x80000083 0x1 0x800000c3 0x1>;
84                         gpio-controller;
85                         #gpio-cells = <2>;
86                 };
87
88                 syscon1: syscon@80000100 {
89                         compatible = "cirrus,ep7209-syscon1", "syscon";
90                         reg = <0x80000100 0x80>;
91                 };
92
93                 bus: bus@80000180 {
94                         #address-cells = <2>;
95                         #size-cells = <1>;
96                         compatible = "cirrus,ep7209-bus", "simple-bus";
97                         clocks = <&clks CLPS711X_CLK_BUS>;
98                         reg = <0x80000180 0x80>;
99                         ranges = <
100                                 0 0 0x00000000 0x10000000
101                                 1 0 0x10000000 0x10000000
102                                 2 0 0x20000000 0x10000000
103                                 3 0 0x30000000 0x10000000
104                                 4 0 0x40000000 0x10000000
105                                 5 0 0x50000000 0x10000000
106                                 6 0 0x60000000 0x0000c000
107                                 7 0 0x70000000 0x00000080
108                         >;
109                 };
110
111                 fb: fb@800002c0 {
112                         compatible = "cirrus,ep7209-fb";
113                         reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
114                         clocks = <&clks CLPS711X_CLK_BUS>;
115                         status = "disabled";
116                 };
117
118                 timer1: timer@80000300 {
119                         compatible = "cirrus,ep7209-timer";
120                         reg = <0x80000300 0x4>;
121                         clocks = <&clks CLPS711X_CLK_TIMER1>;
122                         interrupts = <8>;
123                 };
124
125                 timer2: timer@80000340 {
126                         compatible = "cirrus,ep7209-timer";
127                         reg = <0x80000340 0x4>;
128                         clocks = <&clks CLPS711X_CLK_TIMER2>;
129                         interrupts = <9>;
130                 };
131
132                 pwm: pwm@80000400 {
133                         compatible = "cirrus,ep7209-pwm";
134                         reg = <0x80000400 0x4>;
135                         clocks = <&clks CLPS711X_CLK_PWM>;
136                         #pwm-cells = <1>;
137                 };
138
139                 uart1: uart@80000480 {
140                         compatible = "cirrus,ep7209-uart";
141                         reg = <0x80000480 0x80>;
142                         interrupts = <12 13>;
143                         clocks = <&clks CLPS711X_CLK_UART>;
144                         syscon = <&syscon1>;
145                 };
146
147                 spi: spi@80000500 {
148                         #address-cells = <1>;
149                         #size-cells = <0>;
150                         compatible = "cirrus,ep7209-spi";
151                         reg = <0x80000500 0x4>;
152                         interrupts = <15>;
153                         clocks = <&clks CLPS711X_CLK_SPI>;
154                         status = "disabled";
155                 };
156
157                 syscon2: syscon@80001100 {
158                         compatible = "cirrus,ep7209-syscon2", "syscon";
159                         reg = <0x80001100 0x80>;
160                 };
161
162                 uart2: uart@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                         status = "disabled";
178                 };
179
180                 syscon3: syscon@80002200 {
181                         compatible = "cirrus,ep7209-syscon3", "syscon";
182                         reg = <0x80002200 0x40>;
183                 };
184         };
185
186         mctrl: mctrl {
187                 compatible = "cirrus,ep7209-mctrl-gpio";
188                 gpio-controller;
189                 #gpio-cells = <2>;
190         };
191 };