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.

AM4379: Wifi/Bluetooth Device not available after updated to TI SDK Version 6.x

Part Number: AM4379
Other Parts Discussed in Thread: AM4372

Hi,

I recently updated our yocto image to the most recent TI SDK Version 6.x. The prior version we are using was the Version 5.2.x. After the update the Wifi/Bluetooth device is not probed anymore. I do not have any mlan0 device anymore after running ifconfig -a.

Following some additional information and logs. I have also attached the full dmesg log.

Please let me know if you need any further information.


Configuration
Used Kernel: 4.19.38-rt19 armv7l GNU/Linux
UBoot: 2019.1
Board: Custom Board with AM4379

Device Tree

ls3: regulator-ls3 {                                    
    compatible = "ti,tps65218-ls3";                 
    regulator-name = "vcc_wlan";                    
    regulator-min-microamp = <100>;                 
    regulator-max-microamp = <1000>;                
    regulator-boot-on;                              
    regulator-always-on;                            
    regulator-input-current-limit-microamp = <1000>;
};                                                      

vwlan_fixed1: fixed-regulator-vwlan1 {
    compatible = "regulator-fixed";
    regulator-name = "vwlan_fixed1";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    vin-supply = <&ls3>;
    gpio = <&gpio5 12 GPIO_ACTIVE_HIGH>;
    enable-active-high;
};

vwlan_fixed2: fixed-regulator-vwlan2 {
    compatible = "regulator-fixed";
    regulator-name = "vwlan_fixed2";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    gpio = <&gpio5 13 GPIO_ACTIVE_HIGH>;
    vin-supply = <&vwlan_fixed1>;
    enable-active-high;
};

// WLAN
&mmc3 {
    status = "okay";
    pinctrl-names = "default", "idle";
    pinctrl-0 = <&mmc3_pins_default>;
    pinctrl-1 = <&mmc3_pins_idle>;
    vmmc-supply = <&vwlan_fixed2>;
    bus-width = <4>;
    ti,non-removable;
    dmas = <&edma_xbar 30 0 1
    &edma_xbar 31 0 2>;
    dma-names = "tx", "rx";
    interrupts-extended = <&wakeupgen GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH
    &gpio4 19 GPIO_ACTIVE_LOW>;
};



After booting, no wifi or bluetooth modules are loaded:

root@t43-9888a1aa:~# lsmod
Module Size Used by
ti_prueth 77824 0
pru_rproc 20480 1 ti_prueth
pruss 16384 2 pru_rproc,ti_prueth
irq_pruss_intc 16384 7 pru_rproc
pm33xx 16384 0
pruss_soc_bus 16384 0
omap_des 20480 0
des_generic 28672 1 omap_des
omap_aes_driver 24576 0
crypto_engine 16384 2 omap_des,omap_aes_driver
omap_crypto 16384 2 omap_des,omap_aes_driver
omap_sham 28672 0
ti_emif_sram 16384 1 pm33xx
c_can_platform 16384 0
c_can 20480 1 c_can_platform
can_dev 28672 1 c_can
spidev 20480 0
omap_mailbox 20480 1
wkup_m3_ipc 16384 1 pm33xx
ti_am335x_adc 20480 0
wkup_m3_rproc 16384 1
remoteproc 45056 4 pru_rproc,wkup_m3_rproc,wkup_m3_ipc,ti_prueth
omap_wdt 16384 0
sch_fq_codel 20480 4
cryptodev 49152 0



dmesg Boot: grep for wlan

root@t43-9888a1aa:~# dmesg | grep -E "wlan|47810000"
[ 0.219438] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixed-regulator-vwlan1[0]' - status (0)
[ 0.219757] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixed-regulator-vwlan2[0]' - status (0)
[ 1.635500] omap_hsmmc 47810000.mmc: GPIO lookup for consumer cd
[ 1.635510] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
[ 1.635531] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp@44000000/mmc@47810000[0]'
[ 1.635545] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp@44000000/mmc@47810000[0]'
[ 1.635555] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
[ 1.635562] omap_hsmmc 47810000.mmc: No GPIO consumer cd found
[ 1.635572] omap_hsmmc 47810000.mmc: GPIO lookup for consumer wp
[ 1.635577] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
[ 1.635591] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp@44000000/mmc@47810000[0]'
[ 1.635603] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp@44000000/mmc@47810000[0]'
[ 1.635610] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
[ 1.635616] omap_hsmmc 47810000.mmc: No GPIO consumer wp found
[ 1.799268] omap_hsmmc 47810000.mmc: GPIO lookup for consumer cd
[ 1.799277] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
[ 1.799301] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp@44000000/mmc@47810000[0]'
[ 1.799317] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp@44000000/mmc@47810000[0]'
[ 1.799327] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
[ 1.799335] omap_hsmmc 47810000.mmc: No GPIO consumer cd found
[ 1.799345] omap_hsmmc 47810000.mmc: GPIO lookup for consumer wp
[ 1.799350] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
[ 1.799364] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp@44000000/mmc@47810000[0]'
[ 1.799377] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp@44000000/mmc@47810000[0]'
[ 1.799384] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
[ 1.799390] omap_hsmmc 47810000.mmc: No GPIO consumer wp found
[ 1.799750] vwlan_fixed1: supplied by vcc_wlan
[ 1.804303] vwlan_fixed2: supplied by vwlan_fixed1
[ 1.809264] omap_hsmmc 47810000.mmc: Linked as a consumer to regulator.3
[ 1.816574] omap_hsmmc 47810000.mmc: could not set regulator OCR (-1) --> not present in sdk5.2
[ 1.868503] vwlan_fixed1: disabling
[ 1.872034] vwlan_fixed2: disabling


debug gpio, both vwlan_fixed1 and vwaln_fixed2 are lo, in the sdk 5.x image, these were hi

root@t43-9888a1aa:~# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-31, parent: platform/44e07000.gpio, gpio-0-31:
gpio-6 ( |cd ) in lo IRQ
gpio-24 ( |cm-t43:green ) out lo

gpiochip1: GPIOs 32-63, parent: platform/4804c000.gpio, gpio-32-63:

gpiochip2: GPIOs 64-95, parent: platform/481ac000.gpio, gpio-64-95:
gpio-76 ( |mosi ) out lo
gpio-89 ( |sck ) out lo

gpiochip3: GPIOs 96-127, parent: platform/481ae000.gpio, gpio-96-127:

gpiochip4: GPIOs 128-159, parent: platform/48320000.gpio, gpio-128-159:
gpio-131 ( |btn-5 ) in hi IRQ
gpio-132 ( |btn-3 ) in hi IRQ
gpio-134 ( |reset ) out hi
gpio-143 ( |btn-4 ) in hi IRQ
gpio-154 ( |btn-2 ) in hi IRQ
gpio-157 ( |btn-1 ) in hi IRQ

gpiochip5: GPIOs 160-191, parent: platform/48322000.gpio, gpio-160-191:
gpio-172 ( |vwlan_fixed1 ) out lo
gpio-173 ( |vwlan_fixed2 ) out lo

gpiochip6: GPIOs 496-511, parent: spi/spi1.0, 74hc595, can sleep:

  • Hi Martin,

    Let me try to recreate on my end and get back to you.

    Best Regards,
    Vince 

  • Martin,

    I was able to install the latest 6.x SDK and get the wlan0 interface to come up. Can you describe the steps you took to upgrade to the latest SDK?

    Best Regards,

    Vince

  • Hi Vince,

    thank you for your investigation. We have a custom board, as I wrote in my first post, so maby something is different to your setup...

    My steps to upgrade to the latest SDK:

    1) clone the newest Yocto Arago Repo and used the "processor-sdk-06.00.00.07-config.txt" config
    2) Added my meta-layer (adapted it to the new yocto release)
    3) Updated my device tree with the changes made in am437x-idk-evm.dts especially the pru parts.

    4) Updated the kernel config to use the newly named pru config names
    5) In the 5.2 Release I have to disable the omap2_clk_enable_autoidle_all() in the kernel. Else my network devices were not working correctly. I have to do this in the 6.x release too.

    6) Additionally, I had to apply the following patch to get wifi working in 5.2, so applied this one also in 6.x

    Thats all that I have to change for the 6.x update. Please find below the full dmesg log and my full device tree. Maybe this helps to spot the problem...
    The only difference that I see in the boot logs between 6.x and 5.2 is that the following message are logged in 6.x

    [ 1.868503] vwlan_fixed1: disabling
    [ 1.872034] vwlan_fixed2: disabling

    In the old image (5.2) the device starts later in the startup process successfully with the following messages:

    [   12.257126] mwifiex_sdio mmc2:0001:1: info: FW download over, size 701072 bytes
    [   12.974297] mwifiex_sdio mmc2:0001:1: WLAN FW is active
    [   13.022053] Bluetooth: vendor=0x2df, device=0x912e, class=255, fn=2
    [   13.102913] sdio platform data not available
    [   13.116787] mwifiex_sdio mmc2:0001:1: Unknown api_id: 4
    [   13.190290] mwifiex_sdio mmc2:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (15.68.19.p17) 
    [   13.266001] mwifiex_sdio mmc2:0001:1: driver_version = mwifiex 1.0 (15.68.19.p17) 

    Maybe I'll also test without my meta yocto layer, to decrease the difference to your image. Correct me if I am wrong, but the device should come up while the kernel starts, right? So these vwlan_fixed1: disabling message should be the main problem... The image should not have much impact on that...

    Thank you for your help.

    Best Regards

    Martin

    device tree

    /dts-v1/;
    
    #include "am4372.dtsi"
    #include <dt-bindings/pinctrl/am43xx.h>
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/input/input.h>
    
    / {
        model = "am437x";
    	compatible = "ti,am4372","ti,am43";
    
    	aliases {
    		ethernet2 = &pruss1_emac0;
    		ethernet3 = &pruss1_emac1;
    	};
    
    	vmmc_3v3: fixedregulator-v3_3 {
    		compatible = "regulator-fixed";
    		regulator-name = "vmmc_3v3";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-always-on;
    		enable-active-high;
    	};
    
    	vsb_3v3: fixedregulator-v3_3 {
    		compatible = "regulator-fixed";
    		regulator-name = "vsb_3v3";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-always-on;
    		enable-active-high;
    	};
    
    	vwlan_fixed1: fixed-regulator-vwlan1 {
    		compatible = "regulator-fixed";
    		regulator-name = "vwlan_fixed1";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&ls3>;
    		gpio = <&gpio5 12 GPIO_ACTIVE_HIGH>;
    		enable-active-high;
    	};
    
    	vwlan_fixed2: fixed-regulator-vwlan2 {
    		compatible = "regulator-fixed";
    		regulator-name = "vwlan_fixed2";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		gpio = <&gpio5 13 GPIO_ACTIVE_HIGH>;
    		vin-supply = <&vwlan_fixed1>;
    		enable-active-high;
    	};
    
    	/* Dual-MAC Ethernet application node on PRU-ICSS1 */
    	pruss1_eth: pruss1_eth {
    		compatible = "ti,am4376-prueth";
    		prus = <&pru1_0>, <&pru1_1>;
    		firmware-name = "ti-pruss/am437x-pru0-prueth-fw.elf",
    				"ti-pruss/am437x-pru1-prueth-fw.elf";
    		sram = <&ocmcram>;
    		interrupt-parent = <&pruss1_intc>;
    		mii-rt = <&pruss1_mii_rt>;
    
    		pinctrl-0 = <&pruss1_eth_default>;
    		pinctrl-names = "default";
    		interrupts = <20>, <21>;
    		interrupt-names = "rx_red_hp", "rx_red_lp";
    
    		pruss1_emac0: ethernet-mii0 {
    			phy-handle = <&pruss1_eth0_phy>;
    			phy-mode = "mii";
    			interrupts = <20>, <22>, <23>, <26>;
    			interrupt-names = "rx", "tx", "hsrprp_ptp_tx",
    					  "emac_ptp_tx";
    			/* Filled in by bootloader */
    			local-mac-address = [00 00 00 00 00 00];
    		};
    
    		pruss1_emac1: ethernet-mii1 {
    			phy-handle = <&pruss1_eth1_phy>;
    			phy-mode = "mii";
    			interrupts = <21>, <23>, <24>, <27>;
    			interrupt-names = "rx", "tx", "hsrprp_ptp_tx",
    					  "emac_ptp_tx";
    			/* Filled in by bootloader */
    			local-mac-address = [00 00 00 00 00 00];
    
    		};
    	};
    };
    
    &am43xx_pinmux {
    
    	// SD Card
        mmc1_pins: pinmux_mmc1_pins {
    		pinctrl-single,pins = <
    			0x100 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
    			0x104 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
    			0x0f0 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
    			0x0f4 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
    			0x0f8 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
    			0x0fc (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
    			0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
    			/* 0x164 (PIN_INPUT | MUX_MODE7) /* ecap0_in_pwm0_out.gpio0_7 */
    		>;
    	};
    
    	// WLAN
    	mmc3_pins_default: mmc3_pins_default {
    		pinctrl-single,pins = <
    			0x1F0 (PIN_INPUT_PULLUP | MUX_MODE3) /* cam1_data2.mmc2_clk */
    			0x1F4 (PIN_INPUT_PULLUP | MUX_MODE3) /* cam1_data3.mmc2_cmd */
    			0x1F8 (PIN_INPUT_PULLUP | MUX_MODE3) /* cam1_data4.mmc2_dat0 */
    			0x1FC (PIN_INPUT_PULLUP | MUX_MODE3) /* cam1_data5.mmc2_dat1 */
    			0x200 (PIN_INPUT_PULLUP | MUX_MODE3) /* cam1_data6.mmc2_dat2 */
    			0x204 (PIN_INPUT_PULLUP | MUX_MODE3) /* cam1_data7.mmc2_dat3 */
    		>;
    	};
    
    	mmc3_pins_idle: mmc3_pins_idle {
    		pinctrl-single,pins = <
    			0x1FC (PIN_INPUT_PULLUP | MUX_MODE7) /* cam1_data5.gpio4_19 */
    		>;
    	};
    
        i2c0_pins: i2c0_pins {
    		pinctrl-single,pins = <
    			0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)  /* i2c0_sda.i2c0_sda */
    			0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)  /* i2c0_scl.i2c0_scl */
    		>;
    	};
    
    	i2c1_pins_default: i2c1_pins_default {
    		pinctrl-single,pins = <
    			0x260 (PIN_INPUT_PULLUP | SLEWCTRL_FAST  | MUX_MODE1) /* (N20) spi2_sclk.I2C1_SCL */
    			0x26c (PIN_INPUT_PULLUP | SLEWCTRL_FAST  | MUX_MODE1) /* (T23) spi2_cs0.I2C1_SDA */
    		>;
    	};
    
    	// --------------- UART --------------
    
    	// Debug Port
        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_INPUT | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* (J24) uart0_txd.uart0_txd \*/
    		>;
    	};
    
    	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 */
    		>;
    	};
    
    	wlan_pins: wlan_pins {
    		pinctrl-single,pins = <
    			0x248	(PIN_INPUT_PULLUP | MUX_MODE7)
    			0x24C	(PIN_INPUT_PULLUP | MUX_MODE7)
    		>;
    	};
    
    	cpsw_default: cpsw_default {
    		pinctrl-single,pins = <
    			/* Slave 1 */
    			0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rmii1_tclk */
    			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_txen */
    			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_txd0 */
    			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_txd1 */
    			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_txd2 */
    			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_txd3 */
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rmii1_rclk */
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rxctl */
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rxd0 */
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rxd1 */
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rxd2 */
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rxd3 */
    			/* 0x274 (MUX_MODE3) */
    		>;
    	};
    
    	cpsw_sleep: cpsw_sleep {
    		pinctrl-single,pins = <
    			/* Slave 1 reset value */
    			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x140 (PIN_INPUT | PULL_DISABLE | MUX_MODE7)
    			0x13c (PIN_INPUT | PULL_DISABLE | MUX_MODE7)
    			0x138 (PIN_INPUT | PULL_DISABLE | MUX_MODE7)
    			0x134 (PIN_INPUT | PULL_DISABLE | MUX_MODE7)
    		>;
    	};
    
    	davinci_mdio_default: davinci_mdio_default {
    		pinctrl-single,pins = <
    			/* MDIO */
    			0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
    			0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
    		>;
    	};
    
    	davinci_mdio_sleep: davinci_mdio_sleep {
    		pinctrl-single,pins = <
    			/* MDIO reset value */
    			0x148 (PIN_INPUT | PULL_DISABLE | MUX_MODE7)
    			0x14c (PIN_INPUT | PULL_DISABLE | MUX_MODE7)
    		>;
    	};
    
    	pruss1_eth_default: pruss1_eth_default {
    		pinctrl-single,pins = <
    			0xa0 (PIN_INPUT_PULLDOWN  | MUX_MODE2) /* (B22) dss_data0.pr1_mii_mt0_clk  */
    			0xb4 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (B20) dss_data5.pr1_mii0_txd0    */
    			0xb0 (PIN_OUTPUT_PULLUP   | MUX_MODE2) /* (A20) dss_data4.pr1_mii0_txd1    */
    			0xac (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (C21) dss_data3.pr1_mii0_txd2    */
    			0xa8 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (B21) dss_data2.pr1_mii0_txd3    */
    			0xcc (PIN_INPUT_PULLDOWN  | MUX_MODE5) /* (B18) dss_data11.pr1_mii0_rxd0   */
    			0xc8 (PIN_INPUT_PULLDOWN  | MUX_MODE5) /* (A18) dss_data10.pr1_mii0_rxd1   */
    			0xc4 (PIN_INPUT_PULLDOWN  | MUX_MODE5) /* (B19) dss_data9.pr1_mii0_rxd2    */
    			0xc0 (PIN_INPUT_PULLDOWN  | MUX_MODE5) /* (A19) dss_data8.pr1_mii0_rxd3    */
    			0xa4 (PIN_OUTPUT_PULLUP   | MUX_MODE2) /* (A21) dss_data1.pr1_mii0_txen    */
    			0xd8 (PIN_INPUT_PULLDOWN  | MUX_MODE5) /* (C17) dss_data14.pr1_mii_mr0_clk */
    			0xdc (PIN_INPUT_PULLUP    | MUX_MODE5) /* (D17) dss_data15.pr1_mii0_rxdv   */
    			0xd4 (PIN_INPUT_PULLDOWN  | MUX_MODE5) /* (D19) dss_data13.pr1_mii0_rxer   */
    			0xd0 (PIN_INPUT           | MUX_MODE5) /* (C19) dss_data12.pr1_mii0_rxlink */
    
    			0x88 (PIN_INPUT           | MUX_MODE4) /* (B12) gpmc_csn3.pr1_mii0_crs */
    
    			0x58 (PIN_INPUT | MUX_MODE5) /* (E8) gpmc_a6.pr1_mii_mt1_clk     */
    			0x54 (PIN_OUTPUT | MUX_MODE5) /* (E7) gpmc_a5.pr1_mii1_txd0      */
    			0x50 (PIN_OUTPUT | MUX_MODE5) /* (D7) gpmc_a4.pr1_mii1_txd1      */
    			0x4c (PIN_OUTPUT | MUX_MODE5) /* (A4) gpmc_a3.pr1_mii1_txd2      */
    			0x48 (PIN_OUTPUT | MUX_MODE5) /* (C6) gpmc_a2.pr1_mii1_txd3      */
    			0x6c (PIN_INPUT | MUX_MODE5) /* (D8) gpmc_a11.pr1_mii1_rxd0      */
    			0x68 (PIN_INPUT | MUX_MODE5) /* (G8) gpmc_a10.pr1_mii1_rxd1      */
    			0x64 (PIN_INPUT | MUX_MODE5) /* (B4) gpmc_a9.pr1_mii1_rxd2       */
    			0x60 (PIN_INPUT | MUX_MODE5) /* (F7) gpmc_a8.pr1_mii1_rxd3       */
    			0x40 (PIN_OUTPUT | MUX_MODE5) /* (C3) gpmc_a0.pr1_mii1_txen      */
    			0x5c (PIN_INPUT | MUX_MODE5) /* (F6) gpmc_a7.pr1_mii_mr1_clk     */
    			0x44 (PIN_INPUT | MUX_MODE5) /* (C5) gpmc_a1.pr1_mii1_rxdv       */
    			0x74 (PIN_INPUT | MUX_MODE5) /* (B3) gpmc_wpn.pr1_mii1_rxer      */
    
    			0x9c (PIN_INPUT | MUX_MODE4) /* (C10) gpmc_be0n_cle.pr1_mii1_rxlink */
    			0x70 (PIN_INPUT | MUX_MODE5) /* (A2) gpmc_wait0.pr1_mii1_crs */
    
    			0x78 (PIN_INPUT | MUX_MODE5) /* (A3) gpmc_be1n.pr1_mii1_col */
    		>;
    	};
    
    	pruss1_mdio_default: pruss1_mdio_default {
    		pinctrl-single,pins = <
    
    			0x8c (PIN_OUTPUT | MUX_MODE5)		/* gpmc_clk.pr1_mdio_mdclk */
    			0x270 (PIN_INPUT | MUX_MODE8) /* (D24) xdma_event_intr0.pr1_mdio_data   */
    
    			0x1c8 (PIN_INPUT_PULLUP | MUX_MODE7) /* (AA19) cam0_data9.gpio4[6] */
    		>;
    	};
    };
    
    &i2c0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c0_pins>;
    	clock-frequency = <100000>;
    
    	tps65218: tps65218@24 {
    		compatible = "ti,tps65218";
    		reg = <0x24>;
    		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* NMIn */
    		interrupt-parent = <&gic>;
    		interrupt-controller;
    		#interrupt-cells = <2>;
    
    		dcdc1: regulator-dcdc1 {
    			regulator-name = "vdd_core";
    			regulator-min-microvolt = <912000>;
    			regulator-max-microvolt = <1144000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		dcdc2: regulator-dcdc2 {
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <912000>;
    			regulator-max-microvolt = <1378000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		dcdc3: regulator-dcdc3 {
    			regulator-name = "vdcdc3";
    			regulator-suspend-enable;
    			regulator-min-microvolt = <1500000>;
    			regulator-max-microvolt = <1500000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		dcdc5: regulator-dcdc5 {
    			regulator-name = "v1_0bat";
    			regulator-min-microvolt = <1000000>;
    			regulator-max-microvolt = <1000000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		dcdc6: regulator-dcdc6 {
    			regulator-name = "v1_8bat";
    			regulator-min-microvolt = <1800000>;
    			regulator-max-microvolt = <1800000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		ldo1: regulator-ldo1 {
    			regulator-min-microvolt = <1800000>;
    			regulator-max-microvolt = <1800000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		ls3: regulator-ls3 {
    			compatible = "ti,tps65218-ls3";
    			regulator-name = "vcc_wlan";
    			regulator-min-microamp = <100>;
    			regulator-max-microamp = <1000>;
    			regulator-boot-on;
    			regulator-always-on;
    			regulator-input-current-limit-microamp = <1000>;
    		};
    	};
    };
    
    &i2c1 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c1_pins_default>;
    	clock-frequency = <100000>;
    };
    
    &gpio0 {
    	status = "okay";
    };
    
    &gpio1 {
    	status = "okay";
    };
    
    &gpio2 {
    	status = "okay";
    };
    
    &gpio3 {
    	status = "okay";
    };
    
    &gpio4 {
    	status = "okay";
    	ti,gpio-always-on;
    };
    
    &gpio5 {
    	status = "okay";
    	ti,no-reset-on-init;
    };
    
    // SD Card
    &mmc1 {
    	status = "okay";
    	bus-width = <4>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc1_pins>;
    	vmmc-supply = <&vsb_3v3>;
    	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
    	disable-wp;
    };
    
    // WLAN
    &mmc3 {
    	status = "okay";
    	pinctrl-names = "default", "idle";
    	pinctrl-0 = <&mmc3_pins_default>;
    	pinctrl-1 = <&mmc3_pins_idle>;
    	vmmc-supply = <&vwlan_fixed2>;
    	bus-width = <4>;
    	ti,non-removable;
    	dmas = <&edma_xbar 30 0 1
    		&edma_xbar 31 0 2>;
    	dma-names = "tx", "rx";
    	interrupts-extended = <&wakeupgen GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH
    			       &gpio4 19 GPIO_ACTIVE_LOW>;
    };
    
    &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_emac0 {
    	phy_id = <&davinci_mdio>, <0>;
    	phy-mode = "rgmii-txid";
    };
    
    // Debug Port
    &uart0 {
        status = "okay";
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&uart0_pins_default>;
    	pinctrl-1 = <&uart0_pins_sleep>;
    };
    
    &rtc {
            status = "okay";
            clocks = <&clk_32k_mosc_ck>;
            clock-names = "ext-clk";
    };
    
    &cpu {
    	cpu0-supply = <&dcdc2>;
    	operating-points = <1000000 1330000>,
    			   <800000 1260000>,
    			   <720000 1200000>,
    			   <600000 1100000>,
    			   <300000 950000>;
    };
    
    &pruss_soc_bus {
    	status = "okay";
    
    	pruss1: pruss@54400000 {
    		status = "okay";
    	};
    
    	pruss0: pruss@54440000 {
    		status = "okay";
    	};
    };
    
    &pruss1_mdio {
    	pinctrl-0 = <&pruss1_mdio_default>;
    	pinctrl-names = "default";
    	status = "okay";
    
    	reset-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
    	reset-delay-us = <2>;	/* PHY datasheet states 1uS min */
    
    	pruss1_eth0_phy: ethernet-phy@0 {
    		reg = <0>;
    	};
    
    	pruss1_eth1_phy: ethernet-phy@1 {
    		reg = <1>;
    	};
    };
    

     

    dmesg

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.38-rt19-g1224cd679e (oe-user@oe-host) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 Mon Oct 7 13:49:54 UTC 2019
    [    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: am437x
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] cma: Reserved 24 MiB at 0xbe800000
    [    0.000000] On node 0 totalpages: 262144
    [    0.000000]   Normal zone: 1728 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 196608 pages, LIFO batch:63
    [    0.000000]   HighMem zone: 65536 pages, LIFO batch:15
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM437x ES1.2 (sgx neon)
    [    0.000000] random: get_random_bytes called from start_kernel+0xa4/0x41c with crng_init=0
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0 
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260416
    [    0.000000] Kernel command line:  console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 999740K/1048576K available (9216K kernel code, 321K rwdata, 2836K rodata, 1024K init, 396K bss, 24260K reserved, 24576K cma-reserved, 237568K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (10208 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 322 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 397 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] L2C: platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [    0.000000] L2C: DT/platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [    0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [    0.000000] OMAP L2C310: ROM does not support power control setting
    [    0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
    [    0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB
    [    0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x4e430000
    [    0.000000] OMAP clockevent source: timer2 at 25000000 Hz
    [    0.000013] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 85899345900ns
    [    0.000031] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
    [    0.000041] OMAP clocksource: timer1 at 25000000 Hz
    [    0.000472] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000484] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000834] Console: colour dummy device 80x30
    [    0.000896] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
    [    0.090204] pid_max: default: 32768 minimum: 301
    [    0.090398] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.090415] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.091171] CPU: Testing write buffer coherency: ok
    [    0.091221] CPU0: Spectre v2: using BPIALL workaround
    [    0.091829] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.092163] EFI services will not be available.
    [    0.093030] devtmpfs: initialized
    [    0.102492] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [    0.102716] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.102737] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.104583] pinctrl core: initialized pinctrl subsystem
    [    0.105213] DMI not present or invalid.
    [    0.105587] NET: Registered protocol family 16
    [    0.107715] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.181731] cpuidle: using governor ladder
    [    0.181748] cpuidle: using governor menu
    [    0.188834] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
    [    0.188921] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio-0-31)
    [    0.188959] OMAP GPIO hardware version 0.1
    [    0.189756] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
    [    0.189833] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio-32-63)
    [    0.190676] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
    [    0.190764] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio-64-95)
    [    0.191502] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
    [    0.191586] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio-96-127)
    [    0.192322] gpio gpiochip4: (gpio-128-159): added GPIO chardev (254:4)
    [    0.192395] gpiochip_setup_dev: registered GPIOs 128 to 159 on device: gpiochip4 (gpio-128-159)
    [    0.193134] gpio gpiochip5: (gpio-160-191): added GPIO chardev (254:5)
    [    0.193211] gpiochip_setup_dev: registered GPIOs 160 to 191 on device: gpiochip5 (gpio-160-191)
    [    0.198346] No ATAGs?
    [    0.198370] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [    0.198385] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [    0.213172] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.213781] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-v3_3[0]'
    [    0.214096] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixed-regulator-vwlan1[0]' - status (0)
    [    0.214423] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixed-regulator-vwlan2[0]' - status (0)
    [    0.218344] SCSI subsystem initialized
    [    0.218644] libata version 3.00 loaded.
    [    0.218868] usbcore: registered new interface driver usbfs
    [    0.218918] usbcore: registered new interface driver hub
    [    0.218971] usbcore: registered new device driver usb
    [    0.219417] media: Linux media interface: v0.10
    [    0.219460] videodev: Linux video capture interface: v2.00
    [    0.219540] pps_core: LinuxPPS API ver. 1 registered
    [    0.219549] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.219569] PTP clock support registered
    [    0.219601] EDAC MC: Ver: 3.0.0
    [    0.221303] clocksource: Switched to clocksource timer1
    [    0.229453] NET: Registered protocol family 2
    [    0.230115] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
    [    0.230149] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.230285] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.230377] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.230487] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [    0.230516] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [    0.230675] NET: Registered protocol family 1
    [    0.231222] RPC: Registered named UNIX socket transport module.
    [    0.231237] RPC: Registered udp transport module.
    [    0.231244] RPC: Registered tcp transport module.
    [    0.231250] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.231263] PCI: CLS 0 bytes, default 64
    [    0.233075] Initialise system trusted keyrings
    [    0.233340] workingset: timestamp_bits=14 max_order=18 bucket_order=4
    [    0.237878] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.238595] NFS: Registering the id_resolver key type
    [    0.238628] Key type id_resolver registered
    [    0.238636] Key type id_legacy registered
    [    0.238675] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.239136] pstore: using deflate compression
    [    0.240807] Key type asymmetric registered
    [    0.240822] Asymmetric key parser 'x509' registered
    [    0.240883] bounce: pool size: 64 pages
    [    0.240904] io scheduler noop registered
    [    0.240912] io scheduler deadline registered
    [    0.241088] io scheduler cfq registered (default)
    [    0.241099] io scheduler mq-deadline registered
    [    0.241107] io scheduler kyber registered
    [    0.243449] pinctrl-single 44e10800.pinmux: 199 pins, size 796
    [    0.246700] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.249085] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
    [    0.249485] console [ttyS0] disabled
    [    0.249534] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 31, base_baud = 3000000) is a 8250
    [    0.894458] console [ttyS0] enabled
    [    0.910319] brd: module loaded
    [    0.920525] loop: module loaded
    [    0.924976] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    0.933061] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    0.933070] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    0.933078] mdio_bus fixed-0: No GPIO consumer reset found
    [    0.933100] libphy: Fixed MDIO Bus: probed
    [    0.952941] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
    [    0.952951] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
    [    0.952974] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp@44000000/ethernet@4a100000/mdio@4a101000[0]'
    [    0.952989] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp@44000000/ethernet@4a100000/mdio@4a101000[0]'
    [    0.952999] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
    [    0.953007] mdio_bus 4a101000.mdio: No GPIO consumer reset found
    [    1.011362] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    1.019064] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
    [    1.026323] libphy: 4a101000.mdio: probed
    [    1.030367] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Atheros 8031 ethernet
    [    1.040565] cpsw 4a100000.ethernet: Detected MACID = 00:01:c0:23:ac:4f
    [    1.047261] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    1.053669] cpsw 4a100000.ethernet: ALE Table size 1024
    [    1.058947] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.067180] usbcore: registered new interface driver asix
    [    1.072713] usbcore: registered new interface driver ax88179_178a
    [    1.078863] usbcore: registered new interface driver cdc_ether
    [    1.084794] usbcore: registered new interface driver smsc95xx
    [    1.090596] usbcore: registered new interface driver net1080
    [    1.096325] usbcore: registered new interface driver cdc_subset
    [    1.102313] usbcore: registered new interface driver zaurus
    [    1.107954] usbcore: registered new interface driver cdc_ncm
    [    1.115165] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.121768] ehci-pci: EHCI PCI platform driver
    [    1.126284] ehci-platform: EHCI generic platform driver
    [    1.132182] usbcore: registered new interface driver usb-storage
    [    1.139230] omap_rtc 44e3e000.rtc: already running
    [    1.144655] omap_rtc 44e3e000.rtc: char device (253:0)
    [    1.144674] omap_rtc 44e3e000.rtc: registered as rtc0
    [    1.150190] i2c /dev entries driver
    [    1.155619] cpuidle: enable-method property 'ti,am4372' found operations
    [    1.162836] sdhci: Secure Digital Host Controller Interface driver
    [    1.169046] sdhci: Copyright(c) Pierre Ossman
    [    1.173924] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [    1.173932] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.173969] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp@44000000/mmc@48060000[0]' - status (0)
    [    1.174035] gpio gpiochip0: Persistence not supported for GPIO 6
    [    1.174051] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
    [    1.182826] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.187470] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
    [    1.187477] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.187495] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp@44000000/mmc@48060000[0]'
    [    1.187510] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp@44000000/mmc@48060000[0]'
    [    1.187518] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [    1.187526] omap_hsmmc 48060000.mmc: No GPIO consumer wp found
    [    1.187875] omap_hsmmc 48060000.mmc: Linked as a consumer to regulator.1
    [    1.220689] omap_hsmmc 47810000.mmc: GPIO lookup for consumer cd
    [    1.220700] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
    [    1.220722] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp@44000000/mmc@47810000[0]'
    [    1.220736] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp@44000000/mmc@47810000[0]'
    [    1.220745] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
    [    1.220752] omap_hsmmc 47810000.mmc: No GPIO consumer cd found
    [    1.220761] omap_hsmmc 47810000.mmc: GPIO lookup for consumer wp
    [    1.220767] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
    [    1.220780] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp@44000000/mmc@47810000[0]'
    [    1.220792] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp@44000000/mmc@47810000[0]'
    [    1.220799] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
    [    1.220805] omap_hsmmc 47810000.mmc: No GPIO consumer wp found
    [    1.221740] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.228180] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.234747] usbcore: registered new interface driver usbhid
    [    1.240347] usbhid: USB HID core driver
    [    1.245022] Initializing XFRM netlink socket
    [    1.249800] NET: Registered protocol family 10
    [    1.255472] Segment Routing with IPv6
    [    1.259241] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.265883] NET: Registered protocol family 17
    [    1.270374] NET: Registered protocol family 15
    [    1.274914] 8021q: 802.1Q VLAN Support v1.8
    [    1.279361] Key type dns_resolver registered
    [    1.283919] omap_voltage_late_init: Voltage driver support not added
    [    1.291262] Loading compiled-in X.509 certificates
    [    1.346034] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
    [    1.352895] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz
    [    1.358892] cpu cpu0: Linked as a consumer to regulator.5
    [    1.364511] cpu cpu0: Dropping the link to regulator.5
    [    1.369855] cpu cpu0: Linked as a consumer to regulator.5
    [    1.376678] omap_hsmmc 47810000.mmc: GPIO lookup for consumer cd
    [    1.376688] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
    [    1.376723] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp@44000000/mmc@47810000[0]'
    [    1.376739] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp@44000000/mmc@47810000[0]'
    [    1.376749] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
    [    1.376757] omap_hsmmc 47810000.mmc: No GPIO consumer cd found
    [    1.376767] omap_hsmmc 47810000.mmc: GPIO lookup for consumer wp
    [    1.376773] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
    [    1.376787] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp@44000000/mmc@47810000[0]'
    [    1.376800] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp@44000000/mmc@47810000[0]'
    [    1.376807] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
    [    1.376813] omap_hsmmc 47810000.mmc: No GPIO consumer wp found
    [    1.377171] vwlan_fixed1: supplied by vcc_wlan
    [    1.381779] vwlan_fixed2: supplied by vwlan_fixed1
    [    1.386685] omap_hsmmc 47810000.mmc: Linked as a consumer to regulator.3
    [    1.394607] omap_hsmmc 47810000.mmc: could not set regulator OCR (-1)
    [    1.413285] mmc0: new high speed SDHC card at address aaaa
    [    1.419705] mmcblk0: mmc0:aaaa SC16G 14.8 GiB 
    [    1.425521] omap_rtc 44e3e000.rtc: setting system clock to 2019-10-18 06:30:21 UTC (1571380221)
    [    1.435194] vwlan_fixed1: disabling
    [    1.438712] vwlan_fixed2: disabling
    [    1.448144]  mmcblk0: p1 p2
    [    1.462892] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.471087] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    1.484077] devtmpfs: mounted
    [    1.487829] Freeing unused kernel memory: 1024K
    [    1.492626] Run /sbin/init as init process
    [    1.509342] random: fast init done
    [    1.873885] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
    [    1.896452] systemd[1]: Detected architecture arm.
    [    1.945331] systemd[1]: Set hostname to <t43-9867bdef>.
    [    2.581103] random: systemd: uninitialized urandom read (16 bytes read)
    [    2.588722] systemd[1]: Listening on Journal Socket.
    [    2.621671] random: systemd: uninitialized urandom read (16 bytes read)
    [    2.628836] systemd[1]: Listening on udev Kernel Socket.
    [    2.667718] random: systemd: uninitialized urandom read (16 bytes read)
    [    2.683412] systemd[1]: Starting Load Kernel Modules...
    [    2.696629] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [    2.731666] systemd[1]: Starting Create list of required static device nodes for the current kernel...
    [    2.782559] systemd[1]: Listening on udev Control Socket.
    [    2.788556] cryptodev: loading out-of-tree module taints kernel.
    [    2.801954] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    2.812738] cryptodev: driver 1.9 loaded.
    [    3.441248] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [    3.952012] systemd-journald[73]: Received request to flush runtime journal from PID 1
    [    5.683037] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    5.816810] remoteproc remoteproc0: wkup_m3 is available
    [    5.855572] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    6.084588] remoteproc remoteproc0: powering up wkup_m3
    [    6.173311] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 242968
    [    6.182297] remoteproc remoteproc0: remote processor wkup_m3 is now up
    [    6.188869] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
    [    6.505772] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
    [    6.570472] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
    [    6.634076] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
    [    6.692906] omap-aes 53501000.aes: will run requests pump with realtime priority
    [    6.737886] omap-des 53701000.des: will run requests pump with realtime priority
    [    7.238843] PM: bootloader does not support rtc-only!
    [    7.307165] mdio_bus 54432400.mdio: GPIO lookup for consumer reset
    [    7.307176] mdio_bus 54432400.mdio: using device tree for GPIO lookup
    [    7.307212] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp@44000000/pruss-soc-bus@54426004/pruss@54400000/mdio@54432400[0]' - status (0)
    [    7.307231] gpio gpiochip0: Persistence not supported for GPIO 20
    [    7.307244] mdio_bus 54432400.mdio: GPIO lookup for consumer reset
    [    7.307249] mdio_bus 54432400.mdio: using device tree for GPIO lookup
    [    7.307264] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp@44000000/pruss-soc-bus@54426004/pruss@54400000/mdio@54432400[1]'
    [    7.307277] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp@44000000/pruss-soc-bus@54426004/pruss@54400000/mdio@54432400[1]'
    [    7.307284] mdio_bus 54432400.mdio: using lookup tables for GPIO lookup
    [    7.307290] mdio_bus 54432400.mdio: No GPIO consumer reset found
    [    7.365441] davinci_mdio 54432400.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    7.373210] libphy: 54432400.mdio: probed
    [    7.539596] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp@44000000/pruss-soc-bus@54426004/pruss@54400000/mdio@54432400/ethernet-phy@0[0]'
    [    7.612369] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp@44000000/pruss-soc-bus@54426004/pruss@54400000/mdio@54432400/ethernet-phy@1[0]'
    [    7.612681] davinci_mdio 54432400.mdio: phy[0]: device 54432400.mdio:00, driver TI TLK10X 10/100 Mbps PHY
    [    7.624313] davinci_mdio 54432400.mdio: phy[1]: device 54432400.mdio:01, driver TI TLK10X 10/100 Mbps PHY
    [    7.988913] remoteproc remoteproc1: 54434000.pru is available
    [    7.994837] pru-rproc 54434000.pru: PRU rproc node pru@54434000 probed successfully
    [    8.002872] remoteproc remoteproc2: 54438000.pru is available
    [    8.008713] pru-rproc 54438000.pru: PRU rproc node pru@54438000 probed successfully
    [    8.016716] remoteproc remoteproc3: 54474000.pru is available
    [    8.022571] pru-rproc 54474000.pru: PRU rproc node pru@54474000 probed successfully
    [    8.030472] remoteproc remoteproc4: 54478000.pru is available
    [    8.036311] pru-rproc 54478000.pru: PRU rproc node pru@54478000 probed successfully
    [    8.497258] net eth0: initializing cpsw version 1.15 (0)
    [    8.863238] Atheros 8031 ethernet 4a101000.mdio:00: attached PHY driver [Atheros 8031 ethernet] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
    [    9.037308] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [    9.043255] 8021q: adding VLAN 0 to HW filter on device eth0
    [    9.173546] prueth pruss1_eth: pruss_fw_drop_untagged_vlan 0
    [    9.179249] prueth pruss1_eth: pruss MC Mask (Port 0) ff:ff:ff:ff:ff:ff
    [    9.185954] prueth pruss1_eth: pruss MC Mask (Port 1) ff:ff:ff:ff:ff:ff
    [    9.194026] prueth pruss1_eth: TI PRU ethernet (type 0) driver initialized
    [   10.964651] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [   11.007073] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   11.191744] iep ptp bc clkid -1
    [   11.194966] remoteproc remoteproc1: powering up 54434000.pru
    [   11.231380] remoteproc remoteproc1: Booting fw image ti-pruss/am437x-pru0-prueth-fw.elf, size 6884
    [   11.240512] pruss 54400000.pruss: configured system_events[63-0] = 0x00000600.04500000
    [   11.248503] pruss 54400000.pruss: configured intr_channels = 0x000000d5 host_intr = 0x00000155
    [   11.257186] remoteproc remoteproc1: remote processor 54434000.pru is now up
    [   11.264222] net eth1: started
    [   11.267538] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [   11.273441] 8021q: adding VLAN 0 to HW filter on device eth1
    [   11.428850] remoteproc remoteproc2: powering up 54438000.pru
    [   11.450288] remoteproc remoteproc2: Booting fw image ti-pruss/am437x-pru1-prueth-fw.elf, size 6800
    [   11.459479] pruss 54400000.pruss: configured system_events[63-0] = 0x00600000.08a00000
    [   11.467481] pruss 54400000.pruss: configured intr_channels = 0x0000032a host_intr = 0x000002aa
    [   11.476152] remoteproc remoteproc2: remote processor 54438000.pru is now up
    [   11.483184] net eth2: started
    [   11.486506] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
    [   11.492412] 8021q: adding VLAN 0 to HW filter on device eth2
    

  • Can, you try using the device tree binary (DTB) from 5.2 (working on SDK5.2 right?) with all other images (u-boot.zImage, roofs build with your custom meta layers) from SDK6.0?

    Thanks

  • Hi,

    yes the SDK 5.2 with dtb from 5.2 is working fine.

    As you suggested I have now overriden the dtb file from sdk 6.0 with the dtb file from 5.2. The WLAN device is still not available.

    But I get some warnings on boot now:

    [    1.858851] ------------[ cut here ]------------
    [    1.863533] WARNING: CPU: 0 PID: 84 at drivers/irqchip/irq-gic.c:1016 gic_irq_domain_translate+0xdc/0xe4
    [    1.873106] Modules linked in:
    [    1.876191] CPU: 0 PID: 84 Comm: kworker/0:2 Not tainted 4.19.38-rt19-g1224cd679e #1
    [    1.883972] Hardware name: Generic AM43 (Flattened Device Tree)
    [    1.889946] Workqueue: events deferred_probe_work_func
    [    1.895113] Backtrace: 
    [    1.897587] [<c010c898>] (dump_backtrace) from [<c010cc08>] (show_stack+0x18/0x1c)
    [    1.905196]  r7:00000009 r6:00000000 r5:c0c074bc r4:00000000
    [    1.910897] [<c010cbf0>] (show_stack) from [<c093c2f8>] (dump_stack+0x24/0x28)
    [    1.918166] [<c093c2d4>] (dump_stack) from [<c012ccf0>] (__warn+0xe0/0xf8)
    [    1.925077] [<c012cc10>] (__warn) from [<c012cd50>] (warn_slowpath_null+0x48/0x50)
    [    1.932685]  r9:c0e36d0c r8:00000000 r7:c045816c r6:c0458248 r5:000003f8 r4:c0c074bc
    [    1.940477] [<c012cd08>] (warn_slowpath_null) from [<c0458248>] (gic_irq_domain_translate+0xdc/0xe4)
    [    1.949652]  r6:eee5f94c r5:ee808000 r4:00000000
    [    1.954311] [<c045816c>] (gic_irq_domain_translate) from [<c0179d20>] (irq_create_fwspec_mapping+0x6c/0x338)
    [    1.964183]  r5:ee808000 r4:c0e05888
    [    1.967783] [<c0179cb4>] (irq_create_fwspec_mapping) from [<c017a050>] (irq_create_of_mapping+0x64/0x80)
    [    1.977311]  r8:00000000 r7:eee48e00 r6:00000000 r5:ef6d9130 r4:c0e05888
    [    1.984062] [<c0179fec>] (irq_create_of_mapping) from [<c07aa2a0>] (of_irq_get+0x6c/0xb8)
    [    1.992276]  r4:c0e05888
    [    1.994837] [<c07aa234>] (of_irq_get) from [<c070c988>] (i2c_device_probe+0x260/0x26c)
    [    2.002791]  r6:c0e36d0c r5:00000000 r4:eee48e20
    [    2.007439] [<c070c728>] (i2c_device_probe) from [<c05a237c>] (really_probe+0x1fc/0x2c0)
    [    2.015569]  r9:c0e36d0c r8:00000000 r7:00000000 r6:c0eaf924 r5:eee48e20 r4:c0eaf910
    [    2.023353] [<c05a2180>] (really_probe) from [<c05a25e4>] (driver_probe_device+0x68/0x17c)
    [    2.031660]  r10:00000000 r9:c0eaf8bc r8:00000001 r7:c05a27e0 r6:eee48e20 r5:c0e36d0c
    [    2.039527]  r4:eee48e20 r3:00000000
    [    2.043124] [<c05a257c>] (driver_probe_device) from [<c05a2898>] (__device_attach_driver+0xb8/0xdc)
    [    2.052215]  r9:c0eaf8bc r8:00000001 r7:c05a27e0 r6:eee48e20 r5:eee5fb4c r4:c0e36d0c
    [    2.060005] [<c05a27e0>] (__device_attach_driver) from [<c05a0540>] (bus_for_each_drv+0x88/0xcc)
    [    2.068834]  r7:c05a27e0 r6:eee5fb4c r5:c0e05888 r4:00000000
    [    2.074526] [<c05a04b8>] (bus_for_each_drv) from [<c05a2100>] (__device_attach+0xd8/0x140)
    [    2.082831]  r7:eefd24c0 r6:eee48e54 r5:c0e05888 r4:eee48e20
    [    2.088521] [<c05a2028>] (__device_attach) from [<c05a2908>] (device_initial_probe+0x14/0x18)
    [    2.097090]  r8:eee48e20 r7:eefd24c0 r6:c0e452bc r5:eee48e20 r4:eee48e28
    [    2.103829] [<c05a28f4>] (device_initial_probe) from [<c05a1490>] (bus_probe_device+0x8c/0x94)
    [    2.112488] [<c05a1404>] (bus_probe_device) from [<c059e014>] (device_add+0x37c/0x620)
    [    2.120445]  r7:eefd24c0 r6:00000000 r5:c0e05888 r4:eee48e28
    [    2.126135] [<c059dc98>] (device_add) from [<c059e2d4>] (device_register+0x1c/0x20)
    [    2.133832]  r10:00000000 r9:eee48e20 r8:00000000 r7:eee48e04 r6:eefd2480 r5:eee5fc4c
    [    2.141697]  r4:eee48e20
    [    2.144249] [<c059e2b8>] (device_register) from [<c070ae38>] (i2c_new_device+0x144/0x2d0)
    [    2.152464]  r5:eee5fc4c r4:eee48e00
    [    2.156066] [<c070acf4>] (i2c_new_device) from [<c070e654>] (of_i2c_register_device+0x64/0x8c)
    [    2.164720]  r9:0000000c r8:eefd24c0 r7:ef6ebfa8 r6:eefd24c0 r5:eefd2480 r4:c0e05888
    [    2.172508] [<c070e5f0>] (of_i2c_register_device) from [<c070e9cc>] (of_i2c_register_devices+0x94/0xe4)
    [    2.181947]  r7:c0c52a2c r6:ef6ebd2c r5:eefd2480 r4:ef6ebfa8
    [    2.187641] [<c070e938>] (of_i2c_register_devices) from [<c070be50>] (i2c_register_adapter+0x188/0x40c)
    [    2.197082]  r9:0000000c r8:0000000b r7:00000000 r6:c0e454e4 r5:eefd24c0 r4:eefd2480
    [    2.204865] [<c070bcc8>] (i2c_register_adapter) from [<c070c12c>] (__i2c_add_numbered_adapter+0x58/0x94)
    [    2.214391]  r9:0000000c r8:0000000b r7:ee962e10 r6:c0e05888 r5:eefd2480 r4:00000000
    [    2.222177] [<c070c0d4>] (__i2c_add_numbered_adapter) from [<c070c208>] (i2c_add_adapter+0xa0/0xd4)
    [    2.231265]  r5:ee962e00 r4:eefd2480
    [    2.234862] [<c070c168>] (i2c_add_adapter) from [<c070c260>] (i2c_add_numbered_adapter+0x24/0x28)
    [    2.243774]  r5:ee962e00 r4:eefd2440
    [    2.247378] [<c070c23c>] (i2c_add_numbered_adapter) from [<c07119dc>] (omap_i2c_probe+0x4e4/0x708)
    [    2.256389] [<c07114f8>] (omap_i2c_probe) from [<c05a42d4>] (platform_drv_probe+0x50/0xa0)
    [    2.264694]  r10:00000001 r9:c0e45498 r8:00000000 r7:00000000 r6:c0e45498 r5:00000000
    [    2.272560]  r4:ee962e10
    [    2.275110] [<c05a4284>] (platform_drv_probe) from [<c05a237c>] (really_probe+0x1fc/0x2c0)
    [    2.283413]  r7:00000000 r6:c0eaf924 r5:ee962e10 r4:c0eaf910
    [    2.289104] [<c05a2180>] (really_probe) from [<c05a25e4>] (driver_probe_device+0x68/0x17c)
    [    2.297409]  r10:00000000 r9:c0e35228 r8:00000001 r7:c05a27e0 r6:ee962e10 r5:c0e45498
    [    2.305274]  r4:ee962e10 r3:00000000
    [    2.308872] [<c05a257c>] (driver_probe_device) from [<c05a2898>] (__device_attach_driver+0xb8/0xdc)
    [    2.317963]  r9:c0e35228 r8:00000001 r7:c05a27e0 r6:ee962e10 r5:eee5fe7c r4:c0e45498
    [    2.325746] [<c05a27e0>] (__device_attach_driver) from [<c05a0540>] (bus_for_each_drv+0x88/0xcc)
    [    2.334574]  r7:c05a27e0 r6:eee5fe7c r5:c0e05888 r4:00000000
    [    2.340266] [<c05a04b8>] (bus_for_each_drv) from [<c05a2100>] (__device_attach+0xd8/0x140)
    [    2.348572]  r7:c0e35208 r6:ee962e44 r5:c0e05888 r4:ee962e10
    [    2.354262] [<c05a2028>] (__device_attach) from [<c05a2908>] (device_initial_probe+0x14/0x18)
    [    2.362828]  r8:00000000 r7:c0e35208 r6:c0e35470 r5:ee962e10 r4:ee962e10
    [    2.369566] [<c05a28f4>] (device_initial_probe) from [<c05a1490>] (bus_probe_device+0x8c/0x94)
    [    2.378226] [<c05a1404>] (bus_probe_device) from [<c05a1958>] (deferred_probe_work_func+0x70/0x9c)
    [    2.387228]  r7:c0e35208 r6:c0eaf910 r5:c0e35200 r4:ee962e10
    [    2.392923] [<c05a18e8>] (deferred_probe_work_func) from [<c01441c4>] (process_one_work+0x1cc/0x3d0)
    [    2.402100]  r7:ef6ce100 r6:c0e13134 r5:eee21e00 r4:c0e35224
    [    2.407790] [<c0143ff8>] (process_one_work) from [<c0144420>] (worker_thread+0x58/0x5b0)
    [    2.415921]  r10:c0e13134 r9:c0e19ec0 r8:c0e1315c r7:00000008 r6:c0e13134 r5:eee21e14
    [    2.423784]  r4:eee21e00
    [    2.426340] [<c01443c8>] (worker_thread) from [<c014a4c0>] (kthread+0x158/0x160)
    [    2.433776]  r10:ee88be78 r9:c01443c8 r8:eee21e00 r7:eee5e000 r6:00000000 r5:eee20a80
    [    2.441642]  r4:eee20ac0
    [    2.444196] [<c014a368>] (kthread) from [<c01010f0>] (ret_from_fork+0x14/0x24)
    [    2.451451] Exception stack(0xeee5ffb0 to 0xeee5fff8)
    [    2.456527] ffa0:                                     00000000 00000000 00000000 00000000
    [    2.464746] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    2.472964] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [    2.479614]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c014a368
    [    2.487479]  r4:eee20a80
    [    2.490024] ---[ end trace 0000000000000002 ]---
    [    2.494735] ------------[ cut here ]------------
    [    2.499391] WARNING: CPU: 0 PID: 84 at drivers/irqchip/irq-gic.c:1016 gic_irq_domain_translate+0xdc/0xe4
    [    2.508914] Modules linked in:
    [    2.511992] CPU: 0 PID: 84 Comm: kworker/0:2 Tainted: G        W         4.19.38-rt19-g1224cd679e #1
    [    2.521165] Hardware name: Generic AM43 (Flattened Device Tree)
    [    2.527123] Workqueue: events deferred_probe_work_func
    [    2.532285] Backtrace: 
    [    2.534749] [<c010c898>] (dump_backtrace) from [<c010cc08>] (show_stack+0x18/0x1c)
    [    2.542355]  r7:00000009 r6:00000000 r5:c0c074bc r4:00000000
    [    2.548052] [<c010cbf0>] (show_stack) from [<c093c2f8>] (dump_stack+0x24/0x28)
    [    2.555314] [<c093c2d4>] (dump_stack) from [<c012ccf0>] (__warn+0xe0/0xf8)
    [    2.562225] [<c012cc10>] (__warn) from [<c012cd50>] (warn_slowpath_null+0x48/0x50)
    [    2.569833]  r9:006080c0 r8:c0e05888 r7:00000065 r6:c0458248 r5:000003f8 r4:c0c074bc
    [    2.577620] [<c012cd08>] (warn_slowpath_null) from [<c0458248>] (gic_irq_domain_translate+0xdc/0xe4)
    [    2.586795]  r6:ee808000 r5:00000001 r4:00000000
    [    2.591441] [<c045816c>] (gic_irq_domain_translate) from [<c0458294>] (gic_irq_domain_alloc+0x44/0xa8)
    [    2.600791]  r5:00000001 r4:00000001
    [    2.604397] [<c0458250>] (gic_irq_domain_alloc) from [<c0179968>] (__irq_domain_alloc_irqs+0x130/0x2b4)
    [    2.613836]  r9:006080c0 r8:eee3c714 r7:00000065 r6:00000065 r5:c0458250 r4:00000001
    [    2.621624] [<c0179838>] (__irq_domain_alloc_irqs) from [<c0179f24>] (irq_create_fwspec_mapping+0x270/0x338)
    [    2.631501]  r10:00000001 r9:c0e36d0c r8:00000000 r7:00000000 r6:eee5f94c r5:ee808000
    [    2.639366]  r4:c0e05888
    [    2.641919] [<c0179cb4>] (irq_create_fwspec_mapping) from [<c017a050>] (irq_create_of_mapping+0x64/0x80)
    [    2.651446]  r8:00000000 r7:eee48e00 r6:00000000 r5:ef6d9130 r4:c0e05888
    [    2.658190] [<c0179fec>] (irq_create_of_mapping) from [<c07aa2a0>] (of_irq_get+0x6c/0xb8)
    [    2.666403]  r4:c0e05888
    [    2.668956] [<c07aa234>] (of_irq_get) from [<c070c988>] (i2c_device_probe+0x260/0x26c)
    [    2.676911]  r6:c0e36d0c r5:00000000 r4:eee48e20
    [    2.681555] [<c070c728>] (i2c_device_probe) from [<c05a237c>] (really_probe+0x1fc/0x2c0)
    [    2.689687]  r9:c0e36d0c r8:00000000 r7:00000000 r6:c0eaf924 r5:eee48e20 r4:c0eaf910
    [    2.697470] [<c05a2180>] (really_probe) from [<c05a25e4>] (driver_probe_device+0x68/0x17c)
    [    2.705776]  r10:00000000 r9:c0eaf8bc r8:00000001 r7:c05a27e0 r6:eee48e20 r5:c0e36d0c
    [    2.713642]  r4:eee48e20 r3:00000000
    [    2.717240] [<c05a257c>] (driver_probe_device) from [<c05a2898>] (__device_attach_driver+0xb8/0xdc)
    [    2.726331]  r9:c0eaf8bc r8:00000001 r7:c05a27e0 r6:eee48e20 r5:eee5fb4c r4:c0e36d0c
    [    2.734119] [<c05a27e0>] (__device_attach_driver) from [<c05a0540>] (bus_for_each_drv+0x88/0xcc)
    [    2.742947]  r7:c05a27e0 r6:eee5fb4c r5:c0e05888 r4:00000000
    [    2.748638] [<c05a04b8>] (bus_for_each_drv) from [<c05a2100>] (__device_attach+0xd8/0x140)
    [    2.756942]  r7:eefd24c0 r6:eee48e54 r5:c0e05888 r4:eee48e20
    [    2.762631] [<c05a2028>] (__device_attach) from [<c05a2908>] (device_initial_probe+0x14/0x18)
    [    2.771198]  r8:eee48e20 r7:eefd24c0 r6:c0e452bc r5:eee48e20 r4:eee48e28
    [    2.777938] [<c05a28f4>] (device_initial_probe) from [<c05a1490>] (bus_probe_device+0x8c/0x94)
    [    2.786595] [<c05a1404>] (bus_probe_device) from [<c059e014>] (device_add+0x37c/0x620)
    [    2.794549]  r7:eefd24c0 r6:00000000 r5:c0e05888 r4:eee48e28
    [    2.800240] [<c059dc98>] (device_add) from [<c059e2d4>] (device_register+0x1c/0x20)
    [    2.807937]  r10:00000000 r9:eee48e20 r8:00000000 r7:eee48e04 r6:eefd2480 r5:eee5fc4c
    [    2.815800]  r4:eee48e20
    [    2.818352] [<c059e2b8>] (device_register) from [<c070ae38>] (i2c_new_device+0x144/0x2d0)
    [    2.826566]  r5:eee5fc4c r4:eee48e00
    [    2.830165] [<c070acf4>] (i2c_new_device) from [<c070e654>] (of_i2c_register_device+0x64/0x8c)
    [    2.838820]  r9:0000000c r8:eefd24c0 r7:ef6ebfa8 r6:eefd24c0 r5:eefd2480 r4:c0e05888
    [    2.846604] [<c070e5f0>] (of_i2c_register_device) from [<c070e9cc>] (of_i2c_register_devices+0x94/0xe4)
    [    2.856043]  r7:c0c52a2c r6:ef6ebd2c r5:eefd2480 r4:ef6ebfa8
    [    2.861735] [<c070e938>] (of_i2c_register_devices) from [<c070be50>] (i2c_register_adapter+0x188/0x40c)
    [    2.871175]  r9:0000000c r8:0000000b r7:00000000 r6:c0e454e4 r5:eefd24c0 r4:eefd2480
    [    2.878961] [<c070bcc8>] (i2c_register_adapter) from [<c070c12c>] (__i2c_add_numbered_adapter+0x58/0x94)
    [    2.888489]  r9:0000000c r8:0000000b r7:ee962e10 r6:c0e05888 r5:eefd2480 r4:00000000
    [    2.896274] [<c070c0d4>] (__i2c_add_numbered_adapter) from [<c070c208>] (i2c_add_adapter+0xa0/0xd4)
    [    2.905360]  r5:ee962e00 r4:eefd2480
    [    2.908960] [<c070c168>] (i2c_add_adapter) from [<c070c260>] (i2c_add_numbered_adapter+0x24/0x28)
    [    2.917874]  r5:ee962e00 r4:eefd2440
    [    2.921474] [<c070c23c>] (i2c_add_numbered_adapter) from [<c07119dc>] (omap_i2c_probe+0x4e4/0x708)
    [    2.930483] [<c07114f8>] (omap_i2c_probe) from [<c05a42d4>] (platform_drv_probe+0x50/0xa0)
    [    2.938789]  r10:00000001 r9:c0e45498 r8:00000000 r7:00000000 r6:c0e45498 r5:00000000
    [    2.946652]  r4:ee962e10
    [    2.949203] [<c05a4284>] (platform_drv_probe) from [<c05a237c>] (really_probe+0x1fc/0x2c0)
    [    2.957507]  r7:00000000 r6:c0eaf924 r5:ee962e10 r4:c0eaf910
    [    2.963197] [<c05a2180>] (really_probe) from [<c05a25e4>] (driver_probe_device+0x68/0x17c)
    [    2.971502]  r10:00000000 r9:c0e35228 r8:00000001 r7:c05a27e0 r6:ee962e10 r5:c0e45498
    [    2.979369]  r4:ee962e10 r3:00000000
    [    2.982965] [<c05a257c>] (driver_probe_device) from [<c05a2898>] (__device_attach_driver+0xb8/0xdc)
    [    2.992054]  r9:c0e35228 r8:00000001 r7:c05a27e0 r6:ee962e10 r5:eee5fe7c r4:c0e45498
    [    2.999841] [<c05a27e0>] (__device_attach_driver) from [<c05a0540>] (bus_for_each_drv+0x88/0xcc)
    [    3.008668]  r7:c05a27e0 r6:eee5fe7c r5:c0e05888 r4:00000000
    [    3.014359] [<c05a04b8>] (bus_for_each_drv) from [<c05a2100>] (__device_attach+0xd8/0x140)
    [    3.022663]  r7:c0e35208 r6:ee962e44 r5:c0e05888 r4:ee962e10
    [    3.028354] [<c05a2028>] (__device_attach) from [<c05a2908>] (device_initial_probe+0x14/0x18)
    [    3.036920]  r8:00000000 r7:c0e35208 r6:c0e35470 r5:ee962e10 r4:ee962e10
    [    3.043657] [<c05a28f4>] (device_initial_probe) from [<c05a1490>] (bus_probe_device+0x8c/0x94)
    [    3.052316] [<c05a1404>] (bus_probe_device) from [<c05a1958>] (deferred_probe_work_func+0x70/0x9c)
    [    3.061320]  r7:c0e35208 r6:c0eaf910 r5:c0e35200 r4:ee962e10
    [    3.067013] [<c05a18e8>] (deferred_probe_work_func) from [<c01441c4>] (process_one_work+0x1cc/0x3d0)
    [    3.076218]  r7:ef6ce100 r6:c0e13134 r5:eee21e00 r4:c0e35224
    [    3.081907] [<c0143ff8>] (process_one_work) from [<c0144420>] (worker_thread+0x58/0x5b0)
    [    3.090040]  r10:c0e13134 r9:c0e19ec0 r8:c0e1315c r7:00000008 r6:c0e13134 r5:eee21e14
    [    3.097905]  r4:eee21e00
    [    3.100459] [<c01443c8>] (worker_thread) from [<c014a4c0>] (kthread+0x158/0x160)
    [    3.107893]  r10:ee88be78 r9:c01443c8 r8:eee21e00 r7:eee5e000 r6:00000000 r5:eee20a80
    [    3.115756]  r4:eee20ac0
    [    3.118309] [<c014a368>] (kthread) from [<c01010f0>] (ret_from_fork+0x14/0x24)
    [    3.125563] Exception stack(0xeee5ffb0 to 0xeee5fff8)
    [    3.130640] ffa0:                                     00000000 00000000 00000000 00000000
    [    3.138860] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.147079] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [    3.153727]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c014a368
    [    3.161591]  r4:eee20a80
    [    3.164136] ---[ end trace 0000000000000003 ]---
    [    3.212651] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
    [    3.219557] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz
    [    3.225582] cpu cpu0: Linked as a consumer to regulator.5
    [    3.231089] cpu cpu0: Dropping the link to regulator.5
    [    3.236492] cpu cpu0: Linked as a consumer to regulator.5
    [    3.244435] vwlan_fixed1: supplied by vcc_wlan
    [    3.249011] vwlan_fixed2: supplied by vwlan_fixed1
    [    3.253996] omap_hsmmc 47810000.mmc: Linked as a consumer to regulator.3
    [    3.261800] omap_hsmmc 47810000.mmc: could not set regulator OCR (-1)
    [    3.296434] input: gpio_keys as /devices/platform/gpio_keys/input/input0
    [    3.305029] omap_rtc 44e3e000.rtc: setting system clock to 2019-10-30 13:50:21 UTC (1572443421)
    [    3.315142] vwlan_fixed1: disabling
    [    3.319086] vwlan_fixed2: disabling

    But the vwlan_fixed2: disabling message still appears and no mlan0 device is available.

    Can I provide you any further information that may help?

    Kind Regards,

    Martin

  • It does n't seem mmc3 slot is even detected. I would expect some thing like below in the log messages when the slot is detected..

    mmcx: new high speed SDIO card at address 0001

    Can, you send us the dts file, you have been using. 

    Thanks

  • This is true. The mmc2: new hight speed SDIO card at address 0001 is only shown in the image with sdk 5.2.

    The reason for this is maybe, that the vwlan_fixed1 and vwlan_fixed2 gets disabled for some reason.

    [    3.315142] vwlan_fixed1: disabling
    [    3.319086] vwlan_fixed2: disabling

    These gpios are lo in sdk 6. In sdk 5.2 these were high.

    gpiochip5: GPIOs 160-191, parent: platform/48322000.gpio, gpio-160-191:
    gpio-172 ( |vwlan_fixed1 ) out lo
    gpio-173 ( |vwlan_fixed2 ) out lo
    

    I have already posted my full device tree of sdk 6. The differences to the dts file of sdk 5.2 are also described there. What I missed in that post is this change:

    This change fixes the warnings I described in my previous post when using the 5.2 dts file with the sdk 6.0 image.

    Of course, the am4372.dtsi file also has changed by ti in the sdk6. But I do not touch anything there.

    Kind regards

    Martin

  • Can, you send your dts file as an attachment? How come, i do not see 'wlcore' property in mmc3 node declarations?

    Thanks

  • I have attached the dts files for sdk5 and sdk6.

    But you are right, there is no wlcore property in the mmc3 node. But I never had one and it just works fine in sdk 5. But I do not have the ti wlan chip. I have a marvell,sd8897

    So I tried now to add the property mwifiex in the mmc3 node

    mwifiex: wifi@1 {
        compatible = "marvell,sd8897";
    };

    Same result, no mlan0 device...

    Kind regards,

    Martin

    dts-files.zip

  • Oops. We, thought you are using WL18xx wlan chip. If, it is Marvel, i guess you need to check support with them. From SDK5 to SDK6 the linux kernel version has changed to 4.19. TI does not alter any Linux core/ WiFi open source drivers in the SDK releases.So, it is likely that the new open source kernel may have effected/broken the Marvel WiFi device. Please, check with Marvel, if there are any known issues with 4.19 kernel. 

    Thanks