1/* 2 * Device Tree for the ST-Ericsson Nomadik S8815 board 3 * Produced by Calao Systems 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 }; 61 62 src@101e0000 { 63 /* These chrystal outputs are not used on this board */ 64 disable-sxtalo; 65 disable-mxtalo; 66 }; 67 68 /* This is where the interrupt is routed on the NHK-15 debug board */ 69 external-bus@34000000 { 70 compatible = "simple-bus"; 71 reg = <0x34000000 0x1000000>; 72 #address-cells = <1>; 73 #size-cells = <1>; 74 ranges = <0 0x34000000 0x1000000>; 75 ethernet@300 { 76 compatible = "smsc,lan91c111"; 77 reg = <0x300 0x0fd00>; 78 reg-io-width = <2>; 79 reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>; 80 interrupt-parent = <&stmpe_gpio44>; 81 interrupts = <11 IRQ_TYPE_EDGE_RISING>; 82 }; 83 }; 84 85 i2c0 { 86 lis3lv02dl@1d { 87 /* Accelerometer */ 88 compatible = "st,lis3lv02dl-accel"; 89 reg = <0x1d>; 90 }; 91 stmpe0: stmpe2401@43 { 92 compatible = "st,stmpe2401"; 93 reg = <0x43>; 94 reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77 95 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76 96 interrupt-parent = <&gpio2>; 97 interrupt-controller; 98 wakeup-source; 99 pinctrl-names = "default"; 100 pinctrl-0 = <&stmpe2401_1_nhk_mode>; 101 stmpe_gpio43: stmpe_gpio { 102 compatible = "st,stmpe-gpio"; 103 gpio-controller; 104 #gpio-cells = <2>; 105 interrupt-controller; 106 #interrupt-cells = <2>; 107 /* Some pins in alternate functions */ 108 st,norequest-mask = <0xf0f002>; 109 }; 110 stmpe_keypad { 111 compatible = "st,stmpe-keypad"; 112 debounce-interval = <64>; 113 st,scan-count = <8>; 114 st,no-autorepeat; 115 keypad,num-rows = <8>; 116 keypad,num-columns = <8>; 117 linux,keymap = <0x00020072 // Vol down 118 0x00030073 // Vol up 119 0x0100009e // Back 120 0x010100e3 // TV out 121 0x01020098 // Lock 122 0x0103013b // Start 123 0x020000a3 // Next 124 0x020100a4 // Play 125 0x020200a5 // Prev 126 0x02030160 // OK 127 0x03000069 // Left 128 0x0301006a // Right 129 0x03020067 // Up 130 0x0303006c>; // Down 131 }; 132 }; 133 stmpe1: stmpe2401@44 { 134 compatible = "st,stmpe2401"; 135 reg = <0x44>; 136 reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79 137 interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78 138 interrupt-parent = <&gpio2>; 139 interrupt-controller; 140 wakeup-source; 141 pinctrl-names = "default"; 142 pinctrl-0 = <&stmpe2401_2_nhk_mode>; 143 stmpe_gpio44: stmpe_gpio { 144 compatible = "st,stmpe-gpio"; 145 gpio-controller; 146 #gpio-cells = <2>; 147 interrupt-controller; 148 #interrupt-cells = <2>; 149 /* 150 * This will turn off SATA so that MMC/SD 151 * can thrive 152 */ 153 mmcsd-gpio { 154 gpio-hog; 155 gpios = <2 0x0>; 156 output-low; 157 line-name = "SATA EN"; 158 }; 159 }; 160 }; 161 }; 162 163 amba { 164 /* Activate RX/TX and CTS/RTS on UART 0 */ 165 uart0: uart@101fd000 { 166 pinctrl-names = "default"; 167 pinctrl-0 = <&uart0_nhk_mode>; 168 status = "okay"; 169 }; 170 mmcsd: sdi@101f6000 { 171 cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>; 172 wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>; 173 }; 174 }; 175}; 176