Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / nspire.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  *  linux/arch/arm/boot/nspire.dtsi
4  *
5  *  Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au>
6  */
7
8 / {
9         #address-cells = <1>;
10         #size-cells = <1>;
11         interrupt-parent = <&intc>;
12
13         cpus {
14                 cpu@0 {
15                         compatible = "arm,arm926ej-s";
16                 };
17         };
18
19         bootrom: bootrom@0 {
20                 reg = <0x00000000 0x80000>;
21         };
22
23         sram: sram@A4000000 {
24                 device = "memory";
25                 reg = <0xA4000000 0x20000>;
26         };
27
28         timer_clk: timer_clk {
29                 #clock-cells = <0>;
30                 compatible = "fixed-clock";
31                 clock-frequency = <32768>;
32         };
33
34         base_clk: base_clk {
35                 #clock-cells = <0>;
36                 reg = <0x900B0024 0x4>;
37         };
38
39         ahb_clk: ahb_clk {
40                 #clock-cells = <0>;
41                 reg = <0x900B0024 0x4>;
42                 clocks = <&base_clk>;
43         };
44
45         apb_pclk: apb_pclk {
46                 #clock-cells = <0>;
47                 compatible = "fixed-factor-clock";
48                 clock-div = <2>;
49                 clock-mult = <1>;
50                 clocks = <&ahb_clk>;
51         };
52
53         usb_phy: usb_phy {
54                 compatible = "usb-nop-xceiv";
55                 #phy-cells = <0>;
56         };
57
58         vbus_reg: vbus_reg {
59                 compatible = "regulator-fixed";
60
61                 regulator-name = "USB VBUS output";
62                 regulator-type = "voltage";
63
64                 regulator-min-microvolt = <5000000>;
65                 regulator-max-microvolt = <5000000>;
66         };
67
68         ahb {
69                 compatible = "simple-bus";
70                 #address-cells = <1>;
71                 #size-cells = <1>;
72                 ranges;
73
74                 spi: spi@A9000000 {
75                         reg = <0xA9000000 0x1000>;
76                 };
77
78                 usb0: usb@B0000000 {
79                         compatible = "lsi,zevio-usb";
80                         reg = <0xB0000000 0x1000>;
81                         interrupts = <8>;
82
83                         usb-phy = <&usb_phy>;
84                         vbus-supply = <&vbus_reg>;
85                 };
86
87                 usb1: usb@B4000000 {
88                         reg = <0xB4000000 0x1000>;
89                         interrupts = <9>;
90                         status = "disabled";
91                 };
92
93                 lcd: lcd@C0000000 {
94                         compatible = "arm,pl111", "arm,primecell";
95                         reg = <0xC0000000 0x1000>;
96                         interrupts = <21>;
97
98                         /*
99                          * We assume the same clock is fed to APB and CLCDCLK.
100                          * There is some code to scale the clock down by a factor
101                          * 48 for the display so likely the frequency to the
102                          * display is 1MHz and the CLCDCLK is 48 MHz.
103                          */
104                         clocks = <&apb_pclk>, <&apb_pclk>;
105                         clock-names = "clcdclk", "apb_pclk";
106                 };
107
108                 adc: adc@C4000000 {
109                         reg = <0xC4000000 0x1000>;
110                         interrupts = <11>;
111                 };
112
113                 tdes: crypto@C8010000 {
114                         reg = <0xC8010000 0x1000>;
115                 };
116
117                 sha256: crypto@CC000000 {
118                         reg = <0xCC000000 0x1000>;
119                 };
120
121                 apb@90000000 {
122                         compatible = "simple-bus";
123                         #address-cells = <1>;
124                         #size-cells = <1>;
125                         clock-ranges;
126                         ranges;
127
128                         gpio: gpio@90000000 {
129                                 compatible = "lsi,zevio-gpio";
130                                 reg = <0x90000000 0x1000>;
131                                 interrupts = <7>;
132                                 gpio-controller;
133                                 #gpio-cells = <2>;
134                         };
135
136                         fast_timer: timer@90010000 {
137                                 reg = <0x90010000 0x1000>;
138                                 interrupts = <17>;
139                         };
140
141                         uart: serial@90020000 {
142                                 reg = <0x90020000 0x1000>;
143                                 interrupts = <1>;
144                         };
145
146                         timer0: timer@900C0000 {
147                                 reg = <0x900C0000 0x1000>;
148
149                                 clocks = <&timer_clk>;
150                         };
151
152                         timer1: timer@900D0000 {
153                                 reg = <0x900D0000 0x1000>;
154                                 interrupts = <19>;
155
156                                 clocks = <&timer_clk>;
157                         };
158
159                         watchdog: watchdog@90060000 {
160                                 compatible = "arm,amba-primecell";
161                                 reg = <0x90060000 0x1000>;
162                                 interrupts = <3>;
163                         };
164
165                         rtc: rtc@90090000 {
166                                 reg = <0x90090000 0x1000>;
167                                 interrupts = <4>;
168                         };
169
170                         misc: misc@900A0000 {
171                                 reg = <0x900A0000 0x1000>;
172                         };
173
174                         pwr: pwr@900B0000 {
175                                 reg = <0x900B0000 0x1000>;
176                                 interrupts = <15>;
177                         };
178
179                         keypad: input@900E0000 {
180                                 compatible = "ti,nspire-keypad";
181                                 reg = <0x900E0000 0x1000>;
182                                 interrupts = <16>;
183
184                                 scan-interval = <1000>;
185                                 row-delay = <200>;
186
187                                 clocks = <&apb_pclk>;
188                         };
189
190                         contrast: contrast@900F0000 {
191                                 reg = <0x900F0000 0x1000>;
192                         };
193
194                         led: led@90110000 {
195                                 reg = <0x90110000 0x1000>;
196                         };
197                 };
198         };
199 };