]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | // SPDX-License-Identifier: GPL-2.0 |
451f2334 | 2 | /* |
cffbb02d | 3 | * Device Tree for the ST Microelectronics Nomadik NHK8815 board |
451f2334 LW |
4 | */ |
5 | ||
6 | /dts-v1/; | |
7 | #include <dt-bindings/interrupt-controller/irq.h> | |
8 | #include <dt-bindings/gpio/gpio.h> | |
9 | #include "ste-nomadik-stn8815.dtsi" | |
10 | ||
11 | / { | |
12 | model = "Nomadik STN8815NHK"; | |
13 | compatible = "st,nomadik-nhk-15"; | |
14 | ||
15 | chosen { | |
16 | bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; | |
17 | }; | |
18 | ||
19 | aliases { | |
1cb3375b | 20 | serial0 = &uart0; |
a153790a | 21 | serial1 = &uart1; |
451f2334 LW |
22 | stmpe-i2c0 = &stmpe0; |
23 | stmpe-i2c1 = &stmpe1; | |
24 | }; | |
25 | ||
26 | pinctrl { | |
1cb3375b LW |
27 | uart0 { |
28 | uart0_nhk_mode: uart0_mux { | |
29 | u0_default_mux { | |
30 | function = "u0"; | |
31 | groups = "u0txrx_a_1", "u0ctsrts_a_1"; | |
32 | }; | |
33 | }; | |
34 | }; | |
35 | ||
451f2334 LW |
36 | stmpe2401_1 { |
37 | stmpe2401_1_nhk_mode: stmpe2401_1_nhk { | |
38 | nhk_cfg1 { | |
259e4384 | 39 | pins = "GPIO76_B20"; // IRQ line |
451f2334 LW |
40 | ste,input = <0>; |
41 | }; | |
42 | nhk_cfg2 { | |
259e4384 | 43 | pins = "GPIO77_B8"; // reset line |
451f2334 LW |
44 | ste,output = <1>; |
45 | }; | |
46 | }; | |
47 | }; | |
48 | stmpe2401_2 { | |
49 | stmpe2401_2_nhk_mode: stmpe2401_2_nhk { | |
50 | nhk_cfg1 { | |
259e4384 | 51 | pins = "GPIO78_A8"; // IRQ line |
451f2334 LW |
52 | ste,input = <0>; |
53 | }; | |
54 | nhk_cfg2 { | |
259e4384 | 55 | pins = "GPIO79_C9"; // reset line |
451f2334 LW |
56 | ste,output = <1>; |
57 | }; | |
58 | }; | |
59 | }; | |
e249fc7d LW |
60 | lis3lv02dl { |
61 | lis3lv02dl_nhk_mode: lis3lv02dl_nhk { | |
62 | nhk_cfg1 { | |
63 | pins = "GPIO82_C10"; // IRQ line | |
64 | ste,input = <0>; | |
65 | }; | |
66 | }; | |
67 | }; | |
451f2334 | 68 | }; |
451f2334 LW |
69 | src@101e0000 { |
70 | /* These chrystal outputs are not used on this board */ | |
71 | disable-sxtalo; | |
72 | disable-mxtalo; | |
73 | }; | |
74 | ||
75 | /* This is where the interrupt is routed on the NHK-15 debug board */ | |
76 | external-bus@34000000 { | |
77 | compatible = "simple-bus"; | |
78 | reg = <0x34000000 0x1000000>; | |
79 | #address-cells = <1>; | |
80 | #size-cells = <1>; | |
81 | ranges = <0 0x34000000 0x1000000>; | |
82 | ethernet@300 { | |
83 | compatible = "smsc,lan91c111"; | |
84 | reg = <0x300 0x0fd00>; | |
85 | reg-io-width = <2>; | |
86 | reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>; | |
87 | interrupt-parent = <&stmpe_gpio44>; | |
88 | interrupts = <11 IRQ_TYPE_EDGE_RISING>; | |
89 | }; | |
90 | }; | |
91 | ||
92 | i2c0 { | |
4f2f1f76 LW |
93 | lis3lv02dl@1d { |
94 | /* Accelerometer */ | |
95 | compatible = "st,lis3lv02dl-accel"; | |
e249fc7d LW |
96 | interrupt-parent = <&gpio2>; |
97 | interrupts = <18 IRQ_TYPE_EDGE_RISING>; // GPIO 82 | |
98 | pinctrl-0 = <&lis3lv02dl_nhk_mode>; | |
99 | pinctrl-names = "default"; | |
4f2f1f76 LW |
100 | reg = <0x1d>; |
101 | }; | |
451f2334 LW |
102 | stmpe0: stmpe2401@43 { |
103 | compatible = "st,stmpe2401"; | |
104 | reg = <0x43>; | |
105 | reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77 | |
106 | interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76 | |
107 | interrupt-parent = <&gpio2>; | |
108 | interrupt-controller; | |
109 | wakeup-source; | |
110 | pinctrl-names = "default"; | |
111 | pinctrl-0 = <&stmpe2401_1_nhk_mode>; | |
112 | stmpe_gpio43: stmpe_gpio { | |
113 | compatible = "st,stmpe-gpio"; | |
114 | gpio-controller; | |
115 | #gpio-cells = <2>; | |
116 | interrupt-controller; | |
117 | #interrupt-cells = <2>; | |
118 | /* Some pins in alternate functions */ | |
119 | st,norequest-mask = <0xf0f002>; | |
120 | }; | |
121 | stmpe_keypad { | |
122 | compatible = "st,stmpe-keypad"; | |
123 | debounce-interval = <64>; | |
124 | st,scan-count = <8>; | |
125 | st,no-autorepeat; | |
126 | keypad,num-rows = <8>; | |
127 | keypad,num-columns = <8>; | |
128 | linux,keymap = <0x00020072 // Vol down | |
129 | 0x00030073 // Vol up | |
130 | 0x0100009e // Back | |
131 | 0x010100e3 // TV out | |
132 | 0x01020098 // Lock | |
133 | 0x0103013b // Start | |
134 | 0x020000a3 // Next | |
135 | 0x020100a4 // Play | |
136 | 0x020200a5 // Prev | |
137 | 0x02030160 // OK | |
138 | 0x03000069 // Left | |
139 | 0x0301006a // Right | |
140 | 0x03020067 // Up | |
141 | 0x0303006c>; // Down | |
142 | }; | |
6d996f36 LW |
143 | stmpe0_pwm: stmpe_pwm { |
144 | compatible = "st,stmpe-pwm"; | |
145 | #pwm-cells = <2>; | |
146 | }; | |
451f2334 LW |
147 | }; |
148 | stmpe1: stmpe2401@44 { | |
149 | compatible = "st,stmpe2401"; | |
150 | reg = <0x44>; | |
151 | reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79 | |
152 | interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78 | |
153 | interrupt-parent = <&gpio2>; | |
154 | interrupt-controller; | |
155 | wakeup-source; | |
156 | pinctrl-names = "default"; | |
157 | pinctrl-0 = <&stmpe2401_2_nhk_mode>; | |
158 | stmpe_gpio44: stmpe_gpio { | |
159 | compatible = "st,stmpe-gpio"; | |
160 | gpio-controller; | |
161 | #gpio-cells = <2>; | |
162 | interrupt-controller; | |
163 | #interrupt-cells = <2>; | |
4cec8cd7 LW |
164 | /* |
165 | * This will turn off SATA so that MMC/SD | |
166 | * can thrive | |
167 | */ | |
168 | mmcsd-gpio { | |
169 | gpio-hog; | |
170 | gpios = <2 0x0>; | |
171 | output-low; | |
172 | line-name = "SATA EN"; | |
173 | }; | |
451f2334 LW |
174 | }; |
175 | }; | |
176 | }; | |
177 | ||
178 | amba { | |
17470b7d LW |
179 | clcd@10120000 { |
180 | status = "okay"; | |
181 | pinctrl-names = "default"; | |
182 | pinctrl-0 = <&clcd_24bit_mux>; | |
183 | port { | |
cffbb02d | 184 | nomadik_clcd: endpoint { |
17470b7d LW |
185 | remote-endpoint = <&nomadik_clcd_panel>; |
186 | arm,pl11x,tft-r0g0b0-pads = <16 8 0>; | |
187 | }; | |
188 | }; | |
189 | ||
17470b7d LW |
190 | }; |
191 | ||
1cb3375b LW |
192 | /* Activate RX/TX and CTS/RTS on UART 0 */ |
193 | uart0: uart@101fd000 { | |
194 | pinctrl-names = "default"; | |
195 | pinctrl-0 = <&uart0_nhk_mode>; | |
196 | status = "okay"; | |
197 | }; | |
451f2334 LW |
198 | mmcsd: sdi@101f6000 { |
199 | cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>; | |
200 | wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>; | |
201 | }; | |
202 | }; | |
6d996f36 | 203 | |
cffbb02d LW |
204 | spi { |
205 | compatible = "spi-gpio"; | |
206 | #address-cells = <1>; | |
207 | #size-cells = <0>; | |
208 | ||
209 | /* | |
210 | * As we're dealing with 3wire SPI, we only define SCK | |
211 | * and MOSI (in the spec MOSI is called "SDA"). | |
212 | */ | |
213 | gpio-sck = <&gpio0 5 GPIO_ACTIVE_HIGH>; | |
214 | gpio-mosi = <&gpio0 4 GPIO_ACTIVE_HIGH>; | |
215 | /* | |
fbe8758f OJ |
216 | * It's not actually active high, but the frameworks assume |
217 | * the polarity of the passed-in GPIO is "normal" (active | |
218 | * high) then actively drives the line low to select the | |
219 | * chip. | |
cffbb02d LW |
220 | */ |
221 | cs-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; | |
222 | num-chipselects = <1>; | |
223 | ||
224 | /* | |
225 | * WVGA connector 21 | |
226 | * WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB | |
227 | * with TPO touch screen. | |
228 | */ | |
229 | panel: display@0 { | |
230 | /* | |
231 | * The TPO display driver is connected to a | |
232 | * 5.7" OSD OSD057VA01CT TFT display. | |
233 | */ | |
234 | compatible = "tpo,tpg110"; | |
235 | reg = <0>; | |
236 | spi-3wire; | |
237 | /* 320 ns min period ~= 3 MHz */ | |
238 | spi-max-frequency = <3000000>; | |
239 | /* Width and height from the OSD data sheet */ | |
240 | width-mm = <116>; | |
241 | height-mm = <87>; | |
242 | grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>; | |
243 | backlight = <&bl>; | |
244 | ||
245 | port { | |
246 | nomadik_clcd_panel: endpoint { | |
247 | remote-endpoint = <&nomadik_clcd>; | |
248 | }; | |
249 | }; | |
250 | }; | |
251 | }; | |
252 | ||
6d996f36 LW |
253 | bl: backlight { |
254 | compatible = "pwm-backlight"; | |
255 | pwms = <&stmpe0_pwm 0 500000>; | |
256 | pwm-names = "backlight"; | |
257 | brightness-levels = < | |
258 | 0 1 2 3 4 5 6 7 8 9 | |
259 | 10 11 12 13 14 15 16 17 18 19 | |
260 | 20 21 22 23 24 25 26 27 28 29 | |
261 | 30 31 32 33 34 35 36 37 38 39 | |
262 | 40 41 42 43 44 45 46 47 48 49 | |
263 | 50 51 52 53 54 55 56 57 58 59 | |
264 | 60 61 62 63 64 65 66 67 68 69 | |
265 | 70 71 72 73 74 75 76 77 78 79 | |
266 | 80 81 82 83 84 85 86 87 88 89 | |
267 | 90 91 92 93 94 95 96 97 98 99 | |
268 | 100 | |
269 | >; | |
270 | default-brightness-level = <100>; | |
271 | }; | |
451f2334 | 272 | }; |