/* * started with with am335x-bone-common * */ / { cpus { cpu@0 { cpu0-supply = <&dcdc2_reg>; }; }; memory@80000000 { device_type = "memory"; reg = <0x80000000 0x10000000>; /* 256 MB */ }; chosen { stdout-path = &uart0; }; vmmcsd_fixed: fixedregulator0 { compatible = "regulator-fixed"; regulator-name = "vmmcsd_fixed"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; }; &am33xx_pinmux { i2c0_pins: pinmux_i2c0_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* (C17) i2c0_sda.i2c0_sda */ AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* (C16) i2c0_scl.i2c0_scl */ >; }; uart0_pins: pinmux_uart0_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* (E15) uart0_rxd.uart0_rxd */ AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (E16) uart0_txd.uart0_txd */ >; }; uart1_pins: pinmux_uart1_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0) /* (D16) uart1_rxd.uart1_rxd */ AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (D15) uart1_txd.uart1_txd */ >; }; uart2_pins: pinmux_uart2_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE1) /* (A17) spi0_sclk.uart2_rxd */ AM33XX_IOPAD(0x954, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (B17) spi0_do.uart2_txd */ >; }; uart4_pins: pinmux_uart4_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x968, PIN_INPUT_PULLUP | MUX_MODE1) /* (E18) uart0_ctsn.uart4_rxd */ AM33XX_IOPAD(0x96c, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (E17) uart0_rtsn.uart4_txd */ >; }; cpsw_default: cpsw_default { pinctrl-single,pins = < /* PHY Slave 1 */ /* copied from TI pinmux tool */ AM33XX_IOPAD(0x90c, PIN_INPUT_PULLUP | MUX_MODE1) /* (H17) gmii1_crs.rmii1_crs_dv */ AM33XX_IOPAD(0x910, PIN_INPUT_PULLUP | MUX_MODE1) /* (J15) gmii1_rxer.rmii1_rxer */ AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (J16) gmii1_txen.rmii1_txen */ AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (K17) gmii1_txd0.rmii1_txd0 */ AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (K16) gmii1_txd1.rmii1_txd1 */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLUP | MUX_MODE1) /* (M16) gmii1_rxd0.rmii1_rxd0 */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLUP | MUX_MODE1) /* (L15) gmii1_rxd1.rmii1_rxd1 */ AM33XX_IOPAD(0x944, PIN_INPUT_PULLUP | MUX_MODE0) /* (H18) rmii1_refclk.rmii1_refclk */ /* PHY Slave 2 */ /* copied from TI pinmux tool */ AM33XX_IOPAD(0x888, PIN_INPUT | MUX_MODE2) /* (T13) gpmc_csn3.rmii2_crs_dv */ AM33XX_IOPAD(0x840, PIN_OUTPUT | MUX_MODE3) /* (R13) gpmc_a0.rmii2_txen */ AM33XX_IOPAD(0x854, PIN_OUTPUT | MUX_MODE3) /* (V15) gpmc_a5.rmii2_txd0 */ AM33XX_IOPAD(0x850, PIN_OUTPUT | MUX_MODE3) /* (R14) gpmc_a4.rmii2_txd1 */ AM33XX_IOPAD(0x86c, PIN_INPUT | MUX_MODE3) /* (V17) gpmc_a11.rmii2_rxd0 */ AM33XX_IOPAD(0x868, PIN_INPUT | MUX_MODE3) /* (T16) gpmc_a10.rmii2_rxd1 */ AM33XX_IOPAD(0x874, PIN_INPUT | MUX_MODE3) /* (U17) gpmc_wpn.rmii2_rxer */ AM33XX_IOPAD(0x908, PIN_INPUT | MUX_MODE1) /* (H16) gmii1_col.rmii2_refclk */ >; }; cpsw_sleep: cpsw_sleep { pinctrl-single,pins = < /* Slave 1 reset value */ AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (H17) gmii1_crs.gpio3_1 */ AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (J15) gmii1_rxer.gpio3_2 */ AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (J16) gmii1_txen.gpio3_3 */ AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (K17) gmii1_txd0.gpio0_28 */ AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (K16) gmii1_txd1.gpio0_21 */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (M16) gmii1_rxd0.gpio2_21 */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (L15) gmii1_rxd1.gpio2_20 */ AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (H18) rmii1_refclk.gpio0_29 */ /* Slave 2 reset value */ AM33XX_IOPAD(0x888, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (T13) gpmc_csn3.gpio2_0 */ AM33XX_IOPAD(0x874, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (U17) gpmc_wpn.gpio0_31 */ AM33XX_IOPAD(0x840, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (R13) gpmc_a0.gpio1_16 */ AM33XX_IOPAD(0x854, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (V15) gpmc_a5.gpio1_21 */ AM33XX_IOPAD(0x850, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (R14) gpmc_a4.gpio1_20 */ AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (V17) gpmc_a11.gpio1_27 */ AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (T16) gpmc_a10.gpio1_26 */ AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (H16) gmii1_col.gpio3_0 */ >; }; davinci_mdio_default: davinci_mdio_default { pinctrl-single,pins = < /* MDIO */ AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (M17) mdio_data.mdio_data */ AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (M18) mdio_clk.mdio_clk */ >; }; davinci_mdio_sleep: davinci_mdio_sleep { pinctrl-single,pins = < /* MDIO reset value */ AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (M17) mdio_data.gpio0_0 */ AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (M18) mdio_clk.gpio0_1 */ >; }; mmc1_pins: pinmux_mmc1_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* (C15) spio0_cs1.gpio0_6 */ AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* (G16) mmc0_dat0.mmc0_dat0 */ AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* (G15) mmc0_dat1.mmc0_dat1 */ AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* (F18) mmc0_dat2.mmc0_dat2 */ AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* (F17) mmc0_dat3.mmc0_dat3 */ AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* (G18) mmc0_cmd.mmc0_cmd */ AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* (G17) mmc0_clk.mmc0_clk */ >; }; emmc_pins: pinmux_emmc_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* (U9) gpmc_csn1.mmc1_clk */ AM33XX_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* (V9) gpmc_csn2.mmc1_cmd */ AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* (U7) gpmc_ad0.mmc1_dat0 */ AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* (V7) gpmc_ad1.mmc1_dat1 */ AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* (R8) gpmc_ad2.mmc1_dat2 */ AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* (T8) gpmc_ad3.mmc1_dat3 */ AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE1) /* (U8) gpmc_ad4.mmc1_dat4 */ AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE1) /* (V8) gpmc_ad5.mmc1_dat5 */ AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE1) /* (R9) gpmc_ad6.mmc1_dat6 */ AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE1) /* (T9) gpmc_ad7.mmc1_dat7 */ >; }; gpio1_pins_default: gpio1_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE7) /* (T12) gpmc_ad12.gpio1[12] BCD SWITCH OUTPUT Y0*/ AM33XX_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE7) /* (R12) gpmc_ad13.gpio1[13] BCD SWITCH OUTPUT Y1*/ AM33XX_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE7) /* (V13) gpmc_ad14.gpio1[14] BCD SWITCH OUTPUT Y2*/ AM33XX_IOPAD(0x83c, PIN_INPUT_PULLUP | MUX_MODE7) /* (U13) gpmc_ad15.gpio1[15] BCD SWITCH OUTPUT Y3*/ AM33XX_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE7) /* (V14) gpmc_a1.gpio1[17] */ AM33XX_IOPAD(0x848, PIN_INPUT_PULLUP | MUX_MODE7) /* (U14) gpmc_a2.gpio1[18] */ AM33XX_IOPAD(0x84c, PIN_INPUT_PULLUP | MUX_MODE7) /* (T14) gpmc_a3.gpio1[19] */ AM33XX_IOPAD(0x858, PIN_INPUT_PULLUP | MUX_MODE7) /* (U15) gpmc_a6.gpio1[22] */ AM33XX_IOPAD(0x85c, PIN_OUTPUT_PULLUP | MUX_MODE7) /* (T15) gpmc_a7.gpio1[23] STATUS LED GREEN*/ AM33XX_IOPAD(0x860, PIN_OUTPUT_PULLUP | MUX_MODE7) /* (V16) gpmc_a8.gpio1[24] STATUS LED YELLOW*/ AM33XX_IOPAD(0x864, PIN_OUTPUT_PULLUP | MUX_MODE7) /* (U16) gpmc_a9.gpio1[25] STATUS LED RED*/ >; }; gpio2_pins_default: gpio2_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x88c, PIN_OUTPUT_PULLUP | MUX_MODE7) /* (V12) gpmc_clk.gpio2[1] CPU AMP/MOTION ENABLE*/ AM33XX_IOPAD(0x890, PIN_INPUT_PULLUP | MUX_MODE7) /* (R7) gpmc_advn_ale.gpio2[2] AMC FAULT INDICATOR FOR CPU (CPU_IN5)*/ AM33XX_IOPAD(0x894, PIN_INPUT_PULLUP | MUX_MODE7) /* (T7) gpmc_oen_ren.gpio2[3] J2-7 AVAILABLE*/ AM33XX_IOPAD(0x898, PIN_INPUT_PULLUP | MUX_MODE7) /* (U6) gpmc_wen.gpio2[4] E-STOP INDICATOR FOR CPU (CPU_IN6)*/ AM33XX_IOPAD(0x89c, PIN_OUTPUT_PULLUP | MUX_MODE7) /* (T6) gpmc_be0n_cle.gpio2[5] MASTER/SLAVE ENCODER SELECT*/ >; }; mcasp0_pins: mcasp0_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLUP | MUX_MODE0) /* (A14) mcasp0_ahcklx.mcasp0_ahclkx */ AM33XX_IOPAD(0x99c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (C12) mcasp0_ahclkr.mcasp0_axr2*/ AM33XX_IOPAD(0x994, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (B13) mcasp0_fsx.mcasp0_fsx */ AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (A13) mcasp0_aclkx.mcasp0_aclkx */ AM33XX_IOPAD(0x86c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* (V17) gpmc_a11.GPIO1_27 */ >; }; }; &mcasp0 { #sound-dai-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&mcasp0_pins>; status = "okay"; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <2>; serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 0 0 1 0 >; tx-num-evt = <32>; rx-num-evt = <32>; }; / { clk_mcasp0_fixed: clk_mcasp0_fixed { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <24576000>; }; clk_mcasp0: clk_mcasp0 { #clock-cells = <0>; compatible = "gpio-gate-clock"; clocks = <&clk_mcasp0_fixed>; enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */ }; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins>; status = "okay"; }; &uart1 { pinctrl-names = "default"; pinctrl-0 = <&uart1_pins>; status = "okay"; }; &uart2 { pinctrl-names = "default"; pinctrl-0 = <&uart2_pins>; status = "okay"; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&uart4_pins>; status = "okay"; }; &usb { status = "okay"; }; &usb_ctrl_mod { status = "okay"; }; &usb0_phy { status = "okay"; }; &usb1_phy { status = "okay"; }; &usb1 { status = "okay"; dr_mode = "peripheral"; interrupts-extended = <&intc 18 &tps 0>; interrupt-names = "mc", "vbus"; }; &usb0 { status = "okay"; dr_mode = "host"; }; &cppi41dma { status = "okay"; }; &i2c0 { pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins>; status = "okay"; clock-frequency = <400000>; tps: tps@24 { reg = <0x24>; }; baseboard_eeprom: baseboard_eeprom@50 { compatible = "atmel,24c256"; reg = <0x50>; #address-cells = <1>; #size-cells = <1>; baseboard_data: baseboard_data@0 { reg = <0 0x100>; }; }; }; /include/ "tps65217.dtsi" &tps { /* * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only * mode") at poweroff. Most BeagleBone versions do not support RTC-only * mode and risk hardware damage if this mode is entered. * * For details, see linux-omap mailing list May 2015 thread * [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller * In particular, messages: * http://www.spinics.net/lists/linux-omap/msg118585.html * http://www.spinics.net/lists/linux-omap/msg118615.html * * You can override this later with * &tps { /delete-property/ ti,pmic-shutdown-controller; } * if you want to use RTC-only mode and made sure you are not affected * by the hardware problems. (Tip: double-check by performing a current * measurement after shutdown: it should be less than 1 mA.) */ interrupts = <7>; /* NMI */ interrupt-parent = <&intc>; ti,pmic-shutdown-controller; charger { status = "okay"; }; pwrbutton { status = "okay"; }; regulators { dcdc1_reg: regulator@0 { regulator-name = "vdds_dpr"; regulator-always-on; }; dcdc2_reg: regulator@1 { /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ regulator-name = "vdd_mpu"; regulator-min-microvolt = <925000>; regulator-max-microvolt = <1351500>; regulator-boot-on; regulator-always-on; }; dcdc3_reg: regulator@2 { /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ regulator-name = "vdd_core"; regulator-min-microvolt = <925000>; regulator-max-microvolt = <1150000>; regulator-boot-on; regulator-always-on; }; ldo1_reg: regulator@3 { regulator-name = "vio,vrtc,vdds"; regulator-always-on; }; ldo2_reg: regulator@4 { regulator-name = "vdd_3v3aux"; regulator-always-on; }; ldo3_reg: regulator@5 { regulator-name = "vdd_1v8"; regulator-always-on; }; ldo4_reg: regulator@6 { regulator-name = "vdd_3v3a"; regulator-always-on; }; }; }; &ldo3_reg { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; &mmc1 { vmmc-supply = <&vmmcsd_fixed>; }; &mmc2 { vmmc-supply = <&vmmcsd_fixed>; pinctrl-names = "default"; pinctrl-0 = <&emmc_pins>; bus-width = <8>; status = "okay"; }; &cpsw_emac0 { phy_id = <&davinci_mdio>, <0>; phy-mode = "rmii"; dual_emac_res_vlan = <1>; }; &cpsw_emac1 { phy_id = <&davinci_mdio>, <1>; phy-mode = "rmii"; dual_emac_res_vlan = <2>; }; &mac { slaves = <2>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&cpsw_default>; pinctrl-1 = <&cpsw_sleep>; dual_emac = <1>; status = "okay"; }; &davinci_mdio { pinctrl-names = "default", "sleep"; pinctrl-0 = <&davinci_mdio_default>; pinctrl-1 = <&davinci_mdio_sleep>; status = "okay"; }; &mmc1 { status = "okay"; bus-width = <0x4>; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; }; &aes { status = "okay"; }; &sham { status = "okay"; }; &rtc { clocks = <&clk_32768_ck>, <&clkdiv32k_ick>; clock-names = "ext-clk", "int-clk"; system-power-controller; }; &wkup_m3_ipc { ti,scale-data-fw = "am335x-bone-scale-data.bin"; }; &gpio1 { pinctrl-names = "default"; pinctrl-0 = <&gpio1_pins_default>; }; &gpio2 { pinctrl-names = "default"; pinctrl-0 = <&gpio2_pins_default>; };