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 stmpe-i2c0 = &stmpe0; 21 stmpe-i2c1 = &stmpe1; 22 }; 23 24 pinctrl { 25 stmpe2401_1 { 26 stmpe2401_1_nhk_mode: stmpe2401_1_nhk { 27 nhk_cfg1 { 28 pins = "GPIO76_B20"; // IRQ line 29 ste,input = <0>; 30 }; 31 nhk_cfg2 { 32 pins = "GPIO77_B8"; // reset line 33 ste,output = <1>; 34 }; 35 }; 36 }; 37 stmpe2401_2 { 38 stmpe2401_2_nhk_mode: stmpe2401_2_nhk { 39 nhk_cfg1 { 40 pins = "GPIO78_A8"; // IRQ line 41 ste,input = <0>; 42 }; 43 nhk_cfg2 { 44 pins = "GPIO79_C9"; // reset line 45 ste,output = <1>; 46 }; 47 }; 48 }; 49 }; 50 51 src@101e0000 { 52 /* These chrystal outputs are not used on this board */ 53 disable-sxtalo; 54 disable-mxtalo; 55 }; 56 57 /* This is where the interrupt is routed on the NHK-15 debug board */ 58 external-bus@34000000 { 59 compatible = "simple-bus"; 60 reg = <0x34000000 0x1000000>; 61 #address-cells = <1>; 62 #size-cells = <1>; 63 ranges = <0 0x34000000 0x1000000>; 64 ethernet@300 { 65 compatible = "smsc,lan91c111"; 66 reg = <0x300 0x0fd00>; 67 reg-io-width = <2>; 68 reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>; 69 interrupt-parent = <&stmpe_gpio44>; 70 interrupts = <11 IRQ_TYPE_EDGE_RISING>; 71 }; 72 }; 73 74 i2c0 { 75 stmpe0: stmpe2401@43 { 76 compatible = "st,stmpe2401"; 77 reg = <0x43>; 78 reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77 79 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76 80 interrupt-parent = <&gpio2>; 81 interrupt-controller; 82 wakeup-source; 83 pinctrl-names = "default"; 84 pinctrl-0 = <&stmpe2401_1_nhk_mode>; 85 stmpe_gpio43: stmpe_gpio { 86 compatible = "st,stmpe-gpio"; 87 gpio-controller; 88 #gpio-cells = <2>; 89 interrupt-controller; 90 #interrupt-cells = <2>; 91 /* Some pins in alternate functions */ 92 st,norequest-mask = <0xf0f002>; 93 }; 94 stmpe_keypad { 95 compatible = "st,stmpe-keypad"; 96 debounce-interval = <64>; 97 st,scan-count = <8>; 98 st,no-autorepeat; 99 keypad,num-rows = <8>; 100 keypad,num-columns = <8>; 101 linux,keymap = <0x00020072 // Vol down 102 0x00030073 // Vol up 103 0x0100009e // Back 104 0x010100e3 // TV out 105 0x01020098 // Lock 106 0x0103013b // Start 107 0x020000a3 // Next 108 0x020100a4 // Play 109 0x020200a5 // Prev 110 0x02030160 // OK 111 0x03000069 // Left 112 0x0301006a // Right 113 0x03020067 // Up 114 0x0303006c>; // Down 115 }; 116 }; 117 stmpe1: stmpe2401@44 { 118 compatible = "st,stmpe2401"; 119 reg = <0x44>; 120 reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79 121 interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78 122 interrupt-parent = <&gpio2>; 123 interrupt-controller; 124 wakeup-source; 125 pinctrl-names = "default"; 126 pinctrl-0 = <&stmpe2401_2_nhk_mode>; 127 stmpe_gpio44: stmpe_gpio { 128 compatible = "st,stmpe-gpio"; 129 gpio-controller; 130 #gpio-cells = <2>; 131 interrupt-controller; 132 #interrupt-cells = <2>; 133 }; 134 }; 135 }; 136 137 amba { 138 mmcsd: sdi@101f6000 { 139 cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>; 140 wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>; 141 }; 142 }; 143 144 /* Custom board node with GPIO pins to active etc */ 145 usb-s8815 { 146 /* This will turn off SATA so that MMC/SD can thrive */ 147 mmcsd-gpio { 148 gpios = <&stmpe_gpio44 2 0x1>; 149 }; 150 }; 151}; 152