1/* 2 * Copyright (C) 2012 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 9/ { 10 cpus { 11 cpu@0 { 12 cpu0-supply = <&dcdc2_reg>; 13 }; 14 }; 15 16 memory { 17 device_type = "memory"; 18 reg = <0x80000000 0x10000000>; /* 256 MB */ 19 }; 20 21 leds { 22 pinctrl-names = "default"; 23 pinctrl-0 = <&user_leds_s0>; 24 25 compatible = "gpio-leds"; 26 27 led@2 { 28 label = "beaglebone:green:heartbeat"; 29 gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; 30 linux,default-trigger = "heartbeat"; 31 default-state = "off"; 32 }; 33 34 led@3 { 35 label = "beaglebone:green:mmc0"; 36 gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; 37 linux,default-trigger = "mmc0"; 38 default-state = "off"; 39 }; 40 41 led@4 { 42 label = "beaglebone:green:usr2"; 43 gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; 44 linux,default-trigger = "cpu0"; 45 default-state = "off"; 46 }; 47 48 led@5 { 49 label = "beaglebone:green:usr3"; 50 gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; 51 linux,default-trigger = "mmc1"; 52 default-state = "off"; 53 }; 54 }; 55 56 vmmcsd_fixed: fixedregulator@0 { 57 compatible = "regulator-fixed"; 58 regulator-name = "vmmcsd_fixed"; 59 regulator-min-microvolt = <3300000>; 60 regulator-max-microvolt = <3300000>; 61 }; 62}; 63 64&am33xx_pinmux { 65 pinctrl-names = "default"; 66 pinctrl-0 = <&clkout2_pin>; 67 68 user_leds_s0: user_leds_s0 { 69 pinctrl-single,pins = < 70 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */ 71 0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */ 72 0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */ 73 0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */ 74 >; 75 }; 76 77 i2c0_pins: pinmux_i2c0_pins { 78 pinctrl-single,pins = < 79 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */ 80 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */ 81 >; 82 }; 83 84 i2c2_pins: pinmux_i2c2_pins { 85 pinctrl-single,pins = < 86 0x178 (PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_ctsn.i2c2_sda */ 87 0x17c (PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_rtsn.i2c2_scl */ 88 >; 89 }; 90 91 uart0_pins: pinmux_uart0_pins { 92 pinctrl-single,pins = < 93 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */ 94 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */ 95 >; 96 }; 97 98 clkout2_pin: pinmux_clkout2_pin { 99 pinctrl-single,pins = < 100 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */ 101 >; 102 }; 103 104 cpsw_default: cpsw_default { 105 pinctrl-single,pins = < 106 /* Slave 1 */ 107 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxerr.mii1_rxerr */ 108 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */ 109 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */ 110 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */ 111 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */ 112 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */ 113 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */ 114 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_txclk.mii1_txclk */ 115 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */ 116 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */ 117 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */ 118 0x13c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */ 119 0x140 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */ 120 >; 121 }; 122 123 cpsw_sleep: cpsw_sleep { 124 pinctrl-single,pins = < 125 /* Slave 1 reset value */ 126 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) 127 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) 128 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7) 129 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7) 130 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7) 131 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) 132 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) 133 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7) 134 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7) 135 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7) 136 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7) 137 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) 138 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) 139 >; 140 }; 141 142 davinci_mdio_default: davinci_mdio_default { 143 pinctrl-single,pins = < 144 /* MDIO */ 145 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ 146 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ 147 >; 148 }; 149 150 davinci_mdio_sleep: davinci_mdio_sleep { 151 pinctrl-single,pins = < 152 /* MDIO reset value */ 153 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) 154 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) 155 >; 156 }; 157 158 mmc1_pins: pinmux_mmc1_pins { 159 pinctrl-single,pins = < 160 0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */ 161 >; 162 }; 163 164 emmc_pins: pinmux_emmc_pins { 165 pinctrl-single,pins = < 166 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */ 167 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */ 168 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */ 169 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */ 170 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */ 171 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */ 172 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */ 173 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */ 174 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */ 175 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */ 176 >; 177 }; 178}; 179 180&uart0 { 181 pinctrl-names = "default"; 182 pinctrl-0 = <&uart0_pins>; 183 184 status = "okay"; 185}; 186 187&usb { 188 status = "okay"; 189}; 190 191&usb_ctrl_mod { 192 status = "okay"; 193}; 194 195&usb0_phy { 196 status = "okay"; 197}; 198 199&usb1_phy { 200 status = "okay"; 201}; 202 203&usb0 { 204 status = "okay"; 205 dr_mode = "peripheral"; 206}; 207 208&usb1 { 209 status = "okay"; 210 dr_mode = "host"; 211}; 212 213&cppi41dma { 214 status = "okay"; 215}; 216 217&i2c0 { 218 pinctrl-names = "default"; 219 pinctrl-0 = <&i2c0_pins>; 220 221 status = "okay"; 222 clock-frequency = <400000>; 223 224 tps: tps@24 { 225 reg = <0x24>; 226 }; 227 228 baseboard_eeprom: baseboard_eeprom@50 { 229 compatible = "at,24c256"; 230 reg = <0x50>; 231 232 #address-cells = <1>; 233 #size-cells = <1>; 234 baseboard_data: baseboard_data@0 { 235 reg = <0 0x100>; 236 }; 237 }; 238}; 239 240&i2c2 { 241 pinctrl-names = "default"; 242 pinctrl-0 = <&i2c2_pins>; 243 244 status = "okay"; 245 clock-frequency = <100000>; 246 247 cape_eeprom0: cape_eeprom0@54 { 248 compatible = "at,24c256"; 249 reg = <0x54>; 250 #address-cells = <1>; 251 #size-cells = <1>; 252 cape0_data: cape_data@0 { 253 reg = <0 0x100>; 254 }; 255 }; 256 257 cape_eeprom1: cape_eeprom1@55 { 258 compatible = "at,24c256"; 259 reg = <0x55>; 260 #address-cells = <1>; 261 #size-cells = <1>; 262 cape1_data: cape_data@0 { 263 reg = <0 0x100>; 264 }; 265 }; 266 267 cape_eeprom2: cape_eeprom2@56 { 268 compatible = "at,24c256"; 269 reg = <0x56>; 270 #address-cells = <1>; 271 #size-cells = <1>; 272 cape2_data: cape_data@0 { 273 reg = <0 0x100>; 274 }; 275 }; 276 277 cape_eeprom3: cape_eeprom3@57 { 278 compatible = "at,24c256"; 279 reg = <0x57>; 280 #address-cells = <1>; 281 #size-cells = <1>; 282 cape3_data: cape_data@0 { 283 reg = <0 0x100>; 284 }; 285 }; 286}; 287 288 289/include/ "tps65217.dtsi" 290 291&tps { 292 /* 293 * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only 294 * mode") at poweroff. Most BeagleBone versions do not support RTC-only 295 * mode and risk hardware damage if this mode is entered. 296 * 297 * For details, see linux-omap mailing list May 2015 thread 298 * [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller 299 * In particular, messages: 300 * http://www.spinics.net/lists/linux-omap/msg118585.html 301 * http://www.spinics.net/lists/linux-omap/msg118615.html 302 * 303 * You can override this later with 304 * &tps { /delete-property/ ti,pmic-shutdown-controller; } 305 * if you want to use RTC-only mode and made sure you are not affected 306 * by the hardware problems. (Tip: double-check by performing a current 307 * measurement after shutdown: it should be less than 1 mA.) 308 */ 309 ti,pmic-shutdown-controller; 310 311 regulators { 312 dcdc1_reg: regulator@0 { 313 regulator-name = "vdds_dpr"; 314 regulator-always-on; 315 }; 316 317 dcdc2_reg: regulator@1 { 318 /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ 319 regulator-name = "vdd_mpu"; 320 regulator-min-microvolt = <925000>; 321 regulator-max-microvolt = <1325000>; 322 regulator-boot-on; 323 regulator-always-on; 324 }; 325 326 dcdc3_reg: regulator@2 { 327 /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ 328 regulator-name = "vdd_core"; 329 regulator-min-microvolt = <925000>; 330 regulator-max-microvolt = <1150000>; 331 regulator-boot-on; 332 regulator-always-on; 333 }; 334 335 ldo1_reg: regulator@3 { 336 regulator-name = "vio,vrtc,vdds"; 337 regulator-always-on; 338 }; 339 340 ldo2_reg: regulator@4 { 341 regulator-name = "vdd_3v3aux"; 342 regulator-always-on; 343 }; 344 345 ldo3_reg: regulator@5 { 346 regulator-name = "vdd_1v8"; 347 regulator-always-on; 348 }; 349 350 ldo4_reg: regulator@6 { 351 regulator-name = "vdd_3v3a"; 352 regulator-always-on; 353 }; 354 }; 355}; 356 357&cpsw_emac0 { 358 phy_id = <&davinci_mdio>, <0>; 359 phy-mode = "mii"; 360}; 361 362&cpsw_emac1 { 363 phy_id = <&davinci_mdio>, <1>; 364 phy-mode = "mii"; 365}; 366 367&mac { 368 pinctrl-names = "default", "sleep"; 369 pinctrl-0 = <&cpsw_default>; 370 pinctrl-1 = <&cpsw_sleep>; 371 status = "okay"; 372}; 373 374&davinci_mdio { 375 pinctrl-names = "default", "sleep"; 376 pinctrl-0 = <&davinci_mdio_default>; 377 pinctrl-1 = <&davinci_mdio_sleep>; 378 status = "okay"; 379}; 380 381&mmc1 { 382 status = "okay"; 383 bus-width = <0x4>; 384 pinctrl-names = "default"; 385 pinctrl-0 = <&mmc1_pins>; 386 cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; 387 cd-inverted; 388}; 389 390&aes { 391 status = "okay"; 392}; 393 394&sham { 395 status = "okay"; 396}; 397