Loading...
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 clocks = <&timer_clk>, <&timer_clk>,
149 <&timer_clk>;
150 clock-names = "timer0clk", "timer1clk",
151 "apb_pclk";
152 };
153
154 timer1: timer@900d0000 {
155 reg = <0x900d0000 0x1000>;
156 interrupts = <19>;
157 clocks = <&timer_clk>, <&timer_clk>,
158 <&timer_clk>;
159 clock-names = "timer0clk", "timer1clk",
160 "apb_pclk";
161 };
162
163 watchdog: watchdog@90060000 {
164 compatible = "arm,amba-primecell";
165 reg = <0x90060000 0x1000>;
166 interrupts = <3>;
167 };
168
169 rtc: rtc@90090000 {
170 reg = <0x90090000 0x1000>;
171 interrupts = <4>;
172 };
173
174 misc: misc@900a0000 {
175 reg = <0x900a0000 0x1000>;
176 };
177
178 pwr: pwr@900b0000 {
179 reg = <0x900b0000 0x1000>;
180 interrupts = <15>;
181 };
182
183 keypad: input@900e0000 {
184 compatible = "ti,nspire-keypad";
185 reg = <0x900e0000 0x1000>;
186 interrupts = <16>;
187
188 scan-interval = <1000>;
189 row-delay = <200>;
190
191 clocks = <&apb_pclk>;
192 };
193
194 contrast: contrast@900f0000 {
195 reg = <0x900f0000 0x1000>;
196 };
197
198 led: led@90110000 {
199 reg = <0x90110000 0x1000>;
200 };
201 };
202 };
203};
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@00000000 {
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 };
60
61 vbus_reg: vbus_reg {
62 compatible = "regulator-fixed";
63
64 regulator-name = "USB VBUS output";
65 regulator-type = "voltage";
66
67 regulator-min-microvolt = <5000000>;
68 regulator-max-microvolt = <5000000>;
69 };
70
71 ahb {
72 compatible = "simple-bus";
73 #address-cells = <1>;
74 #size-cells = <1>;
75 ranges;
76
77 spi: spi@A9000000 {
78 reg = <0xA9000000 0x1000>;
79 };
80
81 usb0: usb@B0000000 {
82 compatible = "lsi,zevio-usb";
83 reg = <0xB0000000 0x1000>;
84 interrupts = <8>;
85
86 usb-phy = <&usb_phy>;
87 vbus-supply = <&vbus_reg>;
88 };
89
90 usb1: usb@B4000000 {
91 reg = <0xB4000000 0x1000>;
92 interrupts = <9>;
93 status = "disabled";
94 };
95
96 lcd: lcd@C0000000 {
97 compatible = "arm,pl111", "arm,primecell";
98 reg = <0xC0000000 0x1000>;
99 interrupts = <21>;
100
101 clocks = <&apb_pclk>;
102 clock-names = "apb_pclk";
103 };
104
105 adc: adc@C4000000 {
106 reg = <0xC4000000 0x1000>;
107 interrupts = <11>;
108 };
109
110 tdes: crypto@C8010000 {
111 reg = <0xC8010000 0x1000>;
112 };
113
114 sha256: crypto@CC000000 {
115 reg = <0xCC000000 0x1000>;
116 };
117
118 apb@90000000 {
119 compatible = "simple-bus";
120 #address-cells = <1>;
121 #size-cells = <1>;
122 clock-ranges;
123 ranges;
124
125 gpio: gpio@90000000 {
126 compatible = "lsi,zevio-gpio";
127 reg = <0x90000000 0x1000>;
128 interrupts = <7>;
129 gpio-controller;
130 #gpio-cells = <2>;
131 };
132
133 fast_timer: timer@90010000 {
134 reg = <0x90010000 0x1000>;
135 interrupts = <17>;
136 };
137
138 uart: serial@90020000 {
139 reg = <0x90020000 0x1000>;
140 interrupts = <1>;
141 };
142
143 timer0: timer@900C0000 {
144 reg = <0x900C0000 0x1000>;
145
146 clocks = <&timer_clk>;
147 };
148
149 timer1: timer@900D0000 {
150 reg = <0x900D0000 0x1000>;
151 interrupts = <19>;
152
153 clocks = <&timer_clk>;
154 };
155
156 watchdog: watchdog@90060000 {
157 compatible = "arm,amba-primecell";
158 reg = <0x90060000 0x1000>;
159 interrupts = <3>;
160 };
161
162 rtc: rtc@90090000 {
163 reg = <0x90090000 0x1000>;
164 interrupts = <4>;
165 };
166
167 misc: misc@900A0000 {
168 reg = <0x900A0000 0x1000>;
169 };
170
171 pwr: pwr@900B0000 {
172 reg = <0x900B0000 0x1000>;
173 interrupts = <15>;
174 };
175
176 keypad: input@900E0000 {
177 compatible = "ti,nspire-keypad";
178 reg = <0x900E0000 0x1000>;
179 interrupts = <16>;
180
181 scan-interval = <1000>;
182 row-delay = <200>;
183
184 clocks = <&apb_pclk>;
185 };
186
187 contrast: contrast@900F0000 {
188 reg = <0x900F0000 0x1000>;
189 };
190
191 led: led@90110000 {
192 reg = <0x90110000 0x1000>;
193 };
194 };
195 };
196};