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