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