/* * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ /dts-v1/; #include "am33xx.dtsi" #include #include #include #include / { model = "SW-C100"; compatible = "ti,am33xx"; chosen { stdout-path = &uart1; tick-timer = &timer2; }; cpus { cpu@0 { cpu0-supply = <&vdd1_reg>; }; }; memory@80000000 { device_type = "memory"; reg = <0x80000000 0x10000000>; /* 256 MB */ }; vbat: fixedregulator0 { compatible = "regulator-fixed"; regulator-name = "vbat"; regulator-min-microvolt = <15000000>; regulator-max-microvolt = <15000000>; regulator-always-on; regulator-boot-on; }; leds { pinctrl-names = "default"; pinctrl-0 = <&user_leds_s0>; compatible = "gpio-leds"; led1 { label = "evmsk:green:heartbeat"; gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; default-state = "off"; }; led2 { label = "evmsk:green:mmc0"; gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>; linux,default-trigger = "mmc0"; default-state = "off"; }; }; gpio_buttons: gpio_buttons0 { compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; switch1 { label = "button0"; // S3 GPIO_KEY1 linux,code = <0x100>; gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>; }; switch2 { label = "button1"; linux,code = <0x101>; // S2 GPIO_KEY2 gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; }; switch3 { label = "button2"; // S4 GPIO_CASE_OPEN_CLOSE linux,code = <0x102>; gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; }; }; }; &am33xx_pinmux { pinctrl-names = "default"; pinctrl-0 = <&oeta_pins>; ddr3_vtt_toggle: ddr3_vtt_toggle { pinctrl-single,pins = < AM33XX_IOPAD(PIN_USB0_DRVVBUS, (PIN_OUTPUT | MUX_MODE7)) /* AM33XX_IOPAD.gpio0_18 */ >; }; user_leds_s0: user_leds_s0 { pinctrl-single,pins = < AM33XX_IOPAD(PIN_GPMC_AD11, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11, AVR220_LED0 */ AM33XX_IOPAD(PIN_GPMC_AD10, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10, AVR220_LED1 */ >; }; i2c0_pins: pinmux_i2c0_pins { pinctrl-single,pins = < AM33XX_IOPAD(PIN_I2C0_SDA, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */ AM33XX_IOPAD(PIN_I2C0_SCL, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */ >; }; uart1_pins: pinmux_uart1_pins { pinctrl-single,pins = < AM33XX_IOPAD(PIN_UART1_RXD, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */ AM33XX_IOPAD(PIN_UART1_TXD, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */ >; }; mmc1_pins: pinmux_mmc1_pins { pinctrl-single,pins = < AM33XX_IOPAD(PIN_MMC0_DAT3, (PIN_INPUT_PULLUP | MUX_MODE0)) AM33XX_IOPAD(PIN_MMC0_DAT2, (PIN_INPUT_PULLUP | MUX_MODE0)) AM33XX_IOPAD(PIN_MMC0_DAT1, (PIN_INPUT_PULLUP | MUX_MODE0)) AM33XX_IOPAD(PIN_MMC0_DAT0, (PIN_INPUT_PULLUP | MUX_MODE0)) AM33XX_IOPAD(PIN_MMC0_CMD, (PIN_INPUT_PULLUP | MUX_MODE0)) AM33XX_IOPAD(PIN_MMC0_CLK, (PIN_INPUT_PULLUP | MUX_MODE0)) >; }; mmc2_pins: pinmux_mmc2_pins { pinctrl-single,pins = < AM33XX_IOPAD(PIN_GPMC_CSN1, (PIN_INPUT_PULLUP | MUX_MODE2)) /* gpmc_csn1.mmc1_clk */ AM33XX_IOPAD(PIN_GPMC_CSN2, (PIN_INPUT_PULLUP | MUX_MODE2)) /* gpmc_csn2.mmc1_cmd */ AM33XX_IOPAD(PIN_GPMC_AD0, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_ad0.mmc1_dat0 */ AM33XX_IOPAD(PIN_GPMC_AD1, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_ad1.mmc1_dat1 */ AM33XX_IOPAD(PIN_GPMC_AD2, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_ad2.mmc1_dat2 */ AM33XX_IOPAD(PIN_GPMC_AD3, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_ad3.mmc1_dat3 */ AM33XX_IOPAD(PIN_GPMC_AD4, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_ad4.mmc1_dat4 */ AM33XX_IOPAD(PIN_GPMC_AD5, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_ad5.mmc1_dat5 */ AM33XX_IOPAD(PIN_GPMC_AD6, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_ad6.mmc1_dat6 */ AM33XX_IOPAD(PIN_GPMC_AD7, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_ad7.mmc1_dat7 */ >; }; cpsw_default: cpsw_default { pinctrl-single,pins = < /* Slave 1 */ AM33XX_IOPAD(PIN_GMII1_TXCLK, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */ AM33XX_IOPAD(PIN_GMII1_TXD0, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */ AM33XX_IOPAD(PIN_GMII1_TXD1, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */ AM33XX_IOPAD(PIN_GMII1_TXD2, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */ AM33XX_IOPAD(PIN_GMII1_TXD3, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */ AM33XX_IOPAD(PIN_GMII1_TXEN, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */ AM33XX_IOPAD(PIN_GMII1_RXCLK, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */ AM33XX_IOPAD(PIN_GMII1_RXD0, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */ AM33XX_IOPAD(PIN_GMII1_RXD1, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */ AM33XX_IOPAD(PIN_GMII1_RXD2, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */ AM33XX_IOPAD(PIN_GMII1_RXD3, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */ AM33XX_IOPAD(PIN_GMII1_RXDV, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */ /* Slave 2 */ AM33XX_IOPAD(PIN_GPMC_A0, PIN_OUTPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A1, PIN_INPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A2, PIN_OUTPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A3, PIN_OUTPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A4, PIN_OUTPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A5, PIN_OUTPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A6, PIN_OUTPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A7, PIN_INPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A8, PIN_INPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A9, PIN_INPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A10, PIN_INPUT_PULLDOWN | MUX_MODE2) AM33XX_IOPAD(PIN_GPMC_A11, PIN_INPUT_PULLDOWN | MUX_MODE2) >; }; cpsw_sleep: cpsw_sleep { pinctrl-single,pins = < /* Slave 1 reset value */ AM33XX_IOPAD(PIN_GMII1_TXEN, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_RXDV, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_TXD3, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_TXD2, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_TXD1, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_TXD0, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_TXCLK, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_RXCLK, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_RXD3, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_RXD2, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_RXD1, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GMII1_RXD0, PIN_INPUT_PULLDOWN | MUX_MODE7) /* Slave 2 reset value*/ AM33XX_IOPAD(PIN_GPMC_A0, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A1, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A2, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A3, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A4, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A5, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A6, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A7, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A8, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A9, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A10, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_GPMC_A11, PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; davinci_mdio_default: davinci_mdio_default { pinctrl-single,pins = < /* MDIO */ AM33XX_IOPAD(PIN_MDIO_DATA, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ AM33XX_IOPAD(PIN_MDIO_CLK, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ >; }; davinci_mdio_sleep: davinci_mdio_sleep { pinctrl-single,pins = < /* MDIO reset value */ AM33XX_IOPAD(PIN_MDIO_DATA, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(PIN_MDIO_CLK, PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; oeta_pins: pinmux_oeta_pins { pinctrl-single,pins = < AM33XX_IOPAD(PIN_GPMC_AD9, PIN_OUTPUT_PULLDOWN | MUX_MODE7) >; }; }; &uart1 { pinctrl-names = "default"; pinctrl-0 = <&uart1_pins>; status = "okay"; }; &mmc1 { // SD Card vmmc-supply = <&vmmc_reg>; bus-width = <4>; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; broken-cd; status = "okay"; }; &mmc2 { // MMC FLASH NAND vmmc-supply = <&vmmc_reg>; ti,non-removable; broken-cd; pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; bus-width = <8>; min-frequency = <26000000>; max-frequency = <52000000>; status = "okay"; }; &i2c0 { pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins>; status = "okay"; clock-frequency = <400000>; tps: tps@2d { reg = <0x2d>; }; }; #include "tps65910.dtsi" &tps { vcc1-supply = <&vbat>; vcc2-supply = <&vbat>; vcc3-supply = <&vbat>; vcc4-supply = <&vbat>; vcc5-supply = <&vbat>; vcc6-supply = <&vbat>; vcc7-supply = <&vbat>; vccio-supply = <&vbat>; regulators { vrtc_reg: regulator@0 { regulator-boot-on; regulator-always-on; }; vio_reg: regulator@1 { regulator-boot-on; regulator-always-on; }; vdd1_reg: regulator@2 { /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ regulator-name = "vdd_mpu"; regulator-min-microvolt = <912500>; regulator-max-microvolt = <1351500>; regulator-boot-on; regulator-always-on; }; vdd2_reg: regulator@3 { /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ regulator-name = "vdd_core"; regulator-min-microvolt = <912500>; regulator-max-microvolt = <1150000>; regulator-boot-on; regulator-always-on; }; vdd3_reg: regulator@4 { regulator-boot-on; regulator-always-on; }; vdig1_reg: regulator@5 { regulator-boot-on; regulator-always-on; }; vdig2_reg: regulator@6 { regulator-boot-on; regulator-always-on; }; vpll_reg: regulator@7 { regulator-boot-on; regulator-always-on; }; vdac_reg: regulator@8 { regulator-boot-on; regulator-always-on; }; vaux1_reg: regulator@9 { regulator-boot-on; regulator-always-on; }; vaux2_reg: regulator@10 { regulator-boot-on; regulator-always-on; }; vaux33_reg: regulator@11 { regulator-boot-on; regulator-always-on; }; vmmc_reg: regulator@12 { regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; }; &gpio0 { ti,gpio-always-on; ti,no-reset-on-init; }; &gpio1 { ti,gpio-always-on; ti,no-reset-on-init; }; &gpio2 { ti,gpio-always-on; ti,no-reset-on-init; }; &gpio3 { ti,gpio-always-on; ti,no-reset-on-init; }; &sham { status = "okay"; }; &aes { status = "okay"; }; &sgx { status = "okay"; }; &usb { status = "okay"; }; &usb_ctrl_mod { status = "okay"; }; &usb1_phy { status = "okay"; }; &usb1 { status = "okay"; dr_mode = "host"; }; &cppi41dma { status = "okay"; }; &wkup_m3_ipc { ti,needs-vtt-toggle; ti,vtt-gpio-pin = <7>; ti,scale-data-fw = "am335x-evm-scale-data.bin"; }; &mac { pinctrl-names = "default", "sleep"; pinctrl-0 = <&cpsw_default>; pinctrl-1 = <&cpsw_sleep>; status = "okay"; }; &davinci_mdio { pinctrl-names = "default", "sleep"; compatible = "ti,cpsw-mdio","ti,davinci_mdio"; pinctrl-0 = <&davinci_mdio_default>; pinctrl-1 = <&davinci_mdio_sleep>; ti,rx-internal-delay = ; ti,tx-internal-delay = ; ti,fifo-depth = ; ti,min-output-impedance; status = "okay"; }; &cpsw_emac0 { phy_id = <&davinci_mdio>, <0>; phy-mode = "rgmii-txid"; }; &cpsw_emac1 { phy_id = <&davinci_mdio>, <0>; phy-mode = "rgmii-txid"; }; //compatible = "ethernet-phy-ieee802.3-c22"; &pruss_soc_bus { status = "okay"; pruss: pruss@4a300000 { status = "okay"; pru0: pru@4a334000 { status = "okay"; }; pru1: pru@4a338000 { status = "okay"; }; }; };