]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm/boot/dts/ste-nomadik-nhk15.dts
UBUNTU: Ubuntu-5.3.0-29.31
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / ste-nomadik-nhk15.dts
CommitLineData
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};