/* * Copyright (C) 2014 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. */ /* AM437x SK EVM */ /dts-v1/; #include "am4372.dtsi" #include #include #include #include / { model = "TI AM437x SMARCT437X"; compatible = "ti,am437x-smarct437x","ti,am4372","ti,am43"; aliases { display0 = &lcd0; }; chosen { tick-timer = &timer2; }; vmmcwl_fixed: fixedregulator-mmcwl { compatible = "regulator-fixed"; regulator-name = "vmmcwl_fixed"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; backlight { compatible = "pwm-backlight"; enable-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; /* Backlight Enable Pin*/ pwms = <&ehrpwm0 1 250000 PWM_POLARITY_INVERTED>; brightness-levels = <0 51 53 56 62 75 128 212 255>; default-brightness-level = <7>; /* 7 is the brightest */ }; sound: sound@0 { compatible = "simple-audio-card"; simple-audio-card,name = "SMARCT437X SOUND CARD"; simple-audio-card,widgets = "Headphone", "Headphone Jack", "Line", "Line In"; simple-audio-card,routing = "Headphone Jack", "HPLOUT", "Headphone Jack", "HPROUT", "LINE1L", "Line In", "LINE1R", "Line In"; simple-audio-card,format = "dsp_b"; simple-audio-card,bitclock-master = <&sound_master>; simple-audio-card,frame-master = <&sound_master>; simple-audio-card,bitclock-inversion; simple-audio-card,cpu { sound-dai = <&mcasp1>; system-clock-frequency = <12000000>; }; /* For TI TLV320AIC3106 Audio Codec */ /*sound_master: simple-audio-card,codec { sound-dai = <&tlv320aic3106>; system-clock-frequency = <24576000>;*/ /* For Freescale SGTL5000 Audio Codec */ sound_master: simple-audio-card,codec { sound-dai = <&sgtl5000>; system-clock-frequency = <24000000>; }; }; audio_mstrclk: mclk_osc { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; }; lcd0: display { compatible = "primeview,pm070wl4", "panel-dpi"; label = "lcd"; pinctrl-names = "default"; pinctrl-0 = <&lcd_pins>; enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; panel-timing { clock-frequency = <32000000>; hactive = <800>; vactive = <480>; hfront-porch = <42>; hback-porch = <84>; hsync-len = <128>; vback-porch = <33>; vfront-porch = <10>; vsync-len = <2>; hsync-active = <0>; vsync-active = <0>; de-active = <1>; pixelclk-active = <1>; }; port { lcd_in: endpoint { remote-endpoint = <&dpi_out>; }; }; }; }; &am43xx_pinmux { pinctrl-names = "default"; pinctrl-0 = <&clkout1_pin &clkout2_pin &gpio_pins_default &wdt_time_out_pins_default &debugss_pins>; i2c0_pins: i2c0_pins { pinctrl-single,pins = < 0x188 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */ 0x18c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */ >; }; i2c1_pins: i2c1_pins { pinctrl-single,pins = < 0x110 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* mii1_rxerr.i2c1_scl */ 0x10c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* mii1_crs.i2c1_sda */ >; }; i2c2_pins: i2c2_pins { pinctrl-single,pins = < 0x1ec (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* cam1_data1.i2c2_scl */ 0x1e8 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* cam1_data0.i2c2_sda */ >; }; mmc1_pins: pinmux_mmc1_pins { pinctrl-single,pins = < 0x0f0 (PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */ 0x0f4 (PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */ 0x0f8 (PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */ 0x0fc (PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */ 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */ 0x104 (PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */ 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */ >; }; emmc_pins: pinmux_emmc_pins { pinctrl-single,pins = < 0x80 (PIN_INPUT | MUX_MODE2) /* gpmc_csn1.mmc1_clk */ 0x84 (PIN_INPUT | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */ 0x00 (PIN_INPUT | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */ 0x04 (PIN_INPUT | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */ 0x08 (PIN_INPUT | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */ 0x0c (PIN_INPUT | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */ 0x10 (PIN_INPUT | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */ 0x14 (PIN_INPUT | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */ 0x18 (PIN_INPUT | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */ 0x1c (PIN_INPUT | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */ >; }; sdmmc_pins: pinmux_sdmmc_pins { pinctrl-single,pins = < 0x8c (PIN_INPUT | MUX_MODE3) /* gpmc_clk.mmc2_clk */ 0x88 (PIN_INPUT | MUX_MODE3) /* gpmc_csn3.mmc2_cmd */ 0x30 (PIN_INPUT | MUX_MODE3) /* gpmc_ad12.mmc2_dat0 */ 0x34 (PIN_INPUT | MUX_MODE3) /* gpmc_ad13.mmc2_dat1 */ 0x38 (PIN_INPUT | MUX_MODE3) /* gpmc_ad14.mmc2_dat2 */ 0x3c (PIN_INPUT | MUX_MODE3) /* gpmc_ad15.mmc2_dat3 */ 0x20 (PIN_INPUT | MUX_MODE3) /* gpmc_ad8.mmc2_dat4 */ 0x24 (PIN_INPUT | MUX_MODE3) /* gpmc_ad9.mmc2_dat5 */ 0x28 (PIN_INPUT | MUX_MODE3) /* gpmc_ad10.mmc2_dat6 */ 0x2c (PIN_INPUT | MUX_MODE3) /* gpmc_ad11.mmc2_dat7 */ >; }; ehrpwm0b_pins: backlight_pins { pinctrl-single,pins = < 0x1d8 (PIN_OUTPUT | MUX_MODE6) /* cam1_vd.ehrpwm0B */ >; }; clkout1_pin: pinmux_clkout1_pin { pinctrl-single,pins = < 0x270 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* XDMA_EVENT_INTR0/CLKOUT1 */ >; }; clkout2_pin: pinmux_clkout2_pin { pinctrl-single,pins = < 0x274 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* XDMA_EVENT_INTR1/CLKOUT2 */ >; }; dcan0_default: dcan0_default_pins { pinctrl-single,pins = < 0x17c (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_rtsn.dcan0_rx */ 0x178 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* uart1_ctsn.dcan0_tx */ >; }; dcan1_default: dcan1_default_pins { pinctrl-single,pins = < 0x184 (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_txd.dcan1_rx */ 0x180 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* uart1_rxd.dcan1_tx */ >; }; uart0_pins: pinmux_uart0_pins { pinctrl-single,pins = < 0x168 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0) /* uart0_ctsn.uart0_ctsn */ 0x16c (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0) /* uart0_rtsn.uart0_rtsn */ 0x170 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_rxd.uart0_rxd */ 0x174 (PIN_INPUT | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_txd.uart0_txd */ >; }; uart0_pins_sleep: pinmux_uart0_pins_sleep { pinctrl-single,pins = < 0x168 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x16c (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x170 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x174 (PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; uart3_pins: pinmux_uart3_pins { pinctrl-single,pins = < 0x228 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart3_rxd.uart3_rxd */ 0x22c (PIN_INPUT | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart3_txd.uart3_txd */ >; }; uart3_pins_sleep: pinmux_uart3_pins_sleep { pinctrl-single,pins = < 0x228 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x22c (PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; uart2_pins: pinmux_uart2_pins { pinctrl-single,pins = < 0x200 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE2) /* cam1_data6.uart2_ctsn */ 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE2) /* cam1_data7_rtsn.uart2_rtsn */ 0x1f8 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE2) /* cam1_data4_uart2rxd */ 0x1fc (PIN_INPUT | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE2) /* cam1_data5.uart2_txd */ >; }; uart2_pins_sleep: pinmux_uart2_pins_sleep { pinctrl-single,pins = < 0x200 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x204 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x1f8 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x1fc (PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; uart4_pins: pinmux_uart4_pins { pinctrl-single,pins = < 0x070 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE6) /* gpmc_wait0.uart4_rxd */ 0x074 (PIN_INPUT | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE6) /* gpmc_wpn.uart4_txd */ >; }; uart4_pins_sleep: pinmux_uart4_pins_sleep { pinctrl-single,pins = < 0x070 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x174 (PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; /*GPIO0-GPIO11, GPIO0-5 is input and GPIO6-11 is output by default.*/ gpio_pins_default: pinmux_gpio_pin { pinctrl-single,pins = < 0x26c (PIN_INPUT_PULLDOWN | MUX_MODE9) /* spi2_cs0.gpio0_23 */ 0x264 (PIN_INPUT_PULLDOWN | MUX_MODE9) /* spi2_d0.gpio0_20 */ 0x268 (PIN_INPUT_PULLDOWN | MUX_MODE9) /* spi2_d1.gpio0_21 */ 0x260 (PIN_INPUT_PULLDOWN | MUX_MODE9) /* spi2_sclk.gpio0_22 */ 0x21c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* cam0_data5.gpio4_27 */ 0x224 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* cam0_data7.gpio4_29 */ 0x19c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* mcasp0_ahclkr.gpio3_17 */ 0x198 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* mcasp0_axr0.gpio3_16 */ 0x210 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* cam0_data2.gpio4_24 */ 0x214 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* cam0_data3.gpio4_25 */ 0x218 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* cam0_data4.gpio4_26 */ 0x220 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* cam0_data6.gpio4_28 */ >; }; wdt_time_out_pins_default: pinmux_wdt_time_out_pin { pinctrl-single,pins = < 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* uart3_rtsn.ehrpwm5B */ >; }; cpsw_default: cpsw_default { pinctrl-single,pins = < /* Slave 1 */ 0x12c (PIN_OUTPUT | MUX_MODE2) /* mii1_txclk.rmii1_tclk */ 0x114 (PIN_OUTPUT | MUX_MODE2) /* mii1_txen.rgmii1_tctl */ 0x128 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */ 0x124 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */ 0x120 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd0.rgmii1_td2 */ 0x11c (PIN_OUTPUT | MUX_MODE2) /* mii1_txd1.rgmii1_td3 */ 0x130 (PIN_INPUT | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */ 0x118 (PIN_INPUT | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */ 0x140 (PIN_INPUT | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */ 0x13c (PIN_INPUT | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */ 0x138 (PIN_INPUT | MUX_MODE2) /* mii1_rxd0.rgmii1_rd2 */ 0x134 (PIN_INPUT | MUX_MODE2) /* mii1_rxd1.rgmii1_rd3 */ /* Slave 2 */ 0x58 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */ 0x40 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */ 0x54 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */ 0x50 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */ 0x4c (PIN_OUTPUT | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */ 0x48 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */ 0x5c (PIN_INPUT | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */ 0x44 (PIN_INPUT | MUX_MODE2) /* gpmc_a1.rgmii2_rtcl */ 0x6c (PIN_INPUT | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */ 0x68 (PIN_INPUT | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */ 0x64 (PIN_INPUT | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */ 0x60 (PIN_INPUT | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */ >; }; cpsw_sleep: cpsw_sleep { pinctrl-single,pins = < /* Slave 1 reset value */ 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* Slave 2 reset value */ 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; davinci_mdio_default: davinci_mdio_default { pinctrl-single,pins = < /* MDIO */ 0x148 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ 0x14c (PIN_OUTPUT | MUX_MODE0) /* mdio_clk.mdio_clk */ >; }; davinci_mdio_sleep: davinci_mdio_sleep { pinctrl-single,pins = < /* MDIO reset value */ 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; dss_pins: dss_pins { pinctrl-single,pins = < 0x1b0 (PIN_OUTPUT | MUX_MODE2) /* cam0_hd.dss_data23 */ 0x1b4 (PIN_OUTPUT | MUX_MODE2) /* cam0_vd.dss_data22 */ 0x1b8 (PIN_OUTPUT | MUX_MODE2) /* cam0_field.dss_data21 */ 0x1bc (PIN_OUTPUT | MUX_MODE2) /* cam0_wen.dss_data20 */ 0x1c0 (PIN_OUTPUT | MUX_MODE2) /* cam0_pclk.dss_data19 */ 0x1c4 (PIN_OUTPUT | MUX_MODE2) /* cam0_data8.dss_data18 */ 0x1c8 (PIN_OUTPUT | MUX_MODE2) /* cam0_data9.dss_data17 */ 0x1cc (PIN_OUTPUT | MUX_MODE2) /* cam1_data9.dss_data16 */ 0x0a0 (PIN_OUTPUT | MUX_MODE0) /* DSS DATA 0 */ 0x0a4 (PIN_OUTPUT | MUX_MODE0) 0x0a8 (PIN_OUTPUT | MUX_MODE0) 0x0ac (PIN_OUTPUT | MUX_MODE0) 0x0b0 (PIN_OUTPUT | MUX_MODE0) 0x0b4 (PIN_OUTPUT | MUX_MODE0) 0x0b8 (PIN_OUTPUT | MUX_MODE0) 0x0bc (PIN_OUTPUT | MUX_MODE0) 0x0c0 (PIN_OUTPUT | MUX_MODE0) 0x0c4 (PIN_OUTPUT | MUX_MODE0) 0x0c8 (PIN_OUTPUT | MUX_MODE0) 0x0cc (PIN_OUTPUT | MUX_MODE0) 0x0d0 (PIN_OUTPUT | MUX_MODE0) 0x0d4 (PIN_OUTPUT | MUX_MODE0) 0x0d8 (PIN_OUTPUT | MUX_MODE0) 0x0dc (PIN_OUTPUT | MUX_MODE0) /* DSS DATA 15 */ 0x0e0 (PIN_OUTPUT | MUX_MODE0) /* DSS VSYNC */ 0x0e4 (PIN_OUTPUT | MUX_MODE0) /* DSS HSYNC */ 0x0e8 (PIN_OUTPUT | MUX_MODE0) /* DSS PCLK */ 0x0ec (PIN_OUTPUT | MUX_MODE0) /* DSS AC BIAS EN */ >; }; /* SPI_NOR Pins */ spi0_pins: spi0_pins { pinctrl-single,pins = < 0x15c (PIN_OUTPUT | MUX_MODE0) /* spi0_cs0.spi0_cs0 */ 0x150 (PIN_INPUT | MUX_MODE0) /* spi0_sclk.spi0_sclk */ 0x154 (PIN_INPUT | MUX_MODE0) /* spi0_d0.spi0_d0 */ 0x158 (PIN_OUTPUT | MUX_MODE0) /* spi0_d1.spi0_d1 */ >; }; /* SPI0 Pins */ spi2_pins: spi2_pins { pinctrl-single,pins = < 0x1d4 (PIN_OUTPUT | MUX_MODE4) /* cam1_hd.spi2_cs0 */ 0x1e0 (PIN_OUTPUT | MUX_MODE4) /* cam1_field.spi2_cs0 */ 0x1dc (PIN_INPUT | MUX_MODE4) /* cam1_pclk.spi2_sclk */ 0x1d0 (PIN_INPUT | MUX_MODE4) /* cam1_data8.spi2_d0 */ 0x1e4 (PIN_OUTPUT | MUX_MODE4) /* cam1_wen.spi2_d1 */ >; }; /* SPI1 Pins */ spi4_pins: spi4_pins { pinctrl-single,pins = < 0x25c (PIN_OUTPUT | MUX_MODE0) /* spi4_cs0.spi4_cs0 */ 0x230 (PIN_OUTPUT | MUX_MODE2) /* uart3_cstn.spi4_cs1 */ 0x250 (PIN_INPUT | MUX_MODE0) /* spi4_sclk.spi4_sclk */ 0x254 (PIN_INPUT | MUX_MODE0) /* spi4_d0.spi4_d0 */ 0x258 (PIN_OUTPUT | MUX_MODE0) /* spi4_d1.spi4_d1 */ >; }; mcasp1_pins: mcasp1_pins { pinctrl-single,pins = < 0x1a0 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcasp0_aclkr.mcasp1_aclkx */ 0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcasp0_fsr.mcasp1_fsx */ 0x1a8 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* mcasp0_axr1.mcasp1_axr0 */ 0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcasp0_ahclkx.mcasp1_axr1 */ >; }; mcasp1_sleep_pins: mcasp1_sleep_pins { pinctrl-single,pins = < 0x1a0 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE7) >; }; lcd_pins: lcd_pins { pinctrl-single,pins = < 0x09c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_be0n_cle.gpio2_5 */ >; }; debugss_pins: pinmux_debugss_pins { pinctrl-single,pins = < 0x290 (PIN_INPUT_PULLDOWN) 0x294 (PIN_INPUT_PULLDOWN) 0x298 (PIN_INPUT_PULLDOWN) 0x29C (PIN_INPUT_PULLDOWN) 0x2A0 (PIN_INPUT_PULLDOWN) 0x2A4 (PIN_INPUT_PULLDOWN) 0x2A8 (PIN_INPUT_PULLDOWN) >; }; usb1_pins: usb1_pins { pinctrl-single,pins = < 0x2c0 (PIN_OUTPUT | MUX_MODE0) /* usb0_drvvbus.usb0_drvvbus */ /* USB0 Over Current */ 0x108 (PIN_INPUT | MUX_MODE9) /* mii1_col.gpio0_0 */ >; }; usb2_pins: usb2_pins { pinctrl-single,pins = < 0x2c4 (PIN_OUTPUT | MUX_MODE0) /* usb1_drvvbus.usb1_drvvbus */ /* USB1 Over Current */ 0x078 (PIN_INPUT | MUX_MODE7) /* gpmc_be1n.gpio1_28 */ >; }; }; &i2c0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins>; clock-frequency = <100000>; }; &i2c1 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; clock-frequency = <100000>; tps@24 { compatible = "ti,tps65218"; reg = <0x24>; interrupts = ; interrupt-controller; #interrupt-cells = <2>; dcdc1: regulator-dcdc1 { compatible = "ti,tps65218-dcdc1"; /* VDD_CORE limits min of OPP50 and max of OPP100 */ regulator-name = "vdd_core"; regulator-min-microvolt = <912000>; regulator-max-microvolt = <1144000>; regulator-boot-on; regulator-always-on; }; dcdc2: regulator-dcdc2 { compatible = "ti,tps65218-dcdc2"; /* VDD_MPU limits min of OPP50 and max of OPP_NITRO */ regulator-name = "vdd_mpu"; regulator-min-microvolt = <912000>; regulator-max-microvolt = <1378000>; regulator-boot-on; regulator-always-on; }; dcdc3: regulator-dcdc3 { compatible = "ti,tps65218-dcdc3"; regulator-name = "vdds_ddr"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; regulator-boot-on; regulator-always-on; regulator-state-mem { regulator-on-in-suspend; }; regulator-state-disk { regulator-off-in-suspend; }; }; dcdc4: regulator-dcdc4 { compatible = "ti,tps65218-dcdc4"; regulator-name = "v3_3d"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; dcdc5: regulator-dcdc5 { compatible = "ti,tps65218-dcdc5"; regulator-name = "v1_0bat"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-boot-on; regulator-always-on; regulator-state-mem { regulator-on-in-suspend; }; }; dcdc6: regulator-dcdc6 { compatible = "ti,tps65218-dcdc6"; regulator-name = "v1_8bat"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; regulator-state-mem { regulator-on-in-suspend; }; }; ldo1: regulator-ldo1 { compatible = "ti,tps65218-ldo1"; regulator-name = "v1_8d"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; power-button { compatible = "ti,tps65218-pwrbutton"; status = "okay"; interrupts = <3 IRQ_TYPE_EDGE_BOTH>; }; }; s35390a: s35390a@30 { compatible = "s35390a"; reg = <0x30>; }; at24@50 { compatible = "at24,24c256"; reg = <0x50>; }; at24@57 { compatible = "at24,24c256"; reg = <0x57>; }; /* For TI TLV320AIC3106 Audio Codec */ /*tlv320aic3106: tlv320aic3106@1b { #sound-dai-cells = <0>; compatible = "ti,tlv320aic3106"; reg = <0x1b>; status = "okay"; AVDD-supply = <&dcdc4>; IOVDD-supply = <&dcdc6>; DRVDD-supply = <&dcdc4>; DVDD-supply = <&ldo1>; };*/ /* For Freescale SGTL5000 Audio Codec */ sgtl5000: sgtl5000@0a { #sound-dai-cells = <0>; compatible = "fsl,sgtl5000"; reg = <0x0a>; clocks = <&audio_mstrclk>; VDDA-supply = <&dcdc4>; VDDIO-supply = <&dcdc6>; VDDD-supply = <&ldo1>; }; }; &i2c2 { status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins>; clock-frequency = <100000>; /* CH7055A Parallel LCD to VGA D-SUB 15 way */ eeprom@76 { compatible = "at,24c256"; reg = <0x76>; }; }; &epwmss0 { status = "okay"; ehrpwm@48300200 { status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&ehrpwm0b_pins>; }; }; &gpio0 { status = "okay"; }; &gpio1 { status = "okay"; }; &gpio2 { status = "okay"; }; &gpio3 { status = "okay"; }; &gpio4 { status = "okay"; }; &gpio5 { status = "okay"; }; &mmc1 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; vmmc-supply = <&dcdc4>; bus-width = <4>; cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; }; &mmc2 { pinctrl-names = "default"; pinctrl-0 = <&emmc_pins>; bus-width = <8>; vmmc-supply = <&vmmcwl_fixed>; status = "okay"; ti,non-removable; }; /*If carrier board eMMC (or 2nd SD slot) is present and used, un-comment out the following nodes. SD card will be emulated /dev/mmcblk2 instead of /dev/mmcblk1*/ &mmc3 { status = "disabled"; dmas = <&edma 30 &edma 31>; dma-names = "tx", "rx"; vmmc-supply = <&vmmcwl_fixed>; bus-width = <8>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_pins>; keep-power-in-suspend; ti,non-removable; }; &edma { ti,edma-xbar-event-map = /bits/ 16 <1 30 2 31>; }; /* Four-Wire Resistive Touch */ &tscadc { status = "disabled"; tsc { ti,wires = <4>; ti,x-plate-resistance = <200>; ti,coordinate-readouts = <5>; ti,wire-config = <0x00 0x11 0x22 0x33>; ti,charge-delay = <0xB000>; }; adc { ti,adc-channels = <0 1 2 3>; }; }; &usb2_phy1 { status = "okay"; }; &usb1 { dr_mode = "host"; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&usb1_pins>; }; &usb2_phy2 { status = "okay"; }; &usb2 { dr_mode = "host"; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&usb2_pins>; }; &spi0 { ti,spi-num-cs = <1>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&spi0_pins>; dmas = <&edma 16 &edma 17>; dma-names = "tx0", "rx0"; flash: mx25u3235f@0 { #address-cells = <1>; #size-cells = <1>; compatible = "jedec,spi-nor"; spi-max-frequency = <24000000>; reg = <0>; /* MTD partition table. * The ROM checks the first 512KiB * for a valid file to boot(XIP). */ partition@0 { label = "U-Boot"; reg = <0x0 0x100000>; }; partition@100000 { label = "U-Boot Environment"; reg = <0x100000 0x080000>; }; partition@180000 { label = "Flattened Device Tree"; reg = <0x180000 0x200000>; }; }; }; &spi2 { ti,spi-num-cs = <2>; status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&spi2_pins>; dmas = <&edma 18 &edma 19 &edma 20 &edma 21>; dma-names = "tx0", "rx0", "tx1", "rx1"; spidev1: spidev@0 { #address-cells = <1>; #size-cells = <0>; compatible = "spidev"; reg = <0>; spi-max-frequency = <24000000>; }; spidev2: spidev@1 { #address-cells = <1>; #size-cells = <0>; compatible = "spidev"; reg = <1>; spi-max-frequency = <24000000>; }; }; &spi4 { ti,spi-num-cs = <2>; status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&spi4_pins>; dmas = <&edma 26 &edma 27 &edma 28 &edma 29>; dma-names = "tx0", "rx0", "tx1", "rx1"; spidev3: spidev@0 { #address-cells = <1>; #size-cells = <0>; compatible = "spidev"; reg = <0>; spi-max-frequency = <24000000>; }; spidev4: spidev@1 { #address-cells = <1>; #size-cells = <0>; compatible = "spidev"; reg = <1>; spi-max-frequency = <24000000>; }; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins>; pinctrl-1 = <&uart0_pins_sleep>; status = "okay"; }; &uart3 { pinctrl-names = "default"; pinctrl-0 = <&uart3_pins>; pinctrl-1 = <&uart3_pins_sleep>; status = "okay"; }; &uart2 { pinctrl-names = "default"; pinctrl-0 = <&uart2_pins>; pinctrl-1 = <&uart2_pins_sleep>; status = "okay"; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&uart4_pins>; pinctrl-1 = <&uart4_pins_sleep>; status = "okay"; }; &dcan0 { pinctrl-names = "default"; pinctrl-0 = <&dcan0_default>; status = "disabled"; }; &dcan1 { pinctrl-names = "default"; pinctrl-0 = <&dcan1_default>; status = "disabled"; }; &mac { 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"; }; &cpsw_emac0 { phy_id = <&davinci_mdio>, <6>; phy-mode = "rgmii"; dual_emac_res_vlan = <1>; }; &cpsw_emac1 { phy_id = <&davinci_mdio>, <7>; phy-mode = "rgmii"; dual_emac_res_vlan = <2>; }; &elm { status = "okay"; }; &mcasp1 { #sound-dai-cells = <0>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&mcasp1_pins>; pinctrl-1 = <&mcasp1_sleep_pins>; status = "disabled"; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <2>; /* 4 serializers */ serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 1 2 0 0 >; tx-num-evt = <1>; rx-num-evt = <1>; }; &dss { status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&dss_pins>; port { dpi_out: endpoint@0 { remote-endpoint = <&lcd_in>; data-lines = <24>; }; }; }; &rtc { status = "disabled"; /* Use Seiko S35390A on Module instead */ ext-clk-src; }; &wdt { status = "okay"; }; &cpu { cpu0-supply = <&dcdc2>; };