Merge tag 'soc-dt-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / nspire / nspire.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  *  Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au>
4  */
5
6 / {
7         #address-cells = <1>;
8         #size-cells = <1>;
9         interrupt-parent = <&intc>;
10
11         cpus {
12                 #address-cells = <1>;
13                 #size-cells = <0>;
14
15                 cpu@0 {
16                         compatible = "arm,arm926ej-s";
17                         device_type = "cpu";
18                         reg = <0>;
19                 };
20         };
21
22         bootrom: bootrom@0 {
23                 reg = <0x00000000 0x80000>;
24         };
25
26         sram: sram@a4000000 {
27                 compatible = "mmio-sram";
28                 reg = <0xa4000000 0x20000>; /* 128k */
29                 #address-cells = <1>;
30                 #size-cells = <1>;
31                 ranges = <0 0xa4000000 0x20000>;
32
33                 sram@0 {
34                         reg = <0x0 0x20000>;
35                 };
36         };
37
38         timer_clk: timer_clk {
39                 #clock-cells = <0>;
40                 compatible = "fixed-clock";
41                 clock-frequency = <32768>;
42         };
43
44         base_clk: base_clk {
45                 #clock-cells = <0>;
46                 reg = <0x900b0024 0x4>;
47         };
48
49         ahb_clk: ahb_clk {
50                 #clock-cells = <0>;
51                 reg = <0x900b0024 0x4>;
52                 clocks = <&base_clk>;
53         };
54
55         apb_pclk: apb_pclk {
56                 #clock-cells = <0>;
57                 compatible = "fixed-factor-clock";
58                 clock-div = <2>;
59                 clock-mult = <1>;
60                 clocks = <&ahb_clk>;
61         };
62
63         usb_phy: usb_phy {
64                 compatible = "usb-nop-xceiv";
65                 #phy-cells = <0>;
66         };
67
68         vbus_reg: vbus_reg {
69                 compatible = "regulator-fixed";
70
71                 regulator-name = "USB VBUS output";
72
73                 regulator-min-microvolt = <5000000>;
74                 regulator-max-microvolt = <5000000>;
75         };
76
77         ahb {
78                 compatible = "simple-bus";
79                 #address-cells = <1>;
80                 #size-cells = <1>;
81                 ranges;
82
83                 spi: spi@a9000000 {
84                         reg = <0xa9000000 0x1000>;
85                 };
86
87                 usb0: usb@b0000000 {
88                         compatible = "lsi,zevio-usb";
89                         reg = <0xb0000000 0x1000>;
90                         interrupts = <8>;
91
92                         usb-phy = <&usb_phy>;
93                         vbus-supply = <&vbus_reg>;
94                 };
95
96                 usb1: usb@b4000000 {
97                         reg = <0xb4000000 0x1000>;
98                         interrupts = <9>;
99                         status = "disabled";
100                 };
101
102                 lcd: lcd@c0000000 {
103                         compatible = "arm,pl111", "arm,primecell";
104                         reg = <0xc0000000 0x1000>;
105                         interrupts = <21>;
106
107                         /*
108                          * We assume the same clock is fed to APB and CLCDCLK.
109                          * There is some code to scale the clock down by a factor
110                          * 48 for the display so likely the frequency to the
111                          * display is 1MHz and the CLCDCLK is 48 MHz.
112                          */
113                         clocks = <&apb_pclk>, <&apb_pclk>;
114                         clock-names = "clcdclk", "apb_pclk";
115                 };
116
117                 adc: adc@c4000000 {
118                         reg = <0xc4000000 0x1000>;
119                         interrupts = <11>;
120                 };
121
122                 tdes: crypto@c8010000 {
123                         reg = <0xc8010000 0x1000>;
124                 };
125
126                 sha256: crypto@cc000000 {
127                         reg = <0xcc000000 0x1000>;
128                 };
129
130                 apb@90000000 {
131                         compatible = "simple-bus";
132                         #address-cells = <1>;
133                         #size-cells = <1>;
134                         clock-ranges;
135                         ranges;
136
137                         gpio: gpio@90000000 {
138                                 compatible = "lsi,zevio-gpio";
139                                 reg = <0x90000000 0x1000>;
140                                 interrupts = <7>;
141                                 gpio-controller;
142                                 #gpio-cells = <2>;
143                         };
144
145                         fast_timer: timer@90010000 {
146                                 reg = <0x90010000 0x1000>;
147                                 interrupts = <17>;
148                         };
149
150                         uart: serial@90020000 {
151                                 reg = <0x90020000 0x1000>;
152                                 interrupts = <1>;
153                         };
154
155                         timer0: timer@900c0000 {
156                                 reg = <0x900c0000 0x1000>;
157                                 clocks = <&timer_clk>, <&timer_clk>,
158                                          <&timer_clk>;
159                                 clock-names = "timer0clk", "timer1clk",
160                                               "apb_pclk";
161                         };
162
163                         timer1: timer@900d0000 {
164                                 reg = <0x900d0000 0x1000>;
165                                 interrupts = <19>;
166                                 clocks = <&timer_clk>, <&timer_clk>,
167                                          <&timer_clk>;
168                                 clock-names = "timer0clk", "timer1clk",
169                                               "apb_pclk";
170                         };
171
172                         watchdog: watchdog@90060000 {
173                                 compatible = "arm,primecell";
174                                 reg = <0x90060000 0x1000>;
175                                 interrupts = <3>;
176                         };
177
178                         rtc: rtc@90090000 {
179                                 reg = <0x90090000 0x1000>;
180                                 interrupts = <4>;
181                         };
182
183                         misc: misc@900a0000 {
184                                 compatible = "ti,nspire-misc", "syscon", "simple-mfd";
185                                 reg = <0x900a0000 0x1000>;
186
187                                 reboot {
188                                         compatible = "syscon-reboot";
189                                         offset = <0x08>;
190                                         value = <0x02>;
191                                 };
192                         };
193
194                         pwr: pwr@900b0000 {
195                                 reg = <0x900b0000 0x1000>;
196                                 interrupts = <15>;
197                         };
198
199                         keypad: input@900e0000 {
200                                 compatible = "ti,nspire-keypad";
201                                 reg = <0x900e0000 0x1000>;
202                                 interrupts = <16>;
203
204                                 scan-interval = <1000>;
205                                 row-delay = <200>;
206
207                                 clocks = <&apb_pclk>;
208                         };
209
210                         contrast: contrast@900f0000 {
211                                 reg = <0x900f0000 0x1000>;
212                         };
213
214                         led: led@90110000 {
215                                 reg = <0x90110000 0x1000>;
216                         };
217                 };
218         };
219 };