1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * Device Tree for the ST Microelectronics Nom 3 * Device Tree for the ST Microelectronics Nomadik NHK8815 board 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 #include <dt-bindings/interrupt-controller/irq 7 #include <dt-bindings/interrupt-controller/irq.h> 8 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include "ste-nomadik-stn8815.dtsi" 9 #include "ste-nomadik-stn8815.dtsi" 10 10 11 / { 11 / { 12 model = "Nomadik STN8815NHK"; 12 model = "Nomadik STN8815NHK"; 13 compatible = "st,nomadik-nhk-15"; 13 compatible = "st,nomadik-nhk-15"; 14 14 15 chosen { 15 chosen { 16 bootargs = "root=/dev/ram0 con 16 bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; 17 }; 17 }; 18 18 19 aliases { 19 aliases { 20 serial0 = &uart0; 20 serial0 = &uart0; 21 serial1 = &uart1; 21 serial1 = &uart1; 22 stmpe-i2c0 = &stmpe0; 22 stmpe-i2c0 = &stmpe0; 23 stmpe-i2c1 = &stmpe1; 23 stmpe-i2c1 = &stmpe1; 24 }; 24 }; 25 25 26 pinctrl { 26 pinctrl { 27 uart0 { 27 uart0 { 28 uart0_nhk_mode: uart0_ 28 uart0_nhk_mode: uart0_mux { 29 u0_default_mux 29 u0_default_mux { 30 functi 30 function = "u0"; 31 groups 31 groups = "u0txrx_a_1", "u0ctsrts_a_1"; 32 }; 32 }; 33 }; 33 }; 34 }; 34 }; 35 35 36 stmpe2401_1 { 36 stmpe2401_1 { 37 stmpe2401_1_nhk_mode: 37 stmpe2401_1_nhk_mode: stmpe2401_1_nhk { 38 nhk_cfg1 { 38 nhk_cfg1 { 39 pins = 39 pins = "GPIO76_B20"; // IRQ line 40 ste,in 40 ste,input = <0>; 41 }; 41 }; 42 nhk_cfg2 { 42 nhk_cfg2 { 43 pins = 43 pins = "GPIO77_B8"; // reset line 44 ste,ou 44 ste,output = <1>; 45 }; 45 }; 46 }; 46 }; 47 }; 47 }; 48 stmpe2401_2 { 48 stmpe2401_2 { 49 stmpe2401_2_nhk_mode: 49 stmpe2401_2_nhk_mode: stmpe2401_2_nhk { 50 nhk_cfg1 { 50 nhk_cfg1 { 51 pins = 51 pins = "GPIO78_A8"; // IRQ line 52 ste,in 52 ste,input = <0>; 53 }; 53 }; 54 nhk_cfg2 { 54 nhk_cfg2 { 55 pins = 55 pins = "GPIO79_C9"; // reset line 56 ste,ou 56 ste,output = <1>; 57 }; 57 }; 58 }; 58 }; 59 }; 59 }; 60 lis3lv02dl { 60 lis3lv02dl { 61 lis3lv02dl_nhk_mode: l 61 lis3lv02dl_nhk_mode: lis3lv02dl_nhk { 62 nhk_cfg1 { 62 nhk_cfg1 { 63 pins = 63 pins = "GPIO82_C10"; // IRQ line 64 ste,in 64 ste,input = <0>; 65 }; 65 }; 66 }; 66 }; 67 }; 67 }; 68 }; 68 }; 69 src@101e0000 { 69 src@101e0000 { 70 /* These chrystal outputs are 70 /* These chrystal outputs are not used on this board */ 71 disable-sxtalo; 71 disable-sxtalo; 72 disable-mxtalo; 72 disable-mxtalo; 73 }; 73 }; 74 74 75 /* This is where the interrupt is rout 75 /* This is where the interrupt is routed on the NHK-15 debug board */ 76 external-bus@34000000 { 76 external-bus@34000000 { 77 compatible = "simple-bus"; 77 compatible = "simple-bus"; 78 reg = <0x34000000 0x1000000>; 78 reg = <0x34000000 0x1000000>; 79 #address-cells = <1>; 79 #address-cells = <1>; 80 #size-cells = <1>; 80 #size-cells = <1>; 81 ranges = <0 0x34000000 0x10000 81 ranges = <0 0x34000000 0x1000000>; 82 ethernet@300 { 82 ethernet@300 { 83 compatible = "smsc,lan 83 compatible = "smsc,lan91c111"; 84 reg = <0x300 0x0fd00>; 84 reg = <0x300 0x0fd00>; 85 reg-io-width = <2>; 85 reg-io-width = <2>; 86 reset-gpios = <&stmpe_ 86 reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>; 87 interrupt-parent = <&s 87 interrupt-parent = <&stmpe_gpio44>; 88 interrupts = <11 IRQ_T 88 interrupts = <11 IRQ_TYPE_EDGE_RISING>; 89 }; 89 }; 90 }; 90 }; 91 91 92 i2c0 { 92 i2c0 { 93 lis3lv02dl@1d { 93 lis3lv02dl@1d { 94 /* Accelerometer */ 94 /* Accelerometer */ 95 compatible = "st,lis3l 95 compatible = "st,lis3lv02dl-accel"; 96 interrupt-parent = <&g 96 interrupt-parent = <&gpio2>; 97 interrupts = <18 IRQ_T 97 interrupts = <18 IRQ_TYPE_EDGE_RISING>; // GPIO 82 98 pinctrl-0 = <&lis3lv02 98 pinctrl-0 = <&lis3lv02dl_nhk_mode>; 99 pinctrl-names = "defau 99 pinctrl-names = "default"; 100 reg = <0x1d>; 100 reg = <0x1d>; 101 }; 101 }; 102 stmpe0: port-expander@43 { 102 stmpe0: port-expander@43 { 103 compatible = "st,stmpe 103 compatible = "st,stmpe2401"; 104 reg = <0x43>; 104 reg = <0x43>; 105 reset-gpios = <&gpio2 105 reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77 106 interrupts = <12 IRQ_T 106 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76 107 interrupt-parent = <&g 107 interrupt-parent = <&gpio2>; 108 wakeup-source; 108 wakeup-source; 109 pinctrl-names = "defau 109 pinctrl-names = "default"; 110 pinctrl-0 = <&stmpe240 110 pinctrl-0 = <&stmpe2401_1_nhk_mode>; 111 stmpe_gpio43: gpio { 111 stmpe_gpio43: gpio { 112 compatible = " 112 compatible = "st,stmpe-gpio"; 113 gpio-controlle 113 gpio-controller; 114 #gpio-cells = 114 #gpio-cells = <2>; 115 interrupt-cont 115 interrupt-controller; 116 #interrupt-cel 116 #interrupt-cells = <2>; 117 /* Some pins i 117 /* Some pins in alternate functions */ 118 st,norequest-m 118 st,norequest-mask = <0xf0f002>; 119 }; 119 }; 120 keyboard-controller { 120 keyboard-controller { 121 compatible = " 121 compatible = "st,stmpe-keypad"; 122 debounce-inter 122 debounce-interval = <64>; 123 st,scan-count 123 st,scan-count = <8>; 124 st,no-autorepe 124 st,no-autorepeat; 125 keypad,num-row 125 keypad,num-rows = <8>; 126 keypad,num-col 126 keypad,num-columns = <8>; 127 linux,keymap = 127 linux,keymap = <0x00020072 // Vol down 128 128 0x00030073 // Vol up 129 129 0x0100009e // Back 130 130 0x010100e3 // TV out 131 131 0x01020098 // Lock 132 132 0x0103013b // Start 133 133 0x020000a3 // Next 134 134 0x020100a4 // Play 135 135 0x020200a5 // Prev 136 136 0x02030160 // OK 137 137 0x03000069 // Left 138 138 0x0301006a // Right 139 139 0x03020067 // Up 140 140 0x0303006c>; // Down 141 }; 141 }; 142 stmpe0_pwm: pwm { 142 stmpe0_pwm: pwm { 143 compatible = " 143 compatible = "st,stmpe-pwm"; 144 #pwm-cells = < 144 #pwm-cells = <2>; 145 }; 145 }; 146 }; 146 }; 147 stmpe1: port-expander@44 { 147 stmpe1: port-expander@44 { 148 compatible = "st,stmpe 148 compatible = "st,stmpe2401"; 149 reg = <0x44>; 149 reg = <0x44>; 150 reset-gpios = <&gpio2 150 reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79 151 interrupts = <14 IRQ_T 151 interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78 152 interrupt-parent = <&g 152 interrupt-parent = <&gpio2>; 153 wakeup-source; 153 wakeup-source; 154 pinctrl-names = "defau 154 pinctrl-names = "default"; 155 pinctrl-0 = <&stmpe240 155 pinctrl-0 = <&stmpe2401_2_nhk_mode>; 156 stmpe_gpio44: gpio { 156 stmpe_gpio44: gpio { 157 compatible = " 157 compatible = "st,stmpe-gpio"; 158 gpio-controlle 158 gpio-controller; 159 #gpio-cells = 159 #gpio-cells = <2>; 160 interrupt-cont 160 interrupt-controller; 161 #interrupt-cel 161 #interrupt-cells = <2>; 162 /* 162 /* 163 * This will t 163 * This will turn off SATA so that MMC/SD 164 * can thrive 164 * can thrive 165 */ 165 */ 166 mmcsd-hog { 166 mmcsd-hog { 167 gpio-h 167 gpio-hog; 168 gpios 168 gpios = <2 0x0>; 169 output 169 output-low; 170 line-n 170 line-name = "SATA EN"; 171 }; 171 }; 172 }; 172 }; 173 }; 173 }; 174 }; 174 }; 175 175 176 amba { 176 amba { 177 clcd@10120000 { 177 clcd@10120000 { 178 status = "okay"; 178 status = "okay"; 179 pinctrl-names = "defau 179 pinctrl-names = "default"; 180 pinctrl-0 = <&clcd_24b 180 pinctrl-0 = <&clcd_24bit_mux>; 181 port { 181 port { 182 nomadik_clcd: 182 nomadik_clcd: endpoint { 183 remote 183 remote-endpoint = <&nomadik_clcd_panel>; 184 arm,pl 184 arm,pl11x,tft-r0g0b0-pads = <16 8 0>; 185 }; 185 }; 186 }; 186 }; 187 187 188 }; 188 }; 189 189 190 /* Activate RX/TX and CTS/RTS 190 /* Activate RX/TX and CTS/RTS on UART 0 */ 191 uart0: serial@101fd000 { 191 uart0: serial@101fd000 { 192 pinctrl-names = "defau 192 pinctrl-names = "default"; 193 pinctrl-0 = <&uart0_nh 193 pinctrl-0 = <&uart0_nhk_mode>; 194 status = "okay"; 194 status = "okay"; 195 }; 195 }; 196 mmcsd: mmc@101f6000 { 196 mmcsd: mmc@101f6000 { 197 cd-gpios = <&stmpe_gpi 197 cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>; 198 wp-gpios = <&stmpe_gpi 198 wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>; 199 }; 199 }; 200 }; 200 }; 201 201 202 spi { 202 spi { 203 compatible = "spi-gpio"; 203 compatible = "spi-gpio"; 204 #address-cells = <1>; 204 #address-cells = <1>; 205 #size-cells = <0>; 205 #size-cells = <0>; 206 206 207 /* 207 /* 208 * As we're dealing with 3wire 208 * As we're dealing with 3wire SPI, we only define SCK 209 * and MOSI (in the spec MOSI 209 * and MOSI (in the spec MOSI is called "SDA"). 210 */ 210 */ 211 sck-gpios = <&gpio0 5 GPIO_ACT 211 sck-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; 212 mosi-gpios = <&gpio0 4 GPIO_AC 212 mosi-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; 213 cs-gpios = <&gpio0 6 GPIO_ACTI 213 cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; 214 num-chipselects = <1>; 214 num-chipselects = <1>; 215 215 216 /* 216 /* 217 * WVGA connector 21 217 * WVGA connector 21 218 * WVGA (800x480): 4.3" TPG110 218 * WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB 219 * with TPO touch screen. 219 * with TPO touch screen. 220 */ 220 */ 221 panel: display@0 { 221 panel: display@0 { 222 /* 222 /* 223 * The TPO display dri 223 * The TPO display driver is connected to a 224 * 5.7" OSD OSD057VA01 224 * 5.7" OSD OSD057VA01CT TFT display. 225 */ 225 */ 226 compatible = "tpo,tpg1 226 compatible = "tpo,tpg110"; 227 reg = <0>; 227 reg = <0>; 228 spi-3wire; 228 spi-3wire; 229 /* 320 ns min period ~ 229 /* 320 ns min period ~= 3 MHz */ 230 spi-max-frequency = <3 230 spi-max-frequency = <3000000>; 231 /* Width and height fr 231 /* Width and height from the OSD data sheet */ 232 width-mm = <116>; 232 width-mm = <116>; 233 height-mm = <87>; 233 height-mm = <87>; 234 grestb-gpios = <&stmpe 234 grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>; 235 backlight = <&bl>; 235 backlight = <&bl>; 236 236 237 port { 237 port { 238 nomadik_clcd_p 238 nomadik_clcd_panel: endpoint { 239 remote 239 remote-endpoint = <&nomadik_clcd>; 240 }; 240 }; 241 }; 241 }; 242 }; 242 }; 243 }; 243 }; 244 244 245 bl: backlight { 245 bl: backlight { 246 compatible = "pwm-backlight"; 246 compatible = "pwm-backlight"; 247 pwms = <&stmpe0_pwm 0 500000>; 247 pwms = <&stmpe0_pwm 0 500000>; 248 pwm-names = "backlight"; 248 pwm-names = "backlight"; 249 brightness-levels = < 249 brightness-levels = < 250 0 1 2 3 4 5 6 7 250 0 1 2 3 4 5 6 7 8 9 251 10 11 12 13 14 15 16 1 251 10 11 12 13 14 15 16 17 18 19 252 20 21 22 23 24 25 26 2 252 20 21 22 23 24 25 26 27 28 29 253 30 31 32 33 34 35 36 3 253 30 31 32 33 34 35 36 37 38 39 254 40 41 42 43 44 45 46 4 254 40 41 42 43 44 45 46 47 48 49 255 50 51 52 53 54 55 56 5 255 50 51 52 53 54 55 56 57 58 59 256 60 61 62 63 64 65 66 6 256 60 61 62 63 64 65 66 67 68 69 257 70 71 72 73 74 75 76 7 257 70 71 72 73 74 75 76 77 78 79 258 80 81 82 83 84 85 86 8 258 80 81 82 83 84 85 86 87 88 89 259 90 91 92 93 94 95 96 9 259 90 91 92 93 94 95 96 97 98 99 260 100 260 100 261 >; 261 >; 262 default-brightness-level = <10 262 default-brightness-level = <100>; 263 }; 263 }; 264 }; 264 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.