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: 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}; 265