1// 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: 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 }; 143 stmpe0_pwm: stmpe_pwm { 144 compatible = "st,stmpe-pwm"; 145 #pwm-cells = <2>; 146 }; 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>; 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 }; 174 }; 175 }; 176 }; 177 178 amba { 179 clcd@10120000 { 180 status = "okay"; 181 pinctrl-names = "default"; 182 pinctrl-0 = <&clcd_24bit_mux>; 183 port { 184 nomadik_clcd: endpoint { 185 remote-endpoint = <&nomadik_clcd_panel>; 186 arm,pl11x,tft-r0g0b0-pads = <16 8 0>; 187 }; 188 }; 189 190 }; 191 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 }; 198 mmcsd: mmc@101f6000 { 199 cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>; 200 wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>; 201 }; 202 }; 203 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 cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; 216 num-chipselects = <1>; 217 218 /* 219 * WVGA connector 21 220 * WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB 221 * with TPO touch screen. 222 */ 223 panel: display@0 { 224 /* 225 * The TPO display driver is connected to a 226 * 5.7" OSD OSD057VA01CT TFT display. 227 */ 228 compatible = "tpo,tpg110"; 229 reg = <0>; 230 spi-3wire; 231 /* 320 ns min period ~= 3 MHz */ 232 spi-max-frequency = <3000000>; 233 /* Width and height from the OSD data sheet */ 234 width-mm = <116>; 235 height-mm = <87>; 236 grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>; 237 backlight = <&bl>; 238 239 port { 240 nomadik_clcd_panel: endpoint { 241 remote-endpoint = <&nomadik_clcd>; 242 }; 243 }; 244 }; 245 }; 246 247 bl: backlight { 248 compatible = "pwm-backlight"; 249 pwms = <&stmpe0_pwm 0 500000>; 250 pwm-names = "backlight"; 251 brightness-levels = < 252 0 1 2 3 4 5 6 7 8 9 253 10 11 12 13 14 15 16 17 18 19 254 20 21 22 23 24 25 26 27 28 29 255 30 31 32 33 34 35 36 37 38 39 256 40 41 42 43 44 45 46 47 48 49 257 50 51 52 53 54 55 56 57 58 59 258 60 61 62 63 64 65 66 67 68 69 259 70 71 72 73 74 75 76 77 78 79 260 80 81 82 83 84 85 86 87 88 89 261 90 91 92 93 94 95 96 97 98 99 262 100 263 >; 264 default-brightness-level = <100>; 265 }; 266}; 267