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