/dts-v1/; #include "am33xx.dtsi" #include "am335x-bone-common.dtsi" #include / { model = "TI AM335x Custom"; compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx", "custom,custom"; aliases { ethernet1 = &pruss_emac0; ethernet2 = &pruss_emac1; }; leds { pinctrl-names = "default"; pinctrl-0 = <&my_leds>; compatible = "gpio-leds"; led2 { label = "custom:heartbeat"; gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; default-state = "off"; }; led3 { label = "custom:cpu0"; gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; linux,default-trigger = "cpu0"; default-state = "off"; }; led4 { label = "custom:mmc0"; gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; linux,default-trigger = "mmc0"; default-state = "off"; }; led5 { label = "custom:mmc1"; gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; linux,default-trigger = "mmc1"; default-state = "off"; }; }; pruss_eth { status = "okay"; compatible = "ti,am3359-prueth"; prus = <&pru0>, <&pru1>; pruss = <&pruss>; firmware-name = "ti-pruss/am335x-pru0-prueth-fw.elf", "ti-pruss/am335x-pru1-prueth-fw.elf"; sram = <&ocmcram>; mii-rt = <&pruss_mii_rt>; iep = <&pruss_iep>; interrupt-parent = <&pruss_intc>; pinctrl-0 = <&pruss_eth_default>; pinctrl-names = "default"; pruss_emac0: ethernet-mii0 { phy-mode = "mii"; phy-handle = <&pruss_eth0_phy>; interrupts = <20>, <22>; interrupt-names = "rx", "tx"; local-mac-address = [ec ec ec ec 00 01]; }; pruss_emac1: ethernet-mii1 { phy-mode = "mii"; phy-handle = <&pruss_eth1_phy>; interrupts = <21>, <23>; interrupt-names = "rx", "tx"; local-mac-address = [ec ec ec ec 00 02]; }; }; }; &pruss_soc_bus { status = "okay"; }; &pruss { status = "okay"; }; &pru0 { status = "okay"; firmware-name = "am335x-pru0-fw"; }; &pru1 { status = "okay"; firmware-name = "am335x-pru1-fw"; }; &pruss_mdio { pinctrl-0 = <&pruss_mdio_default>; pinctrl-names = "default"; reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; reset-delay-us = <2>; // PHY datasheet states 1uS min status = "okay"; pruss_eth0_phy: ethernet-phy@1 { reg = <1>; }; pruss_eth1_phy: ethernet-phy@3 { reg = <3>; }; }; &am33xx_pinmux { pruss_eth_default: pruss_eth_default { pinctrl-single,pins = < AM33XX_IOPAD(0x8A0, PIN_INPUT | MUX_MODE2) /* LCD_DATA0.pr1_mii_mt0_clk */ AM33XX_IOPAD(0x8A4, PIN_OUTPUT | MUX_MODE2) /* LCD_DATA1.pr1_mii0_txen */ AM33XX_IOPAD(0x8A8, PIN_OUTPUT | MUX_MODE2) /* LCD_DATA2.pr1_mii0_txd3 */ AM33XX_IOPAD(0x8AC, PIN_OUTPUT | MUX_MODE2) /* LCD_DATA3.pr1_mii0_txd2 */ AM33XX_IOPAD(0x8B0, PIN_OUTPUT | MUX_MODE2) /* LCD_DATA4.pr1_mii0_txd1 */ AM33XX_IOPAD(0x8B4, PIN_OUTPUT | MUX_MODE2) /* LCD_DATA5.pr1_mii0_txd0 */ AM33XX_IOPAD(0x8C0, PIN_INPUT | MUX_MODE5) /* LCD_DATA8.pr1_mii0_rxd3 */ AM33XX_IOPAD(0x8C4, PIN_INPUT | MUX_MODE5) /* LCD_DATA9.pr1_mii0_rxd2 */ AM33XX_IOPAD(0x8C8, PIN_INPUT | MUX_MODE5) /* LCD_DATA10.pr1_mii0_rxd1 */ AM33XX_IOPAD(0x8CC, PIN_INPUT | MUX_MODE5) /* LCD_DATA11.pr1_mii0_rxd0 */ AM33XX_IOPAD(0x8D4, PIN_INPUT | MUX_MODE5) /* LCD_DATA13.pr1_mii0_rxer */ AM33XX_IOPAD(0x8D8, PIN_INPUT | MUX_MODE5) /* LCD_DATA14.pr1_mii_mr0_clk */ AM33XX_IOPAD(0x8DC, PIN_INPUT | MUX_MODE5) /* LCD_DATA15.pr1_mii0_rxdv */ AM33XX_IOPAD(0x888, PIN_INPUT | MUX_MODE4) /* GPMC_CSn3.pr1_mii0_crs */ >; }; pruss_mdio_default: pruss_mdio_default { pinctrl-single,pins = < AM33XX_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */ AM33XX_IOPAD(0x888, (PIN_INPUT | MUX_MODE5)) /* gpmc_csn3.pr1_mdio_data */ AM33XX_IOPAD(0x89c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* gpmc_ben0_cle.gpio2_5 */ >; }; }; &am33xx_pinmux { my_leds: my_leds { pinctrl-single,pins = < AM33XX_IOPAD(0x830, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad12.gpio1_12 */ AM33XX_IOPAD(0x834, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad13.gpio1_13 */ AM33XX_IOPAD(0x838, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad14.gpio1_14 */ AM33XX_IOPAD(0x83c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad15.gpio1_15 */ AM33XX_IOPAD(0x824, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad9.gpio0_23 */ >; }; }; &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"; }; &lcdc { status = "disabled"; }; &usb0_phy { status = "disabled"; }; &usb1_phy { status = "disabled"; }; &usb0 { status = "disabled"; }; &usb1 { status = "disabled"; }; &spi0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&spi0_pins>; }; &am33xx_pinmux { spi0_pins: spi0_pins { pinctrl-single,pins = < 0x150 (PIN_INPUT_PULLUP | MUX_MODE0) /* P9.22, spi0_sclk */ 0x154 (PIN_INPUT_PULLUP | MUX_MODE0) /* P9.21, spi0_d0 (miso) */ 0x158 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* P9.18, spi0_d1 (mosi) */ 0x15c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* P9.17, spi0_cs0 */ 0x1a4 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* crypto_nRST */ 0x1b0 (PIN_INPUT_PULLUP | MUX_MODE7) /* crypto_int */ >; }; }; &i2c0 { clock-frequency = <400000>; }; &i2c1 { clock-frequency = <400000>; }; &am33xx_pinmux { i2c1_pins: i2c1_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x980, SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE3) /* UART1_RXD.I2C1_SDA */ AM33XX_IOPAD(0x984, SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE3) /* UART1_TXD.I2C1_SCL */ >; }; }; &i2c2 { status = "disabled"; }; &rtc { system-power-controller; status = "okay"; }; &mac { pinctrl-names = "default", "sleep"; pinctrl-0 = <&cpsw_default>; pinctrl-1 = <&cpsw_sleep>; slaves = <2>; active_slave = <0>; status = "okay"; }; &cpsw_emac0 { phy_id = <&davinci_mdio>, <1>; phy-mode = "rgmii"; }; &cpsw_default { pinctrl-single,pins = < AM33XX_IOPAD(0x910, PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxerr.mii1_rxerr */ AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.mii1_txen */ AM33XX_IOPAD(0x918, PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxdv.mii1_rxdv */ AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.mii1_txd3 */ AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.mii1_txd2 */ AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.mii1_txd1 */ AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.mii1_txd0 */ AM33XX_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_txclk.mii1_txclk */ AM33XX_IOPAD(0x930, PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxclk.mii1_rxclk */ AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxd3.mii1_rxd3 */ AM33XX_IOPAD(0x938, PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxd2.mii1_rxd2 */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxd1.mii1_rxd1 */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxd0.mii1_rxd0 */ >; }; &cpsw_sleep { pinctrl-single,pins = < AM33XX_IOPAD(0x910, PIN_INPUT_PULLUP | MUX_MODE7) /* mii1_rxerr.mii1_rxerr */ AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* mii1_txen.mii1_txen */ AM33XX_IOPAD(0x918, PIN_INPUT_PULLUP | MUX_MODE7) /* mii1_rxdv.mii1_rxdv */ AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* mii1_txd3.mii1_txd3 */ AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* mii1_txd2.mii1_txd2 */ AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* mii1_txd1.mii1_txd1 */ AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* mii1_txd0.mii1_txd0 */ AM33XX_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE7) /* mii1_txclk.mii1_txclk */ AM33XX_IOPAD(0x930, PIN_INPUT_PULLUP | MUX_MODE7) /* mii1_rxclk.mii1_rxclk */ AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE7) /* mii1_rxd3.mii1_rxd3 */ AM33XX_IOPAD(0x938, PIN_INPUT_PULLUP | MUX_MODE7) /* mii1_rxd2.mii1_rxd2 */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLUP | MUX_MODE7) /* mii1_rxd1.mii1_rxd1 */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLUP | MUX_MODE7) /* mii1_rxd0.mii1_rxd0 */ >; };