1*4882a593Smuzhiyun/* 2*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify 3*4882a593Smuzhiyun * it under the terms of the GNU General Public License version 2 as 4*4882a593Smuzhiyun * published by the Free Software Foundation. 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun/dts-v1/; 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun#include "omap36xx.dtsi" 10*4882a593Smuzhiyun#include "logicpd-som-lv.dtsi" 11*4882a593Smuzhiyun#include "omap-gpmc-smsc9221.dtsi" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun/ { 14*4882a593Smuzhiyun model = "LogicPD Zoom DM3730 SOM-LV Development Kit"; 15*4882a593Smuzhiyun compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3630", "ti,omap3"; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun chosen { 18*4882a593Smuzhiyun stdout-path = &uart1; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun gpio_keys { 22*4882a593Smuzhiyun compatible = "gpio-keys"; 23*4882a593Smuzhiyun pinctrl-names = "default"; 24*4882a593Smuzhiyun pinctrl-0 = <&gpio_key_pins>; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun sysboot2 { 27*4882a593Smuzhiyun label = "gpio3"; 28*4882a593Smuzhiyun gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* gpio_111 / uP_GPIO_3 */ 29*4882a593Smuzhiyun linux,code = <BTN_0>; 30*4882a593Smuzhiyun wakeup-source; 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun sound { 35*4882a593Smuzhiyun compatible = "ti,omap-twl4030"; 36*4882a593Smuzhiyun ti,model = "omap3logic"; 37*4882a593Smuzhiyun ti,mcbsp = <&mcbsp2>; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun leds { 41*4882a593Smuzhiyun compatible = "gpio-leds"; 42*4882a593Smuzhiyun pinctrl-names = "default"; 43*4882a593Smuzhiyun pinctrl-0 = <&led_pins &led_pins_wkup>; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun led1 { 46*4882a593Smuzhiyun label = "led1"; 47*4882a593Smuzhiyun gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; /* gpio133 */ 48*4882a593Smuzhiyun linux,default-trigger = "cpu0"; 49*4882a593Smuzhiyun }; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun led2 { 52*4882a593Smuzhiyun label = "led2"; 53*4882a593Smuzhiyun gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; /* gpio11 */ 54*4882a593Smuzhiyun linux,default-trigger = "none"; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun}; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun&vaux1 { 60*4882a593Smuzhiyun regulator-min-microvolt = <3000000>; 61*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 62*4882a593Smuzhiyun}; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun&vaux4 { 65*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 66*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 67*4882a593Smuzhiyun}; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun&mcbsp2 { 70*4882a593Smuzhiyun status = "okay"; 71*4882a593Smuzhiyun}; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun&charger { 74*4882a593Smuzhiyun ti,bb-uvolt = <3200000>; 75*4882a593Smuzhiyun ti,bb-uamp = <150>; 76*4882a593Smuzhiyun}; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun&gpmc { 79*4882a593Smuzhiyun ranges = <1 0 0x08000000 0x1000000>; /* CS1: 16MB for LAN9221 */ 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun ethernet@gpmc { 82*4882a593Smuzhiyun pinctrl-names = "default"; 83*4882a593Smuzhiyun pinctrl-0 = <&lan9221_pins>; 84*4882a593Smuzhiyun interrupt-parent = <&gpio5>; 85*4882a593Smuzhiyun interrupts = <24 IRQ_TYPE_LEVEL_LOW>; /* gpio_152 */ 86*4882a593Smuzhiyun reg = <1 0 0xff>; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun}; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun&vpll2 { 91*4882a593Smuzhiyun regulator-always-on; 92*4882a593Smuzhiyun}; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun&dss { 95*4882a593Smuzhiyun status = "ok"; 96*4882a593Smuzhiyun vdds_dsi-supply = <&vpll2>; 97*4882a593Smuzhiyun vdda_video-supply = <&video_reg>; 98*4882a593Smuzhiyun pinctrl-names = "default"; 99*4882a593Smuzhiyun pinctrl-0 = <&dss_dpi_pins1>; 100*4882a593Smuzhiyun port { 101*4882a593Smuzhiyun dpi_out: endpoint { 102*4882a593Smuzhiyun remote-endpoint = <&lcd_in>; 103*4882a593Smuzhiyun data-lines = <16>; 104*4882a593Smuzhiyun }; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun}; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun/ { 109*4882a593Smuzhiyun aliases { 110*4882a593Smuzhiyun display0 = &lcd0; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun video_reg: video_reg { 114*4882a593Smuzhiyun compatible = "regulator-fixed"; 115*4882a593Smuzhiyun regulator-name = "fixed-supply"; 116*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 117*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun lcd0: display@0 { 121*4882a593Smuzhiyun compatible = "panel-dpi"; 122*4882a593Smuzhiyun label = "28"; 123*4882a593Smuzhiyun status = "okay"; 124*4882a593Smuzhiyun /* default-on; */ 125*4882a593Smuzhiyun pinctrl-names = "default"; 126*4882a593Smuzhiyun pinctrl-0 = <&lcd_enable_pin>; 127*4882a593Smuzhiyun enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; /* gpio155, lcd INI */ 128*4882a593Smuzhiyun port { 129*4882a593Smuzhiyun lcd_in: endpoint { 130*4882a593Smuzhiyun remote-endpoint = <&dpi_out>; 131*4882a593Smuzhiyun }; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun panel-timing { 135*4882a593Smuzhiyun clock-frequency = <9000000>; 136*4882a593Smuzhiyun hactive = <480>; 137*4882a593Smuzhiyun vactive = <272>; 138*4882a593Smuzhiyun hfront-porch = <3>; 139*4882a593Smuzhiyun hback-porch = <2>; 140*4882a593Smuzhiyun hsync-len = <42>; 141*4882a593Smuzhiyun vback-porch = <3>; 142*4882a593Smuzhiyun vfront-porch = <2>; 143*4882a593Smuzhiyun vsync-len = <11>; 144*4882a593Smuzhiyun hsync-active = <1>; 145*4882a593Smuzhiyun vsync-active = <1>; 146*4882a593Smuzhiyun de-active = <1>; 147*4882a593Smuzhiyun pixelclk-active = <0>; 148*4882a593Smuzhiyun }; 149*4882a593Smuzhiyun }; 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun bl: backlight { 152*4882a593Smuzhiyun compatible = "pwm-backlight"; 153*4882a593Smuzhiyun pinctrl-names = "default"; 154*4882a593Smuzhiyun pinctrl-0 = <&backlight_pins>; 155*4882a593Smuzhiyun pwms = <&twl_pwm 0 5000000>; 156*4882a593Smuzhiyun brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; 157*4882a593Smuzhiyun default-brightness-level = <7>; 158*4882a593Smuzhiyun enable-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* gpio_8 */ 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun}; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun&mmc1 { 163*4882a593Smuzhiyun interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>; 164*4882a593Smuzhiyun pinctrl-names = "default"; 165*4882a593Smuzhiyun pinctrl-0 = <&mmc1_pins>; 166*4882a593Smuzhiyun vmmc-supply = <&vmmc1>; 167*4882a593Smuzhiyun bus-width = <4>; 168*4882a593Smuzhiyun cap-power-off-card; 169*4882a593Smuzhiyun}; 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun&mmc2 { 172*4882a593Smuzhiyun status = "disabled"; 173*4882a593Smuzhiyun}; 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun&omap3_pmx_core { 176*4882a593Smuzhiyun gpio_key_pins: pinmux_gpio_key_pins { 177*4882a593Smuzhiyun pinctrl-single,pins = < 178*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT_PULLUP | MUX_MODE4) /* cam_xclkb.gpio_111 / uP_GPIO_3*/ 179*4882a593Smuzhiyun >; 180*4882a593Smuzhiyun }; 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun led_pins: pinmux_led_pins { 183*4882a593Smuzhiyun pinctrl-single,pins = < 184*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x215e, PIN_OUTPUT_PULLUP | MUX_MODE4) /* sdmmc2_dat1.gpio_133 / uP_GPIO_0 */ 185*4882a593Smuzhiyun >; 186*4882a593Smuzhiyun }; 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun lan9221_pins: pinmux_lan9221_pins { 189*4882a593Smuzhiyun pinctrl-single,pins = < 190*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT_PULLUP | MUX_MODE4) /* mcbsp4_clkx.gpio_152 */ 191*4882a593Smuzhiyun >; 192*4882a593Smuzhiyun }; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun mmc1_pins: pinmux_mmc1_pins { 195*4882a593Smuzhiyun pinctrl-single,pins = < 196*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2144, PIN_OUTPUT | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 197*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 198*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 199*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 200*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 201*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 202*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2132, PIN_INPUT_PULLUP | MUX_MODE4) /* cam_strobe.gpio_126 */ 203*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT_PULLUP | MUX_MODE4) /* cam_d11.gpio_110 */ 204*4882a593Smuzhiyun >; 205*4882a593Smuzhiyun }; 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun lcd_enable_pin: pinmux_lcd_enable_pin { 208*4882a593Smuzhiyun pinctrl-single,pins = < 209*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4) /* mcbsp4_fs.gpio_155 */ 210*4882a593Smuzhiyun >; 211*4882a593Smuzhiyun }; 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun dss_dpi_pins1: pinmux_dss_dpi_pins1 { 214*4882a593Smuzhiyun pinctrl-single,pins = < 215*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_pclk.dss_pclk */ 216*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_hsync.dss_hsync */ 217*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_vsync.dss_vsync */ 218*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_acbias.dss_acbias */ 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data0.dss_data0 */ 221*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data1.dss_data1 */ 222*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data2.dss_data2 */ 223*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data3.dss_data3 */ 224*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data4.dss_data4 */ 225*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data5.dss_data5 */ 226*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data6.dss_data6 */ 227*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data7.dss_data7 */ 228*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data8.dss_data8 */ 229*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data9.dss_data9 */ 230*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data10.dss_data10 */ 231*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data11.dss_data11 */ 232*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data12.dss_data12 */ 233*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data13.dss_data13 */ 234*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data14.dss_data14 */ 235*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data15.dss_data15 */ 236*4882a593Smuzhiyun >; 237*4882a593Smuzhiyun }; 238*4882a593Smuzhiyun}; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun&omap3_pmx_wkup { 241*4882a593Smuzhiyun led_pins_wkup: pinmux_led_pins_wkup { 242*4882a593Smuzhiyun pinctrl-single,pins = < 243*4882a593Smuzhiyun OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4) /* jtag_emu0.gpio_11 / uP_GPIO_1 */ 244*4882a593Smuzhiyun >; 245*4882a593Smuzhiyun }; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun backlight_pins: pinmux_backlight_pins { 248*4882a593Smuzhiyun pinctrl-single,pins = < 249*4882a593Smuzhiyun OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4) /* sys_boot6.gpio_8 */ 250*4882a593Smuzhiyun >; 251*4882a593Smuzhiyun }; 252*4882a593Smuzhiyun}; 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun&uart1 { 256*4882a593Smuzhiyun interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>; 257*4882a593Smuzhiyun}; 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun/* Wired to the tps65950 on the SOM, only the USB connector is on the devkit */ 260*4882a593Smuzhiyun&usb_otg_hs { 261*4882a593Smuzhiyun pinctrl-names = "default"; 262*4882a593Smuzhiyun pinctrl-0 = <&hsusb_otg_pins>; 263*4882a593Smuzhiyun interface-type = <0>; 264*4882a593Smuzhiyun usb-phy = <&usb2_phy>; 265*4882a593Smuzhiyun phys = <&usb2_phy>; 266*4882a593Smuzhiyun phy-names = "usb2-phy"; 267*4882a593Smuzhiyun mode = <3>; 268*4882a593Smuzhiyun power = <50>; 269*4882a593Smuzhiyun}; 270