blob: 447e714d435b66a769a05256d82cc0bebdc879b3 [file] [log] [blame]
Benoit Cousson295e98c62011-07-14 01:44:54 +05301/*
2 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8/dts-v1/;
9
Florian Vaussard98ef79572013-05-31 14:32:55 +020010#include "omap36xx.dtsi"
Benoit Cousson295e98c62011-07-14 01:44:54 +053011
12/ {
Tony Lindgren642f12b2012-09-10 10:20:44 -070013 model = "TI OMAP3 BeagleBoard xM";
Nishanth Menon016c12d2013-10-07 15:43:49 -050014 compatible = "ti,omap3-beagle-xm", "ti,omap36xx", "ti,omap3";
Benoit Cousson295e98c62011-07-14 01:44:54 +053015
Nishanth Menona134be32013-03-19 12:53:05 -050016 cpus {
17 cpu@0 {
18 cpu0-supply = <&vcc>;
19 };
20 };
21
Benoit Cousson295e98c62011-07-14 01:44:54 +053022 memory {
23 device_type = "memory";
24 reg = <0x80000000 0x20000000>; /* 512 MB */
25 };
Florian Vaussarda60be2f2012-09-05 09:46:26 +020026
27 leds {
28 compatible = "gpio-leds";
Benoit Cousson1c1737e2012-09-05 16:42:04 +020029
30 heartbeat {
31 label = "beagleboard::usr0";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020032 gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>; /* 150 -> D6 LED */
Benoit Cousson1c1737e2012-09-05 16:42:04 +020033 linux,default-trigger = "heartbeat";
34 };
35
36 mmc {
37 label = "beagleboard::usr1";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020038 gpios = <&gpio5 21 GPIO_ACTIVE_HIGH>; /* 149 -> D7 LED */
Benoit Cousson1c1737e2012-09-05 16:42:04 +020039 linux,default-trigger = "mmc0";
40 };
Florian Vaussarda60be2f2012-09-05 09:46:26 +020041 };
Peter Ujfalusi2c195f92012-08-29 16:31:05 +030042
Peter Ujfalusi2c09c602013-01-18 15:16:18 +010043 pwmleds {
44 compatible = "pwm-leds";
45
46 pmu_stat {
47 label = "beagleboard::pmu_stat";
48 pwms = <&twl_pwmled 1 7812500>;
49 max-brightness = <127>;
50 };
51 };
52
Peter Ujfalusi2c195f92012-08-29 16:31:05 +030053 sound {
54 compatible = "ti,omap-twl4030";
55 ti,model = "omap3beagle";
56
57 ti,mcbsp = <&mcbsp2>;
58 ti,codec = <&twl_audio>;
59 };
Kevin Hilmand641c3d2013-05-31 09:27:05 -070060
61 gpio_keys {
62 compatible = "gpio-keys";
63
64 user {
65 label = "user";
66 gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
67 linux,code = <0x114>;
68 gpio-key,wakeup;
69 };
70
71 };
Roger Quadrosaaba9442013-09-24 11:53:55 +030072
73 /* HS USB Port 2 Power */
74 hsusb2_power: hsusb2_power_reg {
75 compatible = "regulator-fixed";
76 regulator-name = "hsusb2_vbus";
77 regulator-min-microvolt = <3300000>;
78 regulator-max-microvolt = <3300000>;
79 gpio = <&twl_gpio 18 0>; /* GPIO LEDA */
80 startup-delay-us = <70000>;
81 };
82
83 /* HS USB Host PHY on PORT 2 */
84 hsusb2_phy: hsusb2_phy {
85 compatible = "usb-nop-xceiv";
86 reset-gpios = <&gpio5 19 GPIO_ACTIVE_LOW>; /* gpio_147 */
87 vcc-supply = <&hsusb2_power>;
88 };
Kevin Hilmand641c3d2013-05-31 09:27:05 -070089};
90
91&omap3_pmx_wkup {
92 gpio1_pins: pinmux_gpio1_pins {
93 pinctrl-single,pins = <
94 0x0e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE4) /* sys_boot2.gpio_4 */
95 >;
96 };
Benoit Cousson295e98c62011-07-14 01:44:54 +053097};
Benoit Cousson5340b512011-07-14 01:44:54 +053098
Roger Quadrosaaba9442013-09-24 11:53:55 +030099&omap3_pmx_core {
100 pinctrl-names = "default";
101 pinctrl-0 = <
Laurent Pinchart3d495382014-01-07 14:01:39 -0800102 &hsusb2_pins
Roger Quadrosaaba9442013-09-24 11:53:55 +0300103 >;
104
105 uart3_pins: pinmux_uart3_pins {
106 pinctrl-single,pins = <
107 0x16e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
108 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
109 >;
110 };
111
Laurent Pinchart3d495382014-01-07 14:01:39 -0800112 hsusb2_pins: pinmux_hsusb2_pins {
Roger Quadrosaaba9442013-09-24 11:53:55 +0300113 pinctrl-single,pins = <
Laurent Pinchart3d495382014-01-07 14:01:39 -0800114 OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi1_cs3.hsusb2_data2 */
115 OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_clk.hsusb2_data7 */
116 OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_simo.hsusb2_data4 */
117 OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_somi.hsusb2_data5 */
118 OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs0.hsusb2_data6 */
119 OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs1.hsusb2_data3 */
120 >;
121 };
122};
123
124&omap3_pmx_core2 {
125 pinctrl-names = "default";
126 pinctrl-0 = <
127 &hsusb2_2_pins
128 >;
129
130 hsusb2_2_pins: pinmux_hsusb2_2_pins {
131 pinctrl-single,pins = <
132 OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */
133 OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */
134 OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */
135 OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */
136 OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */
137 OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */
Roger Quadrosaaba9442013-09-24 11:53:55 +0300138 >;
139 };
140};
141
Benoit Cousson5340b512011-07-14 01:44:54 +0530142&i2c1 {
143 clock-frequency = <2600000>;
144
145 twl: twl@48 {
146 reg = <0x48>;
147 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
148 interrupt-parent = <&intc>;
Rajendra Nayakecc7b062012-02-08 15:50:12 -0800149
Peter Ujfalusi2c195f92012-08-29 16:31:05 +0300150 twl_audio: audio {
151 compatible = "ti,twl4030-audio";
152 codec {
153 };
154 };
Benoit Cousson5340b512011-07-14 01:44:54 +0530155 };
156};
157
Florian Vaussard98ef79572013-05-31 14:32:55 +0200158#include "twl4030.dtsi"
Kevin Hilmanf9688452013-05-31 14:09:34 -0700159#include "twl4030_omap3.dtsi"
Benoit Cousson5340b512011-07-14 01:44:54 +0530160
161&i2c2 {
162 clock-frequency = <400000>;
163};
164
165&i2c3 {
166 clock-frequency = <100000>;
167
168 /*
169 * Display monitor features are burnt in the EEPROM
170 * as EDID data.
171 */
172 eeprom@50 {
173 compatible = "ti,eeprom";
174 reg = <0x50>;
175 };
176};
Rajendra Nayakb3431f52012-02-22 17:42:27 +0530177
178&mmc1 {
179 vmmc-supply = <&vmmc1>;
180 vmmc_aux-supply = <&vsim>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400181 bus-width = <8>;
Rajendra Nayakb3431f52012-02-22 17:42:27 +0530182};
183
184&mmc2 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700185 status = "disabled";
Rajendra Nayakb3431f52012-02-22 17:42:27 +0530186};
187
188&mmc3 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700189 status = "disabled";
Rajendra Nayakb3431f52012-02-22 17:42:27 +0530190};
Florian Vaussarda60be2f2012-09-05 09:46:26 +0200191
192&twl_gpio {
193 ti,use-leds;
194 /* pullups: BIT(1) */
195 ti,pullups = <0x000002>;
196 /*
197 * pulldowns:
198 * BIT(2), BIT(6), BIT(7), BIT(8), BIT(13)
199 * BIT(15), BIT(16), BIT(17)
200 */
201 ti,pulldowns = <0x03a1c4>;
202};
Kishon Vijay Abraham Iad871c12013-03-07 19:05:16 +0530203
204&usb_otg_hs {
205 interface-type = <0>;
Jason Cooper914dc322013-05-09 09:06:57 -0700206 usb-phy = <&usb2_phy>;
Kishon Vijay Abraham I975d963e2013-09-27 11:53:29 +0530207 phys = <&usb2_phy>;
208 phy-names = "usb2-phy";
Kishon Vijay Abraham Iad871c12013-03-07 19:05:16 +0530209 mode = <3>;
210 power = <50>;
211};
Kevin Hilmanb859c1e2013-05-30 17:38:00 -0700212
Kevin Hilmanb859c1e2013-05-30 17:38:00 -0700213&uart3 {
214 pinctrl-names = "default";
215 pinctrl-0 = <&uart3_pins>;
216};
Kevin Hilmand641c3d2013-05-31 09:27:05 -0700217
218&gpio1 {
219 pinctrl-names = "default";
220 pinctrl-0 = <&gpio1_pins>;
221};
Roger Quadrosaaba9442013-09-24 11:53:55 +0300222
223&usbhshost {
224 port2-mode = "ehci-phy";
225};
226
227&usbhsehci {
228 phys = <0 &hsusb2_phy>;
229};
Roger Quadros30023a72013-11-26 15:03:39 -0800230
231&vaux2 {
232 regulator-name = "usb_1v8";
233 regulator-min-microvolt = <1800000>;
234 regulator-max-microvolt = <1800000>;
235 regulator-always-on;
236};