1/* 2 * This program is free software; you can redistribute it and/or modify 3 * it under the terms of the GNU General Public License version 2 as 4 * published by the Free Software Foundation. 5 */ 6 7/ { 8 gpio_keys { 9 compatible = "gpio-keys"; 10 pinctrl-names = "default"; 11 pinctrl-0 = <&gpio_key_pins &gpio_key_pins_wkup>; 12 13 sysboot2 { 14 label = "sysboot2"; 15 gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; /* gpio2 */ 16 linux,code = <BTN_0>; 17 wakeup-source; 18 }; 19 20 sysboot5 { 21 label = "sysboot5"; 22 gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; /* gpio7 */ 23 linux,code = <BTN_1>; 24 wakeup-source; 25 }; 26 27 gpio1 { 28 label = "gpio1"; 29 gpios = <&gpio6 21 GPIO_ACTIVE_LOW>; /* gpio181 */ 30 linux,code = <BTN_2>; 31 wakeup-source; 32 }; 33 34 gpio2 { 35 label = "gpio2"; 36 gpios = <&gpio6 18 GPIO_ACTIVE_LOW>; /* gpio178 */ 37 linux,code = <BTN_3>; 38 wakeup-source; 39 }; 40 }; 41 42 sound { 43 compatible = "ti,omap-twl4030"; 44 ti,model = "omap3logic"; 45 ti,mcbsp = <&mcbsp2>; 46 }; 47 48 leds { 49 compatible = "gpio-leds"; 50 pinctrl-names = "default"; 51 pinctrl-0 = <&led_pins>; 52 53 led1 { 54 label = "led1"; 55 gpios = <&gpio6 20 GPIO_ACTIVE_HIGH>; /* gpio180 */ 56 linux,default-trigger = "cpu0"; 57 }; 58 59 led2 { 60 label = "led2"; 61 gpios = <&gpio6 19 GPIO_ACTIVE_HIGH>; /* gpio179 */ 62 linux,default-trigger = "none"; 63 }; 64 }; 65 66 pwm10: dmtimer-pwm { 67 compatible = "ti,omap-dmtimer-pwm"; 68 pinctrl-names = "default"; 69 pinctrl-0 = <&pwm_pins>; 70 ti,timers = <&timer10>; 71 #pwm-cells = <3>; 72 }; 73 74}; 75 76&vaux1 { 77 regulator-min-microvolt = <3000000>; 78 regulator-max-microvolt = <3000000>; 79}; 80 81&vaux4 { 82 regulator-min-microvolt = <1800000>; 83 regulator-max-microvolt = <1800000>; 84}; 85 86&mcbsp2 { 87 status = "okay"; 88}; 89 90&charger { 91 ti,bb-uvolt = <3200000>; 92 ti,bb-uamp = <150>; 93}; 94 95&gpmc { 96 ranges = <0 0 0x30000000 0x1000000 /* CS0: 16MB for NAND */ 97 1 0 0x2c000000 0x1000000>; /* CS1: 16MB for LAN9221 */ 98 99 ethernet@gpmc { 100 pinctrl-names = "default"; 101 pinctrl-0 = <&lan9221_pins>; 102 interrupt-parent = <&gpio5>; 103 interrupts = <1 IRQ_TYPE_LEVEL_LOW>; /* gpio129 */ 104 reg = <1 0 0xff>; 105 }; 106}; 107 108&vpll2 { 109 regulator-always-on; 110}; 111 112&dss { 113 status = "ok"; 114 vdds_dsi-supply = <&vpll2>; 115 vdda_video-supply = <&video_reg>; 116 pinctrl-names = "default"; 117 pinctrl-0 = <&dss_dpi_pins1>; 118 port { 119 dpi_out: endpoint { 120 remote-endpoint = <&lcd_in>; 121 data-lines = <16>; 122 }; 123 }; 124}; 125 126/ { 127 aliases { 128 display0 = &lcd0; 129 }; 130 131 video_reg: video_reg { 132 pinctrl-names = "default"; 133 pinctrl-0 = <&panel_pwr_pins>; 134 compatible = "regulator-fixed"; 135 regulator-name = "fixed-supply"; 136 regulator-min-microvolt = <3300000>; 137 regulator-max-microvolt = <3300000>; 138 gpio = <&gpio5 27 GPIO_ACTIVE_HIGH>; /* gpio155, lcd INI */ 139 }; 140 141 lcd0: display { 142 compatible = "panel-dpi"; 143 label = "15"; 144 status = "okay"; 145 /* default-on; */ 146 pinctrl-names = "default"; 147 148 port { 149 lcd_in: endpoint { 150 remote-endpoint = <&dpi_out>; 151 }; 152 }; 153 154 panel-timing { 155 clock-frequency = <9000000>; 156 hactive = <480>; 157 vactive = <272>; 158 hfront-porch = <3>; 159 hback-porch = <2>; 160 hsync-len = <42>; 161 vback-porch = <3>; 162 vfront-porch = <4>; 163 vsync-len = <11>; 164 hsync-active = <0>; 165 vsync-active = <0>; 166 de-active = <1>; 167 pixelclk-active = <1>; 168 }; 169 }; 170 171 bl: backlight { 172 compatible = "pwm-backlight"; 173 pinctrl-names = "default"; 174 pinctrl-0 = <&backlight_pins>; 175 pwms = <&pwm10 0 5000000 0>; 176 brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; 177 default-brightness-level = <7>; 178 enable-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH>; /* gpio_154 */ 179 }; 180}; 181 182&mmc1 { 183 interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>; 184 pinctrl-names = "default"; 185 pinctrl-0 = <&mmc1_pins &mmc1_cd>; 186 cd-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* gpio127 */ 187 vmmc-supply = <&vmmc1>; 188 bus-width = <4>; 189 cap-power-off-card; 190}; 191 192&omap3_pmx_core { 193 gpio_key_pins: pinmux_gpio_key_pins { 194 pinctrl-single,pins = < 195 OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLUP | MUX_MODE4) /* mcspi2_clk.gpio_178 */ 196 OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLUP | MUX_MODE4) /* mcspi2_cs0.gpio_181 */ 197 >; 198 }; 199 200 pwm_pins: pinmux_pwm_pins { 201 pinctrl-single,pins = < 202 OMAP3_CORE1_IOPAD(0x20B8, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE3) /* gpmc_ncs5.gpt_10_pwm_evt */ 203 >; 204 }; 205 206 led_pins: pinmux_led_pins { 207 pinctrl-single,pins = < 208 OMAP3_CORE1_IOPAD(0x21d8, PIN_OUTPUT | MUX_MODE4) /* gpio_179 */ 209 OMAP3_CORE1_IOPAD(0x21da, PIN_OUTPUT | MUX_MODE4) /* gpio_180 */ 210 >; 211 }; 212 213 mmc1_pins: pinmux_mmc1_pins { 214 pinctrl-single,pins = < 215 OMAP3_CORE1_IOPAD(0x2144, PIN_OUTPUT | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 216 OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 217 OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 218 OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 219 OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 220 OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 221 >; 222 }; 223 224 tsc2004_pins: pinmux_tsc2004_pins { 225 pinctrl-single,pins = < 226 OMAP3_CORE1_IOPAD(0x2186, PIN_INPUT | MUX_MODE4) /* mcbsp4_dr.gpio_153 */ 227 >; 228 }; 229 230 backlight_pins: pinmux_backlight_pins { 231 pinctrl-single,pins = < 232 OMAP3_CORE1_IOPAD(0x2188, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4) /* mcbsp4_dx.gpio_154 */ 233 >; 234 }; 235 236 isp_pins: pinmux_isp_pins { 237 pinctrl-single,pins = < 238 OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE0) /* cam_hs.cam_hs */ 239 OMAP3_CORE1_IOPAD(0x210e, PIN_INPUT | MUX_MODE0) /* cam_vs.cam_vs */ 240 OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE0) /* cam_xclka.cam_xclka */ 241 OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE0) /* cam_pclk.cam_pclk */ 242 243 OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE0) /* cam_d0.cam_d0 */ 244 OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE0) /* cam_d1.cam_d1 */ 245 OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE0) /* cam_d2.cam_d2 */ 246 OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE0) /* cam_d3.cam_d3 */ 247 OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE0) /* cam_d4.cam_d4 */ 248 OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE0) /* cam_d5.cam_d5 */ 249 OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE0) /* cam_d6.cam_d6 */ 250 OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE0) /* cam_d7.cam_d7 */ 251 >; 252 }; 253 254 panel_pwr_pins: pinmux_panel_pwr_pins { 255 pinctrl-single,pins = < 256 OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4) /* mcbsp4_fs.gpio_155 */ 257 >; 258 }; 259 260 dss_dpi_pins1: pinmux_dss_dpi_pins1 { 261 pinctrl-single,pins = < 262 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_pclk.dss_pclk */ 263 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_hsync.dss_hsync */ 264 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_vsync.dss_vsync */ 265 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_acbias.dss_acbias */ 266 267 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data6.dss_data6 */ 268 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data7.dss_data7 */ 269 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data8.dss_data8 */ 270 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data9.dss_data9 */ 271 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data10.dss_data10 */ 272 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data11.dss_data11 */ 273 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data12.dss_data12 */ 274 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data13.dss_data13 */ 275 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data14.dss_data14 */ 276 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data15.dss_data15 */ 277 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data16.dss_data16 */ 278 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data17.dss_data17 */ 279 280 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE3) /* dss_data18.dss_data0 */ 281 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE3) /* dss_data19.dss_data1 */ 282 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE3) /* dss_data20.dss_data2 */ 283 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE3) /* dss_data21.dss_data3 */ 284 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE3) /* dss_data22.dss_data4 */ 285 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE3) /* dss_data23.dss_data5 */ 286 >; 287 }; 288}; 289 290&omap3_pmx_wkup { 291 gpio_key_pins_wkup: pinmux_gpio_key_pins_wkup { 292 pinctrl-single,pins = < 293 OMAP3_WKUP_IOPAD(0x2a0a, PIN_INPUT_PULLUP | MUX_MODE4) /* sys_boot0.gpio_2 */ 294 OMAP3_WKUP_IOPAD(0x2a14, PIN_INPUT_PULLUP | MUX_MODE4) /* sys_boot5.gpio_7 */ 295 >; 296 }; 297 298 lan9221_pins: pinmux_lan9221_pins { 299 pinctrl-single,pins = < 300 OMAP3_WKUP_IOPAD(0x2a5a, PIN_INPUT | MUX_MODE4) /* reserved.gpio_129 */ 301 >; 302 }; 303 304 mmc1_cd: pinmux_mmc1_cd { 305 pinctrl-single,pins = < 306 OMAP3_WKUP_IOPAD(0x2a54, PIN_INPUT_PULLUP | MUX_MODE4) /* reserved.gpio_127 */ 307 >; 308 }; 309}; 310 311&i2c2 { 312 mt9p031@48 { 313 compatible = "aptina,mt9p031"; 314 reg = <0x48>; 315 clocks = <&isp 0>; 316 vaa-supply = <&vaux4>; 317 vdd-supply = <&vaux4>; 318 vdd_io-supply = <&vaux4>; 319 port { 320 mt9p031_out: endpoint { 321 input-clock-frequency = <24000000>; 322 pixel-clock-frequency = <72000000>; 323 remote-endpoint = <&ccdc_ep>; 324 }; 325 }; 326 }; 327}; 328 329&i2c3 { 330 touchscreen: tsc2004@48 { 331 compatible = "ti,tsc2004"; 332 reg = <0x48>; 333 vio-supply = <&vaux1>; 334 pinctrl-names = "default"; 335 pinctrl-0 = <&tsc2004_pins>; 336 interrupts-extended = <&gpio5 25 IRQ_TYPE_EDGE_RISING>; /* gpio 153 */ 337 338 touchscreen-fuzz-x = <4>; 339 touchscreen-fuzz-y = <7>; 340 touchscreen-fuzz-pressure = <2>; 341 touchscreen-size-x = <4096>; 342 touchscreen-size-y = <4096>; 343 touchscreen-max-pressure = <2048>; 344 345 ti,x-plate-ohms = <280>; 346 ti,esd-recovery-timeout-ms = <8000>; 347 }; 348}; 349 350&mcspi1 { 351 at25@0 { 352 compatible = "atmel,at25"; 353 reg = <0>; 354 spi-max-frequency = <5000000>; 355 spi-cpha; 356 spi-cpol; 357 358 pagesize = <64>; 359 size = <32768>; 360 address-width = <16>; 361 }; 362}; 363 364&isp { 365 pinctrl-names = "default"; 366 pinctrl-0 = <&isp_pins>; 367 ports { 368 port@0 { 369 reg = <0>; 370 ccdc_ep: endpoint { 371 remote-endpoint = <&mt9p031_out>; 372 bus-width = <8>; 373 hsync-active = <1>; 374 vsync-active = <1>; 375 pclk-sample = <0>; 376 }; 377 }; 378 }; 379}; 380 381&uart1 { 382 interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>; 383}; 384 385/* Wired to the tps65950 on the SOM, only the USB connector is on the devkit */ 386&usb_otg_hs { 387 pinctrl-names = "default"; 388 pinctrl-0 = <&hsusb_otg_pins>; 389 interface-type = <0>; 390 usb-phy = <&usb2_phy>; 391 phys = <&usb2_phy>; 392 phy-names = "usb2-phy"; 393 mode = <3>; 394 power = <50>; 395}; 396