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};
198