This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Can't scan any network using wl1835mod

Other Parts Discussed in Thread: WL1835MOD, AM4378, WL1835, AM4372, TLV320AIC3107, TPS65218, TVP5146M2, TPS63031

Dear ,

We made a CPU board based on AM4378(broadly based on am437x-gp-evm) with onboard wireless LAN (WL1835MOD). Now I have the following problem in Wireless LAN.

  1. If I enter “iw wlan0 scan | grep SSID “from the command line, I got the error “command failed: Network is down (-100) “
  2. If I enter “cat /proc/interrupts | grep wl18xx “from the command line, I got the message as follows

 209:   0  481ac000.gpio 21 Level wlxx

I hope that above “0” is not correct. It should be greater than “0”.  How do I achieve this?

  1. I am not able to ping my am4378 board to router. How do I achieve ping and scan SSID ?

Note : I am using Linksys wireless router with password protected.

I have added the following lines in the device tree source file,

&am43xx_pinmux {

     pinctrl-names = "default", "sleep";

     pinctrl-0 = <& wlan_irq_pins_default &ddr3_vtt_toggle_default>;

     pinctrl-1 = <& wlan_irq_pins_sleep >;

 

     ddr3_vtt_toggle_default: ddr_vtt_toggle_default {

           pinctrl-single,pins = <

                0x25C (DS0_PULL_UP_DOWN_EN | PIN_OUTPUT_PULLUP | DS0_FORCE_OFF_MODE | MUX_MODE7) /* spi0_cs0.gpio5_7 */

           >;

     };

 

mmc2_pins_default: mmc2_pins_default {

      pinctrl-single,pins = <

                  0x13c ( PIN_INPUT | MUX_MODE6 ) /* (B16) mii1_rxd1.mmc2_clk */

                  0x114 ( PIN_OUTPUT | MUX_MODE6 ) /* (A13) mii1_tx_en.mmc2_cmd */

                  0x118 ( PIN_INPUT | MUX_MODE5 ) /* (A15) mii1_rx_dv.mmc2_dat0 */

                         0x11c ( PIN_INPUT | MUX_MODE5 ) /* (C16) mii1_txd3.mmc2_dat1 *

                         0x120 ( PIN_INPUT | MUX_MODE5 ) /* (C13) mii1_txd2.mmc2_dat2 */

                         0x108 ( PIN_INPUT | MUX_MODE5 ) /* (D16) mii1_col.mmc2_dat3 */

      >;

};

/* Optional sleep pin settings. Must manually enter values in the below skeleton. */

mmc2_pins_sleep: mmc2_pins_sleep {

      pinctrl-single,pins = <

                  0x13c ( ) /* (B16) mii1_rxd1.mmc2_clk */

                  0x114 ( ) /* (A13) mii1_tx_en.mmc2_cmd */

                  0x118 ( ) /* (A15) mii1_rx_dv.mmc2_dat0 */

                  0x11c ( ) /* (C16) mii1_txd3.mmc2_dat1 */

                  0x120 ( ) /* (C13) mii1_txd2.mmc2_dat2 */

                  0x108 ( ) /* (D16) mii1_col.mmc2_dat3 */

>;

};

wlan_irq_pins_default: wlan_irq_pins_default {

            pinctrl-single,pins = <

                        0x140 ( PIN_INPUT | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */

                        0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* (L23) mcasp0_aclkr.gpio0[18] =>this line is connected to wireless & Bluetooth (wl1835) enable signal(pin no: 40&41 */

            >;

};

 

/* Optional sleep pin settings. Must manually enter values in the below skeleton. */

wlan_irq_pins_sleep: wlan_irq_pins_sleep {

            pinctrl-single,pins = <

                        0x140 ( ) /* (F17) mii1_rxd0.rgmii1_rd0 */

                        0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* (L23) mcasp0_aclkr.gpio0[18] */

 

            >;

};

 

Please clarify the below line,

     0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* (L23) mcasp0_aclkr.gpio0[18] =>this line is connected to wireless & Bluetooth (wl1835) enable signal of wl1835mod(pin no: 40&41) */

Does the above declaration is correct?

Note: If I use “PIN_OUTPUT_PULLDOWN” instead of “PIN_OUTPUT_PULLUP”, wireless module is not enabled.

 

The following things also I have done to make wireless module work.

  • I  built WL18xx module and copied the required file to file system. I referred below link to built WL18xx script.

http://processors.wiki.ti.com/index.php/WL18xx_System_Build_Scripts

  • I initialized the wireless module using “configure-device.sh” after boots”

Note : I got a message also in the kernel boot log as “mmc2: new high speed SDIO crad at address 0001” . wl1835mod is connected as “mmc2”

 

Thanking you.

 Regards,

Winiston.P

 

  • hi , can you please share output of 'ifconfig' , 'ifconfig -a' and 'lsmod'
    Saurabh
  • Dear Saurabh,
    Please see the below ouput,

    ifconfig output :
    eth0 Link encap :Ethernet HWaddr C4:BE:84:CB:1C:76
    UP BROADCAST MULTICAST MTU: 1500 Metric:1
    RX packet:0 ERRORS:0 DROPPED:0 OVERRUNS :0 FRAME :0
    TX packets:0 ERRORS:0 DROPPED:0 OVERRUNS :0 carrier:0
    collisions:0 txqueuelen:1000
    rx bytes:0 (0.0B) TX bytes:0 (0.0B)
    Interrupt :109

    Lo Link encap :local | loopback
    Inetaddr:127.0.0.1 mask:255.0.0.0
    Inet6 addr : 1%132112/128 scope:host
    UP loopback running MTU:65536 Metric:1
    RX packet:0 ERRORS:0 DROPPED:0 OVERRUNS :0 FRAME :0
    TX packets:0 ERRORS:0 DROPPED:0 OVERRUNS :0 carrier:0
    collisions:0 txqueuelen:1
    rx bytes:0 12160 (11.8kb) tx bytes :12160 (11.8kb)
    ifconfig -a output:
    can 0-00 Link encap:unspec hwaddr 00-00-00-00-00-00-00-00-00
    noaep mtu:16 metric:1
    RX packet:0 ERRORS:0 DROPPED:0 OVERRUNS :0 FRAME :0
    TX packets:0 ERRORS:0 DROPPED:0 OVERRUNS :0 carrier:0
    collisions:0 txqueuelen:10
    rx bytes:0 (0.0B) TX bytes:0 (0.0B)
    Interrupt :120
    can 1-00 Link encap:unspec hwaddr 00-00-00-00-00-00-00-00-00
    noaep mtu:16 metric:1
    RX packet:0 ERRORS:0 DROPPED:0 OVERRUNS :0 FRAME :0
    TX packets:0 ERRORS:0 DROPPED:0 OVERRUNS :0 carrier:0
    collisions:0 txqueuelen:10
    rx bytes:0 (0.0B) TX bytes:0 (0.0B)
    Interrupt :121
    eth0 Link encap :Ethernet HWaddr C4:BE:84:CB:1C:76
    UP BROADCAST MULTICAST MTU: 1500 Metric:1
    RX packet:0 ERRORS:0 DROPPED:0 OVERRUNS :0 FRAME :0
    TX packets:0 ERRORS:0 DROPPED:0 OVERRUNS :0 carrier:0
    collisions:0 txqueuelen:1000
    rx bytes:0 (0.0B) TX bytes:0 (0.0B)
    Interrupt :109

    Lo Link encap :local | loopback
    Inetaddr:127.0.0.1 mask:255.0.0.0
    Inet6 addr : 1%132112/128 scope:host
    UP loopback running MTU:65536 Metric:1
    RX packet:0 ERRORS:0 DROPPED:0 OVERRUNS :0 FRAME :0
    TX packets:0 ERRORS:0 DROPPED:0 OVERRUNS :0 carrier:0
    collisions:0 txqueuelen:1
    rx bytes:0 12160 (11.8kb) tx bytes :12160 (11.8kb)

    sit0 Link encap : IPv6-in-IPV4
    NOARP MTU:1480 Metric:
    Rx packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    Collisions:0 txqueuelen:1
    RX bytes:0 (0.0b) TX bytes:0 (0.0b)

    Wlan0 Link encap: Ethernet HWaddr 5C:31:3E:E3:A4:4F
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    Rx packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    Collisions:0 txqueuelen:1000
    RX bytes:0 (0.0b) TX bytes:0 (0.0b)
    lsmod output:
    module size used by
    pruss_intc 3566 0
    dwc3 64823 0
    udc_core
    ti_am355x_adc
    pm33xx
    ti_emif_sram
    pru_rproc
    pruss
    omap_aes_driver
    omap_des
    omap_shan
    c_can_platform
    c_can
    dwc3_omap
    extcon
    omap_rng
    rng_core
    can_dev
    wkup_m3_rproc
    virtio
    omap_wdt
    virtio_ring
    ti_am335x_tsc
    ti_am335x_tscadc
    sch_fq_codel

    all module has some size and used by some module.?
    Does Any module miss to enable wireless to work properly? How do i solve this problem? Can you kindly send me the detail procedure to make wireless lan work.?

    Regards,
    Winiston.P
  • Hi Winston,

    Did you make sure you have all the required elements, regulator, mmc in your .dts file as in:
    git.ti.com/.../am437x-gp-evm.dts

    What is the output of?:
    ifconfig wlan0 up

    BR,
    Eyal
  • Dear Eyal,
    Yes, I have applied regulator,mmc elements in the dts file. If i enter " ifconfig wlan0 up " from command line, it just applied and i get "root@am437x-evm:".

    Please see below my dts file.

    /* This file was auto-generated by TI PinMux on ‎22‎-‎07‎-‎2016 at ‎15‎:‎43‎:‎54. */
    /* This file should only be used as a reference. Some pins/peripherals, */
    /* depending on your use case, may need additional configuration. */

    /* Some or all the pins from the following groups are not used by device tree
    myrtc1
    usb_otg
    usb_host
    myadc1
    ram
    */

    /dts-v1/;

    #include "am4372.dtsi"
    #include <dt-bindings/pinctrl/am43xx.h>
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/gpio/gpio.h>

    / {
    model = "TI AM437x GP EVM";
    compatible = "ti,am437x-gp-evm","ti,am4372","ti,am43";

    aliases {
    display0 = &lcd0;
    serial3 = &uart3;
    };

    evm_v3_3d: fixedregulator-v3_3d {
    compatible = "regulator-fixed";
    regulator-name = "evm_v3_3d";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    enable-active-high;
    };

    vtt_fixed: fixedregulator-vtt {
    compatible = "regulator-fixed";
    regulator-name = "vtt_fixed";
    regulator-min-microvolt = <1500000>;
    regulator-max-microvolt = <1500000>;
    regulator-always-on;
    regulator-boot-on;
    enable-active-high;
    gpio = <&gpio2 1 GPIO_ACTIVE_HIGH>;
    };

    vmmcwl_fixed: fixedregulator-mmcwl {
    compatible = "regulator-fixed";
    regulator-name = "vmmcwl_fixed";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    enable-active-high;
    };

    lcd_bl: backlight {
    compatible = "pwm-backlight";
    pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
    brightness-levels = <0 51 53 56 62 75 101 152 255>;
    default-brightness-level = <8>;
    };

    lcd0: display {
    compatible = "panel-dpi";
    label = "lcd";

    panel-timing {
    clock-frequency = <35000000>;
    hactive = <640>;
    vactive = <480>;
    hfront-porch = <12>;
    hback-porch = <52>;
    hsync-len = <96>;
    vback-porch = <31>;
    vfront-porch = <11>;
    vsync-len = <2>;
    hsync-active = <0>;
    vsync-active = <0>;
    de-active = <1>;
    pixelclk-active = <1>;
    };

    port {
    lcd_in: endpoint {
    remote-endpoint = <&dpi_out>;
    };
    };
    };

    sound0: sound@0 {
    compatible = "simple-audio-card";
    simple-audio-card,name = "AM437x-GP-EVM";
    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 = <&sound0_master>;
    simple-audio-card,frame-master = <&sound0_master>;
    simple-audio-card,bitclock-inversion;

    simple-audio-card,cpu {
    sound-dai = <&mcasp1>;
    system-clock-frequency = <12000000>;
    };

    sound0_master: simple-audio-card,codec {
    sound-dai = <&tlv320aic3107>;
    system-clock-frequency = <12000000>;
    };
    };

    audio_mstrclk: mclk_osc {
    compatible = "fixed-clock";
    #clock-cells = <0>;
    clock-frequency = <12000000>;
    };

    };

    &am43xx_pinmux {
    pinctrl-names = "default", "sleep";
    /* modified by wini */
    pinctrl-0 = <&wlan_irq_pins_default &ddr3_vtt_toggle_default &debugss_pins>;
    /* added by wini */
    pinctrl-1 = <&wlan_irq_pins_sleep>;

    ddr3_vtt_toggle_default: ddr_vtt_toggle_default {
    pinctrl-single,pins = <
    0x8C (DS0_PULL_UP_DOWN_EN | PIN_OUTPUT_PULLUP | DS0_FORCE_OFF_MODE | MUX_MODE7) /* (A12) gpmc_clk.gpio2[1] */
    >;
    };

    i2c0_pins: i2c0_pins {
    pinctrl-single,pins = <
    0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (Y22) i2c0_scl.i2c0_scl */
    0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (AB24) i2c0_sda.i2c0_sda */

    >;
    };

    i2c1_pins_default: i2c1_pins_default {
    pinctrl-single,pins = <
    0x240 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* (G20) gpio5_10.I2C1_SCL */
    0x248 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* (E25) gpio5_12.I2C1_SDA */
    >;
    };

    sd_card_pins_default: sd_card_pins_default {
    pinctrl-single,pins = <
    0x100 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D1) mmc0_clk.mmc0_clk */
    0x104 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D2) mmc0_cmd.mmc0_cmd */
    0xfc (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (C1) mmc0_dat0.mmc0_dat0 */
    0xf8 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (C2) mmc0_dat1.mmc0_dat1 */
    0xf4 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (B2) mmc0_dat2.mmc0_dat2 */
    0xf0 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (B1) mmc0_dat3.mmc0_dat3 */
    0x160 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (R25) spi0_cs1.mmc0_sdcd */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    sd_card_pins_sleep: sd_card_pins_sleep {
    pinctrl-single,pins = <
    0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D1) mmc0_clk.mmc0_clk */
    0x104 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (D2) mmc0_cmd.mmc0_cmd */
    0xfc (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (C1) mmc0_dat0.mmc0_dat0 */
    0xf8 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (C2) mmc0_dat1.mmc0_dat1 */
    0xf4 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B2) mmc0_dat2.mmc0_dat2 */
    0xf0 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B1) mmc0_dat3.mmc0_dat3 */
    0x160 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (R25) spi0_cs1.mmc0_sdcd */
    >;
    };

    emmc_pins_default: emmc_pins_default {
    pinctrl-single,pins = <
    0x80 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B9) gpmc_csn1.mmc1_clk */
    0x84 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (F10) gpmc_csn2.mmc1_cmd */
    0x20 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B10) gpmc_ad8.mmc1_dat0 */
    0x24 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (A10) gpmc_ad9.mmc1_dat1 */
    0x28 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (F11) gpmc_ad10.mmc1_dat2 */
    0x2c (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (D11) gpmc_ad11.mmc1_dat3 */
    0x30 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (E11) gpmc_ad12.mmc1_dat4 */
    0x34 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (C11) gpmc_ad13.mmc1_dat5 */
    0x38 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B11) gpmc_ad14.mmc1_dat6 */
    0x3c (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (A11) gpmc_ad15.mmc1_dat7 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    emmc_pins_sleep: emmc_pins_sleep {
    pinctrl-single,pins = <
    0x80 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B9) gpmc_csn1.mmc1_clk */
    0x84 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F10) gpmc_csn2.mmc1_cmd */
    0x20 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B10) gpmc_ad8.mmc1_dat0 */
    0x24 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A10) gpmc_ad9.mmc1_dat1 */
    0x28 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F11) gpmc_ad10.mmc1_dat2 */
    0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D11) gpmc_ad11.mmc1_dat3 */
    0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E11) gpmc_ad12.mmc1_dat4 */
    0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C11) gpmc_ad13.mmc1_dat5 */
    0x38 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B11) gpmc_ad14.mmc1_dat6 */
    0x3c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A11) gpmc_ad15.mmc1_dat7 */
    >;
    };

    ecap0_pins_default: backlight_pins_default {
    pinctrl-single,pins = <
    0x164 MUX_MODE0 /* (G24) eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
    >;
    };

    ecap0_pins_sleep: backlight_pins_sleep {
    pinctrl-single,pins = <
    0x164 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    >;
    };

    cpsw_default: cpsw_default {
    pinctrl-single,pins = <
    0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (C3) gpmc_a0.rgmii2_tctl */
    0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (C5) gpmc_a1.rgmii2_rctl */
    0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (E8) gpmc_a6.rgmii2_tclk */
    0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (F6) gpmc_a7.rgmii2_rclk */
    0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (E7) gpmc_a5.rgmii2_td0 */
    0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (D7) gpmc_a4.rgmii2_td1 */
    0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (A4) gpmc_a3.rgmii2_td2 */
    0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (C6) gpmc_a2.rgmii2_td3 */
    0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (D8) gpmc_a11.rgmii2_rd0 */
    0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (G8) gpmc_a10.rgmii2_rd1 */
    0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (B4) gpmc_a9.rgmii2_rd2 */
    0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (F7) gpmc_a8.rgmii2_rd3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    cpsw_sleep: cpsw_sleep {
    pinctrl-single,pins = <
    0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C3) gpmc_a0.rgmii2_tctl */
    0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C5) gpmc_a1.rgmii2_rctl */
    0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E8) gpmc_a6.rgmii2_tclk */
    0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F6) gpmc_a7.rgmii2_rclk */
    0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E7) gpmc_a5.rgmii2_td0 */
    0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D7) gpmc_a4.rgmii2_td1 */
    0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A4) gpmc_a3.rgmii2_td2 */
    0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C6) gpmc_a2.rgmii2_td3 */
    0x6c (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (D8) gpmc_a11.rgmii2_rd0 */
    0x68 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (G8) gpmc_a10.rgmii2_rd1 */
    0x64 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B4) gpmc_a9.rgmii2_rd2 */
    0x60 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (F7) gpmc_a8.rgmii2_rd3 */
    >;
    };

    /* below wlan irq definition added by wini */
    wlan_irq_pins_default: wlan_irq_pins_default {
    pinctrl-single,pins = <
    0x140 ( PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */
    0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* () gmc_a4.gpio0_18 wl_en */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    wlan_irq_pins_sleep: wlan_irq_pins_sleep {
    pinctrl-single,pins = <
    0x140 (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */
    0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* () gmc_a4.gpio0_18 wl_en */
    >;
    };

    davinci_mdio_default: davinci_mdio_default {
    pinctrl-single,pins = <
    0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (A17) mdio_data.mdio_data */
    0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* (B17) mdio_clk.mdio_clk */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    davinci_mdio_sleep: davinci_mdio_sleep {
    pinctrl-single,pins = <
    0x148 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (A17) mdio_data.mdio_data */
    0x14c (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B17) mdio_clk.mdio_clk */

    >;
    };

    dss_pinctrl_default: dss_pinctrl_default {
    pinctrl-single,pins = <
    0xe0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B23) dss_vsync.dss_vsync */
    0xe4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A23) dss_hsync.dss_hsync */
    0xe8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A22) dss_pclk.dss_pclk */
    0xec (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A24) dss_ac_bias_en.dss_ac_bias_en */
    0xa0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B22) dss_data0.dss_data0 */
    0xa4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A21) dss_data1.dss_data1 */
    0xa8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B21) dss_data2.dss_data2 */
    0xac (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C21) dss_data3.dss_data3 */
    0xb0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A20) dss_data4.dss_data4 */
    0xb4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B20) dss_data5.dss_data5 */
    0xb8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C20) dss_data6.dss_data6 */
    0xbc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (E19) dss_data7.dss_data7 */
    0xc0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A19) dss_data8.dss_data8 */
    0xc4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B19) dss_data9.dss_data9 */
    0xc8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A18) dss_data10.dss_data10 */
    0xcc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B18) dss_data11.dss_data11 */
    0xd0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C19) dss_data12.dss_data12 */
    0xd4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (D19) dss_data13.dss_data13 */
    0xd8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C17) dss_data14.dss_data14 */
    0xdc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (D17) dss_data15.dss_data15 */
    0x1cc (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC24) cam1_data9.dss_data16 */
    0x1c8 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AA19) cam0_data9.dss_data17 */
    0x1c4 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AB19) cam0_data8.dss_data18 */
    0x1c0 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC20) cam0_pclk.dss_data19 */
    0x1bc (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AD17) cam0_wen.dss_data20 */
    0x1b8 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC18) cam0_field.dss_data21 */
    0x1b4 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AD18) cam0_vd.dss_data22 */
    0x1b0 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AE17) cam0_hd.dss_data23 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dss_pinctrl_sleep: dss_pinctrl_sleep {
    pinctrl-single,pins = <
    0xe0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B23) dss_vsync.dss_vsync */
    0xe4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A23) dss_hsync.dss_hsync */
    0xe8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A22) dss_pclk.dss_pclk */
    0xec (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A24) dss_ac_bias_en.dss_ac_bias_en */
    0xa0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B22) dss_data0.dss_data0 */
    0xa4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (A21) dss_data1.dss_data1 */
    0xa8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B21) dss_data2.dss_data2 */
    0xac (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C21) dss_data3.dss_data3 */
    0xb0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (A20) dss_data4.dss_data4 */
    0xb4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B20) dss_data5.dss_data5 */
    0xb8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C20) dss_data6.dss_data6 */
    0xbc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E19) dss_data7.dss_data7 */
    0xc0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A19) dss_data8.dss_data8 */
    0xc4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B19) dss_data9.dss_data9 */
    0xc8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A18) dss_data10.dss_data10 */
    0xcc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B18) dss_data11.dss_data11 */
    0xd0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C19) dss_data12.dss_data12 */
    0xd4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (D19) dss_data13.dss_data13 */
    0xd8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C17) dss_data14.dss_data14 */
    0xdc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D17) dss_data15.dss_data15 */
    0x1cc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC24) cam1_data9.dss_data16 */
    0x1c8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AA19) cam0_data9.dss_data17 */
    0x1c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AB19) cam0_data8.dss_data18 */
    0x1c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC20) cam0_pclk.dss_data19 */
    0x1bc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AD17) cam0_wen.dss_data20 */
    0x1b8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC18) cam0_field.dss_data21 */
    0x1b4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AD18) cam0_vd.dss_data22 */
    0x1b0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AE17) cam0_hd.dss_data23 */
    >;
    };

    dcan0_pins_default: dcan0_pins_default {
    pinctrl-single,pins = <
    0x17c ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (L22) uart1_rtsn.dcan0_rx */
    0x178 ( PIN_OUTPUT | MUX_MODE2 ) /* (K22) uart1_ctsn.dcan0_tx */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dcan0_pins_sleep: dcan0_pins_sleep {
    pinctrl-single,pins = <
    0x17c (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (L22) uart1_rtsn.dcan0_rx */
    0x178 (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (K22) uart1_ctsn.dcan0_tx */
    >;
    };

    dcan1_pins_default: dcan1_pins_default {
    pinctrl-single,pins = <
    0x16c ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (J25) uart0_rtsn.dcan1_rx */
    0x168 ( PIN_OUTPUT | MUX_MODE2 ) /* (L25) uart0_ctsn.dcan1_tx */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dcan1_pins_sleep: dcan1_pins_sleep {
    pinctrl-single,pins = <
    0x16c (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (J25) uart0_rtsn.dcan1_rx */
    0x168 (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (L25) uart0_ctsn.dcan1_tx */
    >;
    };

    cam1_pins_default: cam1_pins_default {
    pinctrl-single,pins = <
    0x1dc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE21) cam1_pclk.cam1_pclk */
    0x1e8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AB20) cam1_data0.cam1_data0 */
    0x1ec ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AC21) cam1_data1.cam1_data1 */
    0x1f0 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD21) cam1_data2.cam1_data2 */
    0x1f4 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE22) cam1_data3.cam1_data3 */
    0x1f8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD22) cam1_data4.cam1_data4 */
    0x1fc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE23) cam1_data5.cam1_data5 */
    0x200 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD23) cam1_data6.cam1_data6 */
    0x204 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE24) cam1_data7.cam1_data7 */
    0x1d0 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD24) cam1_data8.cam1_data8 */
    0x208 ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (AE18) cam0_data0.cam1_data9 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    cam1_pins_sleep: cam1_pins_sleep {
    pinctrl-single,pins = <
    0x1dc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE21) cam1_pclk.cam1_pclk */
    0x1e8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AB20) cam1_data0.cam1_data0 */
    0x1ec (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AC21) cam1_data1.cam1_data1 */
    0x1f0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD21) cam1_data2.cam1_data2 */
    0x1f4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE22) cam1_data3.cam1_data3 */
    0x1f8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD22) cam1_data4.cam1_data4 */
    0x1fc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE23) cam1_data5.cam1_data5 */
    0x200 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD23) cam1_data6.cam1_data6 */
    0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE24) cam1_data7.cam1_data7 */
    0x1d0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD24) cam1_data8.cam1_data8 */
    0x208 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE18) cam0_data0.cam1_data9 */
    >;
    };

    mcasp1_pins_default: mcasp1_pins_default {
    pinctrl-single,pins = <
    0x10c ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (B14) mii1_crs.mcasp1_aclkx */
    0x110 ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (B13) mii1_rx_er.mcasp1_fsx */
    0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE3 ) /* (B15) mii1_txd0.mcasp1_axr2 */
    0x144 ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (A16) rmii1_ref_clk.mcasp1_axr3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mcasp1_pins_sleep: mcasp1_pins_sleep {
    pinctrl-single,pins = <
    0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B14) mii1_crs.mcasp1_aclkx */
    0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B13) mii1_rx_er.mcasp1_fsx */
    0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B15) mii1_txd0.mcasp1_axr2 */
    0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A16) rmii1_ref_clk.mcasp1_axr3 */
    >;
    };

    uart0_pins_default: uart0_pins_default {
    pinctrl-single,pins = <
    0x170 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K25) uart0_rxd.uart0_rxd */
    0x174 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (J24) uart0_txd.uart0_txd */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    uart0_pins_sleep: uart0_pins_sleep {
    pinctrl-single,pins = <
    0x170 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K25) uart0_rxd.uart0_rxd */
    0x174 (PIN_INPUT_PULLDOWN | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (J24) uart0_txd.uart0_txd */
    >;
    };

    mmc2_pins_default: mmc2_pins_default {
    pinctrl-single,pins = <
    0x13c (PIN_INPUT_PULLUP | MUX_MODE6 ) /* (B16) mii1_rxd1.mmc2_clk */
    0x114 (PIN_INPUT_PULLUP | MUX_MODE6 ) /* (A13) mii1_tx_en.mmc2_cmd */
    0x118 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (A15) mii1_rx_dv.mmc2_dat0 */
    0x11c (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (C16) mii1_txd3.mmc2_dat1 */
    0x120 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (C13) mii1_txd2.mmc2_dat2 */
    0x108 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (D16) mii1_col.mmc2_dat3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mmc2_pins_sleep: mmc2_pins_sleep {
    pinctrl-single,pins = <
    0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B16) mii1_rxd1.mmc2_clk */
    0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A13) mii1_tx_en.mmc2_cmd */
    0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A15) mii1_rx_dv.mmc2_dat0 */
    0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C16) mii1_txd3.mmc2_dat1 */
    0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C13) mii1_txd2.mmc2_dat2 */
    0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D16) mii1_col.mmc2_dat3 */
    >;
    };

    uart3_pins: uart3_pins {
    pinctrl-single,pins = <
    0x228 (PIN_INPUT | MUX_MODE0) /* uart3_rxd.uart3_rxd */
    0x22c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* uart3_txd.uart3_txd */
    0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_ctsn.uart3_ctsn */
    0x234 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* uart3_rtsn.uart3_rtsn */
    >;
    };

    debugss_pins: pinmux_debugss_pins {
    pinctrl-single,pins = <
    0x290 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y24) TMS.TMS */
    0x294 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y20) TDI.TDI */
    0x298 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (AA24) TDO.TDO */
    0x29c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (AA25) TCK.TCK */
    0x2a0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y25) nTRST.nTRST */
    0x2a4 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (N23) EMU0.EMU0 */
    0x2a8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (T24) EMU1.EMU1 */
    >;
    };

    usb_otg_pins_default: usb_otg_pins_default {
    pinctrl-single,pins = <
    0x2c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0 ) /* (G21) USB0_DRVVBUS.USB0_DRVVBUS */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    usb_otg_pins_sleep: usb_otg_pins_sleep {
    pinctrl-single,pins = <
    0x2c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN ) /* (G21) USB0_DRVVBUS.USB0_DRVVBUS */
    >;
    };

    usb_host_pins_default: usb_host_pins_default {
    pinctrl-single,pins = <
    0x2c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0 ) /* (F25) USB1_DRVVBUS.USB1_DRVVBUS */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    usb_host_pins_sleep: usb_host_pins_sleep {
    pinctrl-single,pins = <
    0x2c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN ) /* (F25) USB1_DRVVBUS.USB1_DRVVBUS */
    >;
    };

    spi_pins_default: spi_pins_default {
    pinctrl-single,pins = <
    0x190 ( PIN_INPUT | MUX_MODE3 ) /* (N24) mcasp0_aclkx.spi1_sclk */
    0x194 ( PIN_INPUT | MUX_MODE3 ) /* (N22) mcasp0_fsx.spi1_d0 */
    0x198 ( PIN_INPUT | MUX_MODE3 ) /* (H23) mcasp0_axr0.spi1_d1 */
    0x19c ( PIN_INPUT | MUX_MODE3 ) /* (M24) mcasp0_ahclkr.spi1_cs0 */
    >;
    };

    gpio2_pins_default: gpio2_pins_default {
    pinctrl-single,pins = <
    0x88 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (B12) gpmc_csn3.gpio2[0] */
    0x94 ( PIN_INPUT | MUX_MODE7 ) /* (E10) gpmc_oen_ren.gpio2[3] */
    >;
    };

    gpio1_pins_default: gpio1_pins_default {
    pinctrl-single,pins = <
    0x0 ( PIN_INPUT | MUX_MODE7 ) /* (B5) gpmc_ad0.gpio1[0] */
    0x4 ( PIN_INPUT | MUX_MODE7 ) /* (A5) gpmc_ad1.gpio1[1] */
    0x78 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (A3) gpmc_be1n.gpio1[28] */
    >;
    };

    gpio0_pins_default: gpio0_pins_default {
    pinctrl-single,pins = <
    0x1a8 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (M25) mcasp0_axr1.gpio0[2] */
    0x1ac ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (L24) mcasp0_ahclkx.gpio0[3] */
    0x158 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T21) spi0_d1.gpio0[4] */
    0x15c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T20) spi0_cs0.gpio0[5] */
    0x1a0 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (L23) mcasp0_aclkr.gpio0[18] */
    0x1a4 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (K23) mcasp0_fsr.gpio0[19] */
    0x264 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (P22) spi2_d0.gpio0[20] */
    0x268 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (P20) spi2_d1.gpio0[21] */
    >;
    };

    gpio5_pins_default: gpio5_pins_default {
    pinctrl-single,pins = <
    0x250 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (P25) spi4_sclk.gpio5[4] */
    0x254 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (R24) spi4_d0.gpio5[5] */
    0x258 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (P24) spi4_d1.gpio5[6] */
    0x25c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (N25) spi4_cs0.gpio5[7] */
    0x238 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (D25) gpio5_8.gpio5[8] */
    0x23c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (F24) gpio5_9.gpio5[9] */
    0x244 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (F23) gpio5_11.gpio5[11] */
    >;
    };

    gpio3_pins_default: gpio3_pins_default {
    pinctrl-single,pins = <
    0x260 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (N20) spi2_sclk.gpio3[24] */
    >;
    };
    /*
    rtc1_pins_default: rtc1_pins_default {
    pinctrl-single,pins = <
    0x2b4 ( PIN_INPUT_PULLUP | MUX_MODE0 )
    0x2b8 ( PIN_INPUT_PULLUP | MUX_MODE0 )
    0x2bc ( PIN_OUTPUT_PULLUP | MUX_MODE0 )
    >;
    };
    */
    glue1_pins_default: glue1_pins_default {
    pinctrl-single,pins = <
    0x27c ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G22) WARMRSTn.nRESETIN_OUT */
    0x280 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (Y23) PWRONRSTn.porz */
    >;
    };

    osc1_pins_default: osc1_pins_default {
    pinctrl-single,pins = <
    0x288 ( PIN_INPUT | MUX_MODE0 ) /* (C25) XTALIN.OSC0_IN */
    0x28c ( PIN_OUTPUT | MUX_MODE0 ) /* (B25) XTALOUT.OSC0_OUT */
    >;
    };
    /*
    osc2_pins_default: osc2_pins_default {
    pinctrl-single,pins = <
    0x2ac ( PIN_INPUT | MUX_MODE0 )
    0x2b0 ( PIN_OUTPUT | MUX_MODE0 )
    >;
    };
    */
    mcasp2_pins_default: mcasp2_pins_default {
    pinctrl-single,pins = <
    0x12c ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (D14) mii1_tx_clk.mcasp0_aclkx */
    0x130 ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (D13) mii1_rx_clk.mcasp0_fsx */
    0x134 ( PIN_OUTPUT_PULLDOWN | MUX_MODE6 ) /* (C14) mii1_rxd3.mcasp0_axr0 */
    0x138 ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (E16) mii1_rxd2.mcasp0_axr1 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mcasp2_pins_sleep: mcasp2_pins_sleep {
    pinctrl-single,pins = <
    0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D14) mii1_tx_clk.mcasp0_aclkx */
    0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D13) mii1_rx_clk.mcasp0_fsx */
    0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C14) mii1_rxd3.mcasp0_axr0 */
    0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E16) mii1_rxd2.mcasp0_axr1 */
    >;
    };

    uart1_pins_default: uart1_pins_default {
    pinctrl-single,pins = <
    0x180 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K21) uart1_rxd.uart1_rxd */
    0x184 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (L21) uart1_txd.uart1_txd */
    >;
    };

    uart2_pins_default: uart2_pins_default {
    pinctrl-single,pins = <
    0x150 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE1 ) /* (P23) spi0_sclk.uart2_rxd */
    0x154 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE1 ) /* (T22) spi0_d0.uart2_txd */
    >;
    };

    uart4_pins_default: uart4_pins_default {
    pinctrl-single,pins = <
    0x70 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE6 ) /* (A2) gpmc_wait0.uart4_rxd */
    0x74 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE6 ) /* (B3) gpmc_wpn.uart4_txd */
    >;
    };

    myarm1_pins_default: myarm1_pins_default {
    pinctrl-single,pins = <
    0x284 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G25) EXTINTn.nNMI */
    >;
    };
    };

    &i2c0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pins>;
    clock-frequency = <100000>;

    tps65218: tps65218@24 {
    reg = <0x24>;
    compatible = "ti,tps65218";
    interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* NMIn */
    interrupt-controller;
    #interrupt-cells = <2>;

    dcdc1: regulator-dcdc1 {
    compatible = "ti,tps65218-dcdc1";
    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";
    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 = "vdcdc3";
    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;
    };
    };

    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-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-boot-on;
    regulator-always-on;
    };
    };

    tvp514x@b9 {
    compatible = "ti,tvp5146m2";
    reg = <0x5C>;
    status = "okay";

    port {
    tvp514x_1: endpoint {
    hsync-active = <1>;
    vsync-active = <1>;
    pclk-sample = <0>;
    };
    };
    };

    tlv320aic3107: tlv320aic3107@18 {
    compatible = "ti,tlv320aic3107";
    reg = <0x18>;
    status = "okay";

    /* added by wini */
    /* Regulators */
    IOVDD-supply = <&evm_v3_3d>; /* V3_3D -> <tps63031> EN: V1_8D -> VBAT */
    AVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */
    DRVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */
    DVDD-supply = <&ldo1>; /* V1_8D -> LDO1 */

    };
    };

    &i2c1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c1_pins_default>;
    };

    &epwmss0 {
    status = "okay";
    };

    &tscadc {
    status = "okay";

    adc {
    ti,adc-channels = <0 1 2 3 4 5 6 7>;
    };
    };

    &ecap0 {
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&ecap0_pins_default>;
    pinctrl-1 = <&ecap0_pins_sleep>;
    };

    &gpio0 {
    status = "okay";
    };

    &gpio5 {
    status = "okay";
    };

    &gpio2 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio2_pins_default>;
    status = "okay";

    p0 {
    gpio-hog;
    gpios = <0 GPIO_ACTIVE_HIGH>;
    output-high;
    line-name = "LCD_BK_EN";
    };
    };

    &gpio1 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio1_pins_default>;
    status = "okay";

    p1 {
    gpio-hog;
    gpios = <1 GPIO_ACTIVE_HIGH>;
    output-high;
    };

    p28 {
    gpio-hog;
    gpios = <28 GPIO_ACTIVE_LOW>;
    output-high;
    line-name = "eMMC Resetn";
    };
    };

    &gpio3 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio3_pins_default>;
    status = "okay";

    p24 {
    gpio-hog;
    gpios = <24 GPIO_ACTIVE_LOW>;
    output-high;
    lines-name = "TVP Powerdown";
    };
    };

    &mmc1 {
    status = "okay";
    vmmc-supply = <&evm_v3_3d>;
    bus-width = <4>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&sd_card_pins_default>;
    pinctrl-1 = <&sd_card_pins_sleep>;
    };

    &mmc2 {
    status = "okay";
    vmmc-supply = <&evm_v3_3d>;
    bus-width = <8>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&emmc_pins_default>;
    pinctrl-1 = <&emmc_pins_sleep>;
    ti,non-removable;
    };

    &mmc3 {
    status = "okay";
    /* these are on the crossbar and are outlined in the
    xbar-event-map element */
    /*dmas = <&edma 30
    &edma 31>; */
    /*modified by wini */
    dmas = <&edma_xbar 30 0 1>,
    <&edma_xbar 31 0 2>;
    dma-names = "tx", "rx";
    vmmc-supply = <&vmmcwl_fixed>;
    bus-width = <4>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mmc2_pins_default>;
    pinctrl-1 = <&mmc2_pins_sleep>;
    cap-power-off-card;
    keep-power-in-suspend;
    ti,non-removable;

    #address-cells = <1>;
    #size-cells = <0>;
    wlcore: wlcore@0 {
    compatible = "ti,wl1835";
    reg = <2>;
    /*below 2 lines wini*/
    interrupt-parent = <&gpio2>;
    interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
    };
    };

    &edma {
    ti,edma-xbar-event-map = /bits/ 16 <1 30
    2 31>;
    };

    &uart3 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&uart3_pins>;
    };

    &usb2_phy1 {
    status = "okay";
    };

    &usb1 {
    dr_mode = "otg";
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&usb_otg_pins_default>;
    pinctrl-1 = <&usb_otg_pins_sleep>;
    };

    &usb2_phy2 {
    status = "okay";
    };

    &usb2 {
    dr_mode = "host";
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&usb_host_pins_default>;
    pinctrl-1 = <&usb_host_pins_sleep>;
    };

    &mac {
    slaves = <1>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&cpsw_default>;
    pinctrl-1 = <&cpsw_sleep>;
    status = "okay";
    };

    &davinci_mdio {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&davinci_mdio_default>;
    pinctrl-1 = <&davinci_mdio_sleep>;
    status = "okay";
    };

    /*&cpsw_emac1 to emac0 --wini */

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <0>;
    phy-mode = "rgmii";
    };

    &elm {
    status = "okay";
    };

    &uart0 {
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&uart0_pins_default>;
    pinctrl-1 = <&uart0_pins_sleep>;
    };

    &dss {
    status = "ok";

    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dss_pinctrl_default>;
    pinctrl-1 = <&dss_pinctrl_sleep>;

    port {
    dpi_out: endpoint@0 {
    remote-endpoint = <&lcd_in>;
    data-lines = <24>;
    };
    };
    };

    &dcan0 {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dcan0_pins_default>;
    pinctrl-1 = <&dcan0_pins_sleep>;
    status = "okay";
    };

    &dcan1 {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dcan1_pins_default>;
    pinctrl-1 = <&dcan1_pins_sleep>;
    status = "okay";
    };

    &mcasp1 {
    #sound-dai-cells = <0>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mcasp1_pins_default>;
    pinctrl-1 = <&mcasp1_pins_sleep>;

    status = "okay";

    op-mode = <0>; /* MCASP_IIS_MODE */
    tdm-slots = <2>;
    /* 4 serializers */
    serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
    0 0 1 2
    >;
    tx-num-evt = <32>;
    rx-num-evt = <32>;
    };

    &wkup_m3_ipc {
    ti,set-io-isolation;
    ti,scale-data-fw = "am43x-evm-scale-data.bin";
    };

    &cpu {
    cpu0-supply = <&dcdc2>;
    };
    /*
    &rtc {
    status = "okay";
    ext-clk-src;
    };
    */
    &sgx {
    status = "okay";
    };
  • hi , can you pls mention again the output of 'ifconfig wlan0 up'. Also pls attach the file to the reply instead of pasting the entire contents. You can attached 3 files : one with ifconfig wlan0 up ; ifconfig wlan0 scan" and dts file
    Saurabh
  • Dear Saurabh,
    There is no option to attach the file in this forum.Since there is no attach option, i am pasting the contents here with readable manner. If you have individual mail, i can attach the file also.

    1) If i enter " ifconfig wlan0 up " from command line, it just applied and i get "root@am437x-evm:". I didnt not get any output.

    2) " ifconfig wlan0 scan " output is "ifconfig: bad address'scan'
    "iw wlan0 scan" output is "command failed: Network is down (-100).

    3) dts file contents

    /* Some or all the pins from the following groups are not used by device tree
    myrtc1
    usb_otg
    usb_host
    myadc1
    ram
    */

    /dts-v1/;

    #include "am4372.dtsi"
    #include <dt-bindings/pinctrl/am43xx.h>
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/gpio/gpio.h>

    / {
    model = "TI AM437x GP EVM";
    compatible = "ti,am437x-gp-evm","ti,am4372","ti,am43";

    aliases {
    display0 = &lcd0;
    serial3 = &uart3;
    };

    evm_v3_3d: fixedregulator-v3_3d {
    compatible = "regulator-fixed";
    regulator-name = "evm_v3_3d";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    enable-active-high;
    };

    vtt_fixed: fixedregulator-vtt {
    compatible = "regulator-fixed";
    regulator-name = "vtt_fixed";
    regulator-min-microvolt = <1500000>;
    regulator-max-microvolt = <1500000>;
    regulator-always-on;
    regulator-boot-on;
    enable-active-high;
    gpio = <&gpio2 1 GPIO_ACTIVE_HIGH>;
    };

    vmmcwl_fixed: fixedregulator-mmcwl {
    compatible = "regulator-fixed";
    regulator-name = "vmmcwl_fixed";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    enable-active-high;
    };

    lcd_bl: backlight {
    compatible = "pwm-backlight";
    pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
    brightness-levels = <0 51 53 56 62 75 101 152 255>;
    default-brightness-level = <8>;
    };

    lcd0: display {
    compatible = "panel-dpi";
    label = "lcd";

    panel-timing {
    clock-frequency = <35000000>;
    hactive = <640>;
    vactive = <480>;
    hfront-porch = <12>;
    hback-porch = <52>;
    hsync-len = <96>;
    vback-porch = <31>;
    vfront-porch = <11>;
    vsync-len = <2>;
    hsync-active = <0>;
    vsync-active = <0>;
    de-active = <1>;
    pixelclk-active = <1>;
    };

    port {
    lcd_in: endpoint {
    remote-endpoint = <&dpi_out>;
    };
    };
    };

    sound0: sound@0 {
    compatible = "simple-audio-card";
    simple-audio-card,name = "AM437x-GP-EVM";
    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 = <&sound0_master>;
    simple-audio-card,frame-master = <&sound0_master>;
    simple-audio-card,bitclock-inversion;

    simple-audio-card,cpu {
    sound-dai = <&mcasp1>;
    system-clock-frequency = <12000000>;
    };

    sound0_master: simple-audio-card,codec {
    sound-dai = <&tlv320aic3107>;
    system-clock-frequency = <12000000>;
    };
    };

    audio_mstrclk: mclk_osc {
    compatible = "fixed-clock";
    #clock-cells = <0>;
    clock-frequency = <12000000>;
    };

    };

    &am43xx_pinmux {
    pinctrl-names = "default", "sleep";
    /* modified by wini */
    pinctrl-0 = <&wlan_irq_pins_default &ddr3_vtt_toggle_default &debugss_pins>;
    /* added by wini */
    pinctrl-1 = <&wlan_irq_pins_sleep>;

    ddr3_vtt_toggle_default: ddr_vtt_toggle_default {
    pinctrl-single,pins = <
    0x8C (DS0_PULL_UP_DOWN_EN | PIN_OUTPUT_PULLUP | DS0_FORCE_OFF_MODE | MUX_MODE7) /* (A12) gpmc_clk.gpio2[1] */
    >;
    };

    i2c0_pins: i2c0_pins {
    pinctrl-single,pins = <
    0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (Y22) i2c0_scl.i2c0_scl */
    0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (AB24) i2c0_sda.i2c0_sda */

    >;
    };

    i2c1_pins_default: i2c1_pins_default {
    pinctrl-single,pins = <
    0x240 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* (G20) gpio5_10.I2C1_SCL */
    0x248 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* (E25) gpio5_12.I2C1_SDA */
    >;
    };

    sd_card_pins_default: sd_card_pins_default {
    pinctrl-single,pins = <
    0x100 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D1) mmc0_clk.mmc0_clk */
    0x104 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D2) mmc0_cmd.mmc0_cmd */
    0xfc (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (C1) mmc0_dat0.mmc0_dat0 */
    0xf8 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (C2) mmc0_dat1.mmc0_dat1 */
    0xf4 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (B2) mmc0_dat2.mmc0_dat2 */
    0xf0 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (B1) mmc0_dat3.mmc0_dat3 */
    0x160 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (R25) spi0_cs1.mmc0_sdcd */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    sd_card_pins_sleep: sd_card_pins_sleep {
    pinctrl-single,pins = <
    0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D1) mmc0_clk.mmc0_clk */
    0x104 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (D2) mmc0_cmd.mmc0_cmd */
    0xfc (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (C1) mmc0_dat0.mmc0_dat0 */
    0xf8 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (C2) mmc0_dat1.mmc0_dat1 */
    0xf4 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B2) mmc0_dat2.mmc0_dat2 */
    0xf0 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B1) mmc0_dat3.mmc0_dat3 */
    0x160 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (R25) spi0_cs1.mmc0_sdcd */
    >;
    };

    emmc_pins_default: emmc_pins_default {
    pinctrl-single,pins = <
    0x80 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B9) gpmc_csn1.mmc1_clk */
    0x84 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (F10) gpmc_csn2.mmc1_cmd */
    0x20 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B10) gpmc_ad8.mmc1_dat0 */
    0x24 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (A10) gpmc_ad9.mmc1_dat1 */
    0x28 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (F11) gpmc_ad10.mmc1_dat2 */
    0x2c (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (D11) gpmc_ad11.mmc1_dat3 */
    0x30 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (E11) gpmc_ad12.mmc1_dat4 */
    0x34 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (C11) gpmc_ad13.mmc1_dat5 */
    0x38 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B11) gpmc_ad14.mmc1_dat6 */
    0x3c (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (A11) gpmc_ad15.mmc1_dat7 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    emmc_pins_sleep: emmc_pins_sleep {
    pinctrl-single,pins = <
    0x80 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B9) gpmc_csn1.mmc1_clk */
    0x84 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F10) gpmc_csn2.mmc1_cmd */
    0x20 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B10) gpmc_ad8.mmc1_dat0 */
    0x24 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A10) gpmc_ad9.mmc1_dat1 */
    0x28 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F11) gpmc_ad10.mmc1_dat2 */
    0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D11) gpmc_ad11.mmc1_dat3 */
    0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E11) gpmc_ad12.mmc1_dat4 */
    0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C11) gpmc_ad13.mmc1_dat5 */
    0x38 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B11) gpmc_ad14.mmc1_dat6 */
    0x3c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A11) gpmc_ad15.mmc1_dat7 */
    >;
    };

    ecap0_pins_default: backlight_pins_default {
    pinctrl-single,pins = <
    0x164 MUX_MODE0 /* (G24) eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
    >;
    };

    ecap0_pins_sleep: backlight_pins_sleep {
    pinctrl-single,pins = <
    0x164 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    >;
    };

    cpsw_default: cpsw_default {
    pinctrl-single,pins = <
    0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (C3) gpmc_a0.rgmii2_tctl */
    0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (C5) gpmc_a1.rgmii2_rctl */
    0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (E8) gpmc_a6.rgmii2_tclk */
    0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (F6) gpmc_a7.rgmii2_rclk */
    0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (E7) gpmc_a5.rgmii2_td0 */
    0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (D7) gpmc_a4.rgmii2_td1 */
    0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (A4) gpmc_a3.rgmii2_td2 */
    0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (C6) gpmc_a2.rgmii2_td3 */
    0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (D8) gpmc_a11.rgmii2_rd0 */
    0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (G8) gpmc_a10.rgmii2_rd1 */
    0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (B4) gpmc_a9.rgmii2_rd2 */
    0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (F7) gpmc_a8.rgmii2_rd3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    cpsw_sleep: cpsw_sleep {
    pinctrl-single,pins = <
    0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C3) gpmc_a0.rgmii2_tctl */
    0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C5) gpmc_a1.rgmii2_rctl */
    0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E8) gpmc_a6.rgmii2_tclk */
    0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F6) gpmc_a7.rgmii2_rclk */
    0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E7) gpmc_a5.rgmii2_td0 */
    0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D7) gpmc_a4.rgmii2_td1 */
    0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A4) gpmc_a3.rgmii2_td2 */
    0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C6) gpmc_a2.rgmii2_td3 */
    0x6c (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (D8) gpmc_a11.rgmii2_rd0 */
    0x68 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (G8) gpmc_a10.rgmii2_rd1 */
    0x64 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B4) gpmc_a9.rgmii2_rd2 */
    0x60 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (F7) gpmc_a8.rgmii2_rd3 */
    >;
    };

    /* below wlan irq definition added by wini */
    wlan_irq_pins_default: wlan_irq_pins_default {
    pinctrl-single,pins = <
    0x140 ( PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */
    0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* () gmc_a4.gpio0_18 wl_en */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    wlan_irq_pins_sleep: wlan_irq_pins_sleep {
    pinctrl-single,pins = <
    0x140 (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */
    0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* () gmc_a4.gpio0_18 wl_en */
    >;
    };

    davinci_mdio_default: davinci_mdio_default {
    pinctrl-single,pins = <
    0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (A17) mdio_data.mdio_data */
    0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* (B17) mdio_clk.mdio_clk */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    davinci_mdio_sleep: davinci_mdio_sleep {
    pinctrl-single,pins = <
    0x148 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (A17) mdio_data.mdio_data */
    0x14c (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B17) mdio_clk.mdio_clk */

    >;
    };

    dss_pinctrl_default: dss_pinctrl_default {
    pinctrl-single,pins = <
    0xe0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B23) dss_vsync.dss_vsync */
    0xe4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A23) dss_hsync.dss_hsync */
    0xe8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A22) dss_pclk.dss_pclk */
    0xec (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A24) dss_ac_bias_en.dss_ac_bias_en */
    0xa0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B22) dss_data0.dss_data0 */
    0xa4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A21) dss_data1.dss_data1 */
    0xa8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B21) dss_data2.dss_data2 */
    0xac (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C21) dss_data3.dss_data3 */
    0xb0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A20) dss_data4.dss_data4 */
    0xb4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B20) dss_data5.dss_data5 */
    0xb8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C20) dss_data6.dss_data6 */
    0xbc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (E19) dss_data7.dss_data7 */
    0xc0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A19) dss_data8.dss_data8 */
    0xc4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B19) dss_data9.dss_data9 */
    0xc8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A18) dss_data10.dss_data10 */
    0xcc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B18) dss_data11.dss_data11 */
    0xd0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C19) dss_data12.dss_data12 */
    0xd4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (D19) dss_data13.dss_data13 */
    0xd8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C17) dss_data14.dss_data14 */
    0xdc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (D17) dss_data15.dss_data15 */
    0x1cc (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC24) cam1_data9.dss_data16 */
    0x1c8 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AA19) cam0_data9.dss_data17 */
    0x1c4 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AB19) cam0_data8.dss_data18 */
    0x1c0 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC20) cam0_pclk.dss_data19 */
    0x1bc (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AD17) cam0_wen.dss_data20 */
    0x1b8 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC18) cam0_field.dss_data21 */
    0x1b4 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AD18) cam0_vd.dss_data22 */
    0x1b0 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AE17) cam0_hd.dss_data23 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dss_pinctrl_sleep: dss_pinctrl_sleep {
    pinctrl-single,pins = <
    0xe0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B23) dss_vsync.dss_vsync */
    0xe4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A23) dss_hsync.dss_hsync */
    0xe8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A22) dss_pclk.dss_pclk */
    0xec (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A24) dss_ac_bias_en.dss_ac_bias_en */
    0xa0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B22) dss_data0.dss_data0 */
    0xa4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (A21) dss_data1.dss_data1 */
    0xa8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B21) dss_data2.dss_data2 */
    0xac (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C21) dss_data3.dss_data3 */
    0xb0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (A20) dss_data4.dss_data4 */
    0xb4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B20) dss_data5.dss_data5 */
    0xb8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C20) dss_data6.dss_data6 */
    0xbc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E19) dss_data7.dss_data7 */
    0xc0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A19) dss_data8.dss_data8 */
    0xc4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B19) dss_data9.dss_data9 */
    0xc8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A18) dss_data10.dss_data10 */
    0xcc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B18) dss_data11.dss_data11 */
    0xd0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C19) dss_data12.dss_data12 */
    0xd4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (D19) dss_data13.dss_data13 */
    0xd8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C17) dss_data14.dss_data14 */
    0xdc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D17) dss_data15.dss_data15 */
    0x1cc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC24) cam1_data9.dss_data16 */
    0x1c8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AA19) cam0_data9.dss_data17 */
    0x1c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AB19) cam0_data8.dss_data18 */
    0x1c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC20) cam0_pclk.dss_data19 */
    0x1bc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AD17) cam0_wen.dss_data20 */
    0x1b8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC18) cam0_field.dss_data21 */
    0x1b4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AD18) cam0_vd.dss_data22 */
    0x1b0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AE17) cam0_hd.dss_data23 */
    >;
    };

    dcan0_pins_default: dcan0_pins_default {
    pinctrl-single,pins = <
    0x17c ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (L22) uart1_rtsn.dcan0_rx */
    0x178 ( PIN_OUTPUT | MUX_MODE2 ) /* (K22) uart1_ctsn.dcan0_tx */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dcan0_pins_sleep: dcan0_pins_sleep {
    pinctrl-single,pins = <
    0x17c (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (L22) uart1_rtsn.dcan0_rx */
    0x178 (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (K22) uart1_ctsn.dcan0_tx */
    >;
    };

    dcan1_pins_default: dcan1_pins_default {
    pinctrl-single,pins = <
    0x16c ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (J25) uart0_rtsn.dcan1_rx */
    0x168 ( PIN_OUTPUT | MUX_MODE2 ) /* (L25) uart0_ctsn.dcan1_tx */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dcan1_pins_sleep: dcan1_pins_sleep {
    pinctrl-single,pins = <
    0x16c (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (J25) uart0_rtsn.dcan1_rx */
    0x168 (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (L25) uart0_ctsn.dcan1_tx */
    >;
    };

    cam1_pins_default: cam1_pins_default {
    pinctrl-single,pins = <
    0x1dc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE21) cam1_pclk.cam1_pclk */
    0x1e8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AB20) cam1_data0.cam1_data0 */
    0x1ec ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AC21) cam1_data1.cam1_data1 */
    0x1f0 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD21) cam1_data2.cam1_data2 */
    0x1f4 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE22) cam1_data3.cam1_data3 */
    0x1f8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD22) cam1_data4.cam1_data4 */
    0x1fc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE23) cam1_data5.cam1_data5 */
    0x200 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD23) cam1_data6.cam1_data6 */
    0x204 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE24) cam1_data7.cam1_data7 */
    0x1d0 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD24) cam1_data8.cam1_data8 */
    0x208 ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (AE18) cam0_data0.cam1_data9 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    cam1_pins_sleep: cam1_pins_sleep {
    pinctrl-single,pins = <
    0x1dc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE21) cam1_pclk.cam1_pclk */
    0x1e8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AB20) cam1_data0.cam1_data0 */
    0x1ec (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AC21) cam1_data1.cam1_data1 */
    0x1f0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD21) cam1_data2.cam1_data2 */
    0x1f4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE22) cam1_data3.cam1_data3 */
    0x1f8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD22) cam1_data4.cam1_data4 */
    0x1fc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE23) cam1_data5.cam1_data5 */
    0x200 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD23) cam1_data6.cam1_data6 */
    0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE24) cam1_data7.cam1_data7 */
    0x1d0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD24) cam1_data8.cam1_data8 */
    0x208 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE18) cam0_data0.cam1_data9 */
    >;
    };

    mcasp1_pins_default: mcasp1_pins_default {
    pinctrl-single,pins = <
    0x10c ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (B14) mii1_crs.mcasp1_aclkx */
    0x110 ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (B13) mii1_rx_er.mcasp1_fsx */
    0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE3 ) /* (B15) mii1_txd0.mcasp1_axr2 */
    0x144 ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (A16) rmii1_ref_clk.mcasp1_axr3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mcasp1_pins_sleep: mcasp1_pins_sleep {
    pinctrl-single,pins = <
    0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B14) mii1_crs.mcasp1_aclkx */
    0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B13) mii1_rx_er.mcasp1_fsx */
    0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B15) mii1_txd0.mcasp1_axr2 */
    0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A16) rmii1_ref_clk.mcasp1_axr3 */
    >;
    };

    uart0_pins_default: uart0_pins_default {
    pinctrl-single,pins = <
    0x170 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K25) uart0_rxd.uart0_rxd */
    0x174 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (J24) uart0_txd.uart0_txd */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    uart0_pins_sleep: uart0_pins_sleep {
    pinctrl-single,pins = <
    0x170 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K25) uart0_rxd.uart0_rxd */
    0x174 (PIN_INPUT_PULLDOWN | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (J24) uart0_txd.uart0_txd */
    >;
    };

    mmc2_pins_default: mmc2_pins_default {
    pinctrl-single,pins = <
    0x13c (PIN_INPUT_PULLUP | MUX_MODE6 ) /* (B16) mii1_rxd1.mmc2_clk */
    0x114 (PIN_INPUT_PULLUP | MUX_MODE6 ) /* (A13) mii1_tx_en.mmc2_cmd */
    0x118 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (A15) mii1_rx_dv.mmc2_dat0 */
    0x11c (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (C16) mii1_txd3.mmc2_dat1 */
    0x120 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (C13) mii1_txd2.mmc2_dat2 */
    0x108 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (D16) mii1_col.mmc2_dat3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mmc2_pins_sleep: mmc2_pins_sleep {
    pinctrl-single,pins = <
    0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B16) mii1_rxd1.mmc2_clk */
    0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A13) mii1_tx_en.mmc2_cmd */
    0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A15) mii1_rx_dv.mmc2_dat0 */
    0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C16) mii1_txd3.mmc2_dat1 */
    0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C13) mii1_txd2.mmc2_dat2 */
    0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D16) mii1_col.mmc2_dat3 */
    >;
    };

    uart3_pins: uart3_pins {
    pinctrl-single,pins = <
    0x228 (PIN_INPUT | MUX_MODE0) /* uart3_rxd.uart3_rxd */
    0x22c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* uart3_txd.uart3_txd */
    0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_ctsn.uart3_ctsn */
    0x234 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* uart3_rtsn.uart3_rtsn */
    >;
    };

    debugss_pins: pinmux_debugss_pins {
    pinctrl-single,pins = <
    0x290 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y24) TMS.TMS */
    0x294 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y20) TDI.TDI */
    0x298 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (AA24) TDO.TDO */
    0x29c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (AA25) TCK.TCK */
    0x2a0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y25) nTRST.nTRST */
    0x2a4 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (N23) EMU0.EMU0 */
    0x2a8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (T24) EMU1.EMU1 */
    >;
    };

    usb_otg_pins_default: usb_otg_pins_default {
    pinctrl-single,pins = <
    0x2c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0 ) /* (G21) USB0_DRVVBUS.USB0_DRVVBUS */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    usb_otg_pins_sleep: usb_otg_pins_sleep {
    pinctrl-single,pins = <
    0x2c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN ) /* (G21) USB0_DRVVBUS.USB0_DRVVBUS */
    >;
    };

    usb_host_pins_default: usb_host_pins_default {
    pinctrl-single,pins = <
    0x2c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0 ) /* (F25) USB1_DRVVBUS.USB1_DRVVBUS */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    usb_host_pins_sleep: usb_host_pins_sleep {
    pinctrl-single,pins = <
    0x2c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN ) /* (F25) USB1_DRVVBUS.USB1_DRVVBUS */
    >;
    };

    spi_pins_default: spi_pins_default {
    pinctrl-single,pins = <
    0x190 ( PIN_INPUT | MUX_MODE3 ) /* (N24) mcasp0_aclkx.spi1_sclk */
    0x194 ( PIN_INPUT | MUX_MODE3 ) /* (N22) mcasp0_fsx.spi1_d0 */
    0x198 ( PIN_INPUT | MUX_MODE3 ) /* (H23) mcasp0_axr0.spi1_d1 */
    0x19c ( PIN_INPUT | MUX_MODE3 ) /* (M24) mcasp0_ahclkr.spi1_cs0 */
    >;
    };

    gpio2_pins_default: gpio2_pins_default {
    pinctrl-single,pins = <
    0x88 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (B12) gpmc_csn3.gpio2[0] */
    0x94 ( PIN_INPUT | MUX_MODE7 ) /* (E10) gpmc_oen_ren.gpio2[3] */
    >;
    };

    gpio1_pins_default: gpio1_pins_default {
    pinctrl-single,pins = <
    0x0 ( PIN_INPUT | MUX_MODE7 ) /* (B5) gpmc_ad0.gpio1[0] */
    0x4 ( PIN_INPUT | MUX_MODE7 ) /* (A5) gpmc_ad1.gpio1[1] */
    0x78 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (A3) gpmc_be1n.gpio1[28] */
    >;
    };

    gpio0_pins_default: gpio0_pins_default {
    pinctrl-single,pins = <
    0x1a8 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (M25) mcasp0_axr1.gpio0[2] */
    0x1ac ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (L24) mcasp0_ahclkx.gpio0[3] */
    0x158 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T21) spi0_d1.gpio0[4] */
    0x15c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T20) spi0_cs0.gpio0[5] */
    0x1a0 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (L23) mcasp0_aclkr.gpio0[18] */
    0x1a4 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (K23) mcasp0_fsr.gpio0[19] */
    0x264 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (P22) spi2_d0.gpio0[20] */
    0x268 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (P20) spi2_d1.gpio0[21] */
    >;
    };

    gpio5_pins_default: gpio5_pins_default {
    pinctrl-single,pins = <
    0x250 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (P25) spi4_sclk.gpio5[4] */
    0x254 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (R24) spi4_d0.gpio5[5] */
    0x258 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (P24) spi4_d1.gpio5[6] */
    0x25c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (N25) spi4_cs0.gpio5[7] */
    0x238 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (D25) gpio5_8.gpio5[8] */
    0x23c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (F24) gpio5_9.gpio5[9] */
    0x244 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (F23) gpio5_11.gpio5[11] */
    >;
    };

    gpio3_pins_default: gpio3_pins_default {
    pinctrl-single,pins = <
    0x260 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (N20) spi2_sclk.gpio3[24] */
    >;
    };
    /*
    rtc1_pins_default: rtc1_pins_default {
    pinctrl-single,pins = <
    0x2b4 ( PIN_INPUT_PULLUP | MUX_MODE0 )
    0x2b8 ( PIN_INPUT_PULLUP | MUX_MODE0 )
    0x2bc ( PIN_OUTPUT_PULLUP | MUX_MODE0 )
    >;
    };
    */
    glue1_pins_default: glue1_pins_default {
    pinctrl-single,pins = <
    0x27c ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G22) WARMRSTn.nRESETIN_OUT */
    0x280 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (Y23) PWRONRSTn.porz */
    >;
    };

    osc1_pins_default: osc1_pins_default {
    pinctrl-single,pins = <
    0x288 ( PIN_INPUT | MUX_MODE0 ) /* (C25) XTALIN.OSC0_IN */
    0x28c ( PIN_OUTPUT | MUX_MODE0 ) /* (B25) XTALOUT.OSC0_OUT */
    >;
    };
    /*
    osc2_pins_default: osc2_pins_default {
    pinctrl-single,pins = <
    0x2ac ( PIN_INPUT | MUX_MODE0 )
    0x2b0 ( PIN_OUTPUT | MUX_MODE0 )
    >;
    };
    */
    mcasp2_pins_default: mcasp2_pins_default {
    pinctrl-single,pins = <
    0x12c ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (D14) mii1_tx_clk.mcasp0_aclkx */
    0x130 ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (D13) mii1_rx_clk.mcasp0_fsx */
    0x134 ( PIN_OUTPUT_PULLDOWN | MUX_MODE6 ) /* (C14) mii1_rxd3.mcasp0_axr0 */
    0x138 ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (E16) mii1_rxd2.mcasp0_axr1 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mcasp2_pins_sleep: mcasp2_pins_sleep {
    pinctrl-single,pins = <
    0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D14) mii1_tx_clk.mcasp0_aclkx */
    0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D13) mii1_rx_clk.mcasp0_fsx */
    0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C14) mii1_rxd3.mcasp0_axr0 */
    0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E16) mii1_rxd2.mcasp0_axr1 */
    >;
    };

    uart1_pins_default: uart1_pins_default {
    pinctrl-single,pins = <
    0x180 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K21) uart1_rxd.uart1_rxd */
    0x184 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (L21) uart1_txd.uart1_txd */
    >;
    };

    uart2_pins_default: uart2_pins_default {
    pinctrl-single,pins = <
    0x150 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE1 ) /* (P23) spi0_sclk.uart2_rxd */
    0x154 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE1 ) /* (T22) spi0_d0.uart2_txd */
    >;
    };

    uart4_pins_default: uart4_pins_default {
    pinctrl-single,pins = <
    0x70 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE6 ) /* (A2) gpmc_wait0.uart4_rxd */
    0x74 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE6 ) /* (B3) gpmc_wpn.uart4_txd */
    >;
    };

    myarm1_pins_default: myarm1_pins_default {
    pinctrl-single,pins = <
    0x284 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G25) EXTINTn.nNMI */
    >;
    };
    };

    &i2c0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pins>;
    clock-frequency = <100000>;

    tps65218: tps65218@24 {
    reg = <0x24>;
    compatible = "ti,tps65218";
    interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* NMIn */
    interrupt-controller;
    #interrupt-cells = <2>;

    dcdc1: regulator-dcdc1 {
    compatible = "ti,tps65218-dcdc1";
    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";
    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 = "vdcdc3";
    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;
    };
    };

    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-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-boot-on;
    regulator-always-on;
    };
    };

    tvp514x@b9 {
    compatible = "ti,tvp5146m2";
    reg = <0x5C>;
    status = "okay";

    port {
    tvp514x_1: endpoint {
    hsync-active = <1>;
    vsync-active = <1>;
    pclk-sample = <0>;
    };
    };
    };

    tlv320aic3107: tlv320aic3107@18 {
    compatible = "ti,tlv320aic3107";
    reg = <0x18>;
    status = "okay";

    /* added by wini */
    /* Regulators */
    IOVDD-supply = <&evm_v3_3d>; /* V3_3D -> <tps63031> EN: V1_8D -> VBAT */
    AVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */
    DRVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */
    DVDD-supply = <&ldo1>; /* V1_8D -> LDO1 */

    };
    };

    &i2c1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c1_pins_default>;
    };

    &epwmss0 {
    status = "okay";
    };

    &tscadc {
    status = "okay";

    adc {
    ti,adc-channels = <0 1 2 3 4 5 6 7>;
    };
    };

    &ecap0 {
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&ecap0_pins_default>;
    pinctrl-1 = <&ecap0_pins_sleep>;
    };

    &gpio0 {
    status = "okay";
    };

    &gpio5 {
    status = "okay";
    };

    &gpio2 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio2_pins_default>;
    status = "okay";

    p0 {
    gpio-hog;
    gpios = <0 GPIO_ACTIVE_HIGH>;
    output-high;
    line-name = "LCD_BK_EN";
    };
    };

    &gpio1 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio1_pins_default>;
    status = "okay";

    p1 {
    gpio-hog;
    gpios = <1 GPIO_ACTIVE_HIGH>;
    output-high;
    };

    p28 {
    gpio-hog;
    gpios = <28 GPIO_ACTIVE_LOW>;
    output-high;
    line-name = "eMMC Resetn";
    };
    };

    &gpio3 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio3_pins_default>;
    status = "okay";

    p24 {
    gpio-hog;
    gpios = <24 GPIO_ACTIVE_LOW>;
    output-high;
    lines-name = "TVP Powerdown";
    };
    };

    &mmc1 {
    status = "okay";
    vmmc-supply = <&evm_v3_3d>;
    bus-width = <4>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&sd_card_pins_default>;
    pinctrl-1 = <&sd_card_pins_sleep>;
    };

    &mmc2 {
    status = "okay";
    vmmc-supply = <&evm_v3_3d>;
    bus-width = <8>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&emmc_pins_default>;
    pinctrl-1 = <&emmc_pins_sleep>;
    ti,non-removable;
    };

    &mmc3 {
    status = "okay";
    /* these are on the crossbar and are outlined in the
    xbar-event-map element */
    /*dmas = <&edma 30
    &edma 31>; */
    /*modified by wini */
    dmas = <&edma_xbar 30 0 1>,
    <&edma_xbar 31 0 2>;
    dma-names = "tx", "rx";
    vmmc-supply = <&vmmcwl_fixed>;
    bus-width = <4>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mmc2_pins_default>;
    pinctrl-1 = <&mmc2_pins_sleep>;
    cap-power-off-card;
    keep-power-in-suspend;
    ti,non-removable;

    #address-cells = <1>;
    #size-cells = <0>;
    wlcore: wlcore@0 {
    compatible = "ti,wl1835";
    reg = <2>;
    /*below 2 lines wini*/
    interrupt-parent = <&gpio2>;
    interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
    };
    };

    &edma {
    ti,edma-xbar-event-map = /bits/ 16 <1 30
    2 31>;
    };

    &uart3 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&uart3_pins>;
    };

    &usb2_phy1 {
    status = "okay";
    };

    &usb1 {
    dr_mode = "otg";
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&usb_otg_pins_default>;
    pinctrl-1 = <&usb_otg_pins_sleep>;
    };

    &usb2_phy2 {
    status = "okay";
    };

    &usb2 {
    dr_mode = "host";
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&usb_host_pins_default>;
    pinctrl-1 = <&usb_host_pins_sleep>;
    };

    &mac {
    slaves = <1>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&cpsw_default>;
    pinctrl-1 = <&cpsw_sleep>;
    status = "okay";
    };

    &davinci_mdio {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&davinci_mdio_default>;
    pinctrl-1 = <&davinci_mdio_sleep>;
    status = "okay";
    };

    /*&cpsw_emac1 to emac0 --wini */

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <0>;
    phy-mode = "rgmii";
    };

    &elm {
    status = "okay";
    };

    &uart0 {
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&uart0_pins_default>;
    pinctrl-1 = <&uart0_pins_sleep>;
    };

    &dss {
    status = "ok";

    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dss_pinctrl_default>;
    pinctrl-1 = <&dss_pinctrl_sleep>;

    port {
    dpi_out: endpoint@0 {
    remote-endpoint = <&lcd_in>;
    data-lines = <24>;
    };
    };
    };

    &dcan0 {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dcan0_pins_default>;
    pinctrl-1 = <&dcan0_pins_sleep>;
    status = "okay";
    };

    &dcan1 {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dcan1_pins_default>;
    pinctrl-1 = <&dcan1_pins_sleep>;
    status = "okay";
    };

    &mcasp1 {
    #sound-dai-cells = <0>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mcasp1_pins_default>;
    pinctrl-1 = <&mcasp1_pins_sleep>;

    status = "okay";

    op-mode = <0>; /* MCASP_IIS_MODE */
    tdm-slots = <2>;
    /* 4 serializers */
    serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
    0 0 1 2
    >;
    tx-num-evt = <32>;
    rx-num-evt = <32>;
    };

    &wkup_m3_ipc {
    ti,set-io-isolation;
    ti,scale-data-fw = "am43x-evm-scale-data.bin";
    };

    &cpu {
    cpu0-supply = <&dcdc2>;
    };
    /*
    &rtc {
    status = "okay";
    ext-clk-src;
    };
    */
    &sgx {
    status = "okay";
    };



    How can i make the wireless module to work?

    Regards,
    Winiston.P
  • Dear Saurabh,

    There is no attachment option in this forum. If you have personal mail id, share with me. so that i can attach files. Kindly see the below required output,

    1) if i enter "ifconfig wlan0 up" , it simply applied and it does not give any output. It again reach the "root@am437x-evm:" ... Really speaking , there is no output for that command.

    2) "ifconfig wlan0 scan" output is "ifconfig: bad address 'scan'.
    But "iw wlan0 scan" output is "command failed : Network is down (100)

    3) dts file conents are as given below,

    /* Some or all the pins from the following groups are not used by device tree
    myrtc1
    usb_otg
    usb_host
    myadc1
    ram
    */

    /dts-v1/;

    #include "am4372.dtsi"
    #include <dt-bindings/pinctrl/am43xx.h>
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/gpio/gpio.h>

    / {
    model = "TI AM437x GP EVM";
    compatible = "ti,am437x-gp-evm","ti,am4372","ti,am43";

    aliases {
    display0 = &lcd0;
    serial3 = &uart3;
    };

    evm_v3_3d: fixedregulator-v3_3d {
    compatible = "regulator-fixed";
    regulator-name = "evm_v3_3d";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    enable-active-high;
    };

    vtt_fixed: fixedregulator-vtt {
    compatible = "regulator-fixed";
    regulator-name = "vtt_fixed";
    regulator-min-microvolt = <1500000>;
    regulator-max-microvolt = <1500000>;
    regulator-always-on;
    regulator-boot-on;
    enable-active-high;
    gpio = <&gpio2 1 GPIO_ACTIVE_HIGH>;
    };

    vmmcwl_fixed: fixedregulator-mmcwl {
    compatible = "regulator-fixed";
    regulator-name = "vmmcwl_fixed";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    enable-active-high;
    };

    lcd_bl: backlight {
    compatible = "pwm-backlight";
    pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
    brightness-levels = <0 51 53 56 62 75 101 152 255>;
    default-brightness-level = <8>;
    };

    lcd0: display {
    compatible = "panel-dpi";
    label = "lcd";

    panel-timing {
    clock-frequency = <35000000>;
    hactive = <640>;
    vactive = <480>;
    hfront-porch = <12>;
    hback-porch = <52>;
    hsync-len = <96>;
    vback-porch = <31>;
    vfront-porch = <11>;
    vsync-len = <2>;
    hsync-active = <0>;
    vsync-active = <0>;
    de-active = <1>;
    pixelclk-active = <1>;
    };

    port {
    lcd_in: endpoint {
    remote-endpoint = <&dpi_out>;
    };
    };
    };

    sound0: sound@0 {
    compatible = "simple-audio-card";
    simple-audio-card,name = "AM437x-GP-EVM";
    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 = <&sound0_master>;
    simple-audio-card,frame-master = <&sound0_master>;
    simple-audio-card,bitclock-inversion;

    simple-audio-card,cpu {
    sound-dai = <&mcasp1>;
    system-clock-frequency = <12000000>;
    };

    sound0_master: simple-audio-card,codec {
    sound-dai = <&tlv320aic3107>;
    system-clock-frequency = <12000000>;
    };
    };

    audio_mstrclk: mclk_osc {
    compatible = "fixed-clock";
    #clock-cells = <0>;
    clock-frequency = <12000000>;
    };

    };

    &am43xx_pinmux {
    pinctrl-names = "default", "sleep";
    /* modified by wini */
    pinctrl-0 = <&wlan_irq_pins_default &ddr3_vtt_toggle_default &debugss_pins>;
    /* added by wini */
    pinctrl-1 = <&wlan_irq_pins_sleep>;

    ddr3_vtt_toggle_default: ddr_vtt_toggle_default {
    pinctrl-single,pins = <
    0x8C (DS0_PULL_UP_DOWN_EN | PIN_OUTPUT_PULLUP | DS0_FORCE_OFF_MODE | MUX_MODE7) /* (A12) gpmc_clk.gpio2[1] */
    >;
    };

    i2c0_pins: i2c0_pins {
    pinctrl-single,pins = <
    0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (Y22) i2c0_scl.i2c0_scl */
    0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (AB24) i2c0_sda.i2c0_sda */

    >;
    };

    i2c1_pins_default: i2c1_pins_default {
    pinctrl-single,pins = <
    0x240 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* (G20) gpio5_10.I2C1_SCL */
    0x248 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* (E25) gpio5_12.I2C1_SDA */
    >;
    };

    sd_card_pins_default: sd_card_pins_default {
    pinctrl-single,pins = <
    0x100 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D1) mmc0_clk.mmc0_clk */
    0x104 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D2) mmc0_cmd.mmc0_cmd */
    0xfc (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (C1) mmc0_dat0.mmc0_dat0 */
    0xf8 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (C2) mmc0_dat1.mmc0_dat1 */
    0xf4 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (B2) mmc0_dat2.mmc0_dat2 */
    0xf0 (PIN_INPUT_PULLUP | MUX_MODE0 ) /* (B1) mmc0_dat3.mmc0_dat3 */
    0x160 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (R25) spi0_cs1.mmc0_sdcd */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    sd_card_pins_sleep: sd_card_pins_sleep {
    pinctrl-single,pins = <
    0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D1) mmc0_clk.mmc0_clk */
    0x104 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (D2) mmc0_cmd.mmc0_cmd */
    0xfc (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (C1) mmc0_dat0.mmc0_dat0 */
    0xf8 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (C2) mmc0_dat1.mmc0_dat1 */
    0xf4 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B2) mmc0_dat2.mmc0_dat2 */
    0xf0 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B1) mmc0_dat3.mmc0_dat3 */
    0x160 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (R25) spi0_cs1.mmc0_sdcd */
    >;
    };

    emmc_pins_default: emmc_pins_default {
    pinctrl-single,pins = <
    0x80 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B9) gpmc_csn1.mmc1_clk */
    0x84 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (F10) gpmc_csn2.mmc1_cmd */
    0x20 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B10) gpmc_ad8.mmc1_dat0 */
    0x24 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (A10) gpmc_ad9.mmc1_dat1 */
    0x28 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (F11) gpmc_ad10.mmc1_dat2 */
    0x2c (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (D11) gpmc_ad11.mmc1_dat3 */
    0x30 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (E11) gpmc_ad12.mmc1_dat4 */
    0x34 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (C11) gpmc_ad13.mmc1_dat5 */
    0x38 (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (B11) gpmc_ad14.mmc1_dat6 */
    0x3c (PIN_INPUT_PULLUP | MUX_MODE2 ) /* (A11) gpmc_ad15.mmc1_dat7 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    emmc_pins_sleep: emmc_pins_sleep {
    pinctrl-single,pins = <
    0x80 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B9) gpmc_csn1.mmc1_clk */
    0x84 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F10) gpmc_csn2.mmc1_cmd */
    0x20 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B10) gpmc_ad8.mmc1_dat0 */
    0x24 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A10) gpmc_ad9.mmc1_dat1 */
    0x28 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F11) gpmc_ad10.mmc1_dat2 */
    0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D11) gpmc_ad11.mmc1_dat3 */
    0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E11) gpmc_ad12.mmc1_dat4 */
    0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C11) gpmc_ad13.mmc1_dat5 */
    0x38 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B11) gpmc_ad14.mmc1_dat6 */
    0x3c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A11) gpmc_ad15.mmc1_dat7 */
    >;
    };

    ecap0_pins_default: backlight_pins_default {
    pinctrl-single,pins = <
    0x164 MUX_MODE0 /* (G24) eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
    >;
    };

    ecap0_pins_sleep: backlight_pins_sleep {
    pinctrl-single,pins = <
    0x164 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    >;
    };

    cpsw_default: cpsw_default {
    pinctrl-single,pins = <
    0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (C3) gpmc_a0.rgmii2_tctl */
    0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (C5) gpmc_a1.rgmii2_rctl */
    0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (E8) gpmc_a6.rgmii2_tclk */
    0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (F6) gpmc_a7.rgmii2_rclk */
    0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (E7) gpmc_a5.rgmii2_td0 */
    0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (D7) gpmc_a4.rgmii2_td1 */
    0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (A4) gpmc_a3.rgmii2_td2 */
    0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2 ) /* (C6) gpmc_a2.rgmii2_td3 */
    0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (D8) gpmc_a11.rgmii2_rd0 */
    0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (G8) gpmc_a10.rgmii2_rd1 */
    0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (B4) gpmc_a9.rgmii2_rd2 */
    0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2 ) /* (F7) gpmc_a8.rgmii2_rd3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    cpsw_sleep: cpsw_sleep {
    pinctrl-single,pins = <
    0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C3) gpmc_a0.rgmii2_tctl */
    0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C5) gpmc_a1.rgmii2_rctl */
    0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E8) gpmc_a6.rgmii2_tclk */
    0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (F6) gpmc_a7.rgmii2_rclk */
    0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E7) gpmc_a5.rgmii2_td0 */
    0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D7) gpmc_a4.rgmii2_td1 */
    0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A4) gpmc_a3.rgmii2_td2 */
    0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C6) gpmc_a2.rgmii2_td3 */
    0x6c (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (D8) gpmc_a11.rgmii2_rd0 */
    0x68 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (G8) gpmc_a10.rgmii2_rd1 */
    0x64 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B4) gpmc_a9.rgmii2_rd2 */
    0x60 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (F7) gpmc_a8.rgmii2_rd3 */
    >;
    };

    /* below wlan irq definition added by wini */
    wlan_irq_pins_default: wlan_irq_pins_default {
    pinctrl-single,pins = <
    0x140 ( PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */
    0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* () gmc_a4.gpio0_18 wl_en */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    wlan_irq_pins_sleep: wlan_irq_pins_sleep {
    pinctrl-single,pins = <
    0x140 (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */
    0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* () gmc_a4.gpio0_18 wl_en */
    >;
    };

    davinci_mdio_default: davinci_mdio_default {
    pinctrl-single,pins = <
    0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (A17) mdio_data.mdio_data */
    0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* (B17) mdio_clk.mdio_clk */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    davinci_mdio_sleep: davinci_mdio_sleep {
    pinctrl-single,pins = <
    0x148 (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (A17) mdio_data.mdio_data */
    0x14c (PIN_INPUT | PULL_DISABLE | MUX_MODE7 ) /* (B17) mdio_clk.mdio_clk */

    >;
    };

    dss_pinctrl_default: dss_pinctrl_default {
    pinctrl-single,pins = <
    0xe0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B23) dss_vsync.dss_vsync */
    0xe4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A23) dss_hsync.dss_hsync */
    0xe8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A22) dss_pclk.dss_pclk */
    0xec (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A24) dss_ac_bias_en.dss_ac_bias_en */
    0xa0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B22) dss_data0.dss_data0 */
    0xa4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A21) dss_data1.dss_data1 */
    0xa8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B21) dss_data2.dss_data2 */
    0xac (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C21) dss_data3.dss_data3 */
    0xb0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A20) dss_data4.dss_data4 */
    0xb4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B20) dss_data5.dss_data5 */
    0xb8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C20) dss_data6.dss_data6 */
    0xbc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (E19) dss_data7.dss_data7 */
    0xc0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A19) dss_data8.dss_data8 */
    0xc4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B19) dss_data9.dss_data9 */
    0xc8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (A18) dss_data10.dss_data10 */
    0xcc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (B18) dss_data11.dss_data11 */
    0xd0 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C19) dss_data12.dss_data12 */
    0xd4 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (D19) dss_data13.dss_data13 */
    0xd8 (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (C17) dss_data14.dss_data14 */
    0xdc (PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (D17) dss_data15.dss_data15 */
    0x1cc (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC24) cam1_data9.dss_data16 */
    0x1c8 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AA19) cam0_data9.dss_data17 */
    0x1c4 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AB19) cam0_data8.dss_data18 */
    0x1c0 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC20) cam0_pclk.dss_data19 */
    0x1bc (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AD17) cam0_wen.dss_data20 */
    0x1b8 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AC18) cam0_field.dss_data21 */
    0x1b4 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AD18) cam0_vd.dss_data22 */
    0x1b0 (PIN_OUTPUT_PULLUP | MUX_MODE2 ) /* (AE17) cam0_hd.dss_data23 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dss_pinctrl_sleep: dss_pinctrl_sleep {
    pinctrl-single,pins = <
    0xe0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B23) dss_vsync.dss_vsync */
    0xe4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A23) dss_hsync.dss_hsync */
    0xe8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A22) dss_pclk.dss_pclk */
    0xec (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A24) dss_ac_bias_en.dss_ac_bias_en */
    0xa0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B22) dss_data0.dss_data0 */
    0xa4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (A21) dss_data1.dss_data1 */
    0xa8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B21) dss_data2.dss_data2 */
    0xac (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C21) dss_data3.dss_data3 */
    0xb0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (A20) dss_data4.dss_data4 */
    0xb4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B20) dss_data5.dss_data5 */
    0xb8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C20) dss_data6.dss_data6 */
    0xbc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E19) dss_data7.dss_data7 */
    0xc0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A19) dss_data8.dss_data8 */
    0xc4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (B19) dss_data9.dss_data9 */
    0xc8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A18) dss_data10.dss_data10 */
    0xcc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B18) dss_data11.dss_data11 */
    0xd0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C19) dss_data12.dss_data12 */
    0xd4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (D19) dss_data13.dss_data13 */
    0xd8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | PULL_DISABLE | MUX_MODE7 ) /* (C17) dss_data14.dss_data14 */
    0xdc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D17) dss_data15.dss_data15 */
    0x1cc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC24) cam1_data9.dss_data16 */
    0x1c8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AA19) cam0_data9.dss_data17 */
    0x1c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AB19) cam0_data8.dss_data18 */
    0x1c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC20) cam0_pclk.dss_data19 */
    0x1bc (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AD17) cam0_wen.dss_data20 */
    0x1b8 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AC18) cam0_field.dss_data21 */
    0x1b4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AD18) cam0_vd.dss_data22 */
    0x1b0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (AE17) cam0_hd.dss_data23 */
    >;
    };

    dcan0_pins_default: dcan0_pins_default {
    pinctrl-single,pins = <
    0x17c ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (L22) uart1_rtsn.dcan0_rx */
    0x178 ( PIN_OUTPUT | MUX_MODE2 ) /* (K22) uart1_ctsn.dcan0_tx */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dcan0_pins_sleep: dcan0_pins_sleep {
    pinctrl-single,pins = <
    0x17c (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (L22) uart1_rtsn.dcan0_rx */
    0x178 (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (K22) uart1_ctsn.dcan0_tx */
    >;
    };

    dcan1_pins_default: dcan1_pins_default {
    pinctrl-single,pins = <
    0x16c ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (J25) uart0_rtsn.dcan1_rx */
    0x168 ( PIN_OUTPUT | MUX_MODE2 ) /* (L25) uart0_ctsn.dcan1_tx */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    dcan1_pins_sleep: dcan1_pins_sleep {
    pinctrl-single,pins = <
    0x16c (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (J25) uart0_rtsn.dcan1_rx */
    0x168 (PIN_INPUT_PULLUP | MUX_MODE7 ) /* (L25) uart0_ctsn.dcan1_tx */
    >;
    };

    cam1_pins_default: cam1_pins_default {
    pinctrl-single,pins = <
    0x1dc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE21) cam1_pclk.cam1_pclk */
    0x1e8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AB20) cam1_data0.cam1_data0 */
    0x1ec ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AC21) cam1_data1.cam1_data1 */
    0x1f0 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD21) cam1_data2.cam1_data2 */
    0x1f4 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE22) cam1_data3.cam1_data3 */
    0x1f8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD22) cam1_data4.cam1_data4 */
    0x1fc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE23) cam1_data5.cam1_data5 */
    0x200 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD23) cam1_data6.cam1_data6 */
    0x204 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE24) cam1_data7.cam1_data7 */
    0x1d0 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD24) cam1_data8.cam1_data8 */
    0x208 ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (AE18) cam0_data0.cam1_data9 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    cam1_pins_sleep: cam1_pins_sleep {
    pinctrl-single,pins = <
    0x1dc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE21) cam1_pclk.cam1_pclk */
    0x1e8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AB20) cam1_data0.cam1_data0 */
    0x1ec (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AC21) cam1_data1.cam1_data1 */
    0x1f0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD21) cam1_data2.cam1_data2 */
    0x1f4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE22) cam1_data3.cam1_data3 */
    0x1f8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD22) cam1_data4.cam1_data4 */
    0x1fc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE23) cam1_data5.cam1_data5 */
    0x200 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD23) cam1_data6.cam1_data6 */
    0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE24) cam1_data7.cam1_data7 */
    0x1d0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AD24) cam1_data8.cam1_data8 */
    0x208 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7 ) /* (AE18) cam0_data0.cam1_data9 */
    >;
    };

    mcasp1_pins_default: mcasp1_pins_default {
    pinctrl-single,pins = <
    0x10c ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (B14) mii1_crs.mcasp1_aclkx */
    0x110 ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (B13) mii1_rx_er.mcasp1_fsx */
    0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE3 ) /* (B15) mii1_txd0.mcasp1_axr2 */
    0x144 ( PIN_INPUT_PULLDOWN | MUX_MODE4 ) /* (A16) rmii1_ref_clk.mcasp1_axr3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mcasp1_pins_sleep: mcasp1_pins_sleep {
    pinctrl-single,pins = <
    0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B14) mii1_crs.mcasp1_aclkx */
    0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B13) mii1_rx_er.mcasp1_fsx */
    0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B15) mii1_txd0.mcasp1_axr2 */
    0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A16) rmii1_ref_clk.mcasp1_axr3 */
    >;
    };

    uart0_pins_default: uart0_pins_default {
    pinctrl-single,pins = <
    0x170 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K25) uart0_rxd.uart0_rxd */
    0x174 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (J24) uart0_txd.uart0_txd */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    uart0_pins_sleep: uart0_pins_sleep {
    pinctrl-single,pins = <
    0x170 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K25) uart0_rxd.uart0_rxd */
    0x174 (PIN_INPUT_PULLDOWN | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (J24) uart0_txd.uart0_txd */
    >;
    };

    mmc2_pins_default: mmc2_pins_default {
    pinctrl-single,pins = <
    0x13c (PIN_INPUT_PULLUP | MUX_MODE6 ) /* (B16) mii1_rxd1.mmc2_clk */
    0x114 (PIN_INPUT_PULLUP | MUX_MODE6 ) /* (A13) mii1_tx_en.mmc2_cmd */
    0x118 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (A15) mii1_rx_dv.mmc2_dat0 */
    0x11c (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (C16) mii1_txd3.mmc2_dat1 */
    0x120 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (C13) mii1_txd2.mmc2_dat2 */
    0x108 (PIN_INPUT_PULLUP | MUX_MODE5 ) /* (D16) mii1_col.mmc2_dat3 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mmc2_pins_sleep: mmc2_pins_sleep {
    pinctrl-single,pins = <
    0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (B16) mii1_rxd1.mmc2_clk */
    0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A13) mii1_tx_en.mmc2_cmd */
    0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (A15) mii1_rx_dv.mmc2_dat0 */
    0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C16) mii1_txd3.mmc2_dat1 */
    0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C13) mii1_txd2.mmc2_dat2 */
    0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D16) mii1_col.mmc2_dat3 */
    >;
    };

    uart3_pins: uart3_pins {
    pinctrl-single,pins = <
    0x228 (PIN_INPUT | MUX_MODE0) /* uart3_rxd.uart3_rxd */
    0x22c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* uart3_txd.uart3_txd */
    0x230 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_ctsn.uart3_ctsn */
    0x234 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* uart3_rtsn.uart3_rtsn */
    >;
    };

    debugss_pins: pinmux_debugss_pins {
    pinctrl-single,pins = <
    0x290 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y24) TMS.TMS */
    0x294 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y20) TDI.TDI */
    0x298 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (AA24) TDO.TDO */
    0x29c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (AA25) TCK.TCK */
    0x2a0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (Y25) nTRST.nTRST */
    0x2a4 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (N23) EMU0.EMU0 */
    0x2a8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* (T24) EMU1.EMU1 */
    >;
    };

    usb_otg_pins_default: usb_otg_pins_default {
    pinctrl-single,pins = <
    0x2c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0 ) /* (G21) USB0_DRVVBUS.USB0_DRVVBUS */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    usb_otg_pins_sleep: usb_otg_pins_sleep {
    pinctrl-single,pins = <
    0x2c0 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN ) /* (G21) USB0_DRVVBUS.USB0_DRVVBUS */
    >;
    };

    usb_host_pins_default: usb_host_pins_default {
    pinctrl-single,pins = <
    0x2c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0 ) /* (F25) USB1_DRVVBUS.USB1_DRVVBUS */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    usb_host_pins_sleep: usb_host_pins_sleep {
    pinctrl-single,pins = <
    0x2c4 (DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN ) /* (F25) USB1_DRVVBUS.USB1_DRVVBUS */
    >;
    };

    spi_pins_default: spi_pins_default {
    pinctrl-single,pins = <
    0x190 ( PIN_INPUT | MUX_MODE3 ) /* (N24) mcasp0_aclkx.spi1_sclk */
    0x194 ( PIN_INPUT | MUX_MODE3 ) /* (N22) mcasp0_fsx.spi1_d0 */
    0x198 ( PIN_INPUT | MUX_MODE3 ) /* (H23) mcasp0_axr0.spi1_d1 */
    0x19c ( PIN_INPUT | MUX_MODE3 ) /* (M24) mcasp0_ahclkr.spi1_cs0 */
    >;
    };

    gpio2_pins_default: gpio2_pins_default {
    pinctrl-single,pins = <
    0x88 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (B12) gpmc_csn3.gpio2[0] */
    0x94 ( PIN_INPUT | MUX_MODE7 ) /* (E10) gpmc_oen_ren.gpio2[3] */
    >;
    };

    gpio1_pins_default: gpio1_pins_default {
    pinctrl-single,pins = <
    0x0 ( PIN_INPUT | MUX_MODE7 ) /* (B5) gpmc_ad0.gpio1[0] */
    0x4 ( PIN_INPUT | MUX_MODE7 ) /* (A5) gpmc_ad1.gpio1[1] */
    0x78 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (A3) gpmc_be1n.gpio1[28] */
    >;
    };

    gpio0_pins_default: gpio0_pins_default {
    pinctrl-single,pins = <
    0x1a8 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (M25) mcasp0_axr1.gpio0[2] */
    0x1ac ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (L24) mcasp0_ahclkx.gpio0[3] */
    0x158 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T21) spi0_d1.gpio0[4] */
    0x15c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T20) spi0_cs0.gpio0[5] */
    0x1a0 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (L23) mcasp0_aclkr.gpio0[18] */
    0x1a4 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (K23) mcasp0_fsr.gpio0[19] */
    0x264 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (P22) spi2_d0.gpio0[20] */
    0x268 ( PIN_INPUT_PULLUP | MUX_MODE9 ) /* (P20) spi2_d1.gpio0[21] */
    >;
    };

    gpio5_pins_default: gpio5_pins_default {
    pinctrl-single,pins = <
    0x250 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (P25) spi4_sclk.gpio5[4] */
    0x254 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (R24) spi4_d0.gpio5[5] */
    0x258 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (P24) spi4_d1.gpio5[6] */
    0x25c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (N25) spi4_cs0.gpio5[7] */
    0x238 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (D25) gpio5_8.gpio5[8] */
    0x23c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (F24) gpio5_9.gpio5[9] */
    0x244 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (F23) gpio5_11.gpio5[11] */
    >;
    };

    gpio3_pins_default: gpio3_pins_default {
    pinctrl-single,pins = <
    0x260 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (N20) spi2_sclk.gpio3[24] */
    >;
    };
    /*
    rtc1_pins_default: rtc1_pins_default {
    pinctrl-single,pins = <
    0x2b4 ( PIN_INPUT_PULLUP | MUX_MODE0 )
    0x2b8 ( PIN_INPUT_PULLUP | MUX_MODE0 )
    0x2bc ( PIN_OUTPUT_PULLUP | MUX_MODE0 )
    >;
    };
    */
    glue1_pins_default: glue1_pins_default {
    pinctrl-single,pins = <
    0x27c ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G22) WARMRSTn.nRESETIN_OUT */
    0x280 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (Y23) PWRONRSTn.porz */
    >;
    };

    osc1_pins_default: osc1_pins_default {
    pinctrl-single,pins = <
    0x288 ( PIN_INPUT | MUX_MODE0 ) /* (C25) XTALIN.OSC0_IN */
    0x28c ( PIN_OUTPUT | MUX_MODE0 ) /* (B25) XTALOUT.OSC0_OUT */
    >;
    };
    /*
    osc2_pins_default: osc2_pins_default {
    pinctrl-single,pins = <
    0x2ac ( PIN_INPUT | MUX_MODE0 )
    0x2b0 ( PIN_OUTPUT | MUX_MODE0 )
    >;
    };
    */
    mcasp2_pins_default: mcasp2_pins_default {
    pinctrl-single,pins = <
    0x12c ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (D14) mii1_tx_clk.mcasp0_aclkx */
    0x130 ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (D13) mii1_rx_clk.mcasp0_fsx */
    0x134 ( PIN_OUTPUT_PULLDOWN | MUX_MODE6 ) /* (C14) mii1_rxd3.mcasp0_axr0 */
    0x138 ( PIN_INPUT_PULLDOWN | MUX_MODE6 ) /* (E16) mii1_rxd2.mcasp0_axr1 */
    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    mcasp2_pins_sleep: mcasp2_pins_sleep {
    pinctrl-single,pins = <
    0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D14) mii1_tx_clk.mcasp0_aclkx */
    0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D13) mii1_rx_clk.mcasp0_fsx */
    0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (C14) mii1_rxd3.mcasp0_axr0 */
    0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (E16) mii1_rxd2.mcasp0_axr1 */
    >;
    };

    uart1_pins_default: uart1_pins_default {
    pinctrl-single,pins = <
    0x180 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (K21) uart1_rxd.uart1_rxd */
    0x184 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0 ) /* (L21) uart1_txd.uart1_txd */
    >;
    };

    uart2_pins_default: uart2_pins_default {
    pinctrl-single,pins = <
    0x150 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE1 ) /* (P23) spi0_sclk.uart2_rxd */
    0x154 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE1 ) /* (T22) spi0_d0.uart2_txd */
    >;
    };

    uart4_pins_default: uart4_pins_default {
    pinctrl-single,pins = <
    0x70 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE6 ) /* (A2) gpmc_wait0.uart4_rxd */
    0x74 (PIN_OUTPUT_PULLUP | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE6 ) /* (B3) gpmc_wpn.uart4_txd */
    >;
    };

    myarm1_pins_default: myarm1_pins_default {
    pinctrl-single,pins = <
    0x284 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (G25) EXTINTn.nNMI */
    >;
    };
    };

    &i2c0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pins>;
    clock-frequency = <100000>;

    tps65218: tps65218@24 {
    reg = <0x24>;
    compatible = "ti,tps65218";
    interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* NMIn */
    interrupt-controller;
    #interrupt-cells = <2>;

    dcdc1: regulator-dcdc1 {
    compatible = "ti,tps65218-dcdc1";
    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";
    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 = "vdcdc3";
    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;
    };
    };

    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-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-boot-on;
    regulator-always-on;
    };
    };

    tvp514x@b9 {
    compatible = "ti,tvp5146m2";
    reg = <0x5C>;
    status = "okay";

    port {
    tvp514x_1: endpoint {
    hsync-active = <1>;
    vsync-active = <1>;
    pclk-sample = <0>;
    };
    };
    };

    tlv320aic3107: tlv320aic3107@18 {
    compatible = "ti,tlv320aic3107";
    reg = <0x18>;
    status = "okay";

    /* added by wini */
    /* Regulators */
    IOVDD-supply = <&evm_v3_3d>; /* V3_3D -> <tps63031> EN: V1_8D -> VBAT */
    AVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */
    DRVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */
    DVDD-supply = <&ldo1>; /* V1_8D -> LDO1 */

    };
    };

    &i2c1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c1_pins_default>;
    };

    &epwmss0 {
    status = "okay";
    };

    &tscadc {
    status = "okay";

    adc {
    ti,adc-channels = <0 1 2 3 4 5 6 7>;
    };
    };

    &ecap0 {
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&ecap0_pins_default>;
    pinctrl-1 = <&ecap0_pins_sleep>;
    };

    &gpio0 {
    status = "okay";
    };

    &gpio5 {
    status = "okay";
    };

    &gpio2 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio2_pins_default>;
    status = "okay";

    p0 {
    gpio-hog;
    gpios = <0 GPIO_ACTIVE_HIGH>;
    output-high;
    line-name = "LCD_BK_EN";
    };
    };

    &gpio1 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio1_pins_default>;
    status = "okay";

    p1 {
    gpio-hog;
    gpios = <1 GPIO_ACTIVE_HIGH>;
    output-high;
    };

    p28 {
    gpio-hog;
    gpios = <28 GPIO_ACTIVE_LOW>;
    output-high;
    line-name = "eMMC Resetn";
    };
    };

    &gpio3 {
    pinctrl-names = "default";
    pinctrl-0 = <&gpio3_pins_default>;
    status = "okay";

    p24 {
    gpio-hog;
    gpios = <24 GPIO_ACTIVE_LOW>;
    output-high;
    lines-name = "TVP Powerdown";
    };
    };

    &mmc1 {
    status = "okay";
    vmmc-supply = <&evm_v3_3d>;
    bus-width = <4>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&sd_card_pins_default>;
    pinctrl-1 = <&sd_card_pins_sleep>;
    };

    &mmc2 {
    status = "okay";
    vmmc-supply = <&evm_v3_3d>;
    bus-width = <8>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&emmc_pins_default>;
    pinctrl-1 = <&emmc_pins_sleep>;
    ti,non-removable;
    };

    &mmc3 {
    status = "okay";
    /* these are on the crossbar and are outlined in the
    xbar-event-map element */
    /*dmas = <&edma 30
    &edma 31>; */
    /*modified by wini */
    dmas = <&edma_xbar 30 0 1>,
    <&edma_xbar 31 0 2>;
    dma-names = "tx", "rx";
    vmmc-supply = <&vmmcwl_fixed>;
    bus-width = <4>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mmc2_pins_default>;
    pinctrl-1 = <&mmc2_pins_sleep>;
    cap-power-off-card;
    keep-power-in-suspend;
    ti,non-removable;

    #address-cells = <1>;
    #size-cells = <0>;
    wlcore: wlcore@0 {
    compatible = "ti,wl1835";
    reg = <2>;
    /*below 2 lines wini*/
    interrupt-parent = <&gpio2>;
    interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
    };
    };

    &edma {
    ti,edma-xbar-event-map = /bits/ 16 <1 30
    2 31>;
    };

    &uart3 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&uart3_pins>;
    };

    &usb2_phy1 {
    status = "okay";
    };

    &usb1 {
    dr_mode = "otg";
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&usb_otg_pins_default>;
    pinctrl-1 = <&usb_otg_pins_sleep>;
    };

    &usb2_phy2 {
    status = "okay";
    };

    &usb2 {
    dr_mode = "host";
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&usb_host_pins_default>;
    pinctrl-1 = <&usb_host_pins_sleep>;
    };

    &mac {
    slaves = <1>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&cpsw_default>;
    pinctrl-1 = <&cpsw_sleep>;
    status = "okay";
    };

    &davinci_mdio {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&davinci_mdio_default>;
    pinctrl-1 = <&davinci_mdio_sleep>;
    status = "okay";
    };

    /*&cpsw_emac1 to emac0 --wini */

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <0>;
    phy-mode = "rgmii";
    };

    &elm {
    status = "okay";
    };

    &uart0 {
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&uart0_pins_default>;
    pinctrl-1 = <&uart0_pins_sleep>;
    };

    &dss {
    status = "ok";

    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dss_pinctrl_default>;
    pinctrl-1 = <&dss_pinctrl_sleep>;

    port {
    dpi_out: endpoint@0 {
    remote-endpoint = <&lcd_in>;
    data-lines = <24>;
    };
    };
    };

    &dcan0 {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dcan0_pins_default>;
    pinctrl-1 = <&dcan0_pins_sleep>;
    status = "okay";
    };

    &dcan1 {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&dcan1_pins_default>;
    pinctrl-1 = <&dcan1_pins_sleep>;
    status = "okay";
    };

    &mcasp1 {
    #sound-dai-cells = <0>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mcasp1_pins_default>;
    pinctrl-1 = <&mcasp1_pins_sleep>;

    status = "okay";

    op-mode = <0>; /* MCASP_IIS_MODE */
    tdm-slots = <2>;
    /* 4 serializers */
    serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
    0 0 1 2
    >;
    tx-num-evt = <32>;
    rx-num-evt = <32>;
    };

    &wkup_m3_ipc {
    ti,set-io-isolation;
    ti,scale-data-fw = "am43x-evm-scale-data.bin";
    };

    &cpu {
    cpu0-supply = <&dcdc2>;
    };
    /*
    &rtc {
    status = "okay";
    ext-clk-src;
    };
    */
    &sgx {
    status = "okay";
    };


    Kingly guide me how do i make the wireless module to work ?

    Regards,
    Winiston.P
  • One thing which I already see wrong is the following:

    vmmcwl_fixed: fixedregulator-mmcwl {
    compatible = "regulator-fixed";
    regulator-name = "vmmcwl_fixed";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    enable-active-high;
    };

    You are missing the wlan_enable pin in this regulator:

    You need to define vmmcwl_fixed as a fixed voltage regulator that controls the wlan_enable pin as in:
    processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide

    This pin can’t be always on but has to be controlled from the driver.
    Your vmmcwl_fixed is miisng this gpio definition, without it it wouldn’t work:

    ...
    startup-delay-us = <70000>;
    /* WLAN_EN GPIO for this board - Bank0, pin18 */
    gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
    enable-active-high;
    ...

    Please fix this issue, probe the wlan_en pin and make sure it powers on during boot.
    Once the SDIO module is detected on the bus (hopefully) it should then power off and power on again when the modules are probed.

    BR,
    Eyal
  • Please check my answer above:

    One thing which I already see wrong is the following:

    vmmcwl_fixed: fixedregulator-mmcwl {
    compatible = "regulator-fixed";
    regulator-name = "vmmcwl_fixed";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    enable-active-high;
    };

    You are missing the wlan_enable pin in this regulator:

    You need to define vmmcwl_fixed as a fixed voltage regulator that controls the wlan_enable pin as in:
    processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide

    This pin can’t be always on but has to be controlled from the driver.
    Your vmmcwl_fixed is miisng this gpio definition, without it it wouldn’t work:

    ...
    startup-delay-us = <70000>;
    /* WLAN_EN GPIO for this board - Bank0, pin18 */
    gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
    enable-active-high;
    ...

    Please fix this issue, probe the wlan_en pin and make sure it powers on during boot.
    Once the SDIO module is detected on the bus (hopefully) it should then power off and power on again when the modules are probed.

    BR,
    Eyal
  • Dear Eyal,
    I have added gpio definition in the "vmmcwl_fixed regulator" section as you said. I have probed wlan_en pin. It powers off and power on again properly and SDIO module is detected and got a console message . Still i am facing the same problem. I am not able to scan SSID.

    Please see my system response for my command...

    1) If i enter "ifconfig wlan0 up" , it just accepts and gives login screen like "root@am437x-evm:~#:". But it did not give message like "wlcore: PHY firmware version: Rev 8.2.0.0.232
    wlcore: firmware booted (Rev 8.9.0.0.48)"
    Note: I am able to check the firmware separately.

    2) If i enter "ifconfig wlan0 scan | grep SSID" , i get "Error: Connection Time out".

    3) I entered "lsmod'. and i do not get module like "wl18xx, wlcore,mac80211,cfg80211,wlcore_sdio." but i get other modules.

    4) If i enter "cat /proc/interrupts | grep wl18xx', I get " 209: 0 481ac000.gpio 21 Level wl18xx"

    I built wl18xx module as per "processors.wiki.ti.com/.../WL18xx_System_Build_Scripts" .I got only installation directories under "fs" directory. "fs_skeleton.tbz2" did not create as per document said.

    I used the "fs" directory files and merged with file system files. Is it right? If i just cope and paste the files, same folders are existing in the file system. How do i merge the files properly?

    Can you kindly tell me, what is wrong in our board and software?

    Note: I am using Dlink router which gives wifi signal. we are regularly using this for office purpose wifi with windows 10 system. It works good. But i am not able to scan the same SSID using my custom based am437x board.

    Regards,
    Winiston.P
  • Hi,

    cat /proc/interrupts | grep wl18xx', I get " 209: 0 481ac000.gpio 21 Level wl18xx"

    This is the issue, you are not getting interrupts from wlan_irq (you get 0).

    Please check your .dts file and make sure you are muxing the gpio correctly and setting it as input (is it gpio0_21?).

    BR,

    Eyal

  • Dear Eyal,
    It is gpio2_21. Please look below wlan related declaration in the .dts file

    vmmcwl_fixed: fixedregulator-mmcwl {
    compatible = "regulator-fixed";
    regulator-name = "vmmcwl_fixed";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    /*belowlines added by wini */
    startup-delay-us = <70000>;
    /* WLAN_EN GPIO for this board - Bank0, pin18 */
    gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
    enable-active-high;

    };

    &am43xx_pinmux {
    pinctrl-names = "default", "sleep";
    /* modified by wini */
    pinctrl-0 = <&wlan_irq_pins_default &ddr3_vtt_toggle_default &debugss_pins>;
    /* added by wini */
    pinctrl-1 = <&wlan_irq_pins_sleep>;

    ddr3_vtt_toggle_default: ddr_vtt_toggle_default {
    pinctrl-single,pins = <
    0x8C (DS0_PULL_UP_DOWN_EN | PIN_OUTPUT_PULLUP | DS0_FORCE_OFF_MODE | MUX_MODE7) /* (A12) gpmc_clk.gpio2[1] */
    >;
    };

    /* below wlan irq definition added by wini */
    wlan_irq_pins_default: wlan_irq_pins_default {
    pinctrl-single,pins = <
    0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* (L23) gmc_a4.gpio0_18 wlan_en and bl_en */
    0x140 ( PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */

    >;
    };

    /* Optional sleep pin settings. Must manually enter values in the below skeleton. */
    wlan_irq_pins_sleep: wlan_irq_pins_sleep {
    pinctrl-single,pins = <
    0x1a0 ( PIN_OUTPUT_PULLUP | MUX_MODE9 ) /* (L23) gmc_a4.gpio0_18 wlan_en and bl_en */
    0x140 (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 */

    >;
    };


    Note: wlan_enable and Bluetooth_enable pins are shorted in WL1835 IC side .

    Does the above declaration in the .dts are correct ? Please comment me if anything wrong.

    Regards,
    Winiston.P
  • Hi,

    Please post also the mmc subnode section where wlcore parameters are defined.

    BR,
    Eyal
  • Dear Eyal,
    The problem got solved.
    I have checked wlan_irq signal definition in the dts file as you said.
    There is a problem in wlan_irq mux mode. I have changed the signal from
    "0x140 (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE2 ) /* (F17) mii1_rxd0.rgmii1_rd0 _wlan_irq*/ "

    to

    "0x140 (PIN_INPUT | WAKEUP_ENABLE | MUX_MODE7 ) /* (F17) mii1_rxd0.rgmii1_rd0_wlan_irq */"

    Changed "mux_mode2" to "mux_mode7".

    The problem got solved.
    Thanks for your esteem help and quick reply.

    Regards,
    Winiston.P