2 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
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.
9 #include <dt-bindings/mfd/tps65217.h>
14 cpu0-supply = <&dcdc2_reg>;
19 device_type = "memory";
20 reg = <0x80000000 0x10000000>; /* 256 MB */
28 pinctrl-names = "default";
29 pinctrl-0 = <&user_leds_s0>;
31 compatible = "gpio-leds";
34 label = "beaglebone:green:heartbeat";
35 gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
36 linux,default-trigger = "heartbeat";
37 default-state = "off";
41 label = "beaglebone:green:mmc0";
42 gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
43 linux,default-trigger = "mmc0";
44 default-state = "off";
48 label = "beaglebone:green:usr2";
49 gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
50 linux,default-trigger = "cpu0";
51 default-state = "off";
55 label = "beaglebone:green:usr3";
56 gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
57 linux,default-trigger = "mmc1";
58 default-state = "off";
62 vmmcsd_fixed: fixedregulator0 {
63 compatible = "regulator-fixed";
64 regulator-name = "vmmcsd_fixed";
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3300000>;
71 pinctrl-names = "default";
72 pinctrl-0 = <&clkout2_pin>;
74 user_leds_s0: user_leds_s0 {
75 pinctrl-single,pins = <
76 AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */
77 AM33XX_IOPAD(0x858, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */
78 AM33XX_IOPAD(0x85c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */
79 AM33XX_IOPAD(0x860, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */
83 i2c0_pins: pinmux_i2c0_pins {
84 pinctrl-single,pins = <
85 AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
86 AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
90 i2c2_pins: pinmux_i2c2_pins {
91 pinctrl-single,pins = <
92 AM33XX_IOPAD(0x978, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_ctsn.i2c2_sda */
93 AM33XX_IOPAD(0x97c, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_rtsn.i2c2_scl */
97 uart0_pins: pinmux_uart0_pins {
98 pinctrl-single,pins = <
99 AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
100 AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
104 clkout2_pin: pinmux_clkout2_pin {
105 pinctrl-single,pins = <
106 AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
110 cpsw_default: cpsw_default {
111 pinctrl-single,pins = <
113 AM33XX_IOPAD(0x910, PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxerr.mii1_rxerr */
114 AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
115 AM33XX_IOPAD(0x918, PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */
116 AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
117 AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
118 AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
119 AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
120 AM33XX_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_txclk.mii1_txclk */
121 AM33XX_IOPAD(0x930, PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */
122 AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */
123 AM33XX_IOPAD(0x938, PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */
124 AM33XX_IOPAD(0x93c, PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */
125 AM33XX_IOPAD(0x940, PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */
129 cpsw_sleep: cpsw_sleep {
130 pinctrl-single,pins = <
131 /* Slave 1 reset value */
132 AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
133 AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
134 AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
135 AM33XX_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7)
136 AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7)
137 AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
138 AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
139 AM33XX_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7)
140 AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7)
141 AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7)
142 AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7)
143 AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
144 AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
148 davinci_mdio_default: davinci_mdio_default {
149 pinctrl-single,pins = <
151 AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
152 AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
156 davinci_mdio_sleep: davinci_mdio_sleep {
157 pinctrl-single,pins = <
158 /* MDIO reset value */
159 AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
160 AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
164 mmc1_pins: pinmux_mmc1_pins {
165 pinctrl-single,pins = <
166 AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* GPIO0_6 */
170 emmc_pins: pinmux_emmc_pins {
171 pinctrl-single,pins = <
172 AM33XX_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
173 AM33XX_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
174 AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
175 AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
176 AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
177 AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
178 AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
179 AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
180 AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
181 AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
187 pinctrl-names = "default";
188 pinctrl-0 = <&uart0_pins>;
211 dr_mode = "peripheral";
212 interrupts-extended = <&intc 18 &tps 0>;
213 interrupt-names = "mc", "vbus";
226 pinctrl-names = "default";
227 pinctrl-0 = <&i2c0_pins>;
230 clock-frequency = <400000>;
236 baseboard_eeprom: baseboard_eeprom@50 {
237 compatible = "at,24c256";
240 #address-cells = <1>;
242 baseboard_data: baseboard_data@0 {
249 pinctrl-names = "default";
250 pinctrl-0 = <&i2c2_pins>;
253 clock-frequency = <100000>;
255 cape_eeprom0: cape_eeprom0@54 {
256 compatible = "at,24c256";
258 #address-cells = <1>;
260 cape0_data: cape_data@0 {
265 cape_eeprom1: cape_eeprom1@55 {
266 compatible = "at,24c256";
268 #address-cells = <1>;
270 cape1_data: cape_data@0 {
275 cape_eeprom2: cape_eeprom2@56 {
276 compatible = "at,24c256";
278 #address-cells = <1>;
280 cape2_data: cape_data@0 {
285 cape_eeprom3: cape_eeprom3@57 {
286 compatible = "at,24c256";
288 #address-cells = <1>;
290 cape3_data: cape_data@0 {
297 /include/ "tps65217.dtsi"
301 * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
302 * mode") at poweroff. Most BeagleBone versions do not support RTC-only
303 * mode and risk hardware damage if this mode is entered.
305 * For details, see linux-omap mailing list May 2015 thread
306 * [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
307 * In particular, messages:
308 * http://www.spinics.net/lists/linux-omap/msg118585.html
309 * http://www.spinics.net/lists/linux-omap/msg118615.html
311 * You can override this later with
312 * &tps { /delete-property/ ti,pmic-shutdown-controller; }
313 * if you want to use RTC-only mode and made sure you are not affected
314 * by the hardware problems. (Tip: double-check by performing a current
315 * measurement after shutdown: it should be less than 1 mA.)
318 interrupts = <7>; /* NMI */
319 interrupt-parent = <&intc>;
321 ti,pmic-shutdown-controller;
324 interrupts = <TPS65217_IRQ_AC>, <TPS65217_IRQ_USB>;
325 interrupts-names = "AC", "USB";
330 interrupts = <TPS65217_IRQ_PB>;
335 dcdc1_reg: regulator@0 {
336 regulator-name = "vdds_dpr";
340 dcdc2_reg: regulator@1 {
341 /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
342 regulator-name = "vdd_mpu";
343 regulator-min-microvolt = <925000>;
344 regulator-max-microvolt = <1351500>;
349 dcdc3_reg: regulator@2 {
350 /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
351 regulator-name = "vdd_core";
352 regulator-min-microvolt = <925000>;
353 regulator-max-microvolt = <1150000>;
358 ldo1_reg: regulator@3 {
359 regulator-name = "vio,vrtc,vdds";
363 ldo2_reg: regulator@4 {
364 regulator-name = "vdd_3v3aux";
368 ldo3_reg: regulator@5 {
369 regulator-name = "vdd_1v8";
373 ldo4_reg: regulator@6 {
374 regulator-name = "vdd_3v3a";
381 phy_id = <&davinci_mdio>, <0>;
387 pinctrl-names = "default", "sleep";
388 pinctrl-0 = <&cpsw_default>;
389 pinctrl-1 = <&cpsw_sleep>;
394 pinctrl-names = "default", "sleep";
395 pinctrl-0 = <&davinci_mdio_default>;
396 pinctrl-1 = <&davinci_mdio_sleep>;
403 pinctrl-names = "default";
404 pinctrl-0 = <&mmc1_pins>;
405 cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
417 clocks = <&clk_32768_ck>, <&clkdiv32k_ick>;
418 clock-names = "ext-clk", "int-clk";