blob: cdff33063d6f563e0043235cd9cb6427a6b1f677 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree for the ST Microelectronics Nomadik NHK8815 board
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 {
20 serial0 = &uart0;
21 serial1 = &uart1;
22 stmpe-i2c0 = &stmpe0;
23 stmpe-i2c1 = &stmpe1;
24 };
25
26 pinctrl {
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
36 stmpe2401_1 {
37 stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
38 nhk_cfg1 {
39 pins = "GPIO76_B20"; // IRQ line
40 ste,input = <0>;
41 };
42 nhk_cfg2 {
43 pins = "GPIO77_B8"; // reset line
44 ste,output = <1>;
45 };
46 };
47 };
48 stmpe2401_2 {
49 stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
50 nhk_cfg1 {
51 pins = "GPIO78_A8"; // IRQ line
52 ste,input = <0>;
53 };
54 nhk_cfg2 {
55 pins = "GPIO79_C9"; // reset line
56 ste,output = <1>;
57 };
58 };
59 };
60 lis3lv02dl {
61 lis3lv02dl_nhk_mode: lis3lv02dl_nhk {
62 nhk_cfg1 {
63 pins = "GPIO82_C10"; // IRQ line
64 ste,input = <0>;
65 };
66 };
67 };
68 };
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 {
93 lis3lv02dl@1d {
94 /* Accelerometer */
95 compatible = "st,lis3lv02dl-accel";
96 interrupt-parent = <&gpio2>;
97 interrupts = <18 IRQ_TYPE_EDGE_RISING>; // GPIO 82
98 pinctrl-0 = <&lis3lv02dl_nhk_mode>;
99 pinctrl-names = "default";
100 reg = <0x1d>;
101 };
102 stmpe0: port-expander@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 wakeup-source;
109 pinctrl-names = "default";
110 pinctrl-0 = <&stmpe2401_1_nhk_mode>;
111 stmpe_gpio43: gpio {
112 compatible = "st,stmpe-gpio";
113 gpio-controller;
114 #gpio-cells = <2>;
115 interrupt-controller;
116 #interrupt-cells = <2>;
117 /* Some pins in alternate functions */
118 st,norequest-mask = <0xf0f002>;
119 };
120 keyboard-controller {
121 compatible = "st,stmpe-keypad";
122 debounce-interval = <64>;
123 st,scan-count = <8>;
124 st,no-autorepeat;
125 keypad,num-rows = <8>;
126 keypad,num-columns = <8>;
127 linux,keymap = <0x00020072 // Vol down
128 0x00030073 // Vol up
129 0x0100009e // Back
130 0x010100e3 // TV out
131 0x01020098 // Lock
132 0x0103013b // Start
133 0x020000a3 // Next
134 0x020100a4 // Play
135 0x020200a5 // Prev
136 0x02030160 // OK
137 0x03000069 // Left
138 0x0301006a // Right
139 0x03020067 // Up
140 0x0303006c>; // Down
141 };
142 stmpe0_pwm: pwm {
143 compatible = "st,stmpe-pwm";
144 #pwm-cells = <2>;
145 };
146 };
147 stmpe1: port-expander@44 {
148 compatible = "st,stmpe2401";
149 reg = <0x44>;
150 reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
151 interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
152 interrupt-parent = <&gpio2>;
153 wakeup-source;
154 pinctrl-names = "default";
155 pinctrl-0 = <&stmpe2401_2_nhk_mode>;
156 stmpe_gpio44: gpio {
157 compatible = "st,stmpe-gpio";
158 gpio-controller;
159 #gpio-cells = <2>;
160 interrupt-controller;
161 #interrupt-cells = <2>;
162 /*
163 * This will turn off SATA so that MMC/SD
164 * can thrive
165 */
166 mmcsd-hog {
167 gpio-hog;
168 gpios = <2 0x0>;
169 output-low;
170 line-name = "SATA EN";
171 };
172 };
173 };
174 };
175
176 amba {
177 clcd@10120000 {
178 status = "okay";
179 pinctrl-names = "default";
180 pinctrl-0 = <&clcd_24bit_mux>;
181 port {
182 nomadik_clcd: endpoint {
183 remote-endpoint = <&nomadik_clcd_panel>;
184 arm,pl11x,tft-r0g0b0-pads = <16 8 0>;
185 };
186 };
187
188 };
189
190 /* Activate RX/TX and CTS/RTS on UART 0 */
191 uart0: serial@101fd000 {
192 pinctrl-names = "default";
193 pinctrl-0 = <&uart0_nhk_mode>;
194 status = "okay";
195 };
196 mmcsd: mmc@101f6000 {
197 cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
198 wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
199 };
200 };
201
202 spi {
203 compatible = "spi-gpio";
204 #address-cells = <1>;
205 #size-cells = <0>;
206
207 /*
208 * As we're dealing with 3wire SPI, we only define SCK
209 * and MOSI (in the spec MOSI is called "SDA").
210 */
211 sck-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
212 mosi-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
213 cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
214 num-chipselects = <1>;
215
216 /*
217 * WVGA connector 21
218 * WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB
219 * with TPO touch screen.
220 */
221 panel: display@0 {
222 /*
223 * The TPO display driver is connected to a
224 * 5.7" OSD OSD057VA01CT TFT display.
225 */
226 compatible = "tpo,tpg110";
227 reg = <0>;
228 spi-3wire;
229 /* 320 ns min period ~= 3 MHz */
230 spi-max-frequency = <3000000>;
231 /* Width and height from the OSD data sheet */
232 width-mm = <116>;
233 height-mm = <87>;
234 grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>;
235 backlight = <&bl>;
236
237 port {
238 nomadik_clcd_panel: endpoint {
239 remote-endpoint = <&nomadik_clcd>;
240 };
241 };
242 };
243 };
244
245 bl: backlight {
246 compatible = "pwm-backlight";
247 pwms = <&stmpe0_pwm 0 500000>;
248 pwm-names = "backlight";
249 brightness-levels = <
250 0 1 2 3 4 5 6 7 8 9
251 10 11 12 13 14 15 16 17 18 19
252 20 21 22 23 24 25 26 27 28 29
253 30 31 32 33 34 35 36 37 38 39
254 40 41 42 43 44 45 46 47 48 49
255 50 51 52 53 54 55 56 57 58 59
256 60 61 62 63 64 65 66 67 68 69
257 70 71 72 73 74 75 76 77 78 79
258 80 81 82 83 84 85 86 87 88 89
259 90 91 92 93 94 95 96 97 98 99
260 100
261 >;
262 default-brightness-level = <100>;
263 };
264};