Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com/
0004  */
0005 
0006 /* AM437x SK EVM */
0007 
0008 /dts-v1/;
0009 
0010 #include "am4372.dtsi"
0011 #include <dt-bindings/pinctrl/am43xx.h>
0012 #include <dt-bindings/pwm/pwm.h>
0013 #include <dt-bindings/gpio/gpio.h>
0014 #include <dt-bindings/input/input.h>
0015 #include <dt-bindings/interrupt-controller/irq.h>
0016 
0017 / {
0018         model = "TI AM437x SK EVM";
0019         compatible = "ti,am437x-sk-evm","ti,am4372","ti,am43";
0020 
0021         aliases {
0022                 display0 = &lcd0;
0023         };
0024 
0025         chosen {
0026                 stdout-path = &uart0;
0027         };
0028 
0029         /* fixed 32k external oscillator clock */
0030         clk_32k_rtc: clk_32k_rtc {
0031                 #clock-cells = <0>;
0032                 compatible = "fixed-clock";
0033                 clock-frequency = <32768>;
0034         };
0035 
0036         lcd_bl: backlight {
0037                 compatible = "pwm-backlight";
0038                 pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
0039                 brightness-levels = <0 51 53 56 62 75 101 152 255>;
0040                 default-brightness-level = <8>;
0041         };
0042 
0043         sound {
0044                 compatible = "simple-audio-card";
0045                 simple-audio-card,name = "AM437x-SK-EVM";
0046                 simple-audio-card,widgets =
0047                         "Headphone", "Headphone Jack",
0048                         "Line", "Line In";
0049                 simple-audio-card,routing =
0050                         "Headphone Jack",       "HPLOUT",
0051                         "Headphone Jack",       "HPROUT",
0052                         "LINE1L",               "Line In",
0053                         "LINE1R",               "Line In";
0054                 simple-audio-card,format = "dsp_b";
0055                 simple-audio-card,bitclock-master = <&sound_master>;
0056                 simple-audio-card,frame-master = <&sound_master>;
0057                 simple-audio-card,bitclock-inversion;
0058 
0059                 simple-audio-card,cpu {
0060                         sound-dai = <&mcasp1>;
0061                 };
0062 
0063                 sound_master: simple-audio-card,codec {
0064                         sound-dai = <&tlv320aic3106>;
0065                         system-clock-frequency = <24000000>;
0066                 };
0067         };
0068 
0069         matrix_keypad: matrix_keypad0 {
0070                 compatible = "gpio-matrix-keypad";
0071 
0072                 pinctrl-names = "default";
0073                 pinctrl-0 = <&matrix_keypad_pins>;
0074 
0075                 debounce-delay-ms = <5>;
0076                 col-scan-delay-us = <5>;
0077 
0078                 row-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH          /* Bank5, pin5 */
0079                                 &gpio5 6 GPIO_ACTIVE_HIGH>;     /* Bank5, pin6 */
0080 
0081                 col-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH         /* Bank5, pin13 */
0082                                 &gpio5 4 GPIO_ACTIVE_HIGH>;     /* Bank5, pin4 */
0083 
0084                 linux,keymap = <
0085                                 MATRIX_KEY(0, 0, KEY_DOWN)
0086                                 MATRIX_KEY(0, 1, KEY_RIGHT)
0087                                 MATRIX_KEY(1, 0, KEY_LEFT)
0088                                 MATRIX_KEY(1, 1, KEY_UP)
0089                         >;
0090         };
0091 
0092         leds {
0093                 compatible = "gpio-leds";
0094 
0095                 pinctrl-names = "default";
0096                 pinctrl-0 = <&leds_pins>;
0097 
0098                 led0 {
0099                         label = "am437x-sk:red:heartbeat";
0100                         gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;    /* Bank 5, pin 0 */
0101                         linux,default-trigger = "heartbeat";
0102                         default-state = "off";
0103                 };
0104 
0105                 led1 {
0106                         label = "am437x-sk:green:mmc1";
0107                         gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;    /* Bank 5, pin 1 */
0108                         linux,default-trigger = "mmc0";
0109                         default-state = "off";
0110                 };
0111 
0112                 led2 {
0113                         label = "am437x-sk:blue:cpu0";
0114                         gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;    /* Bank 5, pin 2 */
0115                         linux,default-trigger = "cpu0";
0116                         default-state = "off";
0117                 };
0118 
0119                 led3 {
0120                         label = "am437x-sk:blue:usr3";
0121                         gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>;    /* Bank 5, pin 3 */
0122                         default-state = "off";
0123                 };
0124         };
0125 
0126         lcd0: display {
0127                 compatible = "newhaven,nhd-4.3-480272ef-atxl", "panel-dpi";
0128                 label = "lcd";
0129 
0130                 pinctrl-names = "default";
0131                 pinctrl-0 = <&lcd_pins>;
0132 
0133                 backlight = <&lcd_bl>;
0134 
0135                 enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
0136 
0137                 port {
0138                         lcd_in: endpoint {
0139                                 remote-endpoint = <&dpi_out>;
0140                         };
0141                 };
0142         };
0143 
0144         vmmcwl_fixed: fixedregulator-mmcwl {
0145                 /*
0146                  * WL_EN is not SDIO standard compliant. It is an out of band
0147                  * signal and hard to be dealt with in a standard way by the
0148                  * SDIO core driver.
0149                  * So modelling the WL_EN line as a regulator was a natural
0150                  * choice as the MMC core already deals with MMC supplies.
0151                  */
0152                 compatible = "regulator-fixed";
0153                 regulator-name = "vmmcwl_fixed";
0154                 regulator-min-microvolt = <1800000>;
0155                 regulator-max-microvolt = <1800000>;
0156                 gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>;
0157                 enable-active-high;
0158         };
0159 };
0160 
0161 &am43xx_pinmux {
0162         matrix_keypad_pins: matrix_keypad_pins {
0163                 pinctrl-single,pins = <
0164                         AM4372_IOPAD(0xa4c, PIN_OUTPUT | MUX_MODE7)     /* gpio5_13.gpio5_13 */
0165                         AM4372_IOPAD(0xa50, PIN_OUTPUT | MUX_MODE7)     /* spi4_sclk.gpio5_4 */
0166                         AM4372_IOPAD(0xa54, PIN_INPUT | MUX_MODE7)      /* spi4_d0.gpio5_5 */
0167                         AM4372_IOPAD(0xa58, PIN_INPUT | MUX_MODE7)      /* spi4_d1.gpio5_5 */
0168                 >;
0169         };
0170 
0171         leds_pins: leds_pins {
0172                 pinctrl-single,pins = <
0173                         AM4372_IOPAD(0xa28, PIN_OUTPUT | MUX_MODE7)     /* uart3_rxd.gpio5_2 */
0174                         AM4372_IOPAD(0xa2c, PIN_OUTPUT | MUX_MODE7)     /* uart3_txd.gpio5_3 */
0175                         AM4372_IOPAD(0xa30, PIN_OUTPUT | MUX_MODE7)     /* uart3_ctsn.gpio5_0 */
0176                         AM4372_IOPAD(0xa34, PIN_OUTPUT | MUX_MODE7)     /* uart3_rtsn.gpio5_1 */
0177                 >;
0178         };
0179 
0180         i2c0_pins: i2c0_pins {
0181                 pinctrl-single,pins = <
0182                         AM4372_IOPAD(0x988, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0)  /* i2c0_sda.i2c0_sda */
0183                         AM4372_IOPAD(0x98c, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0)  /* i2c0_scl.i2c0_scl */
0184                 >;
0185         };
0186 
0187         i2c1_pins: i2c1_pins {
0188                 pinctrl-single,pins = <
0189                         AM4372_IOPAD(0x95c, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2)  /* spi0_cs0.i2c1_scl */
0190                         AM4372_IOPAD(0x958, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2)  /* spi0_d1.i2c1_sda  */
0191                 >;
0192         };
0193 
0194         mmc1_pins: pinmux_mmc1_pins {
0195                 pinctrl-single,pins = <
0196                         AM4372_IOPAD(0x8f0, PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
0197                         AM4372_IOPAD(0x8f4, PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
0198                         AM4372_IOPAD(0x8f8, PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
0199                         AM4372_IOPAD(0x8fc, PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
0200                         AM4372_IOPAD(0x900, PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
0201                         AM4372_IOPAD(0x904, PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
0202                         AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
0203                 >;
0204         };
0205 
0206         ecap0_pins: backlight_pins {
0207                 pinctrl-single,pins = <
0208                         AM4372_IOPAD(0x964, PIN_OUTPUT | MUX_MODE0) /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
0209                 >;
0210         };
0211 
0212         edt_ft5306_ts_pins: edt_ft5306_ts_pins {
0213                 pinctrl-single,pins = <
0214                         AM4372_IOPAD(0x874, PIN_INPUT | MUX_MODE7)      /* gpmc_wpn.gpio0_31 */
0215                         AM4372_IOPAD(0x878, PIN_OUTPUT | MUX_MODE7)     /* gpmc_be1n.gpio1_28 */
0216                 >;
0217         };
0218 
0219         vpfe0_pins_default: vpfe0_pins_default {
0220                 pinctrl-single,pins = <
0221                         AM4372_IOPAD(0x9b0, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_hd mode 0*/
0222                         AM4372_IOPAD(0x9b4, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_vd mode 0*/
0223                         AM4372_IOPAD(0x9b8, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_field mode 0*/
0224                         AM4372_IOPAD(0x9bc, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_wen mode 0*/
0225                         AM4372_IOPAD(0x9c0, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_pclk mode 0*/
0226                         AM4372_IOPAD(0x9c4, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data8 mode 0*/
0227                         AM4372_IOPAD(0x9c8, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data9 mode 0*/
0228                         AM4372_IOPAD(0xa08, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data0 mode 0*/
0229                         AM4372_IOPAD(0xa0c, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data1 mode 0*/
0230                         AM4372_IOPAD(0xa10, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data2 mode 0*/
0231                         AM4372_IOPAD(0xa14, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data3 mode 0*/
0232                         AM4372_IOPAD(0xa18, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data4 mode 0*/
0233                         AM4372_IOPAD(0xa1c, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data5 mode 0*/
0234                         AM4372_IOPAD(0xa20, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data6 mode 0*/
0235                         AM4372_IOPAD(0xa24, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam0_data7 mode 0*/
0236                 >;
0237         };
0238 
0239         vpfe0_pins_sleep: vpfe0_pins_sleep {
0240                 pinctrl-single,pins = <
0241                         AM4372_IOPAD(0x9b0, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0242                         AM4372_IOPAD(0x9b4, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0243                         AM4372_IOPAD(0x9b8, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0244                         AM4372_IOPAD(0x9bc, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0245                         AM4372_IOPAD(0x9c0, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0246                         AM4372_IOPAD(0x9c4, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0247                         AM4372_IOPAD(0x9c8, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0248                         AM4372_IOPAD(0xa08, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0249                         AM4372_IOPAD(0xa0c, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0250                         AM4372_IOPAD(0xa10, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0251                         AM4372_IOPAD(0xa14, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0252                         AM4372_IOPAD(0xa18, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0253                         AM4372_IOPAD(0xa1c, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0254                         AM4372_IOPAD(0xa20, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0255                         AM4372_IOPAD(0xa24, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
0256                 >;
0257         };
0258 
0259         clkout1_pin: pinmux_clkout1_pin {
0260                 pinctrl-single,pins = <
0261                         0x270 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* XDMA_EVENT_INTR0/CLKOUT1 */
0262                 >;
0263         };
0264 
0265         cpsw_default: cpsw_default {
0266                 pinctrl-single,pins = <
0267                         /* Slave 1 */
0268                         AM4372_IOPAD(0x92c, PIN_OUTPUT | MUX_MODE2)     /* mii1_txclk.rmii1_tclk */
0269                         AM4372_IOPAD(0x914, PIN_OUTPUT | MUX_MODE2)     /* mii1_txen.rgmii1_tctl */
0270                         AM4372_IOPAD(0x928, PIN_OUTPUT | MUX_MODE2)     /* mii1_txd0.rgmii1_td0 */
0271                         AM4372_IOPAD(0x924, PIN_OUTPUT | MUX_MODE2)     /* mii1_txd1.rgmii1_td1 */
0272                         AM4372_IOPAD(0x920, PIN_OUTPUT | MUX_MODE2)     /* mii1_txd0.rgmii1_td2 */
0273                         AM4372_IOPAD(0x91c, PIN_OUTPUT | MUX_MODE2)     /* mii1_txd1.rgmii1_td3 */
0274                         AM4372_IOPAD(0x930, PIN_INPUT | MUX_MODE2)      /* mii1_rxclk.rmii1_rclk */
0275                         AM4372_IOPAD(0x918, PIN_INPUT | MUX_MODE2)      /* mii1_rxdv.rgmii1_rctl */
0276                         AM4372_IOPAD(0x940, PIN_INPUT | MUX_MODE2)      /* mii1_rxd0.rgmii1_rd0 */
0277                         AM4372_IOPAD(0x93c, PIN_INPUT | MUX_MODE2)      /* mii1_rxd1.rgmii1_rd1 */
0278                         AM4372_IOPAD(0x938, PIN_INPUT | MUX_MODE2)      /* mii1_rxd0.rgmii1_rd2 */
0279                         AM4372_IOPAD(0x934, PIN_INPUT | MUX_MODE2)      /* mii1_rxd1.rgmii1_rd3 */
0280 
0281                         /* Slave 2 */
0282                         AM4372_IOPAD(0x858, PIN_OUTPUT | MUX_MODE2)     /* gpmc_a6.rgmii2_tclk */
0283                         AM4372_IOPAD(0x840, PIN_OUTPUT | MUX_MODE2)     /* gpmc_a0.rgmii2_tctl */
0284                         AM4372_IOPAD(0x854, PIN_OUTPUT | MUX_MODE2)     /* gpmc_a5.rgmii2_td0 */
0285                         AM4372_IOPAD(0x850, PIN_OUTPUT | MUX_MODE2)     /* gpmc_a4.rgmii2_td1 */
0286                         AM4372_IOPAD(0x84c, PIN_OUTPUT | MUX_MODE2)     /* gpmc_a3.rgmii2_td2 */
0287                         AM4372_IOPAD(0x848, PIN_OUTPUT | MUX_MODE2)     /* gpmc_a2.rgmii2_td3 */
0288                         AM4372_IOPAD(0x85c, PIN_INPUT | MUX_MODE2)      /* gpmc_a7.rgmii2_rclk */
0289                         AM4372_IOPAD(0x844, PIN_INPUT | MUX_MODE2)      /* gpmc_a1.rgmii2_rtcl */
0290                         AM4372_IOPAD(0x86c, PIN_INPUT | MUX_MODE2)      /* gpmc_a11.rgmii2_rd0 */
0291                         AM4372_IOPAD(0x868, PIN_INPUT | MUX_MODE2)      /* gpmc_a10.rgmii2_rd1 */
0292                         AM4372_IOPAD(0x864, PIN_INPUT | MUX_MODE2)      /* gpmc_a9.rgmii2_rd2 */
0293                         AM4372_IOPAD(0x860, PIN_INPUT | MUX_MODE2)      /* gpmc_a8.rgmii2_rd3 */
0294                 >;
0295         };
0296 
0297         cpsw_sleep: cpsw_sleep {
0298                 pinctrl-single,pins = <
0299                         /* Slave 1 reset value */
0300                         AM4372_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7)
0301                         AM4372_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
0302                         AM4372_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
0303                         AM4372_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
0304                         AM4372_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7)
0305                         AM4372_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7)
0306                         AM4372_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7)
0307                         AM4372_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
0308                         AM4372_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
0309                         AM4372_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
0310                         AM4372_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7)
0311                         AM4372_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7)
0312 
0313                         /* Slave 2 reset value */
0314                         AM4372_IOPAD(0x858, PIN_INPUT_PULLDOWN | MUX_MODE7)
0315                         AM4372_IOPAD(0x840, PIN_INPUT_PULLDOWN | MUX_MODE7)
0316                         AM4372_IOPAD(0x854, PIN_INPUT_PULLDOWN | MUX_MODE7)
0317                         AM4372_IOPAD(0x850, PIN_INPUT_PULLDOWN | MUX_MODE7)
0318                         AM4372_IOPAD(0x84c, PIN_INPUT_PULLDOWN | MUX_MODE7)
0319                         AM4372_IOPAD(0x848, PIN_INPUT_PULLDOWN | MUX_MODE7)
0320                         AM4372_IOPAD(0x85c, PIN_INPUT_PULLDOWN | MUX_MODE7)
0321                         AM4372_IOPAD(0x844, PIN_INPUT_PULLDOWN | MUX_MODE7)
0322                         AM4372_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE7)
0323                         AM4372_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE7)
0324                         AM4372_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE7)
0325                         AM4372_IOPAD(0x860, PIN_INPUT_PULLDOWN | MUX_MODE7)
0326                 >;
0327         };
0328 
0329         davinci_mdio_default: davinci_mdio_default {
0330                 pinctrl-single,pins = <
0331                         /* MDIO */
0332                         AM4372_IOPAD(0x948, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0)      /* mdio_data.mdio_data */
0333                         AM4372_IOPAD(0x94c, PIN_OUTPUT | MUX_MODE0)                     /* mdio_clk.mdio_clk */
0334                 >;
0335         };
0336 
0337         davinci_mdio_sleep: davinci_mdio_sleep {
0338                 pinctrl-single,pins = <
0339                         /* MDIO reset value */
0340                         AM4372_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
0341                         AM4372_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
0342                 >;
0343         };
0344 
0345         dss_pins: dss_pins {
0346                 pinctrl-single,pins = <
0347                         AM4372_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1)     /* gpmc ad 8 -> DSS DATA 23 */
0348                         AM4372_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1)
0349                         AM4372_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1)
0350                         AM4372_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1)
0351                         AM4372_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1)
0352                         AM4372_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1)
0353                         AM4372_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1)
0354                         AM4372_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1)     /* gpmc ad 15 -> DSS DATA 16 */
0355                         AM4372_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0)     /* DSS DATA 0 */
0356                         AM4372_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0)
0357                         AM4372_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0)
0358                         AM4372_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0)
0359                         AM4372_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0)
0360                         AM4372_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0)
0361                         AM4372_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0)
0362                         AM4372_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0)
0363                         AM4372_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0)
0364                         AM4372_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0)
0365                         AM4372_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0)
0366                         AM4372_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0)
0367                         AM4372_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0)
0368                         AM4372_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0)
0369                         AM4372_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0)
0370                         AM4372_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0)     /* DSS DATA 15 */
0371                         AM4372_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0)     /* DSS VSYNC */
0372                         AM4372_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0)     /* DSS HSYNC */
0373                         AM4372_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0)     /* DSS PCLK */
0374                         AM4372_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0)     /* DSS AC BIAS EN */
0375 
0376                 >;
0377         };
0378 
0379         qspi_pins: qspi_pins {
0380                 pinctrl-single,pins = <
0381                         AM4372_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE3)     /* gpmc_csn0.qspi_csn */
0382                         AM4372_IOPAD(0x888, PIN_OUTPUT | MUX_MODE2)     /* gpmc_csn3.qspi_clk */
0383                         AM4372_IOPAD(0x890, PIN_INPUT | MUX_MODE3)      /* gpmc_advn_ale.qspi_d0 */
0384                         AM4372_IOPAD(0x894, PIN_INPUT | MUX_MODE3)      /* gpmc_oen_ren.qspi_d1 */
0385                         AM4372_IOPAD(0x898, PIN_INPUT | MUX_MODE3)      /* gpmc_wen.qspi_d2 */
0386                         AM4372_IOPAD(0x89c, PIN_INPUT | MUX_MODE3)      /* gpmc_be0n_cle.qspi_d3 */
0387                 >;
0388         };
0389 
0390         mcasp1_pins: mcasp1_pins {
0391                 pinctrl-single,pins = <
0392                         AM4372_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE4)     /* mii1_crs.mcasp1_aclkx */
0393                         AM4372_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE4)     /* mii1_rxerr.mcasp1_fsx */
0394                         AM4372_IOPAD(0x908, PIN_OUTPUT_PULLDOWN | MUX_MODE4)    /* mii1_col.mcasp1_axr2 */
0395                         AM4372_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE4)     /* rmii1_ref_clk.mcasp1_axr3 */
0396                 >;
0397         };
0398 
0399         mcasp1_pins_sleep: mcasp1_pins_sleep {
0400                 pinctrl-single,pins = <
0401                         AM4372_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7)
0402                         AM4372_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
0403                         AM4372_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7)
0404                         AM4372_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
0405                 >;
0406         };
0407 
0408         lcd_pins: lcd_pins {
0409                 pinctrl-single,pins = <
0410                         AM4372_IOPAD(0x81c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpcm_ad7.gpio1_7 */
0411                 >;
0412         };
0413 
0414         usb1_pins: usb1_pins {
0415                 pinctrl-single,pins = <
0416                         AM4372_IOPAD(0xac0, PIN_OUTPUT | MUX_MODE0) /* usb0_drvvbus.usb0_drvvbus */
0417                 >;
0418         };
0419 
0420         usb2_pins: usb2_pins {
0421                 pinctrl-single,pins = <
0422                         AM4372_IOPAD(0xac4, PIN_OUTPUT | MUX_MODE0) /* usb0_drvvbus.usb0_drvvbus */
0423                 >;
0424         };
0425 
0426         mmc3_pins_default: pinmux_mmc3_pins_default {
0427                 pinctrl-single,pins = <
0428                         AM4372_IOPAD(0x9f0, PIN_INPUT_PULLUP | MUX_MODE3) /* (AD21) cam1_data2.mmc2_clk */
0429                         AM4372_IOPAD(0x9f4, PIN_INPUT_PULLUP | MUX_MODE3) /* (AE22) cam1_data3.mmc2_cmd */
0430                         AM4372_IOPAD(0x9f8, PIN_INPUT_PULLUP | MUX_MODE3) /* (AD22) cam1_data4.mmc2_dat0 */
0431                         AM4372_IOPAD(0x9fc, PIN_INPUT_PULLUP | MUX_MODE3) /* (AE23) cam1_data5.mmc2_dat1 */
0432                         AM4372_IOPAD(0xa00, PIN_INPUT_PULLUP | MUX_MODE3) /* (AD23) cam1_data6.mmc2_dat2 */
0433                         AM4372_IOPAD(0xa04, PIN_INPUT_PULLUP | MUX_MODE3) /* (AE24) cam1_data7.mmc2_dat3 */
0434                 >;
0435         };
0436 
0437         mmc3_pins_sleep: pinmux_mmc3_pins_sleep {
0438                 pinctrl-single,pins = <
0439                         AM4372_IOPAD(0x9f0, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (AD21) cam1_data2.mmc2_clk */
0440                         AM4372_IOPAD(0x9f4, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (AE22) cam1_data3.mmc2_cmd */
0441                         AM4372_IOPAD(0x9f8, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (AD22) cam1_data4.mmc2_dat0 */
0442                         AM4372_IOPAD(0x9fc, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (AE23) cam1_data5.mmc2_dat1 */
0443                         AM4372_IOPAD(0xa00, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (AD23) cam1_data6.mmc2_dat2 */
0444                         AM4372_IOPAD(0xa04, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (AE24) cam1_data7.mmc2_dat3 */
0445                 >;
0446         };
0447 
0448         wlan_pins_default: pinmux_wlan_pins_default {
0449                 pinctrl-single,pins = <
0450                         AM4372_IOPAD(0x9d0, PIN_OUTPUT_PULLDOWN | MUX_MODE7)            /* cam1_data8.gpio4_8 WL_EN */
0451                         AM4372_IOPAD(0x9e4, PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7)      /* cam1_wen.gpio4_13 WL_IRQ */
0452                 >;
0453         };
0454 
0455         wlan_pins_sleep: pinmux_wlan_pins_sleep {
0456                 pinctrl-single,pins = <
0457                         AM4372_IOPAD(0x9d0, PIN_OUTPUT_PULLDOWN | MUX_MODE7)            /* cam1_data8.gpio4_8 WL_EN */
0458                         AM4372_IOPAD(0x9e4, PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7)      /* cam1_wen.gpio4_13 WL_IRQ */
0459                 >;
0460         };
0461 
0462         uart1_bt_pins_default: pinmux_uart1_bt_pins_default {
0463                 pinctrl-single,pins = <
0464                         AM4372_IOPAD(0x980, PIN_INPUT | MUX_MODE0)              /* uart1_rxd.uart1_rxd */
0465                         AM4372_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0)    /* uart1_txd.uart1_txd */
0466                         AM4372_IOPAD(0x978, PIN_INPUT_PULLUP | MUX_MODE0)       /* uart1_ctsn.uart1_ctsn */
0467                         AM4372_IOPAD(0x97c, PIN_OUTPUT_PULLDOWN | MUX_MODE0)    /* uart1_rtsn.uart1_rtsn */
0468                         AM4372_IOPAD(0x9cc, PIN_OUTPUT_PULLDOWN | MUX_MODE7)    /* cam1_data9.gpio4_7 BT_EN */
0469                 >;
0470         };
0471 
0472         uart1_bt_pins_sleep: pinmux_uart1_bt_pins_sleep {
0473                 pinctrl-single,pins = <
0474                         AM4372_IOPAD(0x980, PIN_OUTPUT_PULLDOWN | MUX_MODE7)    /* uart1_rxd.uart1_rxd */
0475                         AM4372_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE7)    /* uart1_txd.uart1_txd */
0476                         AM4372_IOPAD(0x978, PIN_OUTPUT_PULLDOWN | MUX_MODE7)    /* uart1_ctsn.uart1_ctsn */
0477                         AM4372_IOPAD(0x97c, PIN_OUTPUT_PULLDOWN | MUX_MODE7)    /* uart1_rtsn.uart1_rtsn */
0478                         AM4372_IOPAD(0x9cc, PIN_OUTPUT_PULLUP | MUX_MODE7)      /* cam1_data9.gpio4_7 BT_EN */
0479                 >;
0480         };
0481 };
0482 
0483 &i2c0 {
0484         status = "okay";
0485         pinctrl-names = "default";
0486         pinctrl-0 = <&i2c0_pins>;
0487         clock-frequency = <100000>;
0488 
0489         tps@24 {
0490                 compatible = "ti,tps65218";
0491                 reg = <0x24>;
0492                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
0493                 interrupt-controller;
0494                 #interrupt-cells = <2>;
0495 
0496                 dcdc1: regulator-dcdc1 {
0497                         /* VDD_CORE limits min of OPP50 and max of OPP100 */
0498                         regulator-name = "vdd_core";
0499                         regulator-min-microvolt = <912000>;
0500                         regulator-max-microvolt = <1144000>;
0501                         regulator-boot-on;
0502                         regulator-always-on;
0503                 };
0504 
0505                 dcdc2: regulator-dcdc2 {
0506                         /* VDD_MPU limits min of OPP50 and max of OPP_NITRO */
0507                         regulator-name = "vdd_mpu";
0508                         regulator-min-microvolt = <912000>;
0509                         regulator-max-microvolt = <1378000>;
0510                         regulator-boot-on;
0511                         regulator-always-on;
0512                 };
0513 
0514                 dcdc3: regulator-dcdc3 {
0515                         regulator-name = "vdds_ddr";
0516                         regulator-boot-on;
0517                         regulator-always-on;
0518                         regulator-state-mem {
0519                                 regulator-on-in-suspend;
0520                         };
0521                         regulator-state-disk {
0522                                 regulator-off-in-suspend;
0523                         };
0524                 };
0525 
0526                 dcdc4: regulator-dcdc4 {
0527                         regulator-name = "v3_3d";
0528                         regulator-min-microvolt = <3300000>;
0529                         regulator-max-microvolt = <3300000>;
0530                         regulator-boot-on;
0531                         regulator-always-on;
0532                 };
0533 
0534                 dcdc5: regulator-dcdc5 {
0535                         compatible = "ti,tps65218-dcdc5";
0536                         regulator-name = "v1_0bat";
0537                         regulator-min-microvolt = <1000000>;
0538                         regulator-max-microvolt = <1000000>;
0539                         regulator-boot-on;
0540                         regulator-always-on;
0541                         regulator-state-mem {
0542                                 regulator-on-in-suspend;
0543                         };
0544                 };
0545 
0546                 dcdc6: regulator-dcdc6 {
0547                         compatible = "ti,tps65218-dcdc6";
0548                         regulator-name = "v1_8bat";
0549                         regulator-min-microvolt = <1800000>;
0550                         regulator-max-microvolt = <1800000>;
0551                         regulator-boot-on;
0552                         regulator-always-on;
0553                         regulator-state-mem {
0554                                 regulator-on-in-suspend;
0555                         };
0556                 };
0557 
0558                 ldo1: regulator-ldo1 {
0559                         regulator-name = "v1_8d";
0560                         regulator-min-microvolt = <1800000>;
0561                         regulator-max-microvolt = <1800000>;
0562                         regulator-boot-on;
0563                         regulator-always-on;
0564                 };
0565 
0566                 power-button {
0567                         compatible = "ti,tps65218-pwrbutton";
0568                         status = "okay";
0569                         interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
0570                 };
0571         };
0572 
0573         at24@50 {
0574                 compatible = "atmel,24c256";
0575                 pagesize = <64>;
0576                 reg = <0x50>;
0577         };
0578 };
0579 
0580 &i2c1 {
0581         status = "okay";
0582         pinctrl-names = "default";
0583         pinctrl-0 = <&i2c1_pins>;
0584         clock-frequency = <400000>;
0585 
0586         ov2659@30 {
0587                 compatible = "ovti,ov2659";
0588                 reg = <0x30>;
0589                 pinctrl-names = "default";
0590                 pinctrl-0 = <&clkout1_pin>;
0591 
0592                 clocks = <&clkout1_mux_ck>;
0593                 clock-names = "xvclk";
0594                 assigned-clocks = <&clkout1_mux_ck>;
0595                 assigned-clock-parents = <&clkout1_osc_div_ck>;
0596 
0597                 port {
0598                         ov2659_1: endpoint {
0599                                 remote-endpoint = <&vpfe0_ep>;
0600                                 link-frequencies = /bits/ 64 <70000000>;
0601                         };
0602                 };
0603         };
0604 
0605         edt-ft5306@38 {
0606                 status = "okay";
0607                 compatible = "edt,edt-ft5306", "edt,edt-ft5x06";
0608                 pinctrl-names = "default";
0609                 pinctrl-0 = <&edt_ft5306_ts_pins>;
0610 
0611                 reg = <0x38>;
0612                 interrupt-parent = <&gpio0>;
0613                 interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
0614 
0615                 reset-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
0616 
0617                 touchscreen-size-x = <480>;
0618                 touchscreen-size-y = <272>;
0619 
0620                 wakeup-source;
0621         };
0622 
0623         tlv320aic3106: tlv320aic3106@1b {
0624                 #sound-dai-cells = <0>;
0625                 compatible = "ti,tlv320aic3106";
0626                 reg = <0x1b>;
0627                 status = "okay";
0628 
0629                 /* Regulators */
0630                 AVDD-supply = <&dcdc4>;
0631                 IOVDD-supply = <&dcdc4>;
0632                 DRVDD-supply = <&dcdc4>;
0633                 DVDD-supply = <&ldo1>;
0634         };
0635 
0636         lis331dlh@18 {
0637                 compatible = "st,lis331dlh";
0638                 reg = <0x18>;
0639                 status = "okay";
0640 
0641                 Vdd-supply = <&dcdc4>;
0642                 Vdd_IO-supply = <&dcdc4>;
0643                 interrupts-extended = <&gpio1 6 0>, <&gpio2 1 0>;
0644         };
0645 };
0646 
0647 &epwmss0 {
0648         status = "okay";
0649 };
0650 
0651 &ecap0 {
0652         status = "okay";
0653         pinctrl-names = "default";
0654         pinctrl-0 = <&ecap0_pins>;
0655 };
0656 
0657 &gpio0 {
0658         status = "okay";
0659 };
0660 
0661 &gpio1 {
0662         status = "okay";
0663 };
0664 
0665 &gpio4 {
0666         status = "okay";
0667 };
0668 
0669 &gpio5 {
0670         status = "okay";
0671 };
0672 
0673 &mmc1 {
0674         status = "okay";
0675         pinctrl-names = "default";
0676         pinctrl-0 = <&mmc1_pins>;
0677 
0678         vmmc-supply = <&dcdc4>;
0679         bus-width = <4>;
0680         cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
0681 };
0682 
0683 &uart1 {
0684         status = "okay";
0685         pinctrl-names = "default", "sleep";
0686         pinctrl-0 = <&uart1_bt_pins_default>;
0687         pinctrl-1 = <&uart1_bt_pins_sleep>;
0688 };
0689 
0690 &mmc3 {
0691         status = "okay";
0692         /*
0693          * these are on the crossbar and are outlined in the
0694          * xbar-event-map element
0695          */
0696         dmas = <&edma_xbar 30 0 1>,
0697                 <&edma_xbar 31 0 2>;
0698         dma-names = "tx", "rx";
0699         vmmc-supply = <&vmmcwl_fixed>;
0700         bus-width = <4>;
0701         pinctrl-names = "default", "sleep";
0702         pinctrl-0 = <&mmc3_pins_default>;
0703         pinctrl-1 = <&mmc3_pins_sleep>;
0704         cap-power-off-card;
0705         keep-power-in-suspend;
0706         non-removable;
0707 
0708         #address-cells = <1>;
0709         #size-cells = <0>;
0710         wlcore: wlcore@2 {
0711                 compatible = "ti,wl1835";
0712                 pinctrl-names = "default", "sleep";
0713                 pinctrl-0 = <&wlan_pins_default>;
0714                 pinctrl-1 = <&wlan_pins_sleep>;
0715                 reg = <2>;
0716                 interrupt-parent = <&gpio4>;
0717                 interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
0718         };
0719 };
0720 
0721 &usb2_phy1 {
0722         status = "okay";
0723 };
0724 
0725 &usb1 {
0726         dr_mode = "otg";
0727         status = "okay";
0728         pinctrl-names = "default";
0729         pinctrl-0 = <&usb1_pins>;
0730 };
0731 
0732 &usb2_phy2 {
0733         status = "okay";
0734 };
0735 
0736 &usb2 {
0737         dr_mode = "host";
0738         status = "okay";
0739         pinctrl-names = "default";
0740         pinctrl-0 = <&usb2_pins>;
0741 };
0742 
0743 &qspi {
0744         status = "okay";
0745         pinctrl-names = "default";
0746         pinctrl-0 = <&qspi_pins>;
0747 
0748         spi-max-frequency = <48000000>;
0749         flash@0 {
0750                 compatible = "mx66l51235l";
0751                 spi-max-frequency = <48000000>;
0752                 reg = <0>;
0753                 spi-cpol;
0754                 spi-cpha;
0755                 spi-tx-bus-width = <1>;
0756                 spi-rx-bus-width = <4>;
0757                 #address-cells = <1>;
0758                 #size-cells = <1>;
0759 
0760                 /* MTD partition table.
0761                  * The ROM checks the first 512KiB
0762                  * for a valid file to boot(XIP).
0763                  */
0764                 partition@0 {
0765                         label = "QSPI.U_BOOT";
0766                         reg = <0x00000000 0x000080000>;
0767                 };
0768                 partition@1 {
0769                         label = "QSPI.U_BOOT.backup";
0770                         reg = <0x00080000 0x00080000>;
0771                 };
0772                 partition@2 {
0773                         label = "QSPI.U-BOOT-SPL_OS";
0774                         reg = <0x00100000 0x00010000>;
0775                 };
0776                 partition@3 {
0777                         label = "QSPI.U_BOOT_ENV";
0778                         reg = <0x00110000 0x00010000>;
0779                 };
0780                 partition@4 {
0781                         label = "QSPI.U-BOOT-ENV.backup";
0782                         reg = <0x00120000 0x00010000>;
0783                 };
0784                 partition@5 {
0785                         label = "QSPI.KERNEL";
0786                         reg = <0x00130000 0x0800000>;
0787                 };
0788                 partition@6 {
0789                         label = "QSPI.FILESYSTEM";
0790                         reg = <0x00930000 0x36D0000>;
0791                 };
0792         };
0793 };
0794 
0795 &mac_sw {
0796         pinctrl-names = "default", "sleep";
0797         pinctrl-0 = <&cpsw_default>;
0798         pinctrl-1 = <&cpsw_sleep>;
0799         status = "okay";
0800 };
0801 
0802 &davinci_mdio_sw {
0803         pinctrl-names = "default", "sleep";
0804         pinctrl-0 = <&davinci_mdio_default>;
0805         pinctrl-1 = <&davinci_mdio_sleep>;
0806 
0807         ethphy0: ethernet-phy@4 {
0808                 reg = <4>;
0809         };
0810 
0811         ethphy1: ethernet-phy@5 {
0812                 reg = <5>;
0813         };
0814 };
0815 
0816 &cpsw_port1 {
0817         phy-handle = <&ethphy0>;
0818         phy-mode = "rgmii-rxid";
0819         ti,dual-emac-pvid = <1>;
0820 };
0821 
0822 &cpsw_port2 {
0823         phy-handle = <&ethphy1>;
0824         phy-mode = "rgmii-rxid";
0825         ti,dual-emac-pvid = <2>;
0826 };
0827 
0828 &elm {
0829         status = "okay";
0830 };
0831 
0832 &mcasp1 {
0833         #sound-dai-cells = <0>;
0834         pinctrl-names = "default", "sleep";
0835         pinctrl-0 = <&mcasp1_pins>;
0836         pinctrl-1 = <&mcasp1_pins_sleep>;
0837 
0838         status = "okay";
0839 
0840         op-mode = <0>;
0841         tdm-slots = <2>;
0842         serial-dir = <
0843                 0 0 1 2
0844         >;
0845 
0846         tx-num-evt = <1>;
0847         rx-num-evt = <1>;
0848 };
0849 
0850 &dss {
0851         status = "okay";
0852 
0853         pinctrl-names = "default";
0854         pinctrl-0 = <&dss_pins>;
0855 
0856         port {
0857                 dpi_out: endpoint@0 {
0858                         remote-endpoint = <&lcd_in>;
0859                         data-lines = <24>;
0860                 };
0861         };
0862 };
0863 
0864 &rtc {
0865         clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
0866         clock-names = "ext-clk", "int-clk";
0867         status = "okay";
0868 };
0869 
0870 &wdt {
0871         status = "okay";
0872 };
0873 
0874 &cpu {
0875         cpu0-supply = <&dcdc2>;
0876 };
0877 
0878 &vpfe0 {
0879         status = "okay";
0880         pinctrl-names = "default", "sleep";
0881         pinctrl-0 = <&vpfe0_pins_default>;
0882         pinctrl-1 = <&vpfe0_pins_sleep>;
0883 
0884         /* Camera port */
0885         port {
0886                 vpfe0_ep: endpoint {
0887                         remote-endpoint = <&ov2659_1>;
0888                         ti,am437x-vpfe-interface = <0>;
0889                         bus-width = <8>;
0890                         hsync-active = <0>;
0891                         vsync-active = <0>;
0892                 };
0893         };
0894 };
0895 
0896 &wkup_m3_ipc {
0897         firmware-name = "am43x-evm-scale-data.bin";
0898 };
0899 
0900 &pruss1_mdio {
0901         status = "disabled";
0902 };