Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2013 Marek Belisko <marek@goldelico.com> |
| 3 | * |
| 4 | * Based on omap3-beagle-xm.dts |
| 5 | * |
| 6 | * This program is free software; you can redistribute it and/or modify |
| 7 | * it under the terms of the GNU General Public License version 2 as |
| 8 | * published by the Free Software Foundation. |
| 9 | */ |
| 10 | /dts-v1/; |
| 11 | |
| 12 | #include "omap36xx.dtsi" |
| 13 | |
| 14 | / { |
| 15 | model = "OMAP3 GTA04"; |
Marek Belisko | ae41a30 | 2014-03-01 14:58:48 +0100 | [diff] [blame] | 16 | compatible = "ti,omap3-gta04", "ti,omap36xx", "ti,omap3"; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 17 | |
| 18 | cpus { |
| 19 | cpu@0 { |
| 20 | cpu0-supply = <&vcc>; |
| 21 | }; |
| 22 | }; |
| 23 | |
| 24 | memory { |
| 25 | device_type = "memory"; |
| 26 | reg = <0x80000000 0x20000000>; /* 512 MB */ |
| 27 | }; |
| 28 | |
| 29 | gpio-keys { |
| 30 | compatible = "gpio-keys"; |
| 31 | |
| 32 | aux-button { |
| 33 | label = "aux"; |
| 34 | linux,code = <169>; |
NeilBrown | d8bd673 | 2014-01-25 22:28:55 +0100 | [diff] [blame] | 35 | gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 36 | gpio-key,wakeup; |
| 37 | }; |
| 38 | }; |
NeilBrown | 6764f64 | 2014-03-01 14:58:52 +0100 | [diff] [blame] | 39 | |
| 40 | sound { |
| 41 | compatible = "ti,omap-twl4030"; |
| 42 | ti,model = "gta04"; |
| 43 | |
| 44 | ti,mcbsp = <&mcbsp2>; |
| 45 | ti,codec = <&twl_audio>; |
| 46 | }; |
Marek Belisko | c2e138b | 2014-05-08 22:16:51 +0200 | [diff] [blame] | 47 | |
| 48 | spi_lcd { |
| 49 | compatible = "spi-gpio"; |
| 50 | #address-cells = <0x1>; |
| 51 | #size-cells = <0x0>; |
| 52 | pinctrl-names = "default"; |
| 53 | pinctrl-0 = <&spi_gpio_pins>; |
| 54 | |
| 55 | gpio-sck = <&gpio1 12 0>; |
| 56 | gpio-miso = <&gpio1 18 0>; |
| 57 | gpio-mosi = <&gpio1 20 0>; |
| 58 | cs-gpios = <&gpio1 19 0>; |
| 59 | num-chipselects = <1>; |
| 60 | |
| 61 | /* lcd panel */ |
| 62 | lcd: td028ttec1@0 { |
| 63 | compatible = "toppoly,td028ttec1"; |
| 64 | reg = <0>; |
| 65 | spi-max-frequency = <100000>; |
| 66 | spi-cpol; |
| 67 | spi-cpha; |
| 68 | |
| 69 | label = "lcd"; |
| 70 | port { |
| 71 | lcd_in: endpoint { |
| 72 | remote-endpoint = <&dpi_out>; |
| 73 | }; |
| 74 | }; |
| 75 | }; |
| 76 | }; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 77 | }; |
| 78 | |
| 79 | &omap3_pmx_core { |
| 80 | uart1_pins: pinmux_uart1_pins { |
| 81 | pinctrl-single,pins = < |
| 82 | 0x152 (PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */ |
| 83 | 0x14c (PIN_OUTPUT |MUX_MODE0) /* uart1_tx.uart1_tx */ |
| 84 | >; |
| 85 | }; |
| 86 | |
| 87 | uart2_pins: pinmux_uart2_pins { |
| 88 | pinctrl-single,pins = < |
| 89 | 0x14a (PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ |
| 90 | 0x148 (PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ |
| 91 | >; |
| 92 | }; |
| 93 | |
| 94 | uart3_pins: pinmux_uart3_pins { |
| 95 | pinctrl-single,pins = < |
| 96 | 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx.uart3_rx */ |
| 97 | 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx.uart3_tx */ |
| 98 | >; |
| 99 | }; |
| 100 | |
| 101 | mmc1_pins: pinmux_mmc1_pins { |
| 102 | pinctrl-single,pins = < |
| 103 | 0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ |
| 104 | 0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ |
| 105 | 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ |
| 106 | 0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ |
| 107 | 0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ |
| 108 | 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ |
| 109 | >; |
| 110 | }; |
Marek Belisko | c2e138b | 2014-05-08 22:16:51 +0200 | [diff] [blame] | 111 | |
| 112 | dss_dpi_pins: pinmux_dss_dpi_pins { |
| 113 | pinctrl-single,pins = < |
| 114 | 0x0a4 (PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ |
| 115 | 0x0a6 (PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ |
| 116 | 0x0a8 (PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ |
| 117 | 0x0aa (PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ |
| 118 | 0x0ac (PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ |
| 119 | 0x0ae (PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ |
| 120 | 0x0b0 (PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ |
| 121 | 0x0b2 (PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ |
| 122 | 0x0b4 (PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ |
| 123 | 0x0b6 (PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ |
| 124 | 0x0b8 (PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ |
| 125 | 0x0ba (PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ |
| 126 | 0x0bc (PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ |
| 127 | 0x0be (PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ |
| 128 | 0x0c0 (PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ |
| 129 | 0x0c2 (PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ |
| 130 | 0x0c4 (PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ |
| 131 | 0x0c6 (PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ |
| 132 | 0x0c8 (PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ |
| 133 | 0x0ca (PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ |
| 134 | 0x0cc (PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ |
| 135 | 0x0ce (PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ |
| 136 | 0x0d0 (PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ |
| 137 | 0x0d2 (PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ |
| 138 | 0x0d4 (PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ |
| 139 | 0x0d6 (PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ |
| 140 | 0x0d8 (PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ |
| 141 | 0x0da (PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ |
| 142 | >; |
| 143 | }; |
| 144 | |
| 145 | spi_gpio_pins: spi_gpio_pinmux { |
| 146 | pinctrl-single,pins = <0x5a8 (PIN_OUTPUT | MUX_MODE4) /* clk */ |
| 147 | 0x5b6 (PIN_OUTPUT | MUX_MODE4) /* cs */ |
| 148 | 0x5b8 (PIN_OUTPUT | MUX_MODE4) /* tx */ |
| 149 | 0x5b4 (PIN_INPUT | MUX_MODE4) /* rx */ |
| 150 | >; |
| 151 | }; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 152 | }; |
| 153 | |
| 154 | &i2c1 { |
| 155 | clock-frequency = <2600000>; |
| 156 | |
| 157 | twl: twl@48 { |
| 158 | reg = <0x48>; |
| 159 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ |
| 160 | interrupt-parent = <&intc>; |
| 161 | }; |
NeilBrown | 6764f64 | 2014-03-01 14:58:52 +0100 | [diff] [blame] | 162 | |
| 163 | twl_audio: audio { |
| 164 | compatible = "ti,twl4030-audio"; |
| 165 | codec { |
| 166 | }; |
| 167 | }; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 168 | }; |
| 169 | |
| 170 | #include "twl4030.dtsi" |
| 171 | #include "twl4030_omap3.dtsi" |
| 172 | |
| 173 | &i2c2 { |
| 174 | clock-frequency = <400000>; |
| 175 | |
| 176 | /* pressure sensor */ |
| 177 | bmp085@77 { |
| 178 | compatible = "bosch,bmp085"; |
| 179 | reg = <0x77>; |
Marek Belisko | d26794c | 2013-12-21 16:12:23 +0100 | [diff] [blame] | 180 | interrupt-parent = <&gpio4>; |
| 181 | interrupts = <17 IRQ_TYPE_EDGE_RISING>; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 182 | }; |
| 183 | |
NeilBrown | 24d0bb8 | 2014-03-01 14:58:54 +0100 | [diff] [blame] | 184 | /* accelerometer */ |
| 185 | bma180@41 { |
| 186 | compatible = "bosch,bma180"; |
| 187 | reg = <0x41>; |
| 188 | interrupt-parent = <&gpio3>; |
| 189 | interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; |
| 190 | }; |
| 191 | |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 192 | /* leds */ |
| 193 | tca6507@45 { |
| 194 | compatible = "ti,tca6507"; |
| 195 | #address-cells = <1>; |
| 196 | #size-cells = <0>; |
| 197 | reg = <0x45>; |
| 198 | |
| 199 | gta04_led0: red_aux@0 { |
| 200 | label = "gta04:red:aux"; |
| 201 | reg = <0x0>; |
| 202 | }; |
| 203 | |
| 204 | gta04_led1: green_aux@1 { |
| 205 | label = "gta04:green:aux"; |
| 206 | reg = <0x1>; |
| 207 | }; |
| 208 | |
| 209 | gta04_led3: red_power@3 { |
| 210 | label = "gta04:red:power"; |
| 211 | reg = <0x3>; |
| 212 | linux,default-trigger = "default-on"; |
| 213 | }; |
| 214 | |
| 215 | gta04_led4: green_power@4 { |
| 216 | label = "gta04:green:power"; |
| 217 | reg = <0x4>; |
| 218 | }; |
| 219 | }; |
NeilBrown | 32f2c39 | 2014-03-01 14:58:49 +0100 | [diff] [blame] | 220 | |
| 221 | /* compass aka magnetometer */ |
| 222 | hmc5843@1e { |
| 223 | compatible = "honeywell,hmc5843"; |
| 224 | reg = <0x1e>; |
| 225 | }; |
Marek Belisko | 9cbc03b | 2014-03-01 14:58:50 +0100 | [diff] [blame] | 226 | |
| 227 | /* touchscreen */ |
| 228 | tsc2007@48 { |
| 229 | compatible = "ti,tsc2007"; |
| 230 | reg = <0x48>; |
| 231 | interrupt-parent = <&gpio6>; |
| 232 | interrupts = <0 IRQ_TYPE_EDGE_FALLING>; |
| 233 | gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; |
| 234 | ti,x-plate-ohms = <600>; |
| 235 | }; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 236 | }; |
| 237 | |
| 238 | &i2c3 { |
| 239 | clock-frequency = <100000>; |
| 240 | }; |
| 241 | |
| 242 | &usb_otg_hs { |
| 243 | interface-type = <0>; |
| 244 | usb-phy = <&usb2_phy>; |
Roger Quadros | d2afcf0 | 2013-10-07 16:28:13 +0300 | [diff] [blame] | 245 | phys = <&usb2_phy>; |
| 246 | phy-names = "usb2-phy"; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 247 | mode = <3>; |
| 248 | power = <50>; |
| 249 | }; |
| 250 | |
| 251 | &mmc1 { |
| 252 | pinctrl-names = "default"; |
| 253 | pinctrl-0 = <&mmc1_pins>; |
| 254 | vmmc-supply = <&vmmc1>; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 255 | bus-width = <4>; |
Marek Belisko | 2d6ac29 | 2014-01-25 22:28:57 +0100 | [diff] [blame] | 256 | ti,non-removable; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 257 | }; |
| 258 | |
| 259 | &mmc2 { |
NeilBrown | 5a13ba6 | 2014-03-01 14:58:53 +0100 | [diff] [blame] | 260 | vmmc-supply = <&vaux4>; |
| 261 | bus-width = <4>; |
| 262 | ti,non-removable; |
Marek Belisko | adfe147 | 2013-08-15 22:43:05 +0200 | [diff] [blame] | 263 | }; |
| 264 | |
| 265 | &mmc3 { |
| 266 | status = "disabled"; |
| 267 | }; |
| 268 | |
| 269 | &uart1 { |
| 270 | pinctrl-names = "default"; |
| 271 | pinctrl-0 = <&uart1_pins>; |
| 272 | }; |
| 273 | |
| 274 | &uart2 { |
| 275 | pinctrl-names = "default"; |
| 276 | pinctrl-0 = <&uart2_pins>; |
| 277 | }; |
| 278 | |
| 279 | &uart3 { |
| 280 | pinctrl-names = "default"; |
| 281 | pinctrl-0 = <&uart3_pins>; |
| 282 | }; |
| 283 | |
NeilBrown | 8bdc9e9 | 2014-03-01 14:58:51 +0100 | [diff] [blame] | 284 | &charger { |
| 285 | bb_uvolt = <3200000>; |
| 286 | bb_uamp = <150>; |
| 287 | }; |
NeilBrown | 5a13ba6 | 2014-03-01 14:58:53 +0100 | [diff] [blame] | 288 | |
| 289 | &vaux4 { |
| 290 | regulator-min-microvolt = <2800000>; |
| 291 | regulator-max-microvolt = <3150000>; |
| 292 | }; |
Marek Belisko | c2e138b | 2014-05-08 22:16:51 +0200 | [diff] [blame] | 293 | |
| 294 | /* Needed to power the DPI pins */ |
| 295 | &vpll2 { |
| 296 | regulator-always-on; |
| 297 | }; |
| 298 | |
| 299 | &dss { |
| 300 | pinctrl-names = "default"; |
| 301 | pinctrl-0 = < &dss_dpi_pins >; |
| 302 | |
| 303 | status = "okay"; |
| 304 | |
| 305 | port { |
| 306 | dpi_out: endpoint { |
| 307 | remote-endpoint = <&lcd_in>; |
| 308 | data-lines = <24>; |
| 309 | }; |
| 310 | }; |
| 311 | }; |