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.

PROCESSOR-SDK-AM335X: LAN 9500A USB to Ethernet Controller Integration

Part Number: PROCESSOR-SDK-AM335X

Hello Sir/Madam,

We are trying to integrate LAN9500A USB to Ethernet Controller with AM335x Sitara series processor running a Linux Host. We have enabled smsc module in Linux configuration (USB_NET_SMSC95XX) and inserted relevant modules (smscusbnet and smsc9500). But corresponding Interface is not listing after bootup.

In UBoot, enabled SMSC driver as well as necessary USB options

#define CONFIG_USB_HOST_ETHER 1
#define CONFIG_USB_ETHER_SMSC95XX 1
#define CONFIG_CMD_USB 1
#define CONFIG_DM_USB 1
#define CONFIG_USB_EHCI_HCD 1

Also Following DTB Change done in Uboot as well as in Linux.

-------------------------------------------------------------------------

* Added new node under usb0

                ethernet2: ethernet@2 {
                    /* Filled in by U-Boot */
                    compatible = "usb424,9e00";
                    reg = <2>;
                    mac-address = [ 00 11 22 33 44 55 ];
                };

-------------------------------------------------------------------------

The SMSC Driver itself is not detecting in the kernel. Attaching the kernel message for reference. Please guide us by pointing out the issues in dtb or in kernel/uboot configuration. Please share if any documentation, describing the procedure for adding USB to ethernet controller, is there.

Thanks in advance,

Smrithy TR

  • Hi,

    Do you need USB-Ethernet device support in U-Boot or kernel?

  • Hi Sir,

    My actual requirement is to get the Ethernet (USB Ethernet) interface accessible in Linux userspace.

    In my understanding for the same to work, Uboot as well as Linux should support SMSC driver.  So I was trying to configure uboot and linux accordingly.

    Please let me know the right work flow of configuring SMSC module to achieve my goal.

  • Hi,

    If you need to use the USB Ethernet device only in Linux, not U-Boot, then you don't need to enable the device support in U-Boot.

    To enable the USB Ethernet support in Linux kernel:

    - build the kernel with default defconfig in the Processor SDK, boot this kernel on your board and plug in your USB Ethernet device to the USB port, then check the Linux console log to ensure the USB Ethernet device is enumerated. This step ensure the fundamental hw and sw are all correct.

    - figure out if the kernel has the corresponding driver to support this USB Ethernet device, and enable the kernel driver in kernel config. The detail of this step is out of the support scope on this forums.

    - boot your board with the newly configured kernel and use 'ifconfig' or 'ip' command to check if  a network interface is created for this USB Ethernet device.

  • Hi,

    We have built the Linux Kernel with a configuration derived from defconfig. Attaching the same for reference. In Linux console log we couldn't see any messages corresponding to the USB Ethernet (Same log attached with previous message). Please help us to figure out, where exactly the issue is. Also please let me know the relevance of 'interrupts = <18>;' in am33xx.dtsi in 'usb0: usb@47401000'.

    &usb0 {
        status = "okay";
        disable-over-current;
        dr_mode = "host";
        reset-gpios = "&gpio1 13 GPIO_ACTIVE_LOW";
    };

  • Hi,

    First of all, please don't copy & paste such long log files, it makes the thread difficult to read. Please edit your posts to convert both dts and kernel log to attachments, then I will review them.

  • /*
     * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    /dts-v1/;
    
    #include "am33xx.dtsi"
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/net/ti-dp83869.h>
    
    / {
    	model = "SYNC 2000-M5";
    	compatible = "ti,am335x-evm", "ti,am33xx";
    
    	cpus {
    		cpu@0 {
    			cpu0-supply = <&vdd1_reg>;
    		};
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		reg = <0x80000000 0x10000000>; /* 256 MB */
    	};
    
    	vbat: fixedregulator0 {
    		compatible = "regulator-fixed";
    		regulator-name = "vbat";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-boot-on;
    	};
    
    	lis3_reg: fixedregulator1 {
    		compatible = "regulator-fixed";
    		regulator-name = "lis3_reg";
    		regulator-boot-on;
    	};
    
    };
    
    &am33xx_pinmux {
    	pinctrl-names = "default";
    	
    	pinctrl-0 = <&gpio0_pins &gpio1_pins &gpio2_pins &gpio3_pins>;
    	
    	gpio0_pins: pinmux_gpio0_pins { 
    		pinctrl-single,pins = <
    			0x2C (PIN_OUTPUT | MUX_MODE7) /* gpio0_27 *//*Com2 uart0 232 enable*/
    			0x28 (PIN_OUTPUT | MUX_MODE7) /* GPIO0_26 watchdog pulse */
    			
    		>;
    	};
    
    	gpio1_pins: pinmux_gpio1_pins { 
    		pinctrl-single,pins = <
    			0x30  (PIN_OUTPUT | MUX_MODE7) /* gpio1_12 *//*Com3 uart3 232 enable*/
    			0x34  (PIN_OUTPUT | MUX_MODE7) /* gpio1_13 */ /*Com4 uart5 232 enable*/
    			0x78  (PIN_OUTPUT | MUX_MODE7) /* gpio1_28,conf_gpmc_ben1,DO_buffer enable */
    			0x84  (PIN_OUTPUT | MUX_MODE7) /* gpio1_31,conf_gpmc_csn2 */ /*gprs power shutdown */
    		>;
    	};
    
    	gpio2_pins: pinmux_gpio2_pins { 
    		pinctrl-single,pins = <
    			0x8C  (PIN_INPUT_PULLUP | MUX_MODE7)    /* gpio2_1 usb over current from external source*/  
    			0xE4  (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpio2_23 */  
    			0xEC  (PIN_OUTPUT_PULLUP | MUX_MODE7) 	/* GPIO2_25 ,conf_lcd_ac_bias_en,health status */
    		>;
    	};
    
    	gpio3_pins: pinmux_gpio3_pins { 
    		pinctrl-single,pins = <
    			0x1A0  (PIN_OUTPUT | MUX_MODE7) /* gpio3_18 */
    			0x1A8  (PIN_OUTPUT | MUX_MODE7) /* gpio3_20,conf_mcasp0 */ /*gprs hard shutdown */
    			0x234  (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpio3_13,conf_usb1_drvvbu,DO_Buff */
    			0x1A0  (PIN_OUTPUT | MUX_MODE7) /* GPIO3_18,conf_mcasp0_aclkr,profibus */
    			0x198  (PIN_INPUT  | MUX_MODE7) /* GPIO3_16,conf_mcasp0_axr0,debug */
    		>;
    	};
    
    	i2c0_pins: pinmux_i2c0_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
    			AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
    		>;
    	};
    
    	i2c1_pins: pinmux_i2c1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_d1.i2c1_sda */
    			AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_cs0.i2c1_scl */
    		>;
    	};
    	
    	i2c2_pins: pinmux_i2c2_pins {
    			pinctrl-single,pins = <
    				0x150 (PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_sclk.i2c0_sda */
    				0x154 (PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_d0.i2c0_scl */
    			>;
    		};
    	uart0_pins: pinmux_uart0_pins {
    		pinctrl-single,pins = <
    			0x168 (PIN_INPUT | MUX_MODE0)		/* uart0_ctsn.uart0_ctsn */
    			0x16C (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* uart0_rtsn .uart0_rtsn  */
    			0x170 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
    			0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
    		>;
    	};
    	uart1_pins: pinmux_uart1_pins {
    		pinctrl-single,pins = <
    			0x178 (PIN_INPUT | MUX_MODE0)		/* uart1_ctsn.uart1_ctsn */
    			0x17C (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_rtsn.uart1_rtsn */
    			0x180 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart1_rxd.uart1_rxd */
    			0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_txd.uart1_txd */  
    			0xFC (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_ri */
    			0xF8 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)	/* mmc0_dat0.uart1_dtr */
    			0xF4 (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_dsr */
    			0xF0 (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_dcd */
    		>;
    	};
    
    	uart3_pins: pinmux_uart3_pins {
    		pinctrl-single,pins = <
    			0x164 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* ecap0_in_pwm0_out.UART3_TXD */
    			0x160 (PIN_INPUT_PULLUP | MUX_MODE1)	/* spi0_cs1.UART3_RXD */
    			0xCC (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* LCD_DATA11.UART3_RTSN */
    			0xC8 (PIN_INPUT | MUX_MODE6)		/* LCD_DATA10.UART3_CTSN */
    		>;
    	};
    	uart5_pins: pinmux_uart5_pins {
    		pinctrl-single,pins = <
    			0xD8 (PIN_INPUT | MUX_MODE6)		/* lcd_data14.uart5_ctsn */
    			0xC4 (PIN_INPUT_PULLUP | MUX_MODE4)	/* lcd_data9.uart5_rxd */
    			0xC0 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)  /* lcd_data8.uart5_txd */			
    			0xDC (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* lcd_data15.uart5_rtsn */
    		>;
    	};
    
    	nandflash_pins_s0: nandflash_pins_s0 {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad0.gpmc_ad0 */
    			AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad1.gpmc_ad1 */
    			AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad2.gpmc_ad2 */
    			AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad3.gpmc_ad3 */
    			AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad4.gpmc_ad4 */
    			AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad5.gpmc_ad5 */
    			AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad6.gpmc_ad6 */
    			AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad7.gpmc_ad7 */
    			AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_wait0.gpmc_wait0 */
    			AM33XX_IOPAD(0x874, PIN_INPUT_PULLUP | MUX_MODE7)	/* gpmc_wpn.gpio0_30 */
    			AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_csn0.gpmc_csn0  */
    			AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)		/* gpmc_advn_ale.gpmc_advn_ale */
    			AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)		/* gpmc_oen_ren.gpmc_oen_ren */
    			AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)		/* gpmc_wen.gpmc_wen */
    			AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_be0n_cle.gpmc_be0n_cle */
    		>;
    	};
    
    	ecap0_pins: backlight_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x964, MUX_MODE0)	/* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
    		>;
    	};
    
    	cpsw_default: cpsw_default {
    		pinctrl-single,pins = <
    			/* Slave 1 */
    			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
    			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd3.rgmii1_td3 */
    			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd2.rgmii1_td2 */
    			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
    			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
    			0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rgmii1_tclk */
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rgmii1_rclk */
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd3.rgmii1_rd3 */
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd2.rgmii1_rd2 */
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd1 */
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd0 */
    
    			/* Slave 2 */
    			0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a0.rgmii2_tctl */
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a1.rgmii2_rctl */
    			0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a2.rgmii2_td3 */
    			0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a3.rgmii2_td2 */
    			0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a4.rgmii2_td1 */
    			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a5.rgmii2_td0 */
    			0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a6.rgmii2_tclk */
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a7.rgmii2_rclk */
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a8.rgmii2_rd3 */
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a9.rgmii2_rd2 */
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a10.rgmii2_rd1 */
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a11.rgmii2_rd0 */
    		>;
    	};
    
    	cpsw_sleep: cpsw_sleep {
    		pinctrl-single,pins = <
    			/* Slave 1 reset value */
    			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    
    			/* Slave 2 reset value*/
    			0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	davinci_mdio_default: davinci_mdio_default {
    		pinctrl-single,pins = <
    			/* MDIO */
    			AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
    			AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
    		>;
    	};
    
    	davinci_mdio_sleep: davinci_mdio_sleep {
    		pinctrl-single,pins = <
    			/* MDIO reset value */
    			AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	mmc1_pins: pinmux_mmc1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7)		/* spi0_cs1.gpio0_6 */
    			AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat0.mmc0_dat0 */
    			AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat1.mmc0_dat1 */
    			AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat2.mmc0_dat2 */
    			AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat3.mmc0_dat3 */
    			AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_cmd.mmc0_cmd */
    			AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_clk.mmc0_clk */
    			AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4)		/* mcasp0_aclkr.mmc0_sdwp */
    		>;
    	};
    
    	mmc3_pins: pinmux_mmc3_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a1.mmc2_dat0, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x848, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a2.mmc2_dat1, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x84c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a3.mmc2_dat2, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x878, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_ben1.mmc2_dat3, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_csn3.mmc2_cmd, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_clk.mmc2_clk, INPUT_PULLUP | MODE3 */
    		>;
    	};
    
    	mcasp1_pins: mcasp1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
    			AM33XX_IOPAD(0x908, PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
    			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
    		>;
    	};
    
    	mcasp1_pins_sleep: mcasp1_pins_sleep {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	dcan1_pins_default: dcan1_pins_default {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
    			AM33XX_IOPAD(0x96c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
    		>;
    	};
    	
    };
    
    &usb {
    	status = "okay";
    };
    
    &usb_ctrl_mod {
    	status = "okay";
    };
    
    &usb0_phy {
    	status = "okay";
    };
    
    &usb1_phy {
    	status = "okay";
    };
    
    /*&usb0 {
    	status = "okay";
    	disable-over-current;
    };*/
    
    &usb0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&usb0_pins>;	
    	status = "okay";
    	dr_mode = "host";
    
    	usb0@1 {
    		compatible = "usb424,9e00";
    	    	status = "okay";
    	    	reset-gpios = "&gpio1 13 GPIO_ACTIVE_LOW";
    		reg = <1>;
    		#address-cells = <1>;
    		#size-cells = <0>;
    	};
    	ethernet2: usbether@1 {
    		compatible = "usb424,9e00";
    		reg = <1>;
    		local-mac-address = [00 00 00 00 00 00];
    	};	
    };
    
    &usb1 {
    	status = "okay";
    	dr_mode = "host";
    };
    
    &uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart0_pins>;
    	status = "okay";
    	rts-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;
    };
    
    &uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart1_pins>;
    	status = "okay";
    };
    
    &uart3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart3_pins>;
    	status = "okay";
    	rts-gpio = <&gpio2 17 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;			
    };
    
    &uart5 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart5_pins>;
    	status = "okay";
    	rts-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;			
    };
    
    &i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c0_pins>;
    
    	status = "okay";
    	clock-frequency = <400000>;
    
    	/* Set OPP50 (0.95V) for VDD core */
    	sleep-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x1f /* Set VDD2 to 0.95V */
    	>;
    
    	/* Set OPP100 (1.10V) for VDD core */
    	wake-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x2b /* Set VDD2 to 1.1V */
    	>;
    
    	tps: tps@2d {
    		reg = <0x2d>;
    	};
    	rtc@68 {
    		compatible = "dallas,ds1388";
    		reg = <0x68>;
    	};
    };
    
    &i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c1_pins>;
    
    	status = "okay";
    	clock-frequency = <100000>;
    
    	/* Set OPP50 (0.95V) for VDD core */
    	sleep-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x1f /* Set VDD2 to 0.95V */
    	>;
    	
    	/* Set OPP100 (1.10V) for VDD core */
    	wake-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x2b /* Set VDD2 to 1.1V */
    	>;
    };
    
    &i2c2 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c2_pins>;
    };
    
    &gpio0 {
    	/*ti,no-reset-on-init;*/
    	status = "okay";
    	pinctrl-names = "default";
    };
    &gpio1 {
    	
    	ti,no-reset-on-init;
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &gpio2 {
    	ti,no-reset-on-init;
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &gpio3 {
    	status = "okay";
    	pinctrl-names = "default";
    	ti,no-reset-on-init;
    };
    
    &elm {
    	status = "okay";
    };
    
    &gpmc {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&nandflash_pins_s0>;
    	ranges = <0 0 0x08000000 0x1000000>;	/* CS0: 16MB for NAND */
    	nand@0,0 {
    		compatible = "ti,omap2-nand";
    		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
    		interrupt-parent = <&gpmc>;
    		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
    			     <1 IRQ_TYPE_NONE>;	/* termcount */
    		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
    		ti,nand-xfer-type = "prefetch-dma";
    		ti,nand-ecc-opt = "bch8";
    		ti,elm-id = <&elm>;
    		nand-bus-width = <8>;
    		gpmc,device-width = <1>;
    		gpmc,sync-clk-ps = <0>;
    		gpmc,cs-on-ns = <0>;
    		gpmc,cs-rd-off-ns = <44>;
    		gpmc,cs-wr-off-ns = <44>;
    		gpmc,adv-on-ns = <6>;
    		gpmc,adv-rd-off-ns = <34>;
    		gpmc,adv-wr-off-ns = <44>;
    		gpmc,we-on-ns = <0>;
    		gpmc,we-off-ns = <40>;
    		gpmc,oe-on-ns = <0>;
    		gpmc,oe-off-ns = <54>;
    		gpmc,access-ns = <64>;
    		gpmc,rd-cycle-ns = <82>;
    		gpmc,wr-cycle-ns = <82>;
    		gpmc,bus-turnaround-ns = <0>;
    		gpmc,cycle2cycle-delay-ns = <0>;
    		gpmc,clk-activation-ns = <0>;
    		gpmc,wr-access-ns = <40>;
    		gpmc,wr-data-mux-bus-ns = <0>;
    		/* MTD partition table */
    		/* All SPL-* partitions are sized to minimal length
    		 * which can be independently programmable. For
    		 * NAND flash this is equal to size of erase-block */
    		#address-cells = <1>;
    		#size-cells = <1>;
    		partition@0 {
    			label = "NAND.SPL";
    			reg = <0x00000000 0x00020000>;
    		};
    		partition@1 {
    			label = "NAND.SPL.backup1";
    			reg = <0x00020000 0x00020000>;
    		};
    		partition@2 {
    			label = "NAND.SPL.backup2";
    			reg = <0x00040000 0x00020000>;
    		};
    		partition@3 {
    			label = "NAND.SPL.backup3";
    			reg = <0x00060000 0x00020000>;
    		};
    		partition@4 {
    			label = "NAND.u-boot";
    			reg = <0x00080000 0x00100000>;
    		};
    		partition@5 {
    			label = "NAND.u-boot-env1";
    			reg = <0x00180000 0x00020000>;
    		};
    		partition@6 {
    			label = "NAND.u-boot-env2";
    			reg = <0x001A0000 0x00020000>;
    		};
    		partition@7 {
    			label = "NAND.RBlob";
    			reg = <0x001c0000 0x0fe40000>;
    		};
    	};
    };
    
    #include "tps65910.dtsi"
    
    &tps {
    	vcc1-supply = <&vbat>;
    	vcc2-supply = <&vbat>;
    	vcc3-supply = <&vbat>;
    	vcc4-supply = <&vbat>;
    	vcc5-supply = <&vbat>;
    	vcc6-supply = <&vbat>;
    	vcc7-supply = <&vbat>;
    	vccio-supply = <&vbat>;
    
    	regulators {
    		
    		vrtc_reg: regulator@0 {
    			
    			regulator-always-on;
    		};
    
    		vio_reg: regulator@1 {
    			regulator-always-on;
    		};
    
    		vdd1_reg: regulator@2 {
    			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1351500>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd2_reg: regulator@3 {
    			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
    			regulator-name = "vdd_core";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1150000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd3_reg: regulator@4 {
    			regulator-always-on;
    		};
    
    		vdig1_reg: regulator@5 {
    			regulator-always-on;
    		};
    
    		vdig2_reg: regulator@6 {
    			regulator-always-on;
    		};
    
    		vpll_reg: regulator@7 {
    			regulator-always-on;
    		};
    
    		vdac_reg: regulator@8 {
    			regulator-always-on;
    		};
    
    		vaux1_reg: regulator@9 {
    			regulator-always-on;
    		};
    
    		vaux2_reg: regulator@10 {
    			regulator-always-on;
    		};
    
    		vaux33_reg: regulator@11 {
    			regulator-always-on;
    		};
    
    		vmmc_reg: regulator@12 {
    			regulator-min-microvolt = <1800000>;
    			regulator-max-microvolt = <3300000>;
    			regulator-always-on;
    		};
    	};
    };
    
    &mac {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&cpsw_default>;
    	pinctrl-1 = <&cpsw_sleep>;
    	dual_emac = <2>;
    	status = "okay";
    };
    
    &davinci_mdio {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&davinci_mdio_default>;
    	pinctrl-1 = <&davinci_mdio_sleep>;
    	status = "okay";
    	
    	dp83869_0: ethernet-phy@2 {
    		reg = <2>;
    		tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,op-mode = <DP83869_RGMII_100_BASE>;
    		ti,max-output-impedance = "true";
    		ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>;
    		rx-internal-delay-ps = <2000>;
    		tx-internal-delay-ps = <2000>;
    	};
    
    	dp83869_1: ethernet-phy@3 {
    		reg = <3>;
    		tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,op-mode = <DP83869_RGMII_100_BASE>;
    		ti,max-output-impedance = "true";
    		ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>;
    		rx-internal-delay-ps = <2000>;
    		tx-internal-delay-ps = <2000>;
    	};	
    };
    
    &cpsw_emac0 {
    	phy_id = <&davinci_mdio>, <2>;
    	phy-mode = "rgmii-txid";
    	dual_emac_res_vlan = <1>;
    };
    
    &cpsw_emac1 {
    	phy_id = <&davinci_mdio>, <3>;
    	phy-mode = "rgmii-txid";
    	dual_emac_res_vlan = <2>;	
    };
    
    &dcan1 {
    	status = "disabled";	/* Enable only if Profile 1 is selected */
    	pinctrl-names = "default";
    	pinctrl-0 = <&dcan1_pins_default>;
    };
    
    
    
    
    Hello Bin,

    Really sorry for the inconvenience made. Copy pasted the files, since I couldn't attach the dts File. Now attaching the config file as well as dts file in 'txt' format.

    We have built the Linux Kernel with a configuration derived from defconfig. Attaching the same for reference (config_Am335x.txt).

    The issue mentioned in the above post is partially got resolved,  when the modules mentioned the document made and inserted as modules. And when we tested with Linux Version 3.12.10 by following the procedure in document , LAN 9500Ai module worked as intended.

    But we want to integrate the LAN9500Ai module with Linux version 4.14.67.  When tested with 4.14.67 Kernel, the USB device got enumerated. However even followed the same procedure, the SMSC module is not detecting and working .

    Please help us to solve this issue.

    Thanks in advance

    Smrithy TR

     

    config_Am335x.txt

  • Hi,

    Thanks for attaching the dts and config files. Can you please edit your previous posts to delete the copy&paste content? This would shorten this thread and make it easy to read.

    We have built the Linux Kernel with a configuration derived from defconfig.

    from which defconfig? can you please provide the commend which is doing this?

    When tested with 4.14.67 Kernel, the USB device got enumerated. However even followed the same procedure, the SMSC module is not detecting and working .

    Please clarify does the SMSC device gets enumerated in kernel v4.14.67 or not? any Linux console log when the SMSC device is attached?

  • Hi,

    We have built the Linux Kernel with a configuration derived from defconfig.

    from which defconfig? can you please provide the commend which is doing this?

    The steps followed to compile linux are as follows

     export CROSS_COMPILE=arm-poky-linux-gnueabi-

    export ARCH=arm

    make tisdk_am335x-evm_defconfig...

    make menuconfig

    make

    In Menuconfig, added required modules for USB, mentioned in the manual

    http://processors.wiki.ti.com/index.php/UsbgeneralpageLinux-v3p1 ]

    Please clarify does the SMSC device gets enumerated in kernel v4.14.67 or not? any Linux console log when the SMSC device is attached?

    SMSC Device not enumerated with V4.14.67 Kernel. Getting errors in loading modules, if trying to insert the USB Modules.

    Attaching the logs for reference.

    root@sync2000:~# cd /
    root@sync2000:/# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.14.67-gd315a9bb00 (root@RND-UbuntuV14) (gcc version 7.3.0 (GCC)) #32 PREEMPT Wed Dec 1 13:58:05 IST 2021
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: SYNC 2000-M5
    [    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 48 MiB at 0x9d000000
    [    0.000000] On node 0 totalpages: 131072
    [    0.000000] free_area_init_node: node 0, pgdat c0b3d2d4, node_mem_map dcb61000
    [    0.000000]   Normal zone: 1152 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 131072 pages, LIFO batch:31
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    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: 129920
    [    0.000000] Kernel command line: console=ttyO0,115200n8 resetDefault=no root=ubi0:BANK1_ROOTFS rw rootfstype=ubifs ubi.mtd=7,4096
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 459064K/524288K available (7168K kernel code, 252K rwdata, 1824K rodata, 1024K init, 241K bss, 16072K reserved, 49152K cma-reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc0800000   (8160 kB)
    [    0.000000]       .init : 0xc0a00000 - 0xc0b00000   (1024 kB)
    [    0.000000]       .data : 0xc0b00000 - 0xc0b3f270   ( 253 kB)
    [    0.000000]        .bss : 0xc0b3f270 - 0xc0b7b83c   ( 242 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000021] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000048] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000062] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000299] timer_probe: no matching timers found
    [    0.000566] Console: colour dummy device 80x30
    [    0.000609] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [    0.118739] pid_max: default: 32768 minimum: 301
    [    0.118949] Security Framework initialized
    [    0.119068] AppArmor: AppArmor initialized
    [    0.119145] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.119165] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.120188] CPU: Testing write buffer coherency: ok
    [    0.121153] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.121370] Hierarchical SRCU implementation.
    [    0.121818] EFI services will not be available.
    [    0.123702] devtmpfs: initialized
    [    0.134648] random: get_random_u32 called from bucket_table_alloc+0x8c/0x1ac with crng_init=0
    [    0.135271] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.135654] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.135684] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.140658] pinctrl core: initialized pinctrl subsystem
    [    0.141514] DMI not present or invalid.
    [    0.142044] NET: Registered protocol family 16
    [    0.145023] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.150177] omap_hwmod: rtc: no dt node
    [    0.150201] ------------[ cut here ]------------
    [    0.150242] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2494 _init.constprop.20+0x1e0/0x4a4
    [    0.150254] omap_hwmod: rtc: doesn't have mpu register target base
    [    0.150264] Modules linked in:
    [    0.150290] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.67-gd315a9bb00 #32
    [    0.150301] Hardware name: Generic AM33XX (Flattened Device Tree)
    [    0.150310] Backtrace:
    [    0.150357] [<c010bc74>] (dump_backtrace) from [<c010bf58>] (show_stack+0x18/0x1c)
    [    0.150375]  r7:00000009 r6:00000000 r5:c092a7d8 r4:dc04fe28
    [    0.150403] [<c010bf40>] (show_stack) from [<c06f06c4>] (dump_stack+0x24/0x28)
    [    0.150428] [<c06f06a0>] (dump_stack) from [<c0128cac>] (__warn+0xe8/0x100)
    [    0.150446] [<c0128bc4>] (__warn) from [<c0128d04>] (warn_slowpath_fmt+0x40/0x48)
    [    0.150464]  r9:c0b3f280 r8:c0a36820 r7:00000000 r6:c0b0d404 r5:00000000 r4:c092aa8c
    [    0.150482] [<c0128cc8>] (warn_slowpath_fmt) from [<c0a09d18>] (_init.constprop.20+0x1e0/0x4a4)
    [    0.150494]  r3:c0960aa4 r2:c092aa8c
    [    0.150504]  r4:c0b0d3c0
    [    0.150521] [<c0a09b38>] (_init.constprop.20) from [<c0a0a508>] (__omap_hwmod_setup_all+0x48/0x98)
    [    0.150539]  r9:c0b3f280 r8:c0a36820 r7:c0b3f280 r6:ffffe000 r5:c0b0a460 r4:c0b0d3c0
    [    0.150557] [<c0a0a4c0>] (__omap_hwmod_setup_all) from [<c010196c>] (do_one_initcall+0x4c/0x170)
    [    0.150569]  r5:c0a0a4c0 r4:00000000
    [    0.150594] [<c0101920>] (do_one_initcall) from [<c0a00eb0>] (kernel_init_freeable+0x144/0x1e0)
    [    0.150611]  r8:c0a36820 r7:c0b3f280 r6:00000003 r5:c0a44b28 r4:c09c6a2c
    [    0.150639] [<c0a00d6c>] (kernel_init_freeable) from [<c07052d0>] (kernel_init+0x10/0x11c)
    [    0.150657]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c07052c0
    [    0.150667]  r4:00000000
    [    0.150687] [<c07052c0>] (kernel_init) from [<c0107fc8>] (ret_from_fork+0x14/0x2c)
    [    0.150699]  r5:c07052c0 r4:00000000
    [    0.150721] ---[ end trace 272cf14cbb9e3fe3 ]---
    [    0.164535] omap_hwmod: debugss: _wait_target_disable failed
    [    0.218320] cpuidle: using governor ladder
    [    0.218369] cpuidle: using governor menu
    [    0.224256] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
    [    0.224388] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
    [    0.224468] OMAP GPIO hardware version 0.1
    [    0.225510] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
    [    0.225631] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
    [    0.226628] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
    [    0.226734] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
    [    0.227701] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
    [    0.227815] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
    [    0.235388] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
    [    0.237939] No ATAGs?
    [    0.237959] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.252923] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.253639] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
    [    0.254021] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator1[0]'
    [    0.256523] SCSI subsystem initialized
    [    0.256978] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [    0.257054] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
    [    0.257109] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
    [    0.257279] pps_core: LinuxPPS API ver. 1 registered
    [    0.257292] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.257324] PTP clock support registered
    [    0.257354] dmi: Firmware registration failed.
    [    0.257840] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.259556] clocksource: Switched to clocksource timer1
    [    0.260305] AppArmor: AppArmor Filesystem Enabled
    [    0.271046] NET: Registered protocol family 2
    [    0.271979] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.272050] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.272112] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.272247] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.272276] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.272517] NET: Registered protocol family 1
    [    0.272568] PCI: CLS 0 bytes, default 64
    [    0.273657] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.273807] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.274987] audit: initializing netlink subsys (disabled)
    [    0.275860] audit: type=2000 audit(0.260:1): state=initialized audit_enabled=0 res=1
    [    0.276010] workingset: timestamp_bits=14 max_order=17 bucket_order=3
    [    0.282041] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.285292] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
    [    0.285321] io scheduler noop registered
    [    0.285332] io scheduler deadline registered
    [    0.285622] io scheduler cfq registered (default)
    [    0.285638] io scheduler mq-deadline registered
    [    0.285649] io scheduler kyber registered
    [    0.286911] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.356709] omap_uart 44e09000.serial: no wakeirq for uart0
    [    0.356783] of_get_named_gpiod_flags: parsed 'rts-gpio' property of node '/ocp/serial@44e09000[0]' - status (0)
    [    0.357108] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a OMAP UART0
    [    1.178945] console [ttyO0] enabled
    [    1.183339] omap_uart 48022000.serial: no wakeirq for uart1
    [    1.189211] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@48022000[0]'
    [    1.189371] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a OMAP UART1
    [    1.199748] omap_uart 481a6000.serial: no wakeirq for uart2
    [    1.205641] of_get_named_gpiod_flags: parsed 'rts-gpio' property of node '/ocp/serial@481a6000[0]' - status (0)
    [    1.205852] 481a6000.serial: ttyO2 at MMIO 0x481a6000 (irq = 32, base_baud = 3000000) is a OMAP UART2
    [    1.216132] omap_uart 481aa000.serial: no wakeirq for uart3
    [    1.222058] of_get_named_gpiod_flags: parsed 'rts-gpio' property of node '/ocp/serial@481aa000[0]' - status (0)
    [    1.222252] 481aa000.serial: ttyO3 at MMIO 0x481aa000 (irq = 33, base_baud = 3000000) is a OMAP UART3
    [    1.233587] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    1.240888] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.248509] of_get_named_gpiod_flags: parsed 'cs-gpios' property of node '/ocp/spi@481a0000[0]' - status (0)
    [    1.249834] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    [    1.259340] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    1.259355] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    1.259366] mdio_bus fixed-0: lookup for GPIO reset failed
    [    1.259396] libphy: Fixed MDIO Bus: probed
    [    1.263913] tun: Universal TUN/TAP device driver, 1.6
    [    1.284979] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
    [    1.284997] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
    [    1.285019] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.285034] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.285043] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
    [    1.285053] mdio_bus 4a101000.mdio: lookup for GPIO reset failed
    [    1.339590] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    1.347651] libphy: 4a101000.mdio: probed
    [    1.390228] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver Broadcom BCM54616S
    [    1.399802] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver Broadcom BCM54616S
    [    1.410230] cpsw 4a100000.ethernet: Detected MACID = 00:25:97:01:1d:9a
    [    1.417207] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    1.424042] cpsw 4a100000.ethernet: ALE Table size 1024
    [    1.429647] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.438211] cpsw 4a100000.ethernet: cpsw: Detected MACID = 00:25:97:01:1d:9b
    [    1.446915] PPP generic driver version 2.4.2
    [    1.451809] PPP BSD Compression module registered
    [    1.456753] PPP Deflate Compression module registered
    [    1.462118] PPP MPPE Compression module registered
    [    1.467150] NET: Registered protocol family 24
    [    1.471966] i2c /dev entries driver
    [    1.476064] Driver for 1-wire Dallas network protocol.
    [    1.482824] cpuidle: enable-method property 'ti,am3352' found operations
    [    1.491495] Netfilter messages via NETLINK v0.30.
    [    1.496458] nfnl_acct: registering with nfnetlink.
    [    1.501930] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
    [    1.508477] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
    [    1.515613] xt_time: kernel timezone is -0000
    [    1.520630] ip_tables: (C) 2000-2006 Netfilter Core Team
    [    1.526751] arp_tables: arp_tables: (C) 2002 David S. Miller
    [    1.533401] NET: Registered protocol family 10
    [    1.540252] Segment Routing with IPv6
    [    1.544236] ip6_tables: (C) 2000-2006 Netfilter Core Team
    [    1.550370] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.557495] NET: Registered protocol family 17
    [    1.562322] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    [    1.575953] 8021q: 802.1Q VLAN Support v1.8
    [    1.580431] Key type dns_resolver registered
    [    1.585160] omap_voltage_late_init: Voltage driver support not added
    [    1.593778] AppArmor: AppArmor sha1 policy hashing enabled
    [    1.604363] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.609977] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.616413] gpiochip_find_base: found new base at 510
    [    1.616827] gpio gpiochip4: (omap-gpmc): added GPIO chardev (254:4)
    [    1.616958] gpiochip_setup_dev: registered GPIOs 510 to 511 on device: gpiochip4 (omap-gpmc)
    [    1.618251] omap2-nand 8000000.nand: GPIO lookup for consumer rb
    [    1.618265] omap2-nand 8000000.nand: using device tree for GPIO lookup
    [    1.618320] of_get_named_gpiod_flags: parsed 'rb-gpios' property of node '/ocp/gpmc@50000000/nand@0,0[0]' - status (0)
    [    1.618553] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
    [    1.625387] nand: Micron MT29F8G08ABACAH4
    [    1.629630] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
    [    1.637873] using OMAP_ECC_BCH16_CODE_HW ECC scheme
    [    1.643181] 8 ofpart partitions found on MTD device omap2-nand.0
    [    1.649488] Creating 8 MTD partitions on "omap2-nand.0":
    [    1.655101] 0x000000000000-0x000000040000 : "NAND.SPL"
    [    1.661892] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
    [    1.669112] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
    [    1.676406] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
    [    1.683684] 0x000000100000-0x000000300000 : "NAND.u-boot"
    [    1.690796] 0x000000300000-0x000000340000 : "NAND.u-boot-env1"
    [    1.697935] 0x000000340000-0x000000380000 : "NAND.u-boot-env2"
    [    1.705201] 0x000000380000-0x000040000000 : "NAND.RBlob"
    [    1.929819] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.937786] vrtc: supplied by vbat
    [    1.950683] vio: supplied by vbat
    [    1.960463] vdd1: supplied by vbat
    [    1.970173] random: fast init done
    [    1.974056] vdd2: supplied by vbat
    [    1.990565] vdig1: supplied by vbat
    [    2.000618] vdig2: supplied by vbat
    [    2.010615] vpll: supplied by vbat
    [    2.020571] vdac: supplied by vbat
    [    2.030600] vaux1: supplied by vbat
    [    2.040584] vaux2: supplied by vbat
    [    2.050587] vaux33: supplied by vbat
    [    2.060593] vmmc: supplied by vbat
    [    2.070598] vbb: supplied by vbat
    [    2.076959] rtc-ds1307 0-0068: registered as rtc0
    [    2.082056] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    2.089371] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
    [    2.096557] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [    2.104239] ubi0: attaching mtd7
    [    6.774932] ubi0: scanning is finished
    [    6.809532] ubi0: attached mtd7 (name "NAND.RBlob", size 1020 MiB)
    [    6.816174] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
    [    6.823484] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 1024
    [    6.830681] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
    [    6.837991] ubi0: good PEBs: 4082, bad PEBs: 0, corrupted PEBs: 0
    [    6.844429] ubi0: user volume: 8, internal volumes: 1, max. volumes count: 128
    [    6.852035] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 107140203
    [    6.861569] ubi0: available PEBs: 0, total reserved PEBs: 4082, PEBs reserved for bad PEB handling: 80
    [    6.871371] ubi0: background thread "ubi_bgt0d" started, PID 47
    [    6.878017] rtc-ds1307 0-0068: setting system clock to 2022-07-04 18:42:30 UTC (1656960150)
    [    6.887537] lis3_reg: disabling
    [    6.899680] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" started, PID 48
    [    7.229297] UBIFS (ubi0:3): UBIFS: mounted UBI device 0, volume 3, name "BANK1_ROOTFS"
    [    7.237759] UBIFS (ubi0:3): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    7.248201] UBIFS (ubi0:3): FS size: 60440576 bytes (57 MiB, 238 LEBs), journal size 9404416 bytes (8 MiB, 38 LEBs)
    [    7.259198] UBIFS (ubi0:3): reserved for root: 0 bytes (0 KiB)
    [    7.265344] UBIFS (ubi0:3): media format: w4/r0 (latest is w5/r0), UUID D4E808BC-704A-4FAA-A430-4DAD1DD6B602, small LPT model
    [    7.279054] VFS: Mounted root (ubifs filesystem) on device 0:16.
    [    7.288647] devtmpfs: mounted
    [    7.293707] Freeing unused kernel memory: 1024K
    [    8.019776] UBIFS (ubi0:5): background thread "ubifs_bgt0_5" started, PID 55
    [    8.331024] UBIFS (ubi0:5): UBIFS: mounted UBI device 0, volume 5, name "LICENSE"
    [    8.338914] UBIFS (ubi0:5): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.349474] UBIFS (ubi0:5): FS size: 2285568 bytes (2 MiB, 9 LEBs), journal size 1777665 bytes (1 MiB, 5 LEBs)
    [    8.360010] UBIFS (ubi0:5): reserved for root: 107952 bytes (105 KiB)
    [    8.366779] UBIFS (ubi0:5): media format: w5/r0 (latest is w5/r0), UUID B9A8704D-B0A6-4CDF-BF1B-2BB96C21DA34, small LPT model
    [    8.399671] UBIFS (ubi0:6): background thread "ubifs_bgt0_6" started, PID 57
    [    8.689486] UBIFS (ubi0:6): UBIFS: mounted UBI device 0, volume 6, name "LOG"
    [    8.697118] UBIFS (ubi0:6): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.707571] UBIFS (ubi0:6): FS size: 34283520 bytes (32 MiB, 135 LEBs), journal size 2031617 bytes (1 MiB, 7 LEBs)
    [    8.718479] UBIFS (ubi0:6): reserved for root: 1619295 bytes (1581 KiB)
    [    8.725446] UBIFS (ubi0:6): media format: w5/r0 (latest is w5/r0), UUID B66119B0-C04E-4AD0-A0BD-57F2D80000A9, small LPT model
    [    8.759712] UBIFS (ubi0:7): background thread "ubifs_bgt0_7" started, PID 59
    [    9.036253] UBIFS (ubi0:7): UBIFS: mounted UBI device 0, volume 7, name "SETTINGS"
    [    9.044365] UBIFS (ubi0:7): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    9.054848] UBIFS (ubi0:7): FS size: 837787648 bytes (798 MiB, 3299 LEBs), journal size 33521664 bytes (31 MiB, 132 LEBs)
    [    9.066372] UBIFS (ubi0:7): reserved for root: 4952683 bytes (4836 KiB)
    [    9.073361] UBIFS (ubi0:7): media format: w5/r0 (latest is w5/r0), UUID 5D8DD312-89A3-4B4F-AB7E-C90E785A43D8, small LPT model
    [    9.541488] udevd[80]: starting version 3.2.5
    [    9.585160] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.595999] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.614949] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.634169] udevd[80]: specified group 'lp' unknown
    [    9.674288] udevd[81]: starting eudev-3.2.5
    [    9.862142] udevd[81]: specified group 'lp' unknown
    [   11.594228] phy_am335x: Unknown symbol of_usb_get_dr_mode_by_phy (err 0)
    [   11.607062] musb_hdrc: Unknown symbol usb_hcd_resume_root_hub (err 0)
    [   11.607077] musb_hdrc: Unknown symbol usb_hcd_unlink_urb_from_ep (err 0)
    [   11.607261] musb_hdrc: Unknown symbol usb_otg_state_string (err 0)
    [   11.607305] musb_hdrc: Unknown symbol usb_get_dr_mode (err 0)
    [   11.607326] musb_hdrc: Unknown symbol usb_ep_set_maxpacket_limit (err 0)
    [   11.607359] musb_hdrc: Unknown symbol usb_hcd_map_urb_for_dma (err 0)
    [   11.607391] musb_hdrc: Unknown symbol usb_add_gadget_udc (err 0)
    [   11.607421] musb_hdrc: Unknown symbol usb_hcd_check_unlink_urb (err 0)
    [   11.607567] musb_hdrc: Unknown symbol usb_gadget_udc_reset (err 0)
    [   11.607577] musb_hdrc: Unknown symbol usb_hcd_link_urb_to_ep (err 0)
    [   11.607621] musb_hdrc: Unknown symbol usb_put_hcd (err 0)
    [   11.607705] musb_hdrc: Unknown symbol usb_ep_set_halt (err 0)
    [   11.607723] musb_hdrc: Unknown symbol usb_hcd_giveback_urb (err 0)
    [   11.607785] musb_hdrc: Unknown symbol usb_gadget_giveback_request (err 0)
    [   11.607801] musb_hdrc: Unknown symbol usb_del_gadget_udc (err 0)
    [   11.607822] musb_hdrc: Unknown symbol usb_hcd_poll_rh_status (err 0)
    [   11.607838] musb_hdrc: Unknown symbol usb_create_hcd (err 0)
    [   11.607883] musb_hdrc: Unknown symbol usb_remove_hcd (err 0)
    [   11.607899] musb_hdrc: Unknown symbol usb_hcd_unmap_urb_for_dma (err 0)
    [   11.607925] musb_hdrc: Unknown symbol usb_add_hcd (err 0)
    [   11.610093] musb_hdrc: Unknown symbol usb_hcd_resume_root_hub (err 0)
    [   11.610109] musb_hdrc: Unknown symbol usb_hcd_unlink_urb_from_ep (err 0)
    [   11.610285] musb_hdrc: Unknown symbol usb_otg_state_string (err 0)
    [   11.610327] musb_hdrc: Unknown symbol usb_get_dr_mode (err 0)
    [   11.610348] musb_hdrc: Unknown symbol usb_ep_set_maxpacket_limit (err 0)
    [   11.610379] musb_hdrc: Unknown symbol usb_hcd_map_urb_for_dma (err 0)
    [   11.610408] musb_hdrc: Unknown symbol usb_add_gadget_udc (err 0)
    [   11.610436] musb_hdrc: Unknown symbol usb_hcd_check_unlink_urb (err 0)
    [   11.610579] musb_hdrc: Unknown symbol usb_gadget_udc_reset (err 0)
    [   11.610589] musb_hdrc: Unknown symbol usb_hcd_link_urb_to_ep (err 0)
    [   11.610633] musb_hdrc: Unknown symbol usb_put_hcd (err 0)
    [   11.610709] musb_hdrc: Unknown symbol usb_ep_set_halt (err 0)
    [   11.610727] musb_hdrc: Unknown symbol usb_hcd_giveback_urb (err 0)
    [   11.610787] musb_hdrc: Unknown symbol usb_gadget_giveback_request (err 0)
    [   11.610804] musb_hdrc: Unknown symbol usb_del_gadget_udc (err 0)
    [   11.610824] musb_hdrc: Unknown symbol usb_hcd_poll_rh_status (err 0)
    [   11.610840] musb_hdrc: Unknown symbol usb_create_hcd (err 0)
    [   11.610888] musb_hdrc: Unknown symbol usb_remove_hcd (err 0)
    [   11.610905] musb_hdrc: Unknown symbol usb_hcd_unmap_urb_for_dma (err 0)
    [   11.610930] musb_hdrc: Unknown symbol usb_add_hcd (err 0)
    [   11.943970] phy_am335x: Unknown symbol of_usb_get_dr_mode_by_phy (err 0)
    [   12.820304] urandom_read: 3 callbacks suppressed
    [   12.820319] random: dd: uninitialized urandom read (512 bytes read)
    [   12.849667] NOHZ: local_softirq_pending 40
    [   13.099612] NOHZ: local_softirq_pending 40
    [   13.149629] NOHZ: local_softirq_pending 40
    [   13.359614] NOHZ: local_softirq_pending 40
    [   13.379635] NOHZ: local_softirq_pending 40
    [   13.499601] NOHZ: local_softirq_pending 40
    [   14.004969] net eth0: initializing cpsw version 1.12 (0)
    [   14.129903] Card Info is 1
    [   14.179623] Disable clock done !
    [   14.299594] TP mode active : Phy address 2
    [   14.303998] autoDetect
    [   14.399656] Broadcom BCM54616S 4a101000.mdio:02: attached PHY driver [Broadcom BCM54616S] (mii_bus:phy_addr=4a101000.mdio:02, irq=POLL)
    [   14.429442] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   14.436528] 8021q: adding VLAN 0 to HW filter on device eth0
    [   14.719619] NOHZ: local_softirq_pending 40
    [   15.067733] audit: type=1400 audit(1656960158.680:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/home/lite/out/dccp" pid=208 comm="apparmor_parser"
    [   15.284721] audit: type=1400 audit(1656960158.900:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/home/lite/out/sgl.hex" pid=210 comm="apparmor_parser"
    [   15.339617] NOHZ: local_softirq_pending 40
    [   17.299217] audit: type=1400 audit(1656960160.910:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/sshd" pid=212 comm="apparmor_parser"
    [   17.339817] audit: type=1400 audit(1656960160.930:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/sshd//AUTHENTICATED" pid=212 comm="apparmor_parser"
    [   17.359234] audit: type=1400 audit(1656960160.930:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/sshd//EXEC" pid=212 comm="apparmor_parser"
    [   17.376841] audit: type=1400 audit(1656960160.940:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/sshd//PRIVSEP" pid=212 comm="apparmor_parser"
    [   17.403501] audit: type=1400 audit(1656960160.940:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/sshd//PRIVSEP_MONITOR" pid=212 comm="apparmor_parser"
    [   18.673860] audit: type=1400 audit(1656960162.290:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/openvpn" pid=214 comm="apparmor_parser"
    [   18.709808] audit: type=1400 audit(1656960162.310:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/openvpn//vulnkey" pid=214 comm="apparmor_parser"
    [   18.949681] cpsw 4a100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [   18.969646] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   19.711001] audit: type=1400 audit(1656960163.330:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/lighttpd" pid=216 comm="apparmor_parser"
    [   19.865132] NOHZ: local_softirq_pending 08
    [   19.869468] NOHZ: local_softirq_pending 48
    [   19.981156] random: crng init done
    [   22.041430] kauditd_printk_skb: 2 callbacks suppressed
    [   22.041446] audit: type=1400 audit(1656960165.340:14): apparmor="DENIED" operation="chmod" profile="/home/lite/out/dccp" name="/var/volatile/tmp/" pid=349 comm="chmod" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
    root@sync2000:/#
    root@sync2000:/#
    root@sync2000:/# cd /lib/modules/4.14.67-gd315a9bb00/kernel/
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel# ls
    drivers  fs
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel# cd drivers/
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel/drivers# ls
    usb
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel/drivers# cd usb/gadget/
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget# ls
    function         legacy           libcomposite.ko
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget# insmod libcomposite.ko
    insmod: ERROR: could not insert module libcomposite.ko: Unknown symbol in module
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget# insmod function/usb_f_mass_storage.ko
    insmod: ERROR: could not insert module function/usb_f_mass_storage.ko: Unknown symbol in module
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget# insmod legacy/g_mass_storage.ko
    insmod: ERROR: could not insert module legacy/g_mass_storage.ko: Unknown symbol in module
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget# lsmod
    Module                  Size  Used by
    phy_generic            16384  0
    phy_am335x_control     16384  0
    musb_am335x            16384  0
    root@sync2000:/lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget#
    

    ...

  • Hi,

    From the information you provided, I can see at least two different issues in your system.

    - kernel config: you kernel config file doesn't enable AM335x USB controller correctly, You should have "CONFIG_USB_MUSB_HOST" enabled, not "CONFIG_USB_MUSB_GADGET=y", since your both USB ports dr_mode is set to host in device tree. After you did "make tisdk_am335x-evm_defconfig", you should only modify SMSC related kernel config options, don't touch anything related to CONFIG_USB_MUSB_*.

    - kernel module version mismatch with kernel image: your kernel boot log shows many messages with "musb_hdrc: Unknown symbol ...", that basically means you didn't install the kernel modules you compiled to your root filesystem.

  • Hello Bin Liu,

    Please accept my apologies for the delay.

    As suggested, I have compiled Linux with the default configuration. And copied the driver modules to the target device. And we got following result for 'lsmod'

    root@sync2000:~# lsmod
    Module                  Size  Used by
    smsc95xx               24576  0
    usbnet                 32768  1 smsc95xx
    musb_dsps              20480  0
    musb_hdrc              98304  1 musb_dsps
    usbcore               204800  3 usbnet,musb_hdrc,smsc95xx
    phy_am335x             16384  7
    udc_core               28672  1 musb_hdrc
    phy_generic            16384  1 phy_am335x
    usb_common             16384  5 phy_am335x,udc_core,musb_hdrc,musb_dsps,usbcore
    phy_am335x_control     16384  1 phy_am335x
    musb_am335x            16384  0

    Interface corresponding to smsc95xx  driver is not coming.  'musb-hdrc' driver specific prints are also not coming in the bootuplog. Attaching Bootup log, configuration and chkmod.sh result for reference (lsusb command support is not there in device. So commented the same).

    Please help us to resolve the issue.

    dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.14.67-gd315a9bb00 (root@RND-UbuntuV14) (gcc version 7.3.0 (GCC)) #38 PREEMPT Mon Jul 18 18:43:19 IST 2022
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: SYNC 2000-M5
    [    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 48 MiB at 0x9d000000
    [    0.000000] On node 0 totalpages: 131072
    [    0.000000] free_area_init_node: node 0, pgdat c0d4d278, node_mem_map dcb61000
    [    0.000000]   Normal zone: 1152 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 131072 pages, LIFO batch:31
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    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: 129920
    [    0.000000] Kernel command line: console=ttyO0,115200n8 resetDefault=no root=ubi0:BANK1_ROOTFS rw rootfstype=ubifs ubi.mtd=7,4096
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 456916K/524288K available (8192K kernel code, 318K rwdata, 2476K rodata, 1024K init, 275K bss, 18220K reserved, 49152K cma-reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc0900000   (9184 kB)
    [    0.000000]       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
    [    0.000000]       .data : 0xc0d00000 - 0xc0d4fb08   ( 319 kB)
    [    0.000000]        .bss : 0xc0d4fb08 - 0xc0d948a4   ( 276 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000022] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000048] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000063] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000282] timer_probe: no matching timers found
    [    0.000554] Console: colour dummy device 80x30
    [    0.000590] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [    0.000601] This ensures that you still see kernel messages. Please
    [    0.000609] update your kernel commandline.
    [    0.000648] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [    0.118786] pid_max: default: 32768 minimum: 301
    [    0.119041] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.119061] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.120076] CPU: Testing write buffer coherency: ok
    [    0.121023] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.121225] Hierarchical SRCU implementation.
    [    0.121663] EFI services will not be available.
    [    0.123502] devtmpfs: initialized
    [    0.134518] random: get_random_u32 called from bucket_table_alloc+0x8c/0x1ac with crng_init=0
    [    0.135139] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.135519] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.135552] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.140454] pinctrl core: initialized pinctrl subsystem
    [    0.141391] DMI not present or invalid.
    [    0.141912] NET: Registered protocol family 16
    [    0.144908] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.150057] omap_hwmod: rtc: no dt node
    [    0.150081] ------------[ cut here ]------------
    [    0.150127] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2494 _init.constprop.20+0x1e0/0x4a4
    [    0.150138] omap_hwmod: rtc: doesn't have mpu register target base
    [    0.150148] Modules linked in:
    [    0.150173] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.67-gd315a9bb00 #38
    [    0.150183] Hardware name: Generic AM33XX (Flattened Device Tree)
    [    0.150193] Backtrace:
    [    0.150239] [<c010bcac>] (dump_backtrace) from [<c010bf90>] (show_stack+0x18/0x1c)
    [    0.150257]  r7:00000009 r6:00000000 r5:c0a9b5bc r4:dc04fe28
    [    0.150292] [<c010bf78>] (show_stack) from [<c082b3c4>] (dump_stack+0x24/0x28)
    [    0.150319] [<c082b3a0>] (dump_stack) from [<c0128d24>] (__warn+0xe8/0x100)
    [    0.150338] [<c0128c3c>] (__warn) from [<c0128d7c>] (warn_slowpath_fmt+0x40/0x48)
    [    0.150356]  r9:c0d4fb40 r8:c0c3b820 r7:00000000 r6:c0d0ae84 r5:00000000 r4:c0a9b870
    [    0.150376] [<c0128d40>] (warn_slowpath_fmt) from [<c0c0ac38>] (_init.constprop.20+0x1e0/0x4a4)
    [    0.150388]  r3:c0ad2730 r2:c0a9b870
    [    0.150398]  r4:c0d0ae40
    [    0.150416] [<c0c0aa58>] (_init.constprop.20) from [<c0c0b428>] (__omap_hwmod_setup_all+0x48/0x108)
    [    0.150435]  r9:c0d4fb40 r8:c0c3b820 r7:c0d4fb40 r6:ffffe000 r5:c0d07ee0 r4:c0d0ae40
    [    0.150454] [<c0c0b3e0>] (__omap_hwmod_setup_all) from [<c010196c>] (do_one_initcall+0x4c/0x170)
    [    0.150466]  r5:c0c0b3e0 r4:00000000
    [    0.150494] [<c0101920>] (do_one_initcall) from [<c0c00eac>] (kernel_init_freeable+0x144/0x1dc)
    [    0.150511]  r8:c0c3b820 r7:c0d4fb40 r6:00000003 r5:c0c4c334 r4:c0b69170
    [    0.150532] [<c0c00d68>] (kernel_init_freeable) from [<c083ffd0>] (kernel_init+0x10/0x11c)
    [    0.150550]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c083ffc0
    [    0.150560]  r4:00000000
    [    0.150577] [<c083ffc0>] (kernel_init) from [<c0108068>] (ret_from_fork+0x14/0x2c)
    [    0.150589]  r5:c083ffc0 r4:00000000
    [    0.150612] ---[ end trace 1aa3fb6f8a9b2900 ]---
    [    0.164358] omap_hwmod: debugss: _wait_target_disable failed
    [    0.218298] cpuidle: using governor ladder
    [    0.218347] cpuidle: using governor menu
    [    0.224104] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
    [    0.224269] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
    [    0.224351] OMAP GPIO hardware version 0.1
    [    0.225407] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
    [    0.225516] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
    [    0.226540] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
    [    0.226646] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
    [    0.227627] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
    [    0.227739] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
    [    0.235205] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
    [    0.237711] No ATAGs?
    [    0.237730] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.255211] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.255924] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
    [    0.256312] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator1[0]'
    [    0.259866] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [    0.259952] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
    [    0.260008] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
    [    0.260139] media: Linux media interface: v0.10
    [    0.260197] Linux video capture interface: v2.00
    [    0.260347] pps_core: LinuxPPS API ver. 1 registered
    [    0.260358] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.260387] PTP clock support registered
    [    0.260435] EDAC MC: Ver: 3.0.0
    [    0.261031] dmi: Firmware registration failed.
    [    0.261586] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.262024] Advanced Linux Sound Architecture Driver Initialized.
    [    0.263549] clocksource: Switched to clocksource timer1
    [    0.274685] NET: Registered protocol family 2
    [    0.275645] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.275714] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.275777] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.275905] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.275932] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.276130] NET: Registered protocol family 1
    [    0.276707] RPC: Registered named UNIX socket transport module.
    [    0.276723] RPC: Registered udp transport module.
    [    0.276733] RPC: Registered tcp transport module.
    [    0.276742] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.276760] PCI: CLS 0 bytes, default 64
    [    0.277898] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.278054] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.279952] workingset: timestamp_bits=14 max_order=17 bucket_order=3
    [    0.285965] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.286942] NFS: Registering the id_resolver key type
    [    0.287005] Key type id_resolver registered
    [    0.287016] Key type id_legacy registered
    [    0.287075] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.289778] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.289806] io scheduler noop registered
    [    0.289818] io scheduler deadline registered
    [    0.290099] io scheduler cfq registered (default)
    [    0.290113] io scheduler mq-deadline registered
    [    0.290125] io scheduler kyber registered
    [    0.291904] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.360480] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.364701] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
    [    1.198911] console [ttyS0] enabled
    [    1.203852] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a 8250
    [    1.213932] 481a6000.serial: ttyS2 at MMIO 0x481a6000 (irq = 32, base_baud = 3000000) is a 8250
    [    1.223925] 481aa000.serial: ttyS3 at MMIO 0x481aa000 (irq = 33, base_baud = 3000000) is a 8250
    [    1.234956] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    1.257133] brd: module loaded
    [    1.268932] loop: module loaded
    [    1.275325] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    1.275342] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    1.275353] mdio_bus fixed-0: lookup for GPIO reset failed
    [    1.275382] libphy: Fixed MDIO Bus: probed
    [    1.296375] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
    [    1.296393] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
    [    1.296415] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.296428] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.296437] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
    [    1.296447] mdio_bus 4a101000.mdio: lookup for GPIO reset failed
    [    1.353657] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    1.361377] libphy: 4a101000.mdio: probed
    [    1.367974] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver unknown
    [    1.376177] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [    1.385486] cpsw 4a100000.ethernet: Detected MACID = 00:25:97:01:28:9c
    [    1.392178] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    1.398815] cpsw 4a100000.ethernet: ALE Table size 1024
    [    1.404195] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.412455] cpsw 4a100000.ethernet: cpsw: Detected MACID = 00:25:97:01:28:9d
    [    1.421284] i2c /dev entries driver
    [    1.425426] IR NEC protocol handler initialized
    [    1.429988] IR RC5(x/sz) protocol handler initialized
    [    1.435110] IR RC6 protocol handler initialized
    [    1.439663] IR JVC protocol handler initialized
    [    1.444233] IR Sony protocol handler initialized
    [    1.448871] IR SANYO protocol handler initialized
    [    1.453613] IR Sharp protocol handler initialized
    [    1.458337] IR MCE Keyboard/mouse protocol handler initialized
    [    1.464373] IR XMP protocol handler initialized
    [    1.470950] cpuidle: enable-method property 'ti,am3352' found operations
    [    1.478245] sdhci: Secure Digital Host Controller Interface driver
    [    1.484502] sdhci: Copyright(c) Pierre Ossman
    [    1.489253] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.495704] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.506024] NET: Registered protocol family 10
    [    1.512415] Segment Routing with IPv6
    [    1.516399] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.523235] NET: Registered protocol family 17
    [    1.528201] Key type dns_resolver registered
    [    1.532782] omap_voltage_late_init: Voltage driver support not added
    [    1.546365] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.551564] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.557908] gpiochip_find_base: found new base at 510
    [    1.558275] gpio gpiochip4: (omap-gpmc): added GPIO chardev (254:4)
    [    1.558397] gpiochip_setup_dev: registered GPIOs 510 to 511 on device: gpiochip4 (omap-gpmc)
    [    1.559878] omap2-nand 8000000.nand: GPIO lookup for consumer rb
    [    1.559893] omap2-nand 8000000.nand: using device tree for GPIO lookup
    [    1.559949] of_get_named_gpiod_flags: parsed 'rb-gpios' property of node '/ocp/gpmc@50000000/nand@0,0[0]' - status (0)
    [    1.560180] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
    [    1.566748] nand: Micron MT29F8G08ABACAH4
    [    1.570784] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
    [    1.578708] using OMAP_ECC_BCH16_CODE_HW ECC scheme
    [    1.583816] 8 ofpart partitions found on MTD device omap2-nand.0
    [    1.589856] Creating 8 MTD partitions on "omap2-nand.0":
    [    1.595239] 0x000000000000-0x000000040000 : "NAND.SPL"
    [    1.601759] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
    [    1.608818] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
    [    1.615795] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
    [    1.622760] 0x000000100000-0x000000300000 : "NAND.u-boot"
    [    1.629630] 0x000000300000-0x000000340000 : "NAND.u-boot-env1"
    [    1.636604] 0x000000340000-0x000000380000 : "NAND.u-boot-env2"
    [    1.643526] 0x000000380000-0x000040000000 : "NAND.RBlob"
    [    1.863863] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.869992] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
    [    1.870028] gpiochip_find_base: found new base at 504
    [    1.870312] gpio gpiochip5: (tps65910): added GPIO chardev (254:5)
    [    1.870426] gpiochip_setup_dev: registered GPIOs 504 to 509 on device: gpiochip5 (tps65910)
    [    1.872080] vrtc: supplied by vbat
    [    1.879468] vio: supplied by vbat
    [    1.884472] vdd1: supplied by vbat
    [    1.889647] random: fast init done
    [    1.893267] vdd2: supplied by vbat
    [    1.900131] vdig1: supplied by vbat
    [    1.905168] vdig2: supplied by vbat
    [    1.910152] vpll: supplied by vbat
    [    1.915151] vdac: supplied by vbat
    [    1.920083] vaux1: supplied by vbat
    [    1.925130] vaux2: supplied by vbat
    [    1.930116] vaux33: supplied by vbat
    [    1.935244] vmmc: supplied by vbat
    [    1.940154] vbb: supplied by vbat
    [    1.945259] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.952408] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
    [    1.959410] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [    1.966888] ubi0: attaching mtd7
    [    6.677889] ubi0: scanning is finished
    [    6.712811] ubi0: attached mtd7 (name "NAND.RBlob", size 1020 MiB)
    [    6.719190] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
    [    6.726206] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 1024
    [    6.733029] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
    [    6.740050] ubi0: good PEBs: 4082, bad PEBs: 0, corrupted PEBs: 0
    [    6.746217] ubi0: user volume: 8, internal volumes: 1, max. volumes count: 128
    [    6.753478] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1073543859
    [    6.762677] ubi0: available PEBs: 0, total reserved PEBs: 4082, PEBs reserved for bad PEB handling: 80
    [    6.772078] ubi0: background thread "ubi_bgt0d" started, PID 45
    [    6.778459] hctosys: unable to open rtc device (rtc0)
    [    6.779083] lis3_reg: disabling
    [    6.784457] ALSA device list:
    [    6.784464]   No soundcards found.
    [    6.803678] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" started, PID 46
    [    7.170894] UBIFS (ubi0:3): UBIFS: mounted UBI device 0, volume 3, name "BANK1_ROOTFS"
    [    7.178959] UBIFS (ubi0:3): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    7.189010] UBIFS (ubi0:3): FS size: 60440576 bytes (57 MiB, 238 LEBs), journal size 9404416 bytes (8 MiB, 38 LEBs)
    [    7.199523] UBIFS (ubi0:3): reserved for root: 0 bytes (0 KiB)
    [    7.205435] UBIFS (ubi0:3): media format: w4/r0 (latest is w5/r0), UUID D0C303EB-263C-4890-8013-6FF1EEAD17A1, small LPT model
    [    7.218585] VFS: Mounted root (ubifs filesystem) on device 0:14.
    [    7.227344] devtmpfs: mounted
    [    7.232281] Freeing unused kernel memory: 1024K
    [    7.403612] NOHZ: local_softirq_pending 40
    [    7.643644] NOHZ: local_softirq_pending 40
    [    7.963805] UBIFS (ubi0:5): background thread "ubifs_bgt0_5" started, PID 53
    [    8.268266] UBIFS (ubi0:5): UBIFS: mounted UBI device 0, volume 5, name "LICENSE"
    [    8.275973] UBIFS (ubi0:5): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.285976] UBIFS (ubi0:5): FS size: 2285568 bytes (2 MiB, 9 LEBs), journal size 1777665 bytes (1 MiB, 5 LEBs)
    [    8.296071] UBIFS (ubi0:5): reserved for root: 107952 bytes (105 KiB)
    [    8.302550] UBIFS (ubi0:5): media format: w5/r0 (latest is w5/r0), UUID 19CD970F-DD2A-4EB0-823B-4C71DBB0BFA3, small LPT model
    [    8.333680] UBIFS (ubi0:6): background thread "ubifs_bgt0_6" started, PID 55
    [    8.592827] UBIFS (ubi0:6): UBIFS: mounted UBI device 0, volume 6, name "LOG"
    [    8.600103] UBIFS (ubi0:6): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.610147] UBIFS (ubi0:6): FS size: 34283520 bytes (32 MiB, 135 LEBs), journal size 2031617 bytes (1 MiB, 7 LEBs)
    [    8.620571] UBIFS (ubi0:6): reserved for root: 1619295 bytes (1581 KiB)
    [    8.627267] UBIFS (ubi0:6): media format: w5/r0 (latest is w5/r0), UUID DD71D9C8-B9B6-48E5-9B78-431E6D9113FA, small LPT model
    [    8.663663] UBIFS (ubi0:7): background thread "ubifs_bgt0_7" started, PID 57
    [    9.004871] UBIFS (ubi0:7): UBIFS: mounted UBI device 0, volume 7, name "SETTINGS"
    [    9.012516] UBIFS (ubi0:7): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    9.022629] UBIFS (ubi0:7): FS size: 837787648 bytes (798 MiB, 3299 LEBs), journal size 33521664 bytes (31 MiB, 132 LEBs)
    [    9.033676] UBIFS (ubi0:7): reserved for root: 4952683 bytes (4836 KiB)
    [    9.040329] UBIFS (ubi0:7): media format: w5/r0 (latest is w5/r0), UUID 87118827-A3AB-4D4D-AF3E-3ED877B23777, small LPT model
    [    9.492570] udevd[78]: starting version 3.2.5
    [    9.537594] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.550067] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.569688] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.590675] udevd[78]: specified group 'lp' unknown
    [    9.632018] udevd[79]: starting eudev-3.2.5
    [    9.653640] NOHZ: local_softirq_pending 40
    [   10.880166] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
    [   10.880185] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [   10.880214] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.880226] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.880236] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [   10.880248] am335x-phy-driver 47401300.usb-phy: lookup for GPIO reset failed
    [   10.880260] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
    [   10.880268] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [   10.880280] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.880292] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.880300] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [   10.880309] am335x-phy-driver 47401300.usb-phy: lookup for GPIO vbus-detect failed
    [   10.880426] am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
    [   10.949068] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
    [   10.949089] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [   10.949116] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.949129] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.949140] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [   10.949150] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO reset failed
    [   10.949163] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
    [   10.949171] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [   10.949183] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.949195] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.949204] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [   10.949212] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO vbus-detect failed
    [   10.949330] am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
    [   10.983209] usbcore: registered new interface driver usbfs
    [   10.983284] usbcore: registered new interface driver hub
    [   10.989417] usbcore: registered new device driver usb
    [   12.636625] urandom_read: 1 callbacks suppressed
    [   12.636641] random: dd: uninitialized urandom read (512 bytes read)
    [   12.853642] NOHZ: local_softirq_pending 40
    [   13.468574] net eth0: initializing cpsw version 1.12 (0)
    [   13.488306] Generic PHY 4a101000.mdio:02: attached PHY driver [Generic PHY] (mii_bus:phy_addr=4a101000.mdio:02, irq=POLL)
    [   13.509788] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   13.933650] NOHZ: local_softirq_pending 202
    [   14.493606] NOHZ: local_softirq_pending 40
    [   14.530905] random: sshd: uninitialized urandom read (32 bytes read)
    [   14.566268] cpsw 4a100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [   14.575066] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   14.613627] NOHZ: local_softirq_pending 02
    [   14.797859] NOHZ: local_softirq_pending 08
    [   14.802013] NOHZ: local_softirq_pending 48
    [   14.893665] NOHZ: local_softirq_pending 40
    [   14.960078] random: crng init done
    [  221.748201] usbcore: registered new interface driver smsc95xx
    root@sync2000:~#
    
    root@sync2000:/# ./chkusb.sh
    chkusb.sh Version 0.2.6
    Linux sync2000 4.14.67-gd315a9bb00 #38 PREEMPT Mon Jul 18 18:43:19 IST 2022 armv7l GNU/Linux
    USB initialization failed
    grep: /sys/kernel/debug/musb-hdrc*/regdump: No such file or directory
    ./chkusb.sh: line 377: warning: command substitution: ignored null byte in input
    ./chkusb.sh: line 378: warning: command substitution: ignored null byte in input
    usb@47401000: otg, okay
    ./chkusb.sh: line 377: warning: command substitution: ignored null byte in input
    ./chkusb.sh: line 378: warning: command substitution: ignored null byte in input
    usb@47401800: host, okay
    ./chkusb.sh: line 303: warning: command substitution: ignored null byte in input
    ./chkusb.sh: line 303: warning: command substitution: ignored null byte in input
    ./chkusb.sh: line 303: warning: command substitution: ignored null byte in input
    ./chkusb.sh: line 303: warning: command substitution: ignored null byte in input
    ./chkusb.sh: line 303: warning: command substitution: ignored null byte in input
    ./chkusb.sh: line 305: warning: command substitution: ignored null byte in input
    dma-controller@47402000: disabled
    
    Gadget Kernel Config: g_zero is enabled
    Gadget Kernel Config: g_audio is enabled
    Gadget Kernel Config: g_ether is enabled
    Gadget Kernel Config: g_ncm is enabled
    Gadget Kernel Config: g_mass_storage is enabled
    Gadget Kernel Config: g_serial is enabled
    Gadget Kernel Config: g_printer is enabled
    gadget driver loaded: (none)
    
    The list of USB gadget drivers installed:
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/:
    function/
    legacy/
    libcomposite.ko
    udc/
    
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/function:
    u_audio.ko
    u_ether.ko
    u_serial.ko
    usb_f_acm.ko
    usb_f_ecm.ko
    usb_f_ecm_subset.ko
    usb_f_eem.ko
    usb_f_fs.ko
    usb_f_hid.ko
    usb_f_mass_storage.ko
    usb_f_midi.ko
    usb_f_ncm.ko
    usb_f_obex.ko
    usb_f_printer.ko
    usb_f_rndis.ko
    usb_f_serial.ko
    usb_f_ss_lb.ko
    usb_f_uac1.ko
    usb_f_uac2.ko
    usb_f_uvc.ko
    
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/legacy:
    g_acm_ms.ko
    g_audio.ko
    g_cdc.ko
    g_dbgp.ko
    g_ether.ko
    g_ffs.ko
    g_hid.ko
    g_mass_storage.ko
    g_midi.ko
    g_multi.ko
    g_ncm.ko
    g_printer.ko
    g_serial.ko
    g_webcam.ko
    g_zero.ko
    gadgetfs.ko
    
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/udc:
    udc-core.ko
    root@sync2000:/#
    
    config_default.txt

  • Hi,

    The logs show the USB related kernel drivers are loaded, but USB bus is not established. We need to figure out the reason.

    Please run the latest version of the chkusb.sh script attached below on your board and provide its output.

    #!/bin/bash
    #
    # Util to check USB subsystem for Linux kernel 3.12+ on TI Sitara devices
    #
    # Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
    #
    #
    #  Redistribution and use in source and binary forms, with or without
    #  modification, are permitted provided that the following conditions
    #  are met:
    #
    #    Redistributions of source code must retain the above copyright
    #    notice, this list of conditions and the following disclaimer.
    #
    #    Redistributions in binary form must reproduce the above copyright
    #    notice, this list of conditions and the following disclaimer in the
    #    documentation and/or other materials provided with the
    #    distribution.
    #
    #    Neither the name of Texas Instruments Incorporated nor the names of
    #    its contributors may be used to endorse or promote products derived
    #    from this software without specific prior written permission.
    #
    #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    #  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    #  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    #  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    #  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    #  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    #  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    #  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    #  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    #  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
    VERSION=0.3.1
    DTPATH=/proc/device-tree
    DEVPATH=/sys/devices/platform
    KMODPATH="/lib/modules/`uname -r`"
    
    ### ENV
    # $V: debug flag
    # $PLATFORM: force g_plaform if not found in device tree
    
    ### functions ###
    
    # $1 commands to be checked
    check_command() {
        local _lst="$*"
        local _cmd
    
        for _cmd in $_lst; do
            which $_cmd > /dev/null || {
                echo "Error: $_cmd command not found"
                exit 1
            }
        done
    }
    
    # check if the kernel is supported
    # this tool only runs on v4.0+ kernel
    # return 0 - if kernel version >= 4.0
    #        1 - if kernel version < 4.0
    has_supported_kernel() {
    	local _ver
    	local _t
    
        check_command uname
        uname -a
    	_ver=`uname -r`
        _t=${_ver%%.*}
        # 3.x.x or older, unsupported
        [ $_t -ge 4 ] || return 1
        return 0
    }
    
    # define variables for musb entries in sysfs and device tree
    # output variables: USB_DT_PARENT, USB0DT, USB1DT
    #                   USB_DEV_PARENT, USB0DEV, USB1DEV
    query_musb_entries() {
        local _lst
        local _t
        local _intr
    
        check_command find
    
        # find usb entry names in device-tree
        _t=$(find ${DTPATH}/ -maxdepth 2 -name '*47400000*')
        [ -n "$_t" ] && USB_DT_PARENT=$_t || {
            echo "usb parent DT node not found in device-tree"
            exit 1
        }
    
        _lst=$(find ${USB_DT_PARENT}/ -maxdepth 1 -name 'usb@*')
        [ -n "$_lst" ] || {
            echo "usb0 and usb1 DT node not found in device-tree"
            exit 1
        }
    
        # find USB child DT node based on its interrupt number
        for _t in $_lst; do
            [[ -f "${_t}/interrupts" ]] || continue
            _intr=$(hexdump ${_t}/interrupts | head -1 | cut -d' ' -f3)
            case $_intr in
                "1200") USB0DT=$_t;;
                "1300") USB1DT=$_t;;
                *)  echo "unkown usb interrupt number $_intr"
                    exit 1
            esac
        done
    
        # find device names in sysfs
        _t=$(find ${DEVPATH}/ -maxdepth 2 -name '*47400000*')
        [ -n "$_t" ] && USB_DEV_PARENT=$_t || {
            echo "usb device not found in sysfs"
            exit 1
        }
    
        _t=$(find ${USB_DEV_PARENT}/47401400.usb/ -maxdepth 1 -name 'musb-hdrc.*')
        [ -n "$_t" ] && USB0DEV=$_t || echo "usb0 device not found in sysfs"
    
        _t=$(find ${USB_DEV_PARENT}/47401c00.usb/ -maxdepth 1 -name 'musb-hdrc.*')
        [ -n "$_t" ] && USB1DEV=$_t || echo "usb1 device not found in sysfs"
    }
    
    # check if the platform is supported
    # return 0 - if platform is supported
    #        1 - if platform is not supported
    check_platform () {
    	local _hw
    
        check_command grep
        _hw=`cat ${DTPATH}/compatible | tr '\0' ' '`
        DBG_PRINT "DT compatible: $_hw"
    
        if [[ "$_hw" == *"ti,am33xx"* ]]; then
            g_platform="am335x"
        elif [[ "$_hw" == *"ti,am43"* ]]; then
            g_platform="am437x"
        else
            # read from ENV
            g_platform=$PLATFORM
        fi
    
        DBG_PRINT "g_platform: $g_platform"
        case $g_platform in
            "am335x")
                query_musb_entries
                return 0;;
            "am437x")
                USB0DT="$(find $DTPATH -name 'usb@48390000')"
                USB1DT="$(find $DTPATH -name 'usb@483d0000')"
                return 0;;
            *)
                echo "Unsupported \"$g_platform\""
                return 1;;
        esac
    }
    
    # get kernel config options from /proc/config.gz
    # params $@ - the list of config options to query, without 'CONFIG_'
    # return - the config options settings in /proc/config.gz
    get_kernel_configs() {
        local _opts="$@"
        local _lst=""
        local _t
    
        check_command zcat grep
        for _t in $_opts; do
            [ -z "$_lst" ] &&
                _lst="^CONFIG_${_t}\>" ||
                _lst="${_lst}\|^CONFIG_${_t}\>"
        done
        [ -z "$_lst" ] || zcat /proc/config.gz | grep "$_lst"
    }
    
    # check a kernel CONFIG option
    # params $1 - the config option list returned from get_kernel_config()
    #             if "", directly check $2 from /proc/config.gz
    #        $2 - the config option to check
    #        $3 = '-q', quiet output
    # return 0 - undefined
    #        1 - defined as 'm', kernel module
    #        2 - defined as 'y', kernel builtin
    check_kernel_config() {
        local _cfg
        local _t
    
        [ -n "$2" ] || return 0
    
        if [ -z "$1" ]; then
            check_command zcat
            _cfg=`zcat /proc/config.gz | grep "^$2\>"`
        else
            for _t in $1; do
                [[ "$_t" != "${2}="? ]] || { _cfg=$_t; break; }
            done
        fi
    
        case ${_cfg#*=} in
            "y") return 2;;
            "m") return 1;;
              *) [ "$3" = "-q" ] ||
                  echo "Error: $2 is undefined in kernel config"
              return 0;;
        esac
    }
    
    # check a kernel module
    # $1 - module name, relative path from drivers/, without .ko surfix
    # return 0 - found
    #        1 - error
    check_module() {
        local _modname
        local _moddep
    
        [ -n "$1" ] || return 1
    
        _modname="${KMODPATH}/kernel/drivers/${1}.ko"
        _moddep="${KMODPATH}/modules.dep"
    
        DBG_PRINT "${1}.ko checking..."
        [ -f $_modname ] || {
            echo "Error: $_modname not found."
            echo "       Please ensure 'make module_install' is done properly."
            return 1
        }
    
        DBG_PRINT "${1}.ko found"
        [ -f $_moddep ] || $g_printed_once || {
            echo "Error: $_moddep not found."
            echo "       Please ensure 'make module_install' is done properly."
            g_printed_once=true
        }
    
        DBG_PRINT "${1}.ko moddep checked"
        check_command lsmod basename tr
    
        lsmod | grep `basename $1 | tr '-' '_'` > /dev/null || {
            DBG_PRINT ">>>> ${1}.ko not found in lsmod:"
            if grep "${1}.ko:" $_moddep > /dev/null; then
                echo "Error: $_moddep seems to be valid,"
                echo "       but `basename $1`.ko is not loaded."
                echo "       Please provide /proc/config.gz and ${KMODPATH}/*"
                echo "       for further investigation."
            else
                echo "Error: `basename $1`: $_moddep is invalid."
                echo "       Please run command 'depmod' on the target to re-generate it,"
                echo "       then reboot the target. If the issue still exists, please"
                echo "       ensure 'make module_install' is done properly."
            fi
    
            return 1
        }
        DBG_PRINT "${1}.ko done"
        return 0
    }
    
    # check kernel config, and modules (if CONFIG_*=M) for musb
    check_musb_drivers() {
        local _lst=("USB_MUSB_HDRC" "USB_MUSB_DUAL_ROLE" "USB_OTG" "USB_MUSB_DSPS" \
                    "AM335X_PHY_USB" "MUSB_PIO_ONLY" "TI_CPPI41")
        local _opts
    
        _opts=$(get_kernel_configs ${_lst[*]})
    
        check_kernel_config "$_opts" CONFIG_USB_MUSB_HDRC
        [ $? != 1 ] || check_module 'usb/musb/musb_hdrc'
    
        check_kernel_config "$_opts" CONFIG_USB_MUSB_DUAL_ROLE -q
        [ $? != 0 ] || echo "Warning: CONFIG_USB_MUSB_DUAL_ROLE undefined."
    
        check_kernel_config "$_opts" CONFIG_USB_OTG -q
        [ $? == 0 ] || echo "Warning: CONFIG_USB_OTG defined."
    
        check_kernel_config "$_opts" CONFIG_USB_MUSB_DSPS
        [ $? != 1 ] || {
            check_module 'usb/musb/musb_dsps'
        }
    
        check_kernel_config "$_opts" CONFIG_AM335X_PHY_USB
        [ $? != 1 ] || {
            check_module 'usb/phy/phy-am335x'
            check_module 'usb/phy/phy-am335x-control'
        }
    
        check_kernel_config "$_opts" CONFIG_MUSB_PIO_ONLY -q
        [ $? != 0 ] || {
           if check_kernel_config "$_opts" CONFIG_TI_CPPI41 -q; then
               echo "Error: MUSB CPPI DMA mode is enabled, but CPPI moudle is not enabled in DMA Engine."
               echo "       Please enable CONFIG_TI_CPPI41 under DMA Engine Support in kernel config."
           fi
        }
    }
    
    # check kernel config, and modules (if CONFIG_*=M) for dwc3
    check_dwc3_drivers() {
        local _lst=("USB_DWC3" "USB_DWC3_DUAL_ROLE" "USB_OTG" "USB_DWC3_OMAP" \
                    "USB_XHCI_HCD" "OMAP_CONTROL_PHY" "OMAP_USB2")
        local _opts
    
        _opts=$(get_kernel_configs ${_lst[*]})
    
        check_kernel_config "$_opts" CONFIG_USB_DWC3
        [ $? != 1 ] || check_module 'usb/dwc3/dwc3'
    
        check_kernel_config "$_opts" CONFIG_USB_DWC3_DUAL_ROLE -q
        [ $? != 0 ] || echo "Warning: CONFIG_USB_DWC3_DUAL_ROLE undefined."
    
        check_kernel_config "$_opts" CONFIG_USB_OTG -q
        [ $? == 0 ] || echo "Warning: CONFIG_USB_OTG defined."
    
        check_kernel_config "$_opts" CONFIG_USB_DWC3_OMAP
        [ $? != 1 ] || check_module 'usb/dwc3/dwc3-omap'
    
        check_kernel_config "$_opts" CONFIG_USB_XHCI_HCD
        [ $? != 1 ] || {
            check_module 'usb/host/xhci-plat-hcd'
            check_module 'usb/host/xhci-hcd'
        }
    
        check_kernel_config "$_opts" CONFIG_OMAP_CONTROL_PHY
        [ $? != 1 ] || check_module 'phy/ti/phy-omap-control'
    
        check_kernel_config "$_opts" CONFIG_OMAP_USB2
        [ $? != 1 ] || check_module 'phy/ti/phy-omap-usb2'
    }
    
    check_musb_dt() {
        local _dt_dir
        local _ent
        local _sts
        local _t
    
        case $USB_DT_PARENT in
            *"usb@"*)
                _ent=("control@44e10620" "usb-phy@47401300" "usb-phy@47401b00" \
                      "usb@47401000" "usb@47401800" "dma-controller@47402000")
                ;;
            *"target-module@"*)
                _ent=("usb-phy@1300" "usb-phy@1b00" "usb@1400" "usb@1800" \
                      "dma-controller@2000")
                ;;
            *)
                echo "Warning: unknown USB DT ($USB_DT_PARENT)"
                return
        esac
    
        echo "Device Tree USB node status:"
        for _t in '.' ${_ent[*]}; do
            [ -d "${USB_DT_PARENT}/${_t}/" ] || {
                echo -e "\tWarning: USB DT node $_t not found"
                continue
            }
            [ -f "${USB_DT_PARENT}/${_t}/status" ] &&
                _sts=$(tr -d '\0' <${USB_DT_PARENT}/${_t}/status) ||
                _sts="(enabled)"
            echo -e "\t$_t: $_sts"
        done
    }
    
    dump_sysfs_debugfs() {
        local _debugfs
        local _l
        local _f
    
        _debugfs=`sed -ne 's/^debugfs \(.*\) debugfs.*/\1/p' /proc/mounts`
        [ -n "$_debugfs" ] || return
    
        case $g_platform in
            am335x)
                _debugfs=$(find $_debugfs -name 'musb-hdrc.*')
                _debugfs=${_debugfs%/*}
    
                for _f in $USB0DEV $USB1DEV; do
                    _l=$(basename $_f)
                    echo "$_l: mode $(cat ${_f}/mode), $(cat ${_f}/vbus)"
                    grep -i 'power\|devctl\|testmode' ${_debugfs}/${_l}/regdump
                done
                ;;
        esac
    }
    
    check_gadget_kernel_config() {
        local _lst=("USB_ZERO" "USB_AUDIO" "USB_ETH" "USB_G_NCM" "USB_MASS_STORAGE" \
                    "USB_G_SERIAL" "USB_G_PRINTER")
        local _opts
    
        _opts=$(get_kernel_configs ${_lst[*]})
    
        check_kernel_config "$_opts" CONFIG_USB_ZERO -q ||
            echo "Gadget Kernel Config: g_zero is enabled"
        check_kernel_config "$_opts" CONFIG_USB_AUDIO -q ||
            echo "Gadget Kernel Config: g_audio is enabled"
        check_kernel_config "$_opts" CONFIG_USB_ETH -q ||
            echo "Gadget Kernel Config: g_ether is enabled"
        check_kernel_config "$_opts" CONFIG_USB_G_NCM -q ||
            echo "Gadget Kernel Config: g_ncm is enabled"
        check_kernel_config "$_opts" CONFIG_USB_MASS_STORAGE -q ||
            echo "Gadget Kernel Config: g_mass_storage is enabled"
        check_kernel_config "$_opts" CONFIG_USB_G_SERIAL -q ||
            echo "Gadget Kernel Config: g_serial is enabled"
        check_kernel_config "$_opts" CONFIG_USB_G_PRINTER -q ||
            echo "Gadget Kernel Config: g_printer is enabled"
    }
    
    ### debug ###
    
    g_log_file=/tmp/chkusb.log
    
    DBG_ENABLE() { g_dbg_enabled=true; }
    DBG_DISABLE() { g_dbg_enabled=false; }
    DBG_LOG_RESET() { ! $g_dbg_enabled || echo > $g_log_file; }
    DBG_PRINT() { ! $g_dbg_enabled || echo "$(date +%H:%M:%S) [$(basename $0)]: $*"; }
    DBG_LOG() { DBG_PRINT $* >> $g_log_file; }
    DBG_LOG_MARK() { DBG_PRINT "----------------" >> $g_log_file; }
    
    
    ### main ####
    
    g_printed_once=false
    
    echo "chkusb.sh Version $VERSION"
    
    [ "$V" = "1" ] && DBG_ENABLE && DBG_LOG_RESET || DBG_DISABLE
    
    has_supported_kernel ||
        { echo "Unsupported kernel version: `uname -r`"; exit 1; }
    check_platform || exit 2
    DBG_PRINT device: $g_platform
    [ -d ${DTPATH} ] || { echo "Error: ${DTPATH} not found"; exit 3; }
    
    check_command lsusb
    if lsusb > /dev/null 2>&1; then
        echo "USB is initialized"
    else
        echo "USB initialization failed"
    fi
    
    # check kernel configs
    
    if [ -f /proc/config.gz ]; then
        case $g_platform in
            am335x) check_musb_drivers;;
            am437x) check_dwc3_drivers;;
        esac
    else
        echo "Error: /proc/config.gz not found"
    fi
    
    dump_sysfs_debugfs
    
    # check dr_mode & gadget drivers
    
    check_command basename
    for _usb_dir in "${USB0DT}" "${USB1DT}"; do
        [ -n "$_usb_dir" ] || continue
    
        [ -f "$_usb_dir/status" ] &&
            _status=`tr -d '\0' <$_usb_dir/status` ||
            _status='(enabled)'
        _dr_mode=`tr -d '\0'  <$_usb_dir/dr_mode`
        echo `basename $_usb_dir`: $_dr_mode, $_status
    
        [ "$_status" = "disabled" -o "$_dr_mode" = "host" ] || gadget_mode=true
    done
    
    case $g_platform in
        am335x) check_musb_dt;;
        *) ;;
    esac
    
    DBG_PRINT $gadget_mode
    $gadget_mode || exit 0
    
    echo
    
    check_kernel_config "" CONFIG_USB_LIBCOMPOSITE
    case $? in
        0) echo "Error: no any gadget driver enabled"
           exit 6;;
        1) is_gadget_builtin=false;;
        2) echo "The gadget driver is built-in"
           is_gadget_builtin=true;;
    esac
    
    [[ ! -f /proc/config.gz ]] || check_gadget_kernel_config
    
    g_driver=`grep '^DRIVER=' /sys/class/udc/*/uevent 2>/dev/null`
    echo "gadget driver loaded: ${g_driver:-(none)}"
    
    [[ $is_gadget_builtin == false ]] || exit 0
    
    echo
    
    if [ -d "$KMODPATH" ]; then
        echo "The list of USB gadget drivers installed:"
        ls -1Rp ${KMODPATH}/kernel/drivers/usb/gadget/{function,legacy}/
    else
        echo "Error: $KMODPATH not found"
        echo "       Please ensure 'make modules_install' is done properly."
        exit 7
    fi
    
    # vim: ft=sh:ts=4:sw=4:et
    

  • Hi Bin,

    As suggested we tried to execute the script. We faced following two issues with script.

    1. head: invalid option -- '1'

     Assigned proper value for USB1DT based on _intr

    2. lsusb command not supporting

     Commented the check.

    Executed the modified script. Attaching the output for reference.

    chkusb.sh Version 0.3.1
    Linux sync2000 4.14.67-gd315a9bb00 #38 PREEMPT Mon Jul 18 18:43:19 IST 2022 armv7l GNU/Linux
    head: invalid option -- '1'
    BusyBox v1.27.2 (2018-12-12 11:37:26 UTC) multi-call binary.
    
    Usage: head [OPTIONS] [FILE]...
    head: invalid option -- '1'
    BusyBox v1.27.2 (2018-12-12 11:37:26 UTC) multi-call binary.
    
    Usage: head [OPTIONS] [FILE]...
    USB initialization failed
    cat: can't open '/sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode': No such file or directory
    cat: can't open '/sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/vbus': No such file or directory
    musb-hdrc.0: mode ,
    grep: /musb-hdrc.0/regdump: No such file or directory
    cat: can't open '/sys/devices/platform/ocp/47400000.usb/47401c00.usb/musb-hdrc.1/mode': No such file or directory
    cat: can't open '/sys/devices/platform/ocp/47400000.usb/47401c00.usb/musb-hdrc.1/vbus': No such file or directory
    musb-hdrc.1: mode ,
    grep: /musb-hdrc.1/regdump: No such file or directory
    usb@47401000: otg, okay
    Device Tree USB node status:
            .: okay
            control@44e10620: okay
            usb-phy@47401300: okay
            usb-phy@47401b00: okay
            usb@47401000: okay
            usb@47401800: okay
            dma-controller@47402000: disabled
    
    Gadget Kernel Config: g_zero is enabled
    Gadget Kernel Config: g_audio is enabled
    Gadget Kernel Config: g_ether is enabled
    Gadget Kernel Config: g_ncm is enabled
    Gadget Kernel Config: g_mass_storage is enabled
    Gadget Kernel Config: g_serial is enabled
    Gadget Kernel Config: g_printer is enabled
    gadget driver loaded: (none)
    
    The list of USB gadget drivers installed:
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/function/:
    u_audio.ko
    u_ether.ko
    u_serial.ko
    usb_f_acm.ko
    usb_f_ecm.ko
    usb_f_ecm_subset.ko
    usb_f_eem.ko
    usb_f_fs.ko
    usb_f_hid.ko
    usb_f_mass_storage.ko
    usb_f_midi.ko
    usb_f_ncm.ko
    usb_f_obex.ko
    usb_f_printer.ko
    usb_f_rndis.ko
    usb_f_serial.ko
    usb_f_ss_lb.ko
    usb_f_uac1.ko
    usb_f_uac2.ko
    usb_f_uvc.ko
    
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/legacy/:
    g_acm_ms.ko
    g_audio.ko
    g_cdc.ko
    g_dbgp.ko
    g_ether.ko
    g_ffs.ko
    g_hid.ko
    g_mass_storage.ko
    g_midi.ko
    g_multi.ko
    g_ncm.ko
    g_printer.ko
    g_serial.ko
    g_webcam.ko
    g_zero.ko
    gadgetfs.ko
    root@sync2000:/#

  • Hi,

    Please let me know if you could identify any issues with our system (configuration/ executing procedure).

  • Hi Bin Liu,

    When added 'cppi41dma' node properly in Hardware tree, MUSB_HDRC prints are coming kernel boot log. Please find attached log.

    However USB bus initialization is not complete and smsc interface is not up.

    1. In Kernel log, 'UDC Driver' initialization print  [udc musb-hdrc.0.auto: registering UDC driver [g_mass_storage]] is not coming .

    2. In udc folder 'musb-hdrc.0.auto' is not creating.

    root@sync2000:/sys/class/udc# ls
    musb-hdrc.0

    3. We couldn't create configfs.ko module.

    Attaching the Script output for reference.

    chkusb.sh Version 0.3.1
    Linux sync2000 4.14.67-gd315a9bb00 #38 PREEMPT Mon Jul 18 18:43:19 IST 2022 armv7l GNU/Linux
    head: invalid option -- '1'
    BusyBox v1.27.2 (2018-12-12 11:37:26 UTC) multi-call binary.
    
    Usage: head [OPTIONS] [FILE]...
    head: invalid option -- '1'
    BusyBox v1.27.2 (2018-12-12 11:37:26 UTC) multi-call binary.
    
    Usage: head [OPTIONS] [FILE]...
    USB initialization failed
    musb-hdrc.0: mode a_wait_vrise, Vbus on, timeout 1100 msec
    /sys/kernel/debug/musb-hdrc.0/regdump:Power       : e0
    /sys/kernel/debug/musb-hdrc.0/regdump:Testmode    : 00
    /sys/kernel/debug/musb-hdrc.0/regdump:DevCtl      : 19
    musb-hdrc.1: mode a_wait_vrise, Vbus off, timeout 1100 msec
    /sys/kernel/debug/musb-hdrc.1/regdump:Power       : e0
    /sys/kernel/debug/musb-hdrc.1/regdump:Testmode    : 00
    /sys/kernel/debug/musb-hdrc.1/regdump:DevCtl      : 80
    usb@47401000: otg, okay
    Device Tree USB node status:
            .: okay
            control@44e10620: okay
            usb-phy@47401300: okay
            usb-phy@47401b00: okay
            usb@47401000: okay
            usb@47401800: okay
            dma-controller@47402000: okay
    
    Gadget Kernel Config: g_zero is enabled
    Gadget Kernel Config: g_audio is enabled
    Gadget Kernel Config: g_ether is enabled
    Gadget Kernel Config: g_ncm is enabled
    Gadget Kernel Config: g_mass_storage is enabled
    Gadget Kernel Config: g_serial is enabled
    Gadget Kernel Config: g_printer is enabled
    gadget driver loaded: DRIVER=g_mass_storage
    
    The list of USB gadget drivers installed:
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/function/:
    u_audio.ko
    u_ether.ko
    u_serial.ko
    usb_f_acm.ko
    usb_f_ecm.ko
    usb_f_ecm_subset.ko
    usb_f_eem.ko
    usb_f_fs.ko
    usb_f_hid.ko
    usb_f_mass_storage.ko
    usb_f_midi.ko
    usb_f_ncm.ko
    usb_f_obex.ko
    usb_f_printer.ko
    usb_f_rndis.ko
    usb_f_serial.ko
    usb_f_ss_lb.ko
    usb_f_uac1.ko
    usb_f_uac2.ko
    usb_f_uvc.ko
    
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/legacy/:
    g_acm_ms.ko
    g_audio.ko
    g_cdc.ko
    g_dbgp.ko
    g_ether.ko
    g_ffs.ko
    g_hid.ko
    g_mass_storage.ko
    g_midi.ko
    g_multi.ko
    g_ncm.ko
    g_printer.ko
    g_serial.ko
    g_webcam.ko
    g_zero.ko
    gadgetfs.ko
    root@sync2000:/
    root@sync2000:/# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.14.67-gd315a9bb00 (root@RND-UbuntuV14) (gcc version 7.3.0 (GCC)) #38 PREEMPT Mon Jul 18 18:43:19 IST 2022
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: SYNC 2000-M5
    [    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 48 MiB at 0x9d000000
    [    0.000000] On node 0 totalpages: 131072
    [    0.000000] free_area_init_node: node 0, pgdat c0d4d278, node_mem_map dcb61000
    [    0.000000]   Normal zone: 1152 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 131072 pages, LIFO batch:31
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    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: 129920
    [    0.000000] Kernel command line: console=ttyO0,115200n8 resetDefault=no root=ubi0:BANK1_ROOTFS rw rootfstype=ubifs ubi.mtd=7,4096
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 456916K/524288K available (8192K kernel code, 318K rwdata, 2476K rodata, 1024K init, 275K bss, 18220K reserved, 49152K cma-reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc0900000   (9184 kB)
    [    0.000000]       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
    [    0.000000]       .data : 0xc0d00000 - 0xc0d4fb08   ( 319 kB)
    [    0.000000]        .bss : 0xc0d4fb08 - 0xc0d948a4   ( 276 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000021] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000047] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000061] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000286] timer_probe: no matching timers found
    [    0.000550] Console: colour dummy device 80x30
    [    0.000585] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [    0.000596] This ensures that you still see kernel messages. Please
    [    0.000606] update your kernel commandline.
    [    0.000646] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [    0.118789] pid_max: default: 32768 minimum: 301
    [    0.119046] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.119066] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.120088] CPU: Testing write buffer coherency: ok
    [    0.121040] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.121250] Hierarchical SRCU implementation.
    [    0.121684] EFI services will not be available.
    [    0.123519] devtmpfs: initialized
    [    0.134551] random: get_random_u32 called from bucket_table_alloc+0x8c/0x1ac with crng_init=0
    [    0.135173] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.135558] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.135589] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.140472] pinctrl core: initialized pinctrl subsystem
    [    0.141412] DMI not present or invalid.
    [    0.141934] NET: Registered protocol family 16
    [    0.144959] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.150083] omap_hwmod: rtc: no dt node
    [    0.150110] ------------[ cut here ]------------
    [    0.150155] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2494 _init.constprop.20+0x1e0/0x4a4
    [    0.150167] omap_hwmod: rtc: doesn't have mpu register target base
    [    0.150177] Modules linked in:
    [    0.150203] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.67-gd315a9bb00 #38
    [    0.150213] Hardware name: Generic AM33XX (Flattened Device Tree)
    [    0.150223] Backtrace:
    [    0.150267] [<c010bcac>] (dump_backtrace) from [<c010bf90>] (show_stack+0x18/0x1c)
    [    0.150285]  r7:00000009 r6:00000000 r5:c0a9b5bc r4:dc04fe28
    [    0.150318] [<c010bf78>] (show_stack) from [<c082b3c4>] (dump_stack+0x24/0x28)
    [    0.150347] [<c082b3a0>] (dump_stack) from [<c0128d24>] (__warn+0xe8/0x100)
    [    0.150365] [<c0128c3c>] (__warn) from [<c0128d7c>] (warn_slowpath_fmt+0x40/0x48)
    [    0.150384]  r9:c0d4fb40 r8:c0c3b820 r7:00000000 r6:c0d0ae84 r5:00000000 r4:c0a9b870
    [    0.150403] [<c0128d40>] (warn_slowpath_fmt) from [<c0c0ac38>] (_init.constprop.20+0x1e0/0x4a4)
    [    0.150416]  r3:c0ad2730 r2:c0a9b870
    [    0.150425]  r4:c0d0ae40
    [    0.150444] [<c0c0aa58>] (_init.constprop.20) from [<c0c0b428>] (__omap_hwmod_setup_all+0x48/0x108)
    [    0.150462]  r9:c0d4fb40 r8:c0c3b820 r7:c0d4fb40 r6:ffffe000 r5:c0d07ee0 r4:c0d0ae40
    [    0.150481] [<c0c0b3e0>] (__omap_hwmod_setup_all) from [<c010196c>] (do_one_initcall+0x4c/0x170)
    [    0.150493]  r5:c0c0b3e0 r4:00000000
    [    0.150521] [<c0101920>] (do_one_initcall) from [<c0c00eac>] (kernel_init_freeable+0x144/0x1dc)
    [    0.150538]  r8:c0c3b820 r7:c0d4fb40 r6:00000003 r5:c0c4c334 r4:c0b69170
    [    0.150560] [<c0c00d68>] (kernel_init_freeable) from [<c083ffd0>] (kernel_init+0x10/0x11c)
    [    0.150577]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c083ffc0
    [    0.150587]  r4:00000000
    [    0.150604] [<c083ffc0>] (kernel_init) from [<c0108068>] (ret_from_fork+0x14/0x2c)
    [    0.150616]  r5:c083ffc0 r4:00000000
    [    0.150640] ---[ end trace 1aa3fb6f8a9b2900 ]---
    [    0.164397] omap_hwmod: debugss: _wait_target_disable failed
    [    0.218486] cpuidle: using governor ladder
    [    0.218536] cpuidle: using governor menu
    [    0.224269] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
    [    0.224435] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
    [    0.224516] OMAP GPIO hardware version 0.1
    [    0.225568] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
    [    0.225674] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
    [    0.226698] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
    [    0.226805] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
    [    0.227775] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
    [    0.227889] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
    [    0.235359] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
    [    0.237848] No ATAGs?
    [    0.237866] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.255326] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.256034] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
    [    0.256425] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator1[0]'
    [    0.260003] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [    0.260090] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
    [    0.260146] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
    [    0.260279] media: Linux media interface: v0.10
    [    0.260337] Linux video capture interface: v2.00
    [    0.260489] pps_core: LinuxPPS API ver. 1 registered
    [    0.260501] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.260532] PTP clock support registered
    [    0.260581] EDAC MC: Ver: 3.0.0
    [    0.261189] dmi: Firmware registration failed.
    [    0.261748] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.262187] Advanced Linux Sound Architecture Driver Initialized.
    [    0.263710] clocksource: Switched to clocksource timer1
    [    0.274865] NET: Registered protocol family 2
    [    0.275829] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.275899] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.275962] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.276089] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.276116] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.276316] NET: Registered protocol family 1
    [    0.276885] RPC: Registered named UNIX socket transport module.
    [    0.276903] RPC: Registered udp transport module.
    [    0.276913] RPC: Registered tcp transport module.
    [    0.276922] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.276940] PCI: CLS 0 bytes, default 64
    [    0.278063] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.278222] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.280132] workingset: timestamp_bits=14 max_order=17 bucket_order=3
    [    0.286145] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.287119] NFS: Registering the id_resolver key type
    [    0.287182] Key type id_resolver registered
    [    0.287193] Key type id_legacy registered
    [    0.287254] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.289937] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.289966] io scheduler noop registered
    [    0.289978] io scheduler deadline registered
    [    0.290270] io scheduler cfq registered (default)
    [    0.290285] io scheduler mq-deadline registered
    [    0.290296] io scheduler kyber registered
    [    0.292071] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.360574] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.364766] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
    [    1.198974] console [ttyS0] enabled
    [    1.203967] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a 8250
    [    1.214071] 481a6000.serial: ttyS2 at MMIO 0x481a6000 (irq = 32, base_baud = 3000000) is a 8250
    [    1.224087] 481aa000.serial: ttyS3 at MMIO 0x481aa000 (irq = 33, base_baud = 3000000) is a 8250
    [    1.235111] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    1.257285] brd: module loaded
    [    1.269045] loop: module loaded
    [    1.275468] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    1.275487] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    1.275498] mdio_bus fixed-0: lookup for GPIO reset failed
    [    1.275528] libphy: Fixed MDIO Bus: probed
    [    1.296517] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
    [    1.296535] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
    [    1.296556] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.296569] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.296578] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
    [    1.296587] mdio_bus 4a101000.mdio: lookup for GPIO reset failed
    [    1.353815] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    1.361539] libphy: 4a101000.mdio: probed
    [    1.368126] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver unknown
    [    1.376324] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [    1.385634] cpsw 4a100000.ethernet: Detected MACID = 00:25:97:01:28:9c
    [    1.392325] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    1.398963] cpsw 4a100000.ethernet: ALE Table size 1024
    [    1.404340] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.412590] cpsw 4a100000.ethernet: cpsw: Detected MACID = 00:25:97:01:28:9d
    [    1.421414] i2c /dev entries driver
    [    1.425563] IR NEC protocol handler initialized
    [    1.430126] IR RC5(x/sz) protocol handler initialized
    [    1.435248] IR RC6 protocol handler initialized
    [    1.439799] IR JVC protocol handler initialized
    [    1.444369] IR Sony protocol handler initialized
    [    1.449007] IR SANYO protocol handler initialized
    [    1.453749] IR Sharp protocol handler initialized
    [    1.458473] IR MCE Keyboard/mouse protocol handler initialized
    [    1.464520] IR XMP protocol handler initialized
    [    1.471094] cpuidle: enable-method property 'ti,am3352' found operations
    [    1.478391] sdhci: Secure Digital Host Controller Interface driver
    [    1.484659] sdhci: Copyright(c) Pierre Ossman
    [    1.489413] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.495875] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.506188] NET: Registered protocol family 10
    [    1.512589] Segment Routing with IPv6
    [    1.516575] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.523407] NET: Registered protocol family 17
    [    1.528372] Key type dns_resolver registered
    [    1.532953] omap_voltage_late_init: Voltage driver support not added
    [    1.546543] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.551744] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.558091] gpiochip_find_base: found new base at 510
    [    1.558454] gpio gpiochip4: (omap-gpmc): added GPIO chardev (254:4)
    [    1.558575] gpiochip_setup_dev: registered GPIOs 510 to 511 on device: gpiochip4 (omap-gpmc)
    [    1.560059] omap2-nand 8000000.nand: GPIO lookup for consumer rb
    [    1.560073] omap2-nand 8000000.nand: using device tree for GPIO lookup
    [    1.560130] of_get_named_gpiod_flags: parsed 'rb-gpios' property of node '/ocp/gpmc@50000000/nand@0,0[0]' - status (0)
    [    1.560363] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
    [    1.566927] nand: Micron MT29F8G08ABACAH4
    [    1.570965] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
    [    1.578880] using OMAP_ECC_BCH16_CODE_HW ECC scheme
    [    1.583991] 8 ofpart partitions found on MTD device omap2-nand.0
    [    1.590031] Creating 8 MTD partitions on "omap2-nand.0":
    [    1.595412] 0x000000000000-0x000000040000 : "NAND.SPL"
    [    1.601940] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
    [    1.608986] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
    [    1.615960] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
    [    1.622939] 0x000000100000-0x000000300000 : "NAND.u-boot"
    [    1.629815] 0x000000300000-0x000000340000 : "NAND.u-boot-env1"
    [    1.636797] 0x000000340000-0x000000380000 : "NAND.u-boot-env2"
    [    1.643769] 0x000000380000-0x000040000000 : "NAND.RBlob"
    [    1.864022] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.870148] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
    [    1.870182] gpiochip_find_base: found new base at 504
    [    1.870466] gpio gpiochip5: (tps65910): added GPIO chardev (254:5)
    [    1.870579] gpiochip_setup_dev: registered GPIOs 504 to 509 on device: gpiochip5 (tps65910)
    [    1.872241] vrtc: supplied by vbat
    [    1.879616] vio: supplied by vbat
    [    1.884602] vdd1: supplied by vbat
    [    1.889773] random: fast init done
    [    1.893400] vdd2: supplied by vbat
    [    1.900263] vdig1: supplied by vbat
    [    1.905306] vdig2: supplied by vbat
    [    1.910288] vpll: supplied by vbat
    [    1.915296] vdac: supplied by vbat
    [    1.920212] vaux1: supplied by vbat
    [    1.925270] vaux2: supplied by vbat
    [    1.930256] vaux33: supplied by vbat
    [    1.935383] vmmc: supplied by vbat
    [    1.940285] vbb: supplied by vbat
    [    1.945362] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.952529] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
    [    1.959539] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [    1.966996] ubi0: attaching mtd7
    [    6.677033] ubi0: scanning is finished
    [    6.712510] ubi0: attached mtd7 (name "NAND.RBlob", size 1020 MiB)
    [    6.718885] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
    [    6.725882] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 1024
    [    6.732706] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
    [    6.739726] ubi0: good PEBs: 4082, bad PEBs: 0, corrupted PEBs: 0
    [    6.745895] ubi0: user volume: 8, internal volumes: 1, max. volumes count: 128
    [    6.753155] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1945455904
    [    6.762354] ubi0: available PEBs: 0, total reserved PEBs: 4082, PEBs reserved for bad PEB handling: 80
    [    6.771756] ubi0: background thread "ubi_bgt0d" started, PID 45
    [    6.778138] hctosys: unable to open rtc device (rtc0)
    [    6.778762] lis3_reg: disabling
    [    6.784147] ALSA device list:
    [    6.784153]   No soundcards found.
    [    6.803840] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" started, PID 46
    [    7.058512] UBIFS (ubi0:3): UBIFS: mounted UBI device 0, volume 3, name "BANK1_ROOTFS"
    [    7.066618] UBIFS (ubi0:3): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    7.076618] UBIFS (ubi0:3): FS size: 60440576 bytes (57 MiB, 238 LEBs), journal size 9404416 bytes (8 MiB, 38 LEBs)
    [    7.087148] UBIFS (ubi0:3): reserved for root: 0 bytes (0 KiB)
    [    7.093018] UBIFS (ubi0:3): media format: w4/r0 (latest is w5/r0), UUID D0C303EB-263C-4890-8013-6FF1EEAD17A1, small LPT model
    [    7.106204] VFS: Mounted root (ubifs filesystem) on device 0:14.
    [    7.114972] devtmpfs: mounted
    [    7.119911] Freeing unused kernel memory: 1024K
    [    7.533800] NOHZ: local_softirq_pending 40
    [    7.693805] NOHZ: local_softirq_pending 40
    [    7.863946] UBIFS (ubi0:5): background thread "ubifs_bgt0_5" started, PID 53
    [    8.175989] UBIFS (ubi0:5): UBIFS: mounted UBI device 0, volume 5, name "LICENSE"
    [    8.183546] UBIFS (ubi0:5): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.193664] UBIFS (ubi0:5): FS size: 2285568 bytes (2 MiB, 9 LEBs), journal size 1777665 bytes (1 MiB, 5 LEBs)
    [    8.203749] UBIFS (ubi0:5): reserved for root: 107952 bytes (105 KiB)
    [    8.210228] UBIFS (ubi0:5): media format: w5/r0 (latest is w5/r0), UUID F4BBA3B0-650A-4DAE-8DA8-C88212B1547D, small LPT model
    [    8.243857] UBIFS (ubi0:6): background thread "ubifs_bgt0_6" started, PID 55
    [    8.534676] UBIFS (ubi0:6): UBIFS: mounted UBI device 0, volume 6, name "LOG"
    [    8.541884] UBIFS (ubi0:6): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.551911] UBIFS (ubi0:6): FS size: 34283520 bytes (32 MiB, 135 LEBs), journal size 2031617 bytes (1 MiB, 7 LEBs)
    [    8.562382] UBIFS (ubi0:6): reserved for root: 1619295 bytes (1581 KiB)
    [    8.569060] UBIFS (ubi0:6): media format: w5/r0 (latest is w5/r0), UUID 534057A1-8956-445B-86BF-B163605F7C2E, small LPT model
    [    8.603884] UBIFS (ubi0:7): background thread "ubifs_bgt0_7" started, PID 57
    [    8.876407] UBIFS (ubi0:7): UBIFS: mounted UBI device 0, volume 7, name "SETTINGS"
    [    8.884107] UBIFS (ubi0:7): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.894158] UBIFS (ubi0:7): FS size: 837787648 bytes (798 MiB, 3299 LEBs), journal size 33521664 bytes (31 MiB, 132 LEBs)
    [    8.905193] UBIFS (ubi0:7): reserved for root: 4952683 bytes (4836 KiB)
    [    8.911847] UBIFS (ubi0:7): media format: w5/r0 (latest is w5/r0), UUID 2AA024C8-9B03-4F4A-BA81-40AF167E2B76, small LPT model
    [    9.003785] NOHZ: local_softirq_pending 40
    [    9.370438] udevd[78]: starting version 3.2.5
    [    9.417104] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.429592] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.449220] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.470145] udevd[78]: specified group 'lp' unknown
    [    9.511233] udevd[79]: starting eudev-3.2.5
    [   10.845341] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
    [   10.845361] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [   10.845391] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.845404] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.845414] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [   10.845424] am335x-phy-driver 47401300.usb-phy: lookup for GPIO reset failed
    [   10.845436] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
    [   10.845444] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [   10.845456] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.845468] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.845476] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [   10.845485] am335x-phy-driver 47401300.usb-phy: lookup for GPIO vbus-detect failed
    [   10.845603] am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
    [   10.905187] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
    [   10.905207] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [   10.905240] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.905252] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.905262] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [   10.905273] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO reset failed
    [   10.905285] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
    [   10.905293] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [   10.905305] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.905317] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.905325] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [   10.905334] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO vbus-detect failed
    [   10.905498] am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
    [   10.952856] usbcore: registered new interface driver usbfs
    [   10.952934] usbcore: registered new interface driver hub
    [   10.981279] usbcore: registered new device driver usb
    [   11.075098] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [   11.080516] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [   11.134706] hub 1-0:1.0: USB hub found
    [   11.151309] hub 1-0:1.0: 1 port detected
    [   11.211538] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [   11.247047] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [   11.281773] hub 2-0:1.0: USB hub found
    [   11.297276] hub 2-0:1.0: 1 port detected
    [   11.470107] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (81, <SessEnd), retry #1, port1 00000104
    [   11.622539] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (81, <SessEnd), retry #2, port1 00000104
    [   11.774961] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (81, <SessEnd), retry #3, port1 00000104
    [   11.927409] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c
    [   12.723795] NOHZ: local_softirq_pending 40
    [   12.762627] urandom_read: 1 callbacks suppressed
    [   12.762642] random: dd: uninitialized urandom read (512 bytes read)
    [   13.263801] NOHZ: local_softirq_pending 202
    [   13.607690] net eth0: initializing cpsw version 1.12 (0)
    [   13.620930] Generic PHY 4a101000.mdio:02: attached PHY driver [Generic PHY] (mii_bus:phy_addr=4a101000.mdio:02, irq=POLL)
    [   13.642194] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   14.613756] NOHZ: local_softirq_pending 202
    [   14.646128] cpsw 4a100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [   14.654373] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   14.672031] random: sshd: uninitialized urandom read (32 bytes read)
    [   14.693857] NOHZ: local_softirq_pending 40
    [   14.698106] NOHZ: local_softirq_pending 48
    [   14.800253] NOHZ: local_softirq_pending 08
    [   14.804408] NOHZ: local_softirq_pending 48
    [   15.046231] random: crng init done
    [  102.646247] usbcore: registered new interface driver smsc95xx
    [  102.809422] Mass Storage Function, version: 2009/09/11
    [  102.815117] LUN: removable file: (no medium)
    [  102.819983] LUN: removable file: /dev/mtdblock0
    [  102.825470] Number of LUNs=1
    [  102.828773] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
    [  102.836557] g_mass_storage gadget: userspace failed to provide iSerialNumber
    [  102.844118] g_mass_storage gadget: g_mass_storage ready
    
    /*
     * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    /dts-v1/;
    
    #include "am33xx.dtsi"
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/net/ti-dp83869.h>
    
    / {
    	model = "SYNC 2000-M5";
    	compatible = "ti,am335x-evm", "ti,am33xx";
    
    	cpus {
    		cpu@0 {
    			cpu0-supply = <&vdd1_reg>;
    		};
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		reg = <0x80000000 0x10000000>; /* 256 MB */
    	};
    
    	vbat: fixedregulator0 {
    		compatible = "regulator-fixed";
    		regulator-name = "vbat";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-boot-on;
    	};
    
    	lis3_reg: fixedregulator1 {
    		compatible = "regulator-fixed";
    		regulator-name = "lis3_reg";
    		regulator-boot-on;
    	};
    
    };
    
    &am33xx_pinmux {
    	pinctrl-names = "default";
    	
    	pinctrl-0 = <&gpio0_pins &gpio1_pins &gpio2_pins &gpio3_pins>;
    	
    	gpio0_pins: pinmux_gpio0_pins { 
    		pinctrl-single,pins = <
    			0x2C (PIN_OUTPUT | MUX_MODE7) /* gpio0_27 *//*Com2 uart0 232 enable*/
    			0x28 (PIN_OUTPUT | MUX_MODE7) /* GPIO0_26 watchdog pulse */
    			
    		>;
    	};
    
    	gpio1_pins: pinmux_gpio1_pins { 
    		pinctrl-single,pins = <
    			0x30  (PIN_OUTPUT | MUX_MODE7) /* gpio1_12 *//*Com3 uart3 232 enable*/
    			0x34  (PIN_OUTPUT | MUX_MODE7) /* gpio1_13 */ /*Com4 uart5 232 enable*/
    			0x78  (PIN_OUTPUT | MUX_MODE7) /* gpio1_28,conf_gpmc_ben1,DO_buffer enable */
    			0x84  (PIN_OUTPUT | MUX_MODE7) /* gpio1_31,conf_gpmc_csn2 */ /*gprs power shutdown */
    		>;
    	};
    
    	gpio2_pins: pinmux_gpio2_pins { 
    		pinctrl-single,pins = <
    			0x8C  (PIN_INPUT_PULLUP | MUX_MODE7)    /* gpio2_1 usb over current from external source*/  
    			0xE4  (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpio2_23 */  
    			0xEC  (PIN_OUTPUT_PULLUP | MUX_MODE7) 	/* GPIO2_25 ,conf_lcd_ac_bias_en,health status */
    		>;
    	};
    
    	gpio3_pins: pinmux_gpio3_pins { 
    		pinctrl-single,pins = <
    			0x1A0  (PIN_OUTPUT | MUX_MODE7) /* gpio3_18 */
    			0x1A8  (PIN_OUTPUT | MUX_MODE7) /* gpio3_20,conf_mcasp0 */ /*gprs hard shutdown */
    			0x234  (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpio3_13,conf_usb1_drvvbu,DO_Buff */
    			0x1A0  (PIN_OUTPUT | MUX_MODE7) /* GPIO3_18,conf_mcasp0_aclkr,profibus */
    			0x198  (PIN_INPUT  | MUX_MODE7) /* GPIO3_16,conf_mcasp0_axr0,debug */
    		>;
    	};
    
    	i2c0_pins: pinmux_i2c0_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
    			AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
    		>;
    	};
    
    	i2c1_pins: pinmux_i2c1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_d1.i2c1_sda */
    			AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_cs0.i2c1_scl */
    		>;
    	};
    	
    	i2c2_pins: pinmux_i2c2_pins {
    			pinctrl-single,pins = <
    				0x150 (PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_sclk.i2c0_sda */
    				0x154 (PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_d0.i2c0_scl */
    			>;
    		};
    	uart0_pins: pinmux_uart0_pins {
    		pinctrl-single,pins = <
    			0x168 (PIN_INPUT | MUX_MODE0)		/* uart0_ctsn.uart0_ctsn */
    			0x16C (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* uart0_rtsn .uart0_rtsn  */
    			0x170 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
    			0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
    		>;
    	};
    	uart1_pins: pinmux_uart1_pins {
    		pinctrl-single,pins = <
    			0x178 (PIN_INPUT | MUX_MODE0)		/* uart1_ctsn.uart1_ctsn */
    			0x17C (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_rtsn.uart1_rtsn */
    			0x180 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart1_rxd.uart1_rxd */
    			0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_txd.uart1_txd */  
    			0xFC (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_ri */
    			0xF8 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)	/* mmc0_dat0.uart1_dtr */
    			0xF4 (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_dsr */
    			0xF0 (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_dcd */
    		>;
    	};
    
    	uart3_pins: pinmux_uart3_pins {
    		pinctrl-single,pins = <
    			0x164 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* ecap0_in_pwm0_out.UART3_TXD */
    			0x160 (PIN_INPUT_PULLUP | MUX_MODE1)	/* spi0_cs1.UART3_RXD */
    			0xCC (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* LCD_DATA11.UART3_RTSN */
    			0xC8 (PIN_INPUT | MUX_MODE6)		/* LCD_DATA10.UART3_CTSN */
    		>;
    	};
    	uart5_pins: pinmux_uart5_pins {
    		pinctrl-single,pins = <
    			0xD8 (PIN_INPUT | MUX_MODE6)		/* lcd_data14.uart5_ctsn */
    			0xC4 (PIN_INPUT_PULLUP | MUX_MODE4)	/* lcd_data9.uart5_rxd */
    			0xC0 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)  /* lcd_data8.uart5_txd */			
    			0xDC (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* lcd_data15.uart5_rtsn */
    		>;
    	};
    
    	nandflash_pins_s0: nandflash_pins_s0 {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad0.gpmc_ad0 */
    			AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad1.gpmc_ad1 */
    			AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad2.gpmc_ad2 */
    			AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad3.gpmc_ad3 */
    			AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad4.gpmc_ad4 */
    			AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad5.gpmc_ad5 */
    			AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad6.gpmc_ad6 */
    			AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad7.gpmc_ad7 */
    			AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_wait0.gpmc_wait0 */
    			AM33XX_IOPAD(0x874, PIN_INPUT_PULLUP | MUX_MODE7)	/* gpmc_wpn.gpio0_30 */
    			AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_csn0.gpmc_csn0  */
    			AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)		/* gpmc_advn_ale.gpmc_advn_ale */
    			AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)		/* gpmc_oen_ren.gpmc_oen_ren */
    			AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)		/* gpmc_wen.gpmc_wen */
    			AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_be0n_cle.gpmc_be0n_cle */
    		>;
    	};
    
    	ecap0_pins: backlight_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x964, MUX_MODE0)	/* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
    		>;
    	};
    
    	cpsw_default: cpsw_default {
    		pinctrl-single,pins = <
    			/* Slave 1 */
    			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
    			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd3.rgmii1_td3 */
    			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd2.rgmii1_td2 */
    			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
    			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
    			0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rgmii1_tclk */
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rgmii1_rclk */
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd3.rgmii1_rd3 */
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd2.rgmii1_rd2 */
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd1 */
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd0 */
    
    			/* Slave 2 */
    			0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a0.rgmii2_tctl */
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a1.rgmii2_rctl */
    			0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a2.rgmii2_td3 */
    			0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a3.rgmii2_td2 */
    			0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a4.rgmii2_td1 */
    			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a5.rgmii2_td0 */
    			0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a6.rgmii2_tclk */
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a7.rgmii2_rclk */
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a8.rgmii2_rd3 */
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a9.rgmii2_rd2 */
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a10.rgmii2_rd1 */
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a11.rgmii2_rd0 */
    		>;
    	};
    
    	cpsw_sleep: cpsw_sleep {
    		pinctrl-single,pins = <
    			/* Slave 1 reset value */
    			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    
    			/* Slave 2 reset value*/
    			0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	davinci_mdio_default: davinci_mdio_default {
    		pinctrl-single,pins = <
    			/* MDIO */
    			AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
    			AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
    		>;
    	};
    
    	davinci_mdio_sleep: davinci_mdio_sleep {
    		pinctrl-single,pins = <
    			/* MDIO reset value */
    			AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	mmc1_pins: pinmux_mmc1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7)		/* spi0_cs1.gpio0_6 */
    			AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat0.mmc0_dat0 */
    			AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat1.mmc0_dat1 */
    			AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat2.mmc0_dat2 */
    			AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat3.mmc0_dat3 */
    			AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_cmd.mmc0_cmd */
    			AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_clk.mmc0_clk */
    			AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4)		/* mcasp0_aclkr.mmc0_sdwp */
    		>;
    	};
    
    	mmc3_pins: pinmux_mmc3_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a1.mmc2_dat0, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x848, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a2.mmc2_dat1, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x84c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a3.mmc2_dat2, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x878, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_ben1.mmc2_dat3, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_csn3.mmc2_cmd, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_clk.mmc2_clk, INPUT_PULLUP | MODE3 */
    		>;
    	};
    
    	mcasp1_pins: mcasp1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
    			AM33XX_IOPAD(0x908, PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
    			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
    		>;
    	};
    
    	mcasp1_pins_sleep: mcasp1_pins_sleep {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	dcan1_pins_default: dcan1_pins_default {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
    			AM33XX_IOPAD(0x96c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
    		>;
    	};
    	
    };
    
    &usb {
    	status = "okay";
    };
    
    &usb_ctrl_mod {
    	status = "okay";
    };
    
    &usb0_phy {
    	status = "okay";
    };
    
    &usb1_phy {
    	status = "okay";
    };
    
    &usb0 {
    	status = "okay";
    	disable-over-current;
    };
    
    &usb1 {
    	status = "okay";
    	dr_mode = "host";
    };
    
    &cppi41dma  {
            status = "okay";
    };
    
    &uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart0_pins>;
    	status = "okay";
    	rts-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;
    };
    
    &uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart1_pins>;
    	status = "okay";
    };
    
    &uart3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart3_pins>;
    	status = "okay";
    	rts-gpio = <&gpio2 17 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;			
    };
    
    &uart5 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart5_pins>;
    	status = "okay";
    	rts-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;			
    };
    
    &i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c0_pins>;
    
    	status = "okay";
    	clock-frequency = <400000>;
    
    	/* Set OPP50 (0.95V) for VDD core */
    	sleep-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x1f /* Set VDD2 to 0.95V */
    	>;
    
    	/* Set OPP100 (1.10V) for VDD core */
    	wake-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x2b /* Set VDD2 to 1.1V */
    	>;
    
    	tps: tps@2d {
    		reg = <0x2d>;
    	};
    	rtc@68 {
    		compatible = "dallas,ds1388";
    		reg = <0x68>;
    	};
    };
    
    &i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c1_pins>;
    
    	status = "okay";
    	clock-frequency = <100000>;
    
    	/* Set OPP50 (0.95V) for VDD core */
    	sleep-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x1f /* Set VDD2 to 0.95V */
    	>;
    	
    	/* Set OPP100 (1.10V) for VDD core */
    	wake-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x2b /* Set VDD2 to 1.1V */
    	>;
    };
    
    &i2c2 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c2_pins>;
    };
    
    &gpio0 {
    	/*ti,no-reset-on-init;*/
    	status = "okay";
    	pinctrl-names = "default";
    };
    &gpio1 {
    	
    	ti,no-reset-on-init;
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &gpio2 {
    	ti,no-reset-on-init;
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &gpio3 {
    	status = "okay";
    	pinctrl-names = "default";
    	ti,no-reset-on-init;
    };
    
    &elm {
    	status = "okay";
    };
    
    &gpmc {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&nandflash_pins_s0>;
    	ranges = <0 0 0x08000000 0x1000000>;	/* CS0: 16MB for NAND */
    	nand@0,0 {
    		compatible = "ti,omap2-nand";
    		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
    		interrupt-parent = <&gpmc>;
    		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
    			     <1 IRQ_TYPE_NONE>;	/* termcount */
    		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
    		ti,nand-xfer-type = "prefetch-dma";
    		ti,nand-ecc-opt = "bch16";
    		ti,elm-id = <&elm>;
    		nand-bus-width = <8>;
    		gpmc,device-width = <1>;
    		gpmc,sync-clk-ps = <0>;
    		gpmc,cs-on-ns = <0>;
    		gpmc,cs-rd-off-ns = <44>;
    		gpmc,cs-wr-off-ns = <44>;
    		gpmc,adv-on-ns = <6>;
    		gpmc,adv-rd-off-ns = <34>;
    		gpmc,adv-wr-off-ns = <44>;
    		gpmc,we-on-ns = <0>;
    		gpmc,we-off-ns = <40>;
    		gpmc,oe-on-ns = <0>;
    		gpmc,oe-off-ns = <54>;
    		gpmc,access-ns = <64>;
    		gpmc,rd-cycle-ns = <82>;
    		gpmc,wr-cycle-ns = <82>;
    		gpmc,bus-turnaround-ns = <0>;
    		gpmc,cycle2cycle-delay-ns = <0>;
    		gpmc,clk-activation-ns = <0>;
    		gpmc,wr-access-ns = <40>;
    		gpmc,wr-data-mux-bus-ns = <0>;
    		/* MTD partition table */
    		/* All SPL-* partitions are sized to minimal length
    		 * which can be independently programmable. For
    		 * NAND flash this is equal to size of erase-block */
    		#address-cells = <1>;
    		#size-cells = <1>;
    	partition@0 {
    			label = "NAND.SPL";
    			reg = <0x00000000 0x00040000>;
    		};
    		partition@1 {
    			label = "NAND.SPL.backup1";
    			reg = <0x00040000 0x00040000>;
    		};
    		partition@2 {
    			label = "NAND.SPL.backup2";
    			reg = <0x00080000 0x00040000>;
    		};
    		partition@3 {
    			label = "NAND.SPL.backup3";
    			reg = <0x000C0000 0x00040000>;
    		};
    		partition@4 {
    			label = "NAND.u-boot";
    			reg = <0x00100000 0x00200000>;
    		};
    		partition@5 {
    			label = "NAND.u-boot-env1";
    			reg = <0x00300000 0x00040000>;
    		};
    		partition@6 {
    			label = "NAND.u-boot-env2";
    			reg = <0x00340000 0x00040000>;
    		};
    		partition@7 {
    			label = "NAND.RBlob";
    			reg = <0x00380000 0x03FC80000>;
    		};
    	};
    };
    
    #include "tps65910.dtsi"
    
    &tps {
    	vcc1-supply = <&vbat>;
    	vcc2-supply = <&vbat>;
    	vcc3-supply = <&vbat>;
    	vcc4-supply = <&vbat>;
    	vcc5-supply = <&vbat>;
    	vcc6-supply = <&vbat>;
    	vcc7-supply = <&vbat>;
    	vccio-supply = <&vbat>;
    
    	regulators {
    		
    		vrtc_reg: regulator@0 {
    			
    			regulator-always-on;
    		};
    
    		vio_reg: regulator@1 {
    			regulator-always-on;
    		};
    
    		vdd1_reg: regulator@2 {
    			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1351500>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd2_reg: regulator@3 {
    			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
    			regulator-name = "vdd_core";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1150000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd3_reg: regulator@4 {
    			regulator-always-on;
    		};
    
    		vdig1_reg: regulator@5 {
    			regulator-always-on;
    		};
    
    		vdig2_reg: regulator@6 {
    			regulator-always-on;
    		};
    
    		vpll_reg: regulator@7 {
    			regulator-always-on;
    		};
    
    		vdac_reg: regulator@8 {
    			regulator-always-on;
    		};
    
    		vaux1_reg: regulator@9 {
    			regulator-always-on;
    		};
    
    		vaux2_reg: regulator@10 {
    			regulator-always-on;
    		};
    
    		vaux33_reg: regulator@11 {
    			regulator-always-on;
    		};
    
    		vmmc_reg: regulator@12 {
    			regulator-min-microvolt = <1800000>;
    			regulator-max-microvolt = <3300000>;
    			regulator-always-on;
    		};
    	};
    };
    
    &mac {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&cpsw_default>;
    	pinctrl-1 = <&cpsw_sleep>;
    	dual_emac = <2>;
    	status = "okay";
    };
    
    &davinci_mdio {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&davinci_mdio_default>;
    	pinctrl-1 = <&davinci_mdio_sleep>;
    	status = "okay";
    	
    	dp83869_0: ethernet-phy@2 {
    		reg = <2>;
    		tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,op-mode = <DP83869_RGMII_100_BASE>;
    		ti,max-output-impedance = "true";
    		ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>;
    		rx-internal-delay-ps = <2000>;
    		tx-internal-delay-ps = <2000>;
    	};
    
    	dp83869_1: ethernet-phy@3 {
    		reg = <3>;
    		tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,op-mode = <DP83869_RGMII_100_BASE>;
    		ti,max-output-impedance = "true";
    		ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>;
    		rx-internal-delay-ps = <2000>;
    		tx-internal-delay-ps = <2000>;
    	};	
    };
    
    &cpsw_emac0 {
    	phy_id = <&davinci_mdio>, <2>;
    	phy-mode = "rgmii-txid";
    	dual_emac_res_vlan = <1>;
    };
    
    &cpsw_emac1 {
    	phy_id = <&davinci_mdio>, <3>;
    	phy-mode = "rgmii-txid";
    	dual_emac_res_vlan = <2>;	
    };
    
    &dcan1 {
    	status = "disabled";	/* Enable only if Profile 1 is selected */
    	pinctrl-names = "default";
    	pinctrl-0 = <&dcan1_pins_default>;
    };
    
    
    
    

  • In your DT pinmux:

    >> 0x234  (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpio3_13,conf_usb1_drvvbu,DO_Buff */

    Is this the USB1_DRVVBUS pin? and you configured it to GPIO mode? You should leave it as in the default mode if the pin controls the USB1 VBUS power switch;

    You latest kernel DT shows USB0 is in OTG mode while USB1 is in host mode. While you posted about a month ago that USB0 dr_mode = host, and the USB Ethernet device connected to USB0 port. Please confirm your latest USB configuration, and which USB port the USB Ethernet device is attached to.

    what is the output of "lsusb" command on the uart console?

  • Hi,

    LAN9500 Ai module is attached to USB0.

    Sorry. The configuration and logs attached is when USB0 configured as OTG.

    I am attaching the DTB and chkusb output when USB0 configured as HOST. In that case I am getting following error

    [  288.878025] udc-core: couldn't find an available UDC - added [g_mass_storage] to list of pending drivers

    I have executed following procedure.

    1. Compiled linux 4.14.67 linux with attached config.

    2. Flashed Linux kernel,  DTB and filesystem.

    3. Copied modules , executed depmod and rebooted the device.

    4. Loaded modules

    5. FInally, executed following command

    modprobe g_mass_storage file=/dev/mtdblock0 stall=0 removable=1

    g_mass_storage         16384  0
    usb_f_mass_storage     53248  2 g_mass_storage
    libcomposite           53248  2 g_mass_storage,usb_f_mass_storage
    ci_hdrc_usb2           16384  0
    ci_hdrc_msm            16384  0
    ci_hdrc                40960  2 ci_hdrc_usb2,ci_hdrc_msm
    smsc95xx               24576  0
    usbnet                 32768  1 smsc95xx
    sg                     36864  0
    sd_mod                 40960  0
    scsi_mod              143360  2 sd_mod,sg
    musb_dsps              20480  0
    musb_hdrc              98304  1 musb_dsps
    udc_core               28672  4 usb_f_mass_storage,musb_hdrc,libcomposite,ci_hdrc
    usbcore               204800  3 usbnet,musb_hdrc,smsc95xx
    phy_am335x             16384  2
    phy_generic            16384  1 phy_am335x
    usb_common             16384  7 phy_am335x,udc_core,musb_hdrc,libcomposite,musb_dsps,usbcore,ci_hdrc
    phy_am335x_control     16384  1 phy_am335x
    musb_am335x            16384  0

    ---------------------------

    root@sync2000:/# ./chkusb.sh
    chkusb.sh Version 0.3.1
    Linux sync2000 4.14.67-gd315a9bb00 #41 PREEMPT Tue Jul 26 20:09:00 IST 2022 armv7l GNU/Linux
    head: invalid option -- '1'
    BusyBox v1.27.2 (2018-12-12 11:37:26 UTC) multi-call binary.
    
    Usage: head [OPTIONS] [FILE]...
    head: invalid option -- '1'
    BusyBox v1.27.2 (2018-12-12 11:37:26 UTC) multi-call binary.
    
    Usage: head [OPTIONS] [FILE]...
    USB is initialized
    musb-hdrc.0: mode a_wait_bcon, Vbus on, timeout 1100 msec
    /sys/kernel/debug/musb-hdrc.0/regdump:Power       : e0
    /sys/kernel/debug/musb-hdrc.0/regdump:Testmode    : 00
    /sys/kernel/debug/musb-hdrc.0/regdump:DevCtl      : 19
    musb-hdrc.1: mode a_wait_vrise, Vbus off, timeout 1100 msec
    /sys/kernel/debug/musb-hdrc.1/regdump:Power       : e0
    /sys/kernel/debug/musb-hdrc.1/regdump:Testmode    : 00
    /sys/kernel/debug/musb-hdrc.1/regdump:DevCtl      : 80
    usb@47401000: host, okay
    Device Tree USB node status:
            .: okay
            control@44e10620: okay
            usb-phy@47401300: okay
            usb-phy@47401b00: okay
            usb@47401000: okay
            usb@47401800: okay
            dma-controller@47402000: okay
    
    Gadget Kernel Config: g_zero is enabled
    Gadget Kernel Config: g_audio is enabled
    Gadget Kernel Config: g_ether is enabled
    Gadget Kernel Config: g_ncm is enabled
    Gadget Kernel Config: g_mass_storage is enabled
    Gadget Kernel Config: g_serial is enabled
    Gadget Kernel Config: g_printer is enabled
    gadget driver loaded: (none)
    
    The list of USB gadget drivers installed:
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/function/:
    u_audio.ko
    u_ether.ko
    u_serial.ko
    usb_f_acm.ko
    usb_f_ecm.ko
    usb_f_ecm_subset.ko
    usb_f_eem.ko
    usb_f_fs.ko
    usb_f_hid.ko
    usb_f_mass_storage.ko
    usb_f_midi.ko
    usb_f_ncm.ko
    usb_f_obex.ko
    usb_f_printer.ko
    usb_f_rndis.ko
    usb_f_serial.ko
    usb_f_ss_lb.ko
    usb_f_uac1.ko
    usb_f_uac2.ko
    usb_f_uvc.ko
    
    /lib/modules/4.14.67-gd315a9bb00/kernel/drivers/usb/gadget/legacy/:
    g_acm_ms.ko
    g_audio.ko
    g_cdc.ko
    g_dbgp.ko
    g_ether.ko
    g_ffs.ko
    g_hid.ko
    g_mass_storage.ko
    g_midi.ko
    g_multi.ko
    g_ncm.ko
    g_printer.ko
    g_serial.ko
    g_webcam.ko
    g_zero.ko
    gadgetfs.ko
    root@sync2000:/#
    
    
    root@sync2000:/# lsusb
    lsusb: cannot open "/usr/share/usb.ids", No such file or directory
    Bus 001 Device 001: ID 1d6b:0002
    Bus 002 Device 001: ID 1d6b:0002
    
    root@sync2000:/# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.14.67-gd315a9bb00 (root@RND-UbuntuV14) (gcc version 7.3.0 (GCC)) #41 PREEMPT Tue Jul 26 20:09:00 IST 2022
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: SYNC 2000-M5
    [    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 48 MiB at 0x9d000000
    [    0.000000] On node 0 totalpages: 131072
    [    0.000000] free_area_init_node: node 0, pgdat c0d4d278, node_mem_map dcb61000
    [    0.000000]   Normal zone: 1152 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 131072 pages, LIFO batch:31
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    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: 129920
    [    0.000000] Kernel command line: console=ttyO0,115200n8 resetDefault=no root=ubi0:BANK1_ROOTFS rw rootfstype=ubifs ubi.mtd=7,4096
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 456916K/524288K available (8192K kernel code, 318K rwdata, 2476K rodata, 1024K init, 275K bss, 18220K reserved, 49152K cma-reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc0900000   (9184 kB)
    [    0.000000]       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
    [    0.000000]       .data : 0xc0d00000 - 0xc0d4fb08   ( 319 kB)
    [    0.000000]        .bss : 0xc0d4fb08 - 0xc0d948a4   ( 276 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000020] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000047] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000063] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000285] timer_probe: no matching timers found
    [    0.000551] Console: colour dummy device 80x30
    [    0.000587] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [    0.000597] This ensures that you still see kernel messages. Please
    [    0.000605] update your kernel commandline.
    [    0.000644] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [    0.118773] pid_max: default: 32768 minimum: 301
    [    0.119028] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.119049] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.120064] CPU: Testing write buffer coherency: ok
    [    0.121012] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.121210] Hierarchical SRCU implementation.
    [    0.121649] EFI services will not be available.
    [    0.123483] devtmpfs: initialized
    [    0.134504] random: get_random_u32 called from bucket_table_alloc+0x8c/0x1ac with crng_init=0
    [    0.135132] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.135518] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.135550] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.140456] pinctrl core: initialized pinctrl subsystem
    [    0.141393] DMI not present or invalid.
    [    0.141925] NET: Registered protocol family 16
    [    0.144936] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.150068] omap_hwmod: rtc: no dt node
    [    0.150093] ------------[ cut here ]------------
    [    0.150138] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2494 _init.constprop.20+0x1e0/0x4a4
    [    0.150150] omap_hwmod: rtc: doesn't have mpu register target base
    [    0.150160] Modules linked in:
    [    0.150186] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.67-gd315a9bb00 #41
    [    0.150197] Hardware name: Generic AM33XX (Flattened Device Tree)
    [    0.150208] Backtrace:
    [    0.150252] [<c010bcac>] (dump_backtrace) from [<c010bf90>] (show_stack+0x18/0x1c)
    [    0.150270]  r7:00000009 r6:00000000 r5:c0a9b5bc r4:dc04fe28
    [    0.150305] [<c010bf78>] (show_stack) from [<c082b3c4>] (dump_stack+0x24/0x28)
    [    0.150332] [<c082b3a0>] (dump_stack) from [<c0128d24>] (__warn+0xe8/0x100)
    [    0.150351] [<c0128c3c>] (__warn) from [<c0128d7c>] (warn_slowpath_fmt+0x40/0x48)
    [    0.150369]  r9:c0d4fb40 r8:c0c3b820 r7:00000000 r6:c0d0ae84 r5:00000000 r4:c0a9b870
    [    0.150388] [<c0128d40>] (warn_slowpath_fmt) from [<c0c0ac38>] (_init.constprop.20+0x1e0/0x4a4)
    [    0.150401]  r3:c0ad2730 r2:c0a9b870
    [    0.150410]  r4:c0d0ae40
    [    0.150429] [<c0c0aa58>] (_init.constprop.20) from [<c0c0b428>] (__omap_hwmod_setup_all+0x48/0x108)
    [    0.150448]  r9:c0d4fb40 r8:c0c3b820 r7:c0d4fb40 r6:ffffe000 r5:c0d07ee0 r4:c0d0ae40
    [    0.150466] [<c0c0b3e0>] (__omap_hwmod_setup_all) from [<c010196c>] (do_one_initcall+0x4c/0x170)
    [    0.150478]  r5:c0c0b3e0 r4:00000000
    [    0.150507] [<c0101920>] (do_one_initcall) from [<c0c00eac>] (kernel_init_freeable+0x144/0x1dc)
    [    0.150525]  r8:c0c3b820 r7:c0d4fb40 r6:00000003 r5:c0c4c334 r4:c0b69170
    [    0.150546] [<c0c00d68>] (kernel_init_freeable) from [<c083ffd0>] (kernel_init+0x10/0x11c)
    [    0.150564]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c083ffc0
    [    0.150574]  r4:00000000
    [    0.150591] [<c083ffc0>] (kernel_init) from [<c0108068>] (ret_from_fork+0x14/0x2c)
    [    0.150603]  r5:c083ffc0 r4:00000000
    [    0.150626] ---[ end trace c021299684d30d0b ]---
    [    0.164375] omap_hwmod: debugss: _wait_target_disable failed
    [    0.218441] cpuidle: using governor ladder
    [    0.218489] cpuidle: using governor menu
    [    0.224224] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
    [    0.224392] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
    [    0.224478] OMAP GPIO hardware version 0.1
    [    0.225535] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
    [    0.225645] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
    [    0.226666] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
    [    0.226770] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
    [    0.227730] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
    [    0.227842] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
    [    0.235319] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
    [    0.237815] No ATAGs?
    [    0.237834] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.255268] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.255974] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
    [    0.256350] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator1[0]'
    [    0.259922] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [    0.260009] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
    [    0.260066] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
    [    0.260198] media: Linux media interface: v0.10
    [    0.260254] Linux video capture interface: v2.00
    [    0.260402] pps_core: LinuxPPS API ver. 1 registered
    [    0.260415] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.260445] PTP clock support registered
    [    0.260494] EDAC MC: Ver: 3.0.0
    [    0.261088] dmi: Firmware registration failed.
    [    0.261645] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.262075] Advanced Linux Sound Architecture Driver Initialized.
    [    0.263593] clocksource: Switched to clocksource timer1
    [    0.274727] NET: Registered protocol family 2
    [    0.275684] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.275755] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.275818] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.275942] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.275969] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.276171] NET: Registered protocol family 1
    [    0.276740] RPC: Registered named UNIX socket transport module.
    [    0.276758] RPC: Registered udp transport module.
    [    0.276768] RPC: Registered tcp transport module.
    [    0.276778] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.276796] PCI: CLS 0 bytes, default 64
    [    0.277928] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.278086] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.279996] workingset: timestamp_bits=14 max_order=17 bucket_order=3
    [    0.285986] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.286962] NFS: Registering the id_resolver key type
    [    0.287020] Key type id_resolver registered
    [    0.287032] Key type id_legacy registered
    [    0.287092] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.289790] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.289819] io scheduler noop registered
    [    0.289831] io scheduler deadline registered
    [    0.290110] io scheduler cfq registered (default)
    [    0.290124] io scheduler mq-deadline registered
    [    0.290135] io scheduler kyber registered
    [    0.291901] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.360225] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.364434] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
    [    1.198628] console [ttyS0] enabled
    [    1.203490] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a 8250
    [    1.213690] 481a6000.serial: ttyS2 at MMIO 0x481a6000 (irq = 32, base_baud = 3000000) is a 8250
    [    1.223700] 481aa000.serial: ttyS3 at MMIO 0x481aa000 (irq = 33, base_baud = 3000000) is a 8250
    [    1.234706] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    1.256857] brd: module loaded
    [    1.268648] loop: module loaded
    [    1.275094] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    1.275112] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    1.275122] mdio_bus fixed-0: lookup for GPIO reset failed
    [    1.275153] libphy: Fixed MDIO Bus: probed
    [    1.296139] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
    [    1.296159] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
    [    1.296181] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.296193] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.296203] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
    [    1.296213] mdio_bus 4a101000.mdio: lookup for GPIO reset failed
    [    1.353701] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    1.361419] libphy: 4a101000.mdio: probed
    [    1.368007] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver unknown
    [    1.376213] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [    1.385524] cpsw 4a100000.ethernet: Detected MACID = 00:25:97:01:28:9c
    [    1.392212] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    1.398859] cpsw 4a100000.ethernet: ALE Table size 1024
    [    1.404241] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.412507] cpsw 4a100000.ethernet: cpsw: Detected MACID = 00:25:97:01:28:9d
    [    1.421334] i2c /dev entries driver
    [    1.425489] IR NEC protocol handler initialized
    [    1.430053] IR RC5(x/sz) protocol handler initialized
    [    1.435177] IR RC6 protocol handler initialized
    [    1.439730] IR JVC protocol handler initialized
    [    1.444300] IR Sony protocol handler initialized
    [    1.448939] IR SANYO protocol handler initialized
    [    1.453679] IR Sharp protocol handler initialized
    [    1.458404] IR MCE Keyboard/mouse protocol handler initialized
    [    1.464430] IR XMP protocol handler initialized
    [    1.471010] cpuidle: enable-method property 'ti,am3352' found operations
    [    1.478300] sdhci: Secure Digital Host Controller Interface driver
    [    1.484563] sdhci: Copyright(c) Pierre Ossman
    [    1.489313] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.495763] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.506084] NET: Registered protocol family 10
    [    1.512450] Segment Routing with IPv6
    [    1.516441] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.523283] NET: Registered protocol family 17
    [    1.528251] Key type dns_resolver registered
    [    1.532834] omap_voltage_late_init: Voltage driver support not added
    [    1.546417] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.551619] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.557967] gpiochip_find_base: found new base at 510
    [    1.558323] gpio gpiochip4: (omap-gpmc): added GPIO chardev (254:4)
    [    1.558448] gpiochip_setup_dev: registered GPIOs 510 to 511 on device: gpiochip4 (omap-gpmc)
    [    1.559929] omap2-nand 8000000.nand: GPIO lookup for consumer rb
    [    1.559942] omap2-nand 8000000.nand: using device tree for GPIO lookup
    [    1.559996] of_get_named_gpiod_flags: parsed 'rb-gpios' property of node '/ocp/gpmc@50000000/nand@0,0[0]' - status (0)
    [    1.560229] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
    [    1.566792] nand: Micron MT29F8G08ABACAH4
    [    1.570830] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
    [    1.578752] using OMAP_ECC_BCH16_CODE_HW ECC scheme
    [    1.583862] 8 ofpart partitions found on MTD device omap2-nand.0
    [    1.589901] Creating 8 MTD partitions on "omap2-nand.0":
    [    1.595286] 0x000000000000-0x000000040000 : "NAND.SPL"
    [    1.601811] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
    [    1.608843] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
    [    1.615825] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
    [    1.622795] 0x000000100000-0x000000300000 : "NAND.u-boot"
    [    1.629667] 0x000000300000-0x000000340000 : "NAND.u-boot-env1"
    [    1.636644] 0x000000340000-0x000000380000 : "NAND.u-boot-env2"
    [    1.643540] 0x000000380000-0x000040000000 : "NAND.RBlob"
    [    1.863911] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.870020] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
    [    1.870059] gpiochip_find_base: found new base at 504
    [    1.870348] gpio gpiochip5: (tps65910): added GPIO chardev (254:5)
    [    1.870461] gpiochip_setup_dev: registered GPIOs 504 to 509 on device: gpiochip5 (tps65910)
    [    1.872107] vrtc: supplied by vbat
    [    1.879499] vio: supplied by vbat
    [    1.884493] vdd1: supplied by vbat
    [    1.889658] random: fast init done
    [    1.893281] vdd2: supplied by vbat
    [    1.900139] vdig1: supplied by vbat
    [    1.905190] vdig2: supplied by vbat
    [    1.910167] vpll: supplied by vbat
    [    1.915165] vdac: supplied by vbat
    [    1.920097] vaux1: supplied by vbat
    [    1.925158] vaux2: supplied by vbat
    [    1.930137] vaux33: supplied by vbat
    [    1.935257] vmmc: supplied by vbat
    [    1.940166] vbb: supplied by vbat
    [    1.945227] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.952377] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
    [    1.959403] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [    1.966876] ubi0: attaching mtd7
    [    6.678269] ubi0: scanning is finished
    [    6.713049] ubi0: attached mtd7 (name "NAND.RBlob", size 1020 MiB)
    [    6.719429] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
    [    6.726431] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 1024
    [    6.733255] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
    [    6.740290] ubi0: good PEBs: 4082, bad PEBs: 0, corrupted PEBs: 0
    [    6.746461] ubi0: user volume: 8, internal volumes: 1, max. volumes count: 128
    [    6.753743] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1362019059
    [    6.762920] ubi0: available PEBs: 0, total reserved PEBs: 4082, PEBs reserved for bad PEB handling: 80
    [    6.772302] ubi0: background thread "ubi_bgt0d" started, PID 45
    [    6.778692] hctosys: unable to open rtc device (rtc0)
    [    6.779321] lis3_reg: disabling
    [    6.784686] ALSA device list:
    [    6.784692]   No soundcards found.
    [    6.803765] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" started, PID 46
    [    7.136031] UBIFS (ubi0:3): UBIFS: mounted UBI device 0, volume 3, name "BANK1_ROOTFS"
    [    7.144079] UBIFS (ubi0:3): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    7.154124] UBIFS (ubi0:3): FS size: 60440576 bytes (57 MiB, 238 LEBs), journal size 9404416 bytes (8 MiB, 38 LEBs)
    [    7.164634] UBIFS (ubi0:3): reserved for root: 0 bytes (0 KiB)
    [    7.170503] UBIFS (ubi0:3): media format: w4/r0 (latest is w5/r0), UUID D0C303EB-263C-4890-8013-6FF1EEAD17A1, small LPT model
    [    7.183705] VFS: Mounted root (ubifs filesystem) on device 0:14.
    [    7.192894] devtmpfs: mounted
    [    7.197927] Freeing unused kernel memory: 1024K
    [    7.603686] NOHZ: local_softirq_pending 40
    [    7.923889] UBIFS (ubi0:5): background thread "ubifs_bgt0_5" started, PID 53
    [    8.243384] UBIFS (ubi0:5): UBIFS: mounted UBI device 0, volume 5, name "LICENSE"
    [    8.251098] UBIFS (ubi0:5): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.261098] UBIFS (ubi0:5): FS size: 2285568 bytes (2 MiB, 9 LEBs), journal size 1777665 bytes (1 MiB, 5 LEBs)
    [    8.271195] UBIFS (ubi0:5): reserved for root: 107952 bytes (105 KiB)
    [    8.277698] UBIFS (ubi0:5): media format: w5/r0 (latest is w5/r0), UUID 1CF4B476-EAC4-4196-A7C3-83FBFF169461, small LPT model
    [    8.313708] UBIFS (ubi0:6): background thread "ubifs_bgt0_6" started, PID 55
    [    8.625793] UBIFS (ubi0:6): UBIFS: mounted UBI device 0, volume 6, name "LOG"
    [    8.633002] UBIFS (ubi0:6): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.643029] UBIFS (ubi0:6): FS size: 34283520 bytes (32 MiB, 135 LEBs), journal size 2031617 bytes (1 MiB, 7 LEBs)
    [    8.653502] UBIFS (ubi0:6): reserved for root: 1619295 bytes (1581 KiB)
    [    8.660181] UBIFS (ubi0:6): media format: w5/r0 (latest is w5/r0), UUID AA5AE455-2ED9-454F-B3A0-72608FCA80A3, small LPT model
    [    8.693751] UBIFS (ubi0:7): background thread "ubifs_bgt0_7" started, PID 57
    [    9.036203] UBIFS (ubi0:7): UBIFS: mounted UBI device 0, volume 7, name "SETTINGS"
    [    9.043917] UBIFS (ubi0:7): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    9.053965] UBIFS (ubi0:7): FS size: 837787648 bytes (798 MiB, 3299 LEBs), journal size 33521664 bytes (31 MiB, 132 LEBs)
    [    9.065002] UBIFS (ubi0:7): reserved for root: 4952683 bytes (4836 KiB)
    [    9.071654] UBIFS (ubi0:7): media format: w5/r0 (latest is w5/r0), UUID 1BCEB065-4ED9-4210-A8D5-BED8C37E111C, small LPT model
    [    9.183662] NOHZ: local_softirq_pending 40
    [    9.243647] NOHZ: local_softirq_pending 40
    [    9.543694] NOHZ: local_softirq_pending 40
    [    9.558902] udevd[78]: starting version 3.2.5
    [    9.606231] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.617970] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.637001] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.653653] NOHZ: local_softirq_pending 40
    [    9.662057] udevd[78]: specified group 'lp' unknown
    [    9.703370] udevd[79]: starting eudev-3.2.5
    [   11.101659] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
    [   11.101678] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [   11.101708] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   11.101721] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   11.101730] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [   11.101741] am335x-phy-driver 47401300.usb-phy: lookup for GPIO reset failed
    [   11.101754] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
    [   11.101761] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [   11.101773] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   11.101785] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   11.101793] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [   11.101802] am335x-phy-driver 47401300.usb-phy: lookup for GPIO vbus-detect failed
    [   11.101920] am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
    [   11.158421] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
    [   11.158441] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [   11.158469] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   11.158483] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   11.158492] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [   11.158503] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO reset failed
    [   11.158516] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
    [   11.158524] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [   11.158535] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   11.158547] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   11.158555] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [   11.158564] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO vbus-detect failed
    [   11.158679] am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
    [   11.207197] usbcore: registered new interface driver usbfs
    [   11.207274] usbcore: registered new interface driver hub
    [   11.225460] usbcore: registered new device driver usb
    [   11.340632] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [   11.384303] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [   11.418392] hub 1-0:1.0: USB hub found
    [   11.433860] hub 1-0:1.0: 1 port detected
    [   11.490296] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [   11.514641] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [   11.541678] hub 2-0:1.0: USB hub found
    [   11.556375] hub 2-0:1.0: 1 port detected
    [   11.724081] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (81, <SessEnd), retry #1, port1 00000104
    [   11.876517] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (81, <SessEnd), retry #2, port1 00000104
    [   11.893765] usb 1-1: new high-speed USB device number 2 using musb-hdrc
    [   12.028982] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (81, <SessEnd), retry #3, port1 00000104
    [   12.154607] smsc95xx v1.0.6
    [   12.181356] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c
    [   12.249843] smsc95xx 1-1:1.0 eth2: register 'smsc95xx' at usb-musb-hdrc.0-1, smsc95xx USB 2.0 Ethernet, 32:cb:af:86:3c:6c
    [   12.265250] usbcore: registered new interface driver smsc95xx
    [   12.443666] NOHZ: local_softirq_pending 40
    [   13.103670] NOHZ: local_softirq_pending 40
    [   13.140861] urandom_read: 1 callbacks suppressed
    [   13.140877] random: dd: uninitialized urandom read (512 bytes read)
    [   13.193676] NOHZ: local_softirq_pending 202
    [   13.383719] NOHZ: local_softirq_pending 40
    [   13.593662] NOHZ: local_softirq_pending 40
    [   13.978143] net eth0: initializing cpsw version 1.12 (0)
    [   13.990893] Generic PHY 4a101000.mdio:02: attached PHY driver [Generic PHY] (mii_bus:phy_addr=4a101000.mdio:02, irq=POLL)
    [   14.012047] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   15.023480] random: sshd: uninitialized urandom read (32 bytes read)
    [   15.045686] cpsw 4a100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [   15.053885] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   15.069519] random: crng init done
    [   15.831331] usb 1-1: USB disconnect, device number 2
    [   15.854347] smsc95xx 1-1:1.0 eth2: unregister 'smsc95xx' usb-musb-hdrc.0-1, smsc95xx USB 2.0 Ethernet
    [   33.257207] SCSI subsystem initialized
    [  288.878025] udc-core: couldn't find an available UDC - added [g_mass_storage] to list of pending drivers
    config_27_07.txt

    root@sync2000:/# lsusb
    lsusb: cannot open "/usr/share/usb.ids", No such file or directory
    Bus 001 Device 001: ID 1d6b:0002
    Bus 002 Device 001: ID 1d6b:0002

    Attaching the Bootuplog.

    Please let me know if any issues in configuration/steps.

  • I am attaching the DTB and chkusb output when USB0 configured as HOST.

    It seems you forgot to attach the DTB. But anyway, what is the dr_mode setting in DTB for USB1 port?

  • Yes. Missed to add the DTB File. And now couldn't add the file.

    USB0 and USB1 are configured as HOST.

    &usb0 {
        status = "okay";
        dr_mode = "host";
    };

    &usb1 {
        status = "okay";
        dr_mode = "host";
    };

  • Attaching the Hardware tree for reference.

    /*
     * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    /dts-v1/;
    
    #include "am33xx.dtsi"
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/net/ti-dp83869.h>
    
    / {
    	model = "SYNC 2000-M5";
    	compatible = "ti,am335x-evm", "ti,am33xx";
    
    	cpus {
    		cpu@0 {
    			cpu0-supply = <&vdd1_reg>;
    		};
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		reg = <0x80000000 0x10000000>; /* 256 MB */
    	};
    
    	vbat: fixedregulator0 {
    		compatible = "regulator-fixed";
    		regulator-name = "vbat";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-boot-on;
    	};
    
    	lis3_reg: fixedregulator1 {
    		compatible = "regulator-fixed";
    		regulator-name = "lis3_reg";
    		regulator-boot-on;
    	};
    
    };
    
    &am33xx_pinmux {
    	pinctrl-names = "default";
    	
    	pinctrl-0 = <&gpio0_pins &gpio1_pins &gpio2_pins &gpio3_pins>;
    	
    	gpio0_pins: pinmux_gpio0_pins { 
    		pinctrl-single,pins = <
    			0x2C (PIN_OUTPUT | MUX_MODE7) /* gpio0_27 *//*Com2 uart0 232 enable*/
    			0x28 (PIN_OUTPUT | MUX_MODE7) /* GPIO0_26 watchdog pulse */
    			
    		>;
    	};
    
    	gpio1_pins: pinmux_gpio1_pins { 
    		pinctrl-single,pins = <
    			0x30  (PIN_OUTPUT | MUX_MODE7) /* gpio1_12 *//*Com3 uart3 232 enable*/ /* STR */
    			0x34  (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpio1_13 */ /*Com4 uart5 232 enable*/ /* STR */
    			0x78  (PIN_OUTPUT | MUX_MODE7) /* gpio1_28,conf_gpmc_ben1,DO_buffer enable */
    			0x84  (PIN_OUTPUT | MUX_MODE7) /* gpio1_31,conf_gpmc_csn2 */ /*gprs power shutdown */
    		>;
    	};
    
    	gpio2_pins: pinmux_gpio2_pins { 
    		pinctrl-single,pins = <
    			0x8C  (PIN_INPUT_PULLUP | MUX_MODE7)    /* gpio2_1 usb over current from external source*/  
    			0xE4  (PIN_OUTPUT | MUX_MODE7) /* gpio2_23 */  /* STR */
    			0xEC  (PIN_OUTPUT_PULLUP | MUX_MODE7) 	/* GPIO2_25 ,conf_lcd_ac_bias_en,health status */
    		>;
    	};
    
    	gpio3_pins: pinmux_gpio3_pins { 
    		pinctrl-single,pins = <
    			0x1A0  (PIN_OUTPUT | MUX_MODE7) /* gpio3_18 */
    			0x1A8  (PIN_OUTPUT | MUX_MODE7) /* gpio3_20,conf_mcasp0 */ /*gprs hard shutdown */
    			0x234  (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpio3_13,conf_usb1_drvvbu,DO_Buff */
    			0x1A0  (PIN_OUTPUT | MUX_MODE7) /* GPIO3_18,conf_mcasp0_aclkr,profibus */
    			0x198  (PIN_INPUT  | MUX_MODE7) /* GPIO3_16,conf_mcasp0_axr0,debug */
    		>;
    	};
    
    	i2c0_pins: pinmux_i2c0_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
    			AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
    		>;
    	};
    
    	i2c1_pins: pinmux_i2c1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_d1.i2c1_sda */
    			AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_cs0.i2c1_scl */
    		>;
    	};
    	
    	i2c2_pins: pinmux_i2c2_pins {
    			pinctrl-single,pins = <
    				0x150 (PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_sclk.i2c0_sda */
    				0x154 (PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_d0.i2c0_scl */
    			>;
    		};
    	uart0_pins: pinmux_uart0_pins {
    		pinctrl-single,pins = <
    			0x168 (PIN_INPUT | MUX_MODE0)		/* uart0_ctsn.uart0_ctsn */
    			0x16C (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* uart0_rtsn .uart0_rtsn  */
    			0x170 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
    			0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
    		>;
    	};
    	uart1_pins: pinmux_uart1_pins {
    		pinctrl-single,pins = <
    			0x178 (PIN_INPUT | MUX_MODE0)		/* uart1_ctsn.uart1_ctsn */
    			0x17C (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_rtsn.uart1_rtsn */
    			0x180 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart1_rxd.uart1_rxd */
    			0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_txd.uart1_txd */  
    			0xFC (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_ri */
    			0xF8 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)	/* mmc0_dat0.uart1_dtr */
    			0xF4 (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_dsr */
    			0xF0 (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_dcd */
    		>;
    	};
    
    	uart3_pins: pinmux_uart3_pins {
    		pinctrl-single,pins = <
    			0x164 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* ecap0_in_pwm0_out.UART3_TXD */
    			0x160 (PIN_INPUT_PULLUP | MUX_MODE1)	/* spi0_cs1.UART3_RXD */
    			0xCC (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* LCD_DATA11.UART3_RTSN */
    			0xC8 (PIN_INPUT | MUX_MODE6)		/* LCD_DATA10.UART3_CTSN */
    		>;
    	};
    	uart5_pins: pinmux_uart5_pins {
    		pinctrl-single,pins = <
    			0xD8 (PIN_INPUT | MUX_MODE6)		/* lcd_data14.uart5_ctsn */
    			0xC4 (PIN_INPUT_PULLUP | MUX_MODE4)	/* lcd_data9.uart5_rxd */
    			0xC0 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)  /* lcd_data8.uart5_txd */			
    			0xDC (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* lcd_data15.uart5_rtsn */
    		>;
    	};
    
    	nandflash_pins_s0: nandflash_pins_s0 {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad0.gpmc_ad0 */
    			AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad1.gpmc_ad1 */
    			AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad2.gpmc_ad2 */
    			AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad3.gpmc_ad3 */
    			AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad4.gpmc_ad4 */
    			AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad5.gpmc_ad5 */
    			AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad6.gpmc_ad6 */
    			AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad7.gpmc_ad7 */
    			AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_wait0.gpmc_wait0 */
    			AM33XX_IOPAD(0x874, PIN_INPUT_PULLUP | MUX_MODE7)	/* gpmc_wpn.gpio0_30 */
    			AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_csn0.gpmc_csn0  */
    			AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)		/* gpmc_advn_ale.gpmc_advn_ale */
    			AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)		/* gpmc_oen_ren.gpmc_oen_ren */
    			AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)		/* gpmc_wen.gpmc_wen */
    			AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_be0n_cle.gpmc_be0n_cle */
    		>;
    	};
    
    	ecap0_pins: backlight_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x964, MUX_MODE0)	/* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
    		>;
    	};
    
    	cpsw_default: cpsw_default {
    		pinctrl-single,pins = <
    			/* Slave 1 */
    			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
    			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd3.rgmii1_td3 */
    			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd2.rgmii1_td2 */
    			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
    			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
    			0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rgmii1_tclk */
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rgmii1_rclk */
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd3.rgmii1_rd3 */
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd2.rgmii1_rd2 */
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd1 */
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd0 */
    
    			/* Slave 2 */
    			0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a0.rgmii2_tctl */
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a1.rgmii2_rctl */
    			0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a2.rgmii2_td3 */
    			0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a3.rgmii2_td2 */
    			0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a4.rgmii2_td1 */
    			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a5.rgmii2_td0 */
    			0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a6.rgmii2_tclk */
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a7.rgmii2_rclk */
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a8.rgmii2_rd3 */
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a9.rgmii2_rd2 */
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a10.rgmii2_rd1 */
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a11.rgmii2_rd0 */
    		>;
    	};
    
    	cpsw_sleep: cpsw_sleep {
    		pinctrl-single,pins = <
    			/* Slave 1 reset value */
    			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    
    			/* Slave 2 reset value*/
    			0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	davinci_mdio_default: davinci_mdio_default {
    		pinctrl-single,pins = <
    			/* MDIO */
    			AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
    			AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
    		>;
    	};
    
    	davinci_mdio_sleep: davinci_mdio_sleep {
    		pinctrl-single,pins = <
    			/* MDIO reset value */
    			AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	mmc1_pins: pinmux_mmc1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7)		/* spi0_cs1.gpio0_6 */
    			AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat0.mmc0_dat0 */
    			AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat1.mmc0_dat1 */
    			AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat2.mmc0_dat2 */
    			AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat3.mmc0_dat3 */
    			AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_cmd.mmc0_cmd */
    			AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_clk.mmc0_clk */
    			AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4)		/* mcasp0_aclkr.mmc0_sdwp */
    		>;
    	};
    
    	mmc3_pins: pinmux_mmc3_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a1.mmc2_dat0, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x848, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a2.mmc2_dat1, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x84c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a3.mmc2_dat2, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x878, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_ben1.mmc2_dat3, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_csn3.mmc2_cmd, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_clk.mmc2_clk, INPUT_PULLUP | MODE3 */
    		>;
    	};
    
    	mcasp1_pins: mcasp1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
    			AM33XX_IOPAD(0x908, PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
    			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
    		>;
    	};
    
    	mcasp1_pins_sleep: mcasp1_pins_sleep {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	dcan1_pins_default: dcan1_pins_default {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
    			AM33XX_IOPAD(0x96c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
    		>;
    	};
    	
    };
    
    &usb {
    	status = "okay";
    };
    
    &usb_ctrl_mod {
    	status = "okay";
    };
    
    &usb0_phy {
    	status = "okay";
    };
    
    &usb1_phy {
    	status = "okay";
    };
    
    &usb0 {
    	status = "okay";
    	dr_mode = "host";
    };
    
    &usb1 {
    	status = "okay";
    	dr_mode = "host";
    };
    
    &cppi41dma  {
            status = "okay";
    };
    
    &uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart0_pins>;
    	status = "okay";
    	rts-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;
    };
    
    &uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart1_pins>;
    	status = "okay";
    };
    
    &uart3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart3_pins>;
    	status = "okay";
    	rts-gpio = <&gpio2 17 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;			
    };
    
    &uart5 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart5_pins>;
    	status = "okay";
    	rts-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;			
    };
    
    &i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c0_pins>;
    
    	status = "okay";
    	clock-frequency = <400000>;
    
    	/* Set OPP50 (0.95V) for VDD core */
    	sleep-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x1f /* Set VDD2 to 0.95V */
    	>;
    
    	/* Set OPP100 (1.10V) for VDD core */
    	wake-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x2b /* Set VDD2 to 1.1V */
    	>;
    
    	tps: tps@2d {
    		reg = <0x2d>;
    	};
    	rtc@68 {
    		compatible = "dallas,ds1388";
    		reg = <0x68>;
    	};
    };
    
    &i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c1_pins>;
    
    	status = "okay";
    	clock-frequency = <100000>;
    
    	/* Set OPP50 (0.95V) for VDD core */
    	sleep-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x1f /* Set VDD2 to 0.95V */
    	>;
    	
    	/* Set OPP100 (1.10V) for VDD core */
    	wake-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x2b /* Set VDD2 to 1.1V */
    	>;
    };
    
    &i2c2 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c2_pins>;
    };
    
    &gpio0 {
    	/*ti,no-reset-on-init;*/
    	status = "okay";
    	pinctrl-names = "default";
    };
    &gpio1 {
    	
    	ti,no-reset-on-init;
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &gpio2 {
    	ti,no-reset-on-init;
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &gpio3 {
    	status = "okay";
    	pinctrl-names = "default";
    	ti,no-reset-on-init;
    };
    
    &elm {
    	status = "okay";
    };
    
    &gpmc {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&nandflash_pins_s0>;
    	ranges = <0 0 0x08000000 0x1000000>;	/* CS0: 16MB for NAND */
    	nand@0,0 {
    		compatible = "ti,omap2-nand";
    		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
    		interrupt-parent = <&gpmc>;
    		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
    			     <1 IRQ_TYPE_NONE>;	/* termcount */
    		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
    		ti,nand-xfer-type = "prefetch-dma";
    		ti,nand-ecc-opt = "bch16";
    		ti,elm-id = <&elm>;
    		nand-bus-width = <8>;
    		gpmc,device-width = <1>;
    		gpmc,sync-clk-ps = <0>;
    		gpmc,cs-on-ns = <0>;
    		gpmc,cs-rd-off-ns = <44>;
    		gpmc,cs-wr-off-ns = <44>;
    		gpmc,adv-on-ns = <6>;
    		gpmc,adv-rd-off-ns = <34>;
    		gpmc,adv-wr-off-ns = <44>;
    		gpmc,we-on-ns = <0>;
    		gpmc,we-off-ns = <40>;
    		gpmc,oe-on-ns = <0>;
    		gpmc,oe-off-ns = <54>;
    		gpmc,access-ns = <64>;
    		gpmc,rd-cycle-ns = <82>;
    		gpmc,wr-cycle-ns = <82>;
    		gpmc,bus-turnaround-ns = <0>;
    		gpmc,cycle2cycle-delay-ns = <0>;
    		gpmc,clk-activation-ns = <0>;
    		gpmc,wr-access-ns = <40>;
    		gpmc,wr-data-mux-bus-ns = <0>;
    		/* MTD partition table */
    		/* All SPL-* partitions are sized to minimal length
    		 * which can be independently programmable. For
    		 * NAND flash this is equal to size of erase-block */
    		#address-cells = <1>;
    		#size-cells = <1>;
    	partition@0 {
    			label = "NAND.SPL";
    			reg = <0x00000000 0x00040000>;
    		};
    		partition@1 {
    			label = "NAND.SPL.backup1";
    			reg = <0x00040000 0x00040000>;
    		};
    		partition@2 {
    			label = "NAND.SPL.backup2";
    			reg = <0x00080000 0x00040000>;
    		};
    		partition@3 {
    			label = "NAND.SPL.backup3";
    			reg = <0x000C0000 0x00040000>;
    		};
    		partition@4 {
    			label = "NAND.u-boot";
    			reg = <0x00100000 0x00200000>;
    		};
    		partition@5 {
    			label = "NAND.u-boot-env1";
    			reg = <0x00300000 0x00040000>;
    		};
    		partition@6 {
    			label = "NAND.u-boot-env2";
    			reg = <0x00340000 0x00040000>;
    		};
    		partition@7 {
    			label = "NAND.RBlob";
    			reg = <0x00380000 0x03FC80000>;
    		};
    	};
    };
    
    #include "tps65910.dtsi"
    
    &tps {
    	vcc1-supply = <&vbat>;
    	vcc2-supply = <&vbat>;
    	vcc3-supply = <&vbat>;
    	vcc4-supply = <&vbat>;
    	vcc5-supply = <&vbat>;
    	vcc6-supply = <&vbat>;
    	vcc7-supply = <&vbat>;
    	vccio-supply = <&vbat>;
    
    	regulators {
    		
    		vrtc_reg: regulator@0 {
    			
    			regulator-always-on;
    		};
    
    		vio_reg: regulator@1 {
    			regulator-always-on;
    		};
    
    		vdd1_reg: regulator@2 {
    			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1351500>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd2_reg: regulator@3 {
    			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
    			regulator-name = "vdd_core";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1150000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd3_reg: regulator@4 {
    			regulator-always-on;
    		};
    
    		vdig1_reg: regulator@5 {
    			regulator-always-on;
    		};
    
    		vdig2_reg: regulator@6 {
    			regulator-always-on;
    		};
    
    		vpll_reg: regulator@7 {
    			regulator-always-on;
    		};
    
    		vdac_reg: regulator@8 {
    			regulator-always-on;
    		};
    
    		vaux1_reg: regulator@9 {
    			regulator-always-on;
    		};
    
    		vaux2_reg: regulator@10 {
    			regulator-always-on;
    		};
    
    		vaux33_reg: regulator@11 {
    			regulator-always-on;
    		};
    
    		vmmc_reg: regulator@12 {
    			regulator-min-microvolt = <1800000>;
    			regulator-max-microvolt = <3300000>;
    			regulator-always-on;
    		};
    	};
    };
    
    &mac {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&cpsw_default>;
    	pinctrl-1 = <&cpsw_sleep>;
    	dual_emac = <2>;
    	status = "okay";
    };
    
    &davinci_mdio {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&davinci_mdio_default>;
    	pinctrl-1 = <&davinci_mdio_sleep>;
    	status = "okay";
    	
    	dp83869_0: ethernet-phy@2 {
    		reg = <2>;
    		tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,op-mode = <DP83869_RGMII_100_BASE>;
    		ti,max-output-impedance = "true";
    		ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>;
    		rx-internal-delay-ps = <2000>;
    		tx-internal-delay-ps = <2000>;
    	};
    
    	dp83869_1: ethernet-phy@3 {
    		reg = <3>;
    		tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,op-mode = <DP83869_RGMII_100_BASE>;
    		ti,max-output-impedance = "true";
    		ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>;
    		rx-internal-delay-ps = <2000>;
    		tx-internal-delay-ps = <2000>;
    	};	
    };
    
    &cpsw_emac0 {
    	phy_id = <&davinci_mdio>, <2>;
    	phy-mode = "rgmii-txid";
    	dual_emac_res_vlan = <1>;
    };
    
    &cpsw_emac1 {
    	phy_id = <&davinci_mdio>, <3>;
    	phy-mode = "rgmii-txid";
    	dual_emac_res_vlan = <2>;	
    };
    
    &dcan1 {
    	status = "disabled";	/* Enable only if Profile 1 is selected */
    	pinctrl-names = "default";
    	pinctrl-0 = <&dcan1_pins_default>;
    };
    
    
    
    
    /*
     * Device Tree Source for AM33XX SoC
     *
     * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This file is licensed under the terms of the GNU General Public License
     * version 2.  This program is licensed "as is" without any warranty of any
     * kind, whether express or implied.
     */
    
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/pinctrl/am33xx.h>
    
    / {
    	compatible = "ti,am33xx";
    	interrupt-parent = <&intc>;
    	#address-cells = <1>;
    	#size-cells = <1>;
    	chosen { };
    
    	aliases {
    		i2c0 = &i2c0;
    		i2c1 = &i2c1;
    		i2c2 = &i2c2;
    		serial0 = &uart0;
    		serial1 = &uart1;
    		serial2 = &uart3;
    		serial3 = &uart5;
    		d_can0 = &dcan0;
    		d_can1 = &dcan1;
    		usb0 = &usb0;
    		usb1 = &usb1;
    		phy0 = &usb0_phy;
    		phy1 = &usb1_phy;
    		ethernet0 = &cpsw_emac0;
    		ethernet1 = &cpsw_emac1;
    		spi0 = &spi0;
    		spi1 = &spi1;
    	};
    
    	cpus {
    		#address-cells = <1>;
    		#size-cells = <0>;
    		cpu@0 {
    			compatible = "arm,cortex-a8";
    			enable-method = "ti,am3352";
    			device_type = "cpu";
    			reg = <0>;
    
    			operating-points-v2 = <&cpu0_opp_table>;
    
    			clocks = <&dpll_mpu_ck>;
    			clock-names = "cpu";
    
    			clock-latency = <300000>; /* From omap-cpufreq driver */
    			cpu-idle-states = <&mpu_gate>;
    		};
    
    		idle-states {
    			mpu_gate: mpu_gate {
    				compatible = "arm,idle-state";
    				entry-latency-us = <40>;
    				exit-latency-us = <90>;
    				min-residency-us = <300>;
    				ti,idle-wkup-m3;
    			};
    		};
    	};
    
    	cpu0_opp_table: opp-table {
    		compatible = "operating-points-v2-ti-cpu";
    		syscon = <&scm_conf>;
    
    		/*
    		 * The three following nodes are marked with opp-suspend
    		 * because the can not be enabled simultaneously on a
    		 * single SoC.
    		 */
    		opp50-300000000 {
    			opp-hz = /bits/ 64 <300000000>;
    			opp-microvolt = <950000 931000 969000>;
    			opp-supported-hw = <0x06 0x0010>;
    			opp-suspend;
    		};
    
    		opp100-275000000 {
    			opp-hz = /bits/ 64 <275000000>;
    			opp-microvolt = <1100000 1078000 1122000>;
    			opp-supported-hw = <0x01 0x00FF>;
    			opp-suspend;
    		};
    
    		opp100-300000000 {
    			opp-hz = /bits/ 64 <300000000>;
    			opp-microvolt = <1100000 1078000 1122000>;
    			opp-supported-hw = <0x06 0x0020>;
    			opp-suspend;
    		};
    
    		opp100-500000000 {
    			opp-hz = /bits/ 64 <500000000>;
    			opp-microvolt = <1100000 1078000 1122000>;
    			opp-supported-hw = <0x01 0xFFFF>;
    		};
    
    		opp100-600000000 {
    			opp-hz = /bits/ 64 <600000000>;
    			opp-microvolt = <1100000 1078000 1122000>;
    			opp-supported-hw = <0x06 0x0040>;
    		};
    
    		opp120-600000000 {
    			opp-hz = /bits/ 64 <600000000>;
    			opp-microvolt = <1200000 1176000 1224000>;
    			opp-supported-hw = <0x01 0xFFFF>;
    		};
    
    		opp120-720000000 {
    			opp-hz = /bits/ 64 <720000000>;
    			opp-microvolt = <1200000 1176000 1224000>;
    			opp-supported-hw = <0x06 0x0080>;
    		};
    
    		oppturbo-720000000 {
    			opp-hz = /bits/ 64 <720000000>;
    			opp-microvolt = <1260000 1234800 1285200>;
    			opp-supported-hw = <0x01 0xFFFF>;
    		};
    
    		oppturbo-800000000 {
    			opp-hz = /bits/ 64 <800000000>;
    			opp-microvolt = <1260000 1234800 1285200>;
    			opp-supported-hw = <0x06 0x0100>;
    		};
    
    		oppnitro-1000000000 {
    			opp-hz = /bits/ 64 <1000000000>;
    			opp-microvolt = <1325000 1298500 1351500>;
    			opp-supported-hw = <0x04 0x0200>;
    		};
    	};
    
    	pmu {
    		compatible = "arm,cortex-a8-pmu";
    		interrupts = <3>;
    	};
    
    	/*
    	 * The soc node represents the soc top level view. It is used for IPs
    	 * that are not memory mapped in the MPU view or for the MPU itself.
    	 */
    	soc {
    		compatible = "ti,omap-infra";
    		mpu {
    			compatible = "ti,omap3-mpu";
    			ti,hwmods = "mpu";
    			pm-sram = <&pm_sram_code
    				   &pm_sram_data>;
    		};
    	};
    
    	/*
    	 * XXX: Use a flat representation of the AM33XX interconnect.
    	 * The real AM33XX interconnect network is quite complex. Since
    	 * it will not bring real advantage to represent that in DT
    	 * for the moment, just use a fake OCP bus entry to represent
    	 * the whole bus hierarchy.
    	 */
    	ocp {
    		compatible = "simple-bus";
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges;
    		ti,hwmods = "l3_main";
    
    		l4_wkup: l4_wkup@44c00000 {
    			compatible = "ti,am3-l4-wkup", "simple-bus";
    			#address-cells = <1>;
    			#size-cells = <1>;
    			ranges = <0 0x44c00000 0x280000>;
    
    			wkup_m3: wkup_m3@100000 {
    				compatible = "ti,am3352-wkup-m3";
    				reg = <0x100000 0x4000>,
    				      <0x180000	0x2000>;
    				reg-names = "umem", "dmem";
    				ti,hwmods = "wkup_m3";
    				ti,pm-firmware = "am335x-pm-firmware.elf";
    			};
    
    			prcm: prcm@200000 {
    				compatible = "ti,am3-prcm";
    				reg = <0x200000 0x4000>;
    
    				prcm_clocks: clocks {
    					#address-cells = <1>;
    					#size-cells = <0>;
    				};
    
    				prcm_clockdomains: clockdomains {
    				};
    			};
    
    			scm: scm@210000 {
    				compatible = "ti,am3-scm", "simple-bus";
    				reg = <0x210000 0x2000>;
    				#address-cells = <1>;
    				#size-cells = <1>;
    				#pinctrl-cells = <1>;
    				ranges = <0 0x210000 0x2000>;
    
    				am33xx_pinmux: pinmux@800 {
    					compatible = "pinctrl-single";
    					reg = <0x800 0x238>;
    					#address-cells = <1>;
    					#size-cells = <0>;
    					#pinctrl-cells = <1>;
    					pinctrl-single,register-width = <32>;
    					pinctrl-single,function-mask = <0x7f>;
    				};
    
    				scm_conf: scm_conf@0 {
    					compatible = "syscon", "simple-bus";
    					reg = <0x0 0x800>;
    					#address-cells = <1>;
    					#size-cells = <1>;
    					ranges = <0 0 0x800>;
    
    					scm_clocks: clocks {
    						#address-cells = <1>;
    						#size-cells = <0>;
    					};
    				};
    
    				wkup_m3_ipc: wkup_m3_ipc@1324 {
    					compatible = "ti,am3352-wkup-m3-ipc";
    					reg = <0x1324 0x24>;
    					interrupts = <78>;
    					ti,rproc = <&wkup_m3>;
    					mboxes = <&mailbox &mbox_wkupm3>;
    				};
    
    				edma_xbar: dma-router@f90 {
    					compatible = "ti,am335x-edma-crossbar";
    					reg = <0xf90 0x40>;
    					#dma-cells = <3>;
    					dma-requests = <32>;
    					dma-masters = <&edma>;
    				};
    
    				scm_clockdomains: clockdomains {
    				};
    			};
    		};
    
    		intc: interrupt-controller@48200000 {
    			compatible = "ti,am33xx-intc";
    			interrupt-controller;
    			#interrupt-cells = <1>;
    			reg = <0x48200000 0x1000>;
    		};
    
    		edma: edma@49000000 {
    			compatible = "ti,edma3-tpcc";
    			ti,hwmods = "tpcc";
    			reg =	<0x49000000 0x10000>;
    			reg-names = "edma3_cc";
    			interrupts = <12 13 14>;
    			interrupt-names = "edma3_ccint", "edma3_mperr",
    					  "edma3_ccerrint";
    			dma-requests = <64>;
    			#dma-cells = <2>;
    
    			ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
    				   <&edma_tptc2 0>;
    
    			ti,edma-memcpy-channels = <20 21>;
    		};
    
    		edma_tptc0: tptc@49800000 {
    			compatible = "ti,edma3-tptc";
    			ti,hwmods = "tptc0";
    			reg =	<0x49800000 0x100000>;
    			interrupts = <112>;
    			interrupt-names = "edma3_tcerrint";
    		};
    
    		edma_tptc1: tptc@49900000 {
    			compatible = "ti,edma3-tptc";
    			ti,hwmods = "tptc1";
    			reg =	<0x49900000 0x100000>;
    			interrupts = <113>;
    			interrupt-names = "edma3_tcerrint";
    		};
    
    		edma_tptc2: tptc@49a00000 {
    			compatible = "ti,edma3-tptc";
    			ti,hwmods = "tptc2";
    			reg =	<0x49a00000 0x100000>;
    			interrupts = <114>;
    			interrupt-names = "edma3_tcerrint";
    		};
    
    		emif: emif@4c000000 {
    			compatible = "ti,emif-am3352";
    			reg =	<0x4C000000 0x1000>;
    			sram = <&pm_sram_code
    				&pm_sram_data>;
    		};
    
    		gpio0: gpio@44e07000 {
    			compatible = "ti,omap4-gpio";
    			ti,hwmods = "gpio1";
    			gpio-controller;
    			#gpio-cells = <2>;
    			interrupt-controller;
    			#interrupt-cells = <2>;
    			reg = <0x44e07000 0x1000>;
    			interrupts = <96>;
    		};
    
    		gpio1: gpio@4804c000 {
    			compatible = "ti,omap4-gpio";
    			ti,hwmods = "gpio2";
    			gpio-controller;
    			#gpio-cells = <2>;
    			interrupt-controller;
    			#interrupt-cells = <2>;
    			reg = <0x4804c000 0x1000>;
    			interrupts = <98>;
    		};
    
    		gpio2: gpio@481ac000 {
    			compatible = "ti,omap4-gpio";
    			ti,hwmods = "gpio3";
    			gpio-controller;
    			#gpio-cells = <2>;
    			interrupt-controller;
    			#interrupt-cells = <2>;
    			reg = <0x481ac000 0x1000>;
    			interrupts = <32>;
    		};
    
    		gpio3: gpio@481ae000 {
    			compatible = "ti,omap4-gpio";
    			ti,hwmods = "gpio4";
    			gpio-controller;
    			#gpio-cells = <2>;
    			interrupt-controller;
    			#interrupt-cells = <2>;
    			reg = <0x481ae000 0x1000>;
    			interrupts = <62>;
    		};
    
    		uart0: serial@44e09000 {
    			compatible = "ti,omap3-uart";
    			ti,hwmods = "uart1";
    			clock-frequency = <48000000>;
    			reg = <0x44e09000 0x2000>;
    			interrupts = <72>;
    			status = "disabled";			
    		};
    
    		uart1: serial@48022000 {
    			compatible = "ti,omap3-uart";
    			ti,hwmods = "uart2";
    			clock-frequency = <48000000>;
    			reg = <0x48022000 0x2000>;
    			interrupts = <73>;
    			status = "disabled";
    			dmas = <&edma 28 0>, <&edma 29 0>;
    			dma-names = "tx", "rx";
    		};
    
    		uart2: serial@48024000 {
    			compatible = "ti,omap3-uart";
    			ti,hwmods = "uart3";
    			clock-frequency = <48000000>;
    			reg = <0x48024000 0x2000>;
    			interrupts = <74>;
    			status = "disabled";
    			dmas = <&edma 30 0>, <&edma 31 0>;
    			dma-names = "tx", "rx";
    		};
    
    		uart3: serial@481a6000 {
    			compatible = "ti,omap3-uart";
    			ti,hwmods = "uart4";
    			clock-frequency = <48000000>;
    			reg = <0x481a6000 0x2000>;
    			interrupts = <44>;
    			status = "disabled";
    		};
    
    		uart4: serial@481a8000 {
    			compatible = "ti,am3352-uart", "ti,omap3-uart";
    			ti,hwmods = "uart5";
    			clock-frequency = <48000000>;
    			reg = <0x481a8000 0x2000>;
    			interrupts = <45>;
    			status = "disabled";
    		};
    
    		uart5: serial@481aa000 {
    			compatible = "ti,omap3-uart";
    			ti,hwmods = "uart6";
    			clock-frequency = <48000000>;
    			reg = <0x481aa000 0x2000>;
    			interrupts = <46>;
    			status = "disabled";
    		};
    
    		i2c0: i2c@44e0b000 {
    			compatible = "ti,omap4-i2c";
    			#address-cells = <1>;
    			#size-cells = <0>;
    			ti,hwmods = "i2c1";
    			reg = <0x44e0b000 0x1000>;
    			interrupts = <70>;
    			status = "disabled";
    		};
    
    		i2c1: i2c@4802a000 {
    			compatible = "ti,omap4-i2c";
    			#address-cells = <1>;
    			#size-cells = <0>;
    			ti,hwmods = "i2c2";
    			reg = <0x4802a000 0x1000>;
    			interrupts = <71>;
    			status = "disabled";
    		};
    
    		i2c2: i2c@4819c000 {
    			compatible = "ti,omap4-i2c";
    			#address-cells = <1>;
    			#size-cells = <0>;
    			ti,hwmods = "i2c3";
    			reg = <0x4819c000 0x1000>;
    			interrupts = <30>;
    			status = "disabled";
    		};
    
    		mmc1: mmc@48060000 {
    			compatible = "ti,omap4-hsmmc";
    			ti,hwmods = "mmc1";
    			ti,dual-volt;
    			ti,needs-special-reset;
    			ti,needs-special-hs-handling;
    			dmas = <&edma_xbar 24 0 0
    				&edma_xbar 25 0 0>;
    			dma-names = "tx", "rx";
    			interrupts = <64>;
    			reg = <0x48060000 0x1000>;
    			status = "disabled";
    		};
    
    		mmc2: mmc@481d8000 {
    			compatible = "ti,omap4-hsmmc";
    			ti,hwmods = "mmc2";
    			ti,needs-special-reset;
    			dmas = <&edma 2 0
    				&edma 3 0>;
    			dma-names = "tx", "rx";
    			interrupts = <28>;
    			reg = <0x481d8000 0x1000>;
    			status = "disabled";
    		};
    
    		mmc3: mmc@47810000 {
    			compatible = "ti,omap4-hsmmc";
    			ti,hwmods = "mmc3";
    			ti,needs-special-reset;
    			interrupts = <29>;
    			reg = <0x47810000 0x1000>;
    			status = "disabled";
    		};
    
    		hwspinlock: spinlock@480ca000 {
    			compatible = "ti,omap4-hwspinlock";
    			reg = <0x480ca000 0x1000>;
    			ti,hwmods = "spinlock";
    			#hwlock-cells = <1>;
    		};
    
    		wdt2: wdt@44e35000 {
    			compatible = "ti,omap3-wdt";
    			ti,hwmods = "wd_timer2";
    			reg = <0x44e35000 0x1000>;
    			interrupts = <91>;
    		};
    
    		dcan0: can@481cc000 {
    			compatible = "ti,am3352-d_can";
    			ti,hwmods = "d_can0";
    			reg = <0x481cc000 0x2000>;
    			clocks = <&dcan0_fck>;
    			clock-names = "fck";
    			syscon-raminit = <&scm_conf 0x644 0>;
    			interrupts = <52>;
    			status = "disabled";
    		};
    
    		dcan1: can@481d0000 {
    			compatible = "ti,am3352-d_can";
    			ti,hwmods = "d_can1";
    			reg = <0x481d0000 0x2000>;
    			clocks = <&dcan1_fck>;
    			clock-names = "fck";
    			syscon-raminit = <&scm_conf 0x644 1>;
    			interrupts = <55>;
    			status = "disabled";
    		};
    
    		mailbox: mailbox@480C8000 {
    			compatible = "ti,omap4-mailbox";
    			reg = <0x480C8000 0x200>;
    			interrupts = <77>;
    			ti,hwmods = "mailbox";
    			#mbox-cells = <1>;
    			ti,mbox-num-users = <4>;
    			ti,mbox-num-fifos = <8>;
    			mbox_wkupm3: wkup_m3 {
    				ti,mbox-send-noirq;
    				ti,mbox-tx = <0 0 0>;
    				ti,mbox-rx = <0 0 3>;
    			};
    		};
    
    		timer1: timer@44e31000 {
    			compatible = "ti,am335x-timer-1ms";
    			reg = <0x44e31000 0x400>;
    			interrupts = <67>;
    			ti,hwmods = "timer1";
    			ti,timer-alwon;
    		};
    
    		timer2: timer@48040000 {
    			compatible = "ti,am335x-timer";
    			reg = <0x48040000 0x400>;
    			interrupts = <68>;
    			ti,hwmods = "timer2";
    		};
    
    		timer3: timer@48042000 {
    			compatible = "ti,am335x-timer";
    			reg = <0x48042000 0x400>;
    			interrupts = <69>;
    			ti,hwmods = "timer3";
    		};
    
    		timer4: timer@48044000 {
    			compatible = "ti,am335x-timer";
    			reg = <0x48044000 0x400>;
    			interrupts = <92>;
    			ti,hwmods = "timer4";
    			ti,timer-pwm;
    		};
    
    		timer5: timer@48046000 {
    			compatible = "ti,am335x-timer";
    			reg = <0x48046000 0x400>;
    			interrupts = <93>;
    			ti,hwmods = "timer5";
    			ti,timer-pwm;
    		};
    
    		timer6: timer@48048000 {
    			compatible = "ti,am335x-timer";
    			reg = <0x48048000 0x400>;
    			interrupts = <94>;
    			ti,hwmods = "timer6";
    			ti,timer-pwm;
    		};
    
    		timer7: timer@4804a000 {
    			compatible = "ti,am335x-timer";
    			reg = <0x4804a000 0x400>;
    			interrupts = <95>;
    			ti,hwmods = "timer7";
    			ti,timer-pwm;
    		};
    
    		rtc: rtc@44e3e000 {
    			status = "disabled";
                   		ti,hwmods = "disabled";
    		};
    
    		spi0: spi@48030000 {
    			compatible = "ti,omap4-mcspi";
    			#address-cells = <1>;
    			#size-cells = <0>;
    			reg = <0x48030000 0x400>;
    			interrupts = <65>;
    			ti,spi-num-cs = <2>;
    			ti,hwmods = "spi0";
    			dmas = <&edma 16 0
    				&edma 17 0
    				&edma 18 0
    				&edma 19 0>;
    			dma-names = "tx0", "rx0", "tx1", "rx1";
    			status = "disabled";
    		};
    
    		spi1: spi@481a0000 {
    			compatible = "ti,omap4-mcspi";
    			#address-cells = <1>;
    			#size-cells = <0>;
    			reg = <0x481a0000 0x400>;
    			interrupts = <125>;
    			ti,spi-num-cs = <2>;
    			ti,hwmods = "spi1";
    			dmas = <&edma 42 0
    				&edma 43 0
    				&edma 44 0
    				&edma 45 0>;
    			dma-names = "tx0", "rx0", "tx1", "rx1";
    			status = "disabled";
    		};
    
    		usb: usb@47400000 {
    			compatible = "ti,am33xx-usb";
    			reg = <0x47400000 0x1000>;
    			ranges;
    			#address-cells = <1>;
    			#size-cells = <1>;
    			ti,hwmods = "usb_otg_hs";
    			status = "disabled";
    
    			usb_ctrl_mod: control@44e10620 {
    				compatible = "ti,am335x-usb-ctrl-module";
    				reg = <0x44e10620 0x10
    					0x44e10648 0x4>;
    				reg-names = "phy_ctrl", "wakeup";
    				status = "disabled";
    			};
    
    			usb0_phy: usb-phy@47401300 {
    				compatible = "ti,am335x-usb-phy";
    				reg = <0x47401300 0x100>;
    				reg-names = "phy";
    				status = "disabled";
    				ti,ctrl_mod = <&usb_ctrl_mod>;
    			};
    
    			usb0: usb@47401000 {
    				compatible = "ti,musb-am33xx";
    				status = "disabled";
    				reg = <0x47401400 0x400
    					0x47401000 0x200>;
    				reg-names = "mc", "control";
    
    				interrupts = <18>;
    				interrupt-names = "mc";
    				dr_mode = "otg";
    				mentor,multipoint = <1>;
    				mentor,num-eps = <16>;
    				mentor,ram-bits = <12>;
    				mentor,power = <500>;
    				phys = <&usb0_phy>;
    
    				dmas = <&cppi41dma  0 0 &cppi41dma  1 0
    					&cppi41dma  2 0 &cppi41dma  3 0
    					&cppi41dma  4 0 &cppi41dma  5 0
    					&cppi41dma  6 0 &cppi41dma  7 0
    					&cppi41dma  8 0 &cppi41dma  9 0
    					&cppi41dma 10 0 &cppi41dma 11 0
    					&cppi41dma 12 0 &cppi41dma 13 0
    					&cppi41dma 14 0 &cppi41dma  0 1
    					&cppi41dma  1 1 &cppi41dma  2 1
    					&cppi41dma  3 1 &cppi41dma  4 1
    					&cppi41dma  5 1 &cppi41dma  6 1
    					&cppi41dma  7 1 &cppi41dma  8 1
    					&cppi41dma  9 1 &cppi41dma 10 1
    					&cppi41dma 11 1 &cppi41dma 12 1
    					&cppi41dma 13 1 &cppi41dma 14 1>;
    				dma-names =
    					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
    					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
    					"rx14", "rx15",
    					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
    					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
    					"tx14", "tx15";
    			};
    
    			usb1_phy: usb-phy@47401b00 {
    				compatible = "ti,am335x-usb-phy";
    				reg = <0x47401b00 0x100>;
    				reg-names = "phy";
    				status = "disabled";
    				ti,ctrl_mod = <&usb_ctrl_mod>;
    			};
    
    			usb1: usb@47401800 {
    				compatible = "ti,musb-am33xx";
    				status = "okay";
    				reg = <0x47401c00 0x400
    					0x47401800 0x200>;
    				reg-names = "mc", "control";
    				interrupts = <19>;
    				interrupt-names = "mc";
    				dr_mode = "otg";
    				mentor,multipoint = <1>;
    				mentor,num-eps = <16>;
    				mentor,ram-bits = <12>;
    				mentor,power = <500>;
    				phys = <&usb1_phy>;
    
    				dmas = <&cppi41dma 15 0 &cppi41dma 16 0
    					&cppi41dma 17 0 &cppi41dma 18 0
    					&cppi41dma 19 0 &cppi41dma 20 0
    					&cppi41dma 21 0 &cppi41dma 22 0
    					&cppi41dma 23 0 &cppi41dma 24 0
    					&cppi41dma 25 0 &cppi41dma 26 0
    					&cppi41dma 27 0 &cppi41dma 28 0
    					&cppi41dma 29 0 &cppi41dma 15 1
    					&cppi41dma 16 1 &cppi41dma 17 1
    					&cppi41dma 18 1 &cppi41dma 19 1
    					&cppi41dma 20 1 &cppi41dma 21 1
    					&cppi41dma 22 1 &cppi41dma 23 1
    					&cppi41dma 24 1 &cppi41dma 25 1
    					&cppi41dma 26 1 &cppi41dma 27 1
    					&cppi41dma 28 1 &cppi41dma 29 1>;
    				dma-names =
    					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
    					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
    					"rx14", "rx15",
    					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
    					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
    					"tx14", "tx15";
    			};
    
    			cppi41dma: dma-controller@47402000 {
    				compatible = "ti,am3359-cppi41";
    				reg =  <0x47400000 0x1000
    					0x47402000 0x1000
    					0x47403000 0x1000
    					0x47404000 0x4000>;
    				reg-names = "glue", "controller", "scheduler", "queuemgr";
    				interrupts = <17>;
    				interrupt-names = "glue";
    				#dma-cells = <2>;
    				#dma-channels = <30>;
    				#dma-requests = <256>;
    				status = "disabled";
    			};
    		};
    
    		epwmss0: epwmss@48300000 {
    			compatible = "ti,am33xx-pwmss";
    			reg = <0x48300000 0x10>;
    			ti,hwmods = "epwmss0";
    			#address-cells = <1>;
    			#size-cells = <1>;
    			status = "disabled";
    			ranges = <0x48300100 0x48300100 0x80   /* ECAP */
    				  0x48300180 0x48300180 0x80   /* EQEP */
    				  0x48300200 0x48300200 0x80>; /* EHRPWM */
    
    			ecap0: ecap@48300100 {
    				compatible = "ti,am3352-ecap",
    					     "ti,am33xx-ecap";
    				#pwm-cells = <3>;
    				reg = <0x48300100 0x80>;
    				clocks = <&l4ls_gclk>;
    				clock-names = "fck";
    				interrupts = <31>;
    				interrupt-names = "ecap0";
    				status = "disabled";
    			};
    
    			ehrpwm0: pwm@48300200 {
    				compatible = "ti,am3352-ehrpwm",
    					     "ti,am33xx-ehrpwm";
    				#pwm-cells = <3>;
    				reg = <0x48300200 0x80>;
    				clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
    				clock-names = "tbclk", "fck";
    				status = "disabled";
    			};
    		};
    
    		epwmss1: epwmss@48302000 {
    			compatible = "ti,am33xx-pwmss";
    			reg = <0x48302000 0x10>;
    			ti,hwmods = "epwmss1";
    			#address-cells = <1>;
    			#size-cells = <1>;
    			status = "disabled";
    			ranges = <0x48302100 0x48302100 0x80   /* ECAP */
    				  0x48302180 0x48302180 0x80   /* EQEP */
    				  0x48302200 0x48302200 0x80>; /* EHRPWM */
    
    			ecap1: ecap@48302100 {
    				compatible = "ti,am3352-ecap",
    					     "ti,am33xx-ecap";
    				#pwm-cells = <3>;
    				reg = <0x48302100 0x80>;
    				clocks = <&l4ls_gclk>;
    				clock-names = "fck";
    				interrupts = <47>;
    				interrupt-names = "ecap1";
    				status = "disabled";
    			};
    
    			ehrpwm1: pwm@48302200 {
    				compatible = "ti,am3352-ehrpwm",
    					     "ti,am33xx-ehrpwm";
    				#pwm-cells = <3>;
    				reg = <0x48302200 0x80>;
    				clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
    				clock-names = "tbclk", "fck";
    				status = "disabled";
    			};
    		};
    
    		epwmss2: epwmss@48304000 {
    			compatible = "ti,am33xx-pwmss";
    			reg = <0x48304000 0x10>;
    			ti,hwmods = "epwmss2";
    			#address-cells = <1>;
    			#size-cells = <1>;
    			status = "disabled";
    			ranges = <0x48304100 0x48304100 0x80   /* ECAP */
    				  0x48304180 0x48304180 0x80   /* EQEP */
    				  0x48304200 0x48304200 0x80>; /* EHRPWM */
    
    			ecap2: ecap@48304100 {
    				compatible = "ti,am3352-ecap",
    					     "ti,am33xx-ecap";
    				#pwm-cells = <3>;
    				reg = <0x48304100 0x80>;
    				clocks = <&l4ls_gclk>;
    				clock-names = "fck";
    				interrupts = <61>;
    				interrupt-names = "ecap2";
    				status = "disabled";
    			};
    
    			ehrpwm2: pwm@48304200 {
    				compatible = "ti,am3352-ehrpwm",
    					     "ti,am33xx-ehrpwm";
    				#pwm-cells = <3>;
    				reg = <0x48304200 0x80>;
    				clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
    				clock-names = "tbclk", "fck";
    				status = "disabled";
    			};
    		};
    
    		mac: ethernet@4a100000 {
    			compatible = "ti,am335x-cpsw","ti,cpsw";
    			ti,hwmods = "cpgmac0";
    			clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
    			clock-names = "fck", "cpts";
    			cpdma_channels = <8>;
    			ale_entries = <1024>;
    			bd_ram_size = <0x2000>;
    			mac_control = <0x20>;
    			slaves = <2>;
    			active_slave = <0>;
    			cpts_clock_mult = <0x80000000>;
    			cpts_clock_shift = <29>;
    			reg = <0x4a100000 0x800
    			       0x4a101200 0x100>;
    			#address-cells = <1>;
    			#size-cells = <1>;
    			/*
    			 * c0_rx_thresh_pend
    			 * c0_rx_pend
    			 * c0_tx_pend
    			 * c0_misc_pend
    			 */
    			interrupts = <40 41 42 43>;
    			ranges;
    			syscon = <&scm_conf>;
    			status = "disabled";
    
    			davinci_mdio: mdio@4a101000 {
    				compatible = "ti,cpsw-mdio","ti,davinci_mdio";
    				#address-cells = <1>;
    				#size-cells = <0>;
    				ti,hwmods = "davinci_mdio";
    				bus_freq = <1000000>;
    				reg = <0x4a101000 0x100>;
    				status = "disabled";
    			};
    
    			cpsw_emac0: slave@4a100200 {
    				/* Filled in by U-Boot */
    				mac-address = [ 00 00 00 00 00 00 ];
    			};
    
    			cpsw_emac1: slave@4a100300 {
    				/* Filled in by U-Boot */
    				mac-address = [ 00 00 00 00 00 00 ];
    			};
    
    			phy_sel: cpsw-phy-sel@44e10650 {
    				compatible = "ti,am3352-cpsw-phy-sel";
    				reg= <0x44e10650 0x4>;
    				reg-names = "gmii-sel";
    			};
    		};
    
    		ocmcram: ocmcram@40300000 {
    			compatible = "mmio-sram";
    			reg = <0x40300000 0x10000>; /* 64k */
    			ranges = <0x0 0x40300000 0x10000>;
    			#address-cells = <1>;
    			#size-cells = <1>;
    
    			pm_sram_code: pm-sram-code@0 {
    				compatible = "ti,sram";
    				reg = <0x0 0x1000>;
    				protect-exec;
    			};
    
    			pm_sram_data: pm-sram-data@1000 {
    				compatible = "ti,sram";
    				reg = <0x1000 0x1000>;
    				pool;
    			};
    		};
    
    		pruss_soc_bus: pruss_soc_bus@4a326004 {
    			compatible = "ti,am3356-pruss-soc-bus";
    			reg = <0x4a326004 0x4>;
    			ti,hwmods = "pruss";
    			#address-cells = <1>;
    			#size-cells = <1>;
    			ranges = <0x0 0x4a300000 0x80000>;
    			status = "disabled";
    
    			pruss: pruss@0 {
    				compatible = "ti,am3356-pruss";
    				reg = <0x0 0x80000>;
    				interrupts = <20 21 22 23 24 25 26 27>;
    				interrupt-names = "host2", "host3", "host4",
    						  "host5", "host6", "host7",
    						  "host8", "host9";
    				#address-cells = <1>;
    				#size-cells = <1>;
    				ranges;
    				status = "disabled";
    
    				pruss_mem: memories@0 {
    					reg = <0x0 0x2000>,
    					      <0x2000 0x2000>,
    					      <0x10000 0x3000>,
    					      <0x2e000 0x31c>;
    					reg-names = "dram0", "dram1",
    						    "shrdram2", "iep";
    				};
    
    				pruss_cfg: cfg@26000 {
    					compatible = "syscon";
    					reg = <0x26000 0x2000>;
    				};
    
    				pruss_mii_rt: mii_rt@32000 {
    					compatible = "syscon";
    					reg = <0x32000 0x58>;
    				};
    
    				pruss_intc: intc@20000 {
    					compatible = "ti,am3356-pruss-intc";
    					reg = <0x20000 0x2000>;
    					reg-names = "intc";
    					interrupt-controller;
    					#interrupt-cells = <1>;
    				};
    
    				pru0: pru@34000 {
    					compatible = "ti,am3356-pru";
    					reg = <0x34000 0x2000>,
    					      <0x22000 0x400>,
    					      <0x22400 0x100>;
    					reg-names = "iram", "control", "debug";
    					firmware-name = "am335x-pru0-fw";
    					interrupt-parent = <&pruss_intc>;
    					interrupts = <16>, <17>;
    					interrupt-names = "vring", "kick";
    				};
    
    				pru1: pru@38000 {
    					compatible = "ti,am3356-pru";
    					reg = <0x38000 0x2000>,
    					      <0x24000 0x400>,
    					      <0x24400 0x100>;
    					reg-names = "iram", "control", "debug";
    					firmware-name = "am335x-pru1-fw";
    					interrupt-parent = <&pruss_intc>;
    					interrupts = <18>, <19>;
    					interrupt-names = "vring", "kick";
    				};
    
    				pruss_mdio: mdio@32400 {
    					compatible = "ti,davinci_mdio";
    					reg = <0x32400 0x90>;
    					clocks = <&dpll_core_m4_ck>;
    					clock-names = "fck";
    					bus_freq = <1000000>;
    					#address-cells = <1>;
    					#size-cells = <0>;
    					status = "disabled";
    				};
    			};
    		};
    
    		elm: elm@48080000 {
    			compatible = "ti,am3352-elm";
    			reg = <0x48080000 0x2000>;
    			interrupts = <4>;
    			ti,hwmods = "elm";
    			status = "disabled";
    		};
    
    		lcdc: lcdc@4830e000 {
    			compatible = "ti,am33xx-tilcdc";
    			reg = <0x4830e000 0x1000>;
    			interrupts = <36>;
    			ti,hwmods = "lcdc";
    			status = "disabled";
    		};
    
    		tscadc: tscadc@44e0d000 {
    			compatible = "ti,am3359-tscadc";
    			reg = <0x44e0d000 0x1000>;
    			interrupts = <16>;
    			ti,hwmods = "adc_tsc";
    			status = "disabled";
    			dmas = <&edma 53 0>, <&edma 57 0>;
    			dma-names = "fifo0", "fifo1";
    
    			tsc {
    				compatible = "ti,am3359-tsc";
    			};
    			am335x_adc: adc {
    				#io-channel-cells = <1>;
    				compatible = "ti,am3359-adc";
    			};
    		};
    
    		gpmc: gpmc@50000000 {
    			compatible = "ti,am3352-gpmc";
    			ti,hwmods = "gpmc";
    			ti,no-idle-on-init;
    			reg = <0x50000000 0x2000>;
    			interrupts = <100>;
    			dmas = <&edma 52 0>;
    			dma-names = "rxtx";
    			gpmc,num-cs = <7>;
    			gpmc,num-waitpins = <2>;
    			#address-cells = <2>;
    			#size-cells = <1>;
    			interrupt-controller;
    			#interrupt-cells = <2>;
    			gpio-controller;
    			#gpio-cells = <2>;
    			status = "disabled";
    		};
    
    		sham: sham@53100000 {
    			compatible = "ti,omap4-sham";
    			ti,hwmods = "sham";
    			reg = <0x53100000 0x200>;
    			interrupts = <109>;
    			dmas = <&edma 36 0>;
    			dma-names = "rx";
    		};
    
    		aes: aes@53500000 {
    			compatible = "ti,omap4-aes";
    			ti,hwmods = "aes";
    			reg = <0x53500000 0xa0>;
    			interrupts = <103>;
    			dmas = <&edma 6 0>,
    			       <&edma 5 0>;
    			dma-names = "tx", "rx";
    		};
    
    		mcasp0: mcasp@48038000 {
    			compatible = "ti,am33xx-mcasp-audio";
    			ti,hwmods = "mcasp0";
    			reg = <0x48038000 0x2000>,
    			      <0x46000000 0x400000>;
    			reg-names = "mpu", "dat";
    			interrupts = <80>, <81>;
    			interrupt-names = "tx", "rx";
    			status = "disabled";
    			dmas = <&edma 8 2>,
    				<&edma 9 2>;
    			dma-names = "tx", "rx";
    		};
    
    		mcasp1: mcasp@4803C000 {
    			compatible = "ti,am33xx-mcasp-audio";
    			ti,hwmods = "mcasp1";
    			reg = <0x4803C000 0x2000>,
    			      <0x46400000 0x400000>;
    			reg-names = "mpu", "dat";
    			interrupts = <82>, <83>;
    			interrupt-names = "tx", "rx";
    			status = "disabled";
    			dmas = <&edma 10 2>,
    				<&edma 11 2>;
    			dma-names = "tx", "rx";
    		};
    
    		rng: rng@48310000 {
    			compatible = "ti,omap4-rng";
    			ti,hwmods = "rng";
    			reg = <0x48310000 0x2000>;
    			interrupts = <111>;
    		};
    
    		/*
    		 * The SGX is disabled by default because it is an optional
    		 * module and only some AM335x variants contain this module,
    		 * such as AM3358 and AM3357. The status should be overwritten
    		 * as "OK" at the corresponding board.dts.
    		 */
    		sgx: sgx@56000000 {
    			compatible = "ti,am3352-sgx530", "img,sgx530";
    			ti,hwmods = "gfx";
    			reg = <0x56000000 0x10000>;
    			interrupts = <37>;
    			clocks = <&gfx_fck_div_ck>;
    			clock-names = "fclk";
    			status = "disabled";
    		};
    	};
    };
    
    /include/ "am33xx-clocks.dtsi"
    

  • modprobe g_mass_storage file=/dev/mtdblock0 stall=0 removable=1

    Now both AM335x USB ports are configured in host mode, there is no device mode controller anymore, so you shouldn't run this "modprobe" command.

    Now when you please attach the USB device to one of the USB ports, does it get enumerated? does AM335x UART console print any log?

  • Hi Sir,

    Finally,the issue got resolved when tried with dtb file having only USB0 in host mode.

    Thank you so much for the support.

  • Hi Smrithy,

    Glad to hear the issue is resolved.

    Do you mean if both USB0 and USB1 are set to host mode in dtb, the USB device still doesn't get enumerated? This doesn't sounds right.

  • No. Only USB0 set to host mode.

    Attaching dtb and kernel log for reference.

    root@sync2000:~# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.14.67-gd315a9bb00 (root@RND-UbuntuV14) (gcc version 7.3.0 (GCC)) #41 PREEMPT Tue Jul 26 20:09:00 IST 2022
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: SYNC 2000-M5
    [    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 48 MiB at 0x9d000000
    [    0.000000] On node 0 totalpages: 131072
    [    0.000000] free_area_init_node: node 0, pgdat c0d4d278, node_mem_map dcb61000
    [    0.000000]   Normal zone: 1152 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 131072 pages, LIFO batch:31
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    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: 129920
    [    0.000000] Kernel command line: console=ttyO0,115200n8 resetDefault=no root=ubi0:BANK1_ROOTFS rw rootfstype=ubifs ubi.mtd=7,4096
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 456916K/524288K available (8192K kernel code, 318K rwdata, 2476K rodata, 1024K init, 275K bss, 18220K reserved, 49152K cma-reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc0900000   (9184 kB)
    [    0.000000]       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
    [    0.000000]       .data : 0xc0d00000 - 0xc0d4fb08   ( 319 kB)
    [    0.000000]        .bss : 0xc0d4fb08 - 0xc0d948a4   ( 276 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000021] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000048] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000063] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000285] timer_probe: no matching timers found
    [    0.000555] Console: colour dummy device 80x30
    [    0.000591] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [    0.000601] This ensures that you still see kernel messages. Please
    [    0.000610] update your kernel commandline.
    [    0.000650] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [    0.118787] pid_max: default: 32768 minimum: 301
    [    0.119041] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.119060] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.120080] CPU: Testing write buffer coherency: ok
    [    0.121022] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.121221] Hierarchical SRCU implementation.
    [    0.121660] EFI services will not be available.
    [    0.123493] devtmpfs: initialized
    [    0.134525] random: get_random_u32 called from bucket_table_alloc+0x8c/0x1ac with crng_init=0
    [    0.135143] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.135528] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.135562] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.140448] pinctrl core: initialized pinctrl subsystem
    [    0.141393] DMI not present or invalid.
    [    0.141921] NET: Registered protocol family 16
    [    0.144916] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.150057] omap_hwmod: rtc: no dt node
    [    0.150083] ------------[ cut here ]------------
    [    0.150128] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2494 _init.constprop.20+0x1e0/0x4a4
    [    0.150140] omap_hwmod: rtc: doesn't have mpu register target base
    [    0.150150] Modules linked in:
    [    0.150175] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.67-gd315a9bb00 #41
    [    0.150185] Hardware name: Generic AM33XX (Flattened Device Tree)
    [    0.150197] Backtrace:
    [    0.150243] [<c010bcac>] (dump_backtrace) from [<c010bf90>] (show_stack+0x18/0x1c)
    [    0.150262]  r7:00000009 r6:00000000 r5:c0a9b5bc r4:dc04fe28
    [    0.150297] [<c010bf78>] (show_stack) from [<c082b3c4>] (dump_stack+0x24/0x28)
    [    0.150325] [<c082b3a0>] (dump_stack) from [<c0128d24>] (__warn+0xe8/0x100)
    [    0.150344] [<c0128c3c>] (__warn) from [<c0128d7c>] (warn_slowpath_fmt+0x40/0x48)
    [    0.150362]  r9:c0d4fb40 r8:c0c3b820 r7:00000000 r6:c0d0ae84 r5:00000000 r4:c0a9b870
    [    0.150381] [<c0128d40>] (warn_slowpath_fmt) from [<c0c0ac38>] (_init.constprop.20+0x1e0/0x4a4)
    [    0.150394]  r3:c0ad2730 r2:c0a9b870
    [    0.150403]  r4:c0d0ae40
    [    0.150422] [<c0c0aa58>] (_init.constprop.20) from [<c0c0b428>] (__omap_hwmod_setup_all+0x48/0x108)
    [    0.150440]  r9:c0d4fb40 r8:c0c3b820 r7:c0d4fb40 r6:ffffe000 r5:c0d07ee0 r4:c0d0ae40
    [    0.150459] [<c0c0b3e0>] (__omap_hwmod_setup_all) from [<c010196c>] (do_one_initcall+0x4c/0x170)
    [    0.150471]  r5:c0c0b3e0 r4:00000000
    [    0.150499] [<c0101920>] (do_one_initcall) from [<c0c00eac>] (kernel_init_freeable+0x144/0x1dc)
    [    0.150516]  r8:c0c3b820 r7:c0d4fb40 r6:00000003 r5:c0c4c334 r4:c0b69170
    [    0.150539] [<c0c00d68>] (kernel_init_freeable) from [<c083ffd0>] (kernel_init+0x10/0x11c)
    [    0.150556]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c083ffc0
    [    0.150567]  r4:00000000
    [    0.150584] [<c083ffc0>] (kernel_init) from [<c0108068>] (ret_from_fork+0x14/0x2c)
    [    0.150596]  r5:c083ffc0 r4:00000000
    [    0.150620] ---[ end trace c021299684d30d0b ]---
    [    0.164340] omap_hwmod: debugss: _wait_target_disable failed
    [    0.218113] cpuidle: using governor ladder
    [    0.218161] cpuidle: using governor menu
    [    0.223897] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
    [    0.224065] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
    [    0.224147] OMAP GPIO hardware version 0.1
    [    0.225214] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
    [    0.225321] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
    [    0.226348] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
    [    0.226452] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
    [    0.227416] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
    [    0.227527] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
    [    0.235004] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
    [    0.237510] No ATAGs?
    [    0.237530] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.254994] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.255707] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
    [    0.256100] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator1[0]'
    [    0.259665] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [    0.259754] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
    [    0.259809] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
    [    0.259947] media: Linux media interface: v0.10
    [    0.260002] Linux video capture interface: v2.00
    [    0.260150] pps_core: LinuxPPS API ver. 1 registered
    [    0.260162] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.260193] PTP clock support registered
    [    0.260240] EDAC MC: Ver: 3.0.0
    [    0.260824] dmi: Firmware registration failed.
    [    0.261393] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.261833] Advanced Linux Sound Architecture Driver Initialized.
    [    0.263360] clocksource: Switched to clocksource timer1
    [    0.274521] NET: Registered protocol family 2
    [    0.275475] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.275548] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.275610] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.275734] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.275760] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.275961] NET: Registered protocol family 1
    [    0.276516] RPC: Registered named UNIX socket transport module.
    [    0.276535] RPC: Registered udp transport module.
    [    0.276545] RPC: Registered tcp transport module.
    [    0.276554] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.276572] PCI: CLS 0 bytes, default 64
    [    0.277706] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.277866] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    0.279786] workingset: timestamp_bits=14 max_order=17 bucket_order=3
    [    0.285782] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.286761] NFS: Registering the id_resolver key type
    [    0.286820] Key type id_resolver registered
    [    0.286831] Key type id_legacy registered
    [    0.286893] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.289577] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.289607] io scheduler noop registered
    [    0.289619] io scheduler deadline registered
    [    0.289907] io scheduler cfq registered (default)
    [    0.289922] io scheduler mq-deadline registered
    [    0.289933] io scheduler kyber registered
    [    0.291712] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.360301] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.364534] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
    [    1.198766] console [ttyS0] enabled
    [    1.203697] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a 8250
    [    1.213789] 481a6000.serial: ttyS2 at MMIO 0x481a6000 (irq = 32, base_baud = 3000000) is a 8250
    [    1.223808] 481aa000.serial: ttyS3 at MMIO 0x481aa000 (irq = 33, base_baud = 3000000) is a 8250
    [    1.234818] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    1.257004] brd: module loaded
    [    1.268819] loop: module loaded
    [    1.275234] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    1.275251] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    1.275261] mdio_bus fixed-0: lookup for GPIO reset failed
    [    1.275292] libphy: Fixed MDIO Bus: probed
    [    1.296315] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
    [    1.296333] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
    [    1.296356] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.296369] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    1.296378] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
    [    1.296388] mdio_bus 4a101000.mdio: lookup for GPIO reset failed
    [    1.353467] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    1.361184] libphy: 4a101000.mdio: probed
    [    1.367790] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver unknown
    [    1.375992] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [    1.385306] cpsw 4a100000.ethernet: Detected MACID = 00:25:97:01:28:9c
    [    1.392000] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    1.398643] cpsw 4a100000.ethernet: ALE Table size 1024
    [    1.404024] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.412284] cpsw 4a100000.ethernet: cpsw: Detected MACID = 00:25:97:01:28:9d
    [    1.421126] i2c /dev entries driver
    [    1.425277] IR NEC protocol handler initialized
    [    1.429836] IR RC5(x/sz) protocol handler initialized
    [    1.434961] IR RC6 protocol handler initialized
    [    1.439515] IR JVC protocol handler initialized
    [    1.444084] IR Sony protocol handler initialized
    [    1.448723] IR SANYO protocol handler initialized
    [    1.453465] IR Sharp protocol handler initialized
    [    1.458191] IR MCE Keyboard/mouse protocol handler initialized
    [    1.464215] IR XMP protocol handler initialized
    [    1.470784] cpuidle: enable-method property 'ti,am3352' found operations
    [    1.478078] sdhci: Secure Digital Host Controller Interface driver
    [    1.484342] sdhci: Copyright(c) Pierre Ossman
    [    1.489094] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.495553] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.505875] NET: Registered protocol family 10
    [    1.512254] Segment Routing with IPv6
    [    1.516233] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.523066] NET: Registered protocol family 17
    [    1.528035] Key type dns_resolver registered
    [    1.532623] omap_voltage_late_init: Voltage driver support not added
    [    1.546196] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.551395] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.557738] gpiochip_find_base: found new base at 510
    [    1.558101] gpio gpiochip4: (omap-gpmc): added GPIO chardev (254:4)
    [    1.558232] gpiochip_setup_dev: registered GPIOs 510 to 511 on device: gpiochip4 (omap-gpmc)
    [    1.559715] omap2-nand 8000000.nand: GPIO lookup for consumer rb
    [    1.559727] omap2-nand 8000000.nand: using device tree for GPIO lookup
    [    1.559783] of_get_named_gpiod_flags: parsed 'rb-gpios' property of node '/ocp/gpmc@50000000/nand@0,0[0]' - status (0)
    [    1.560014] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
    [    1.566577] nand: Micron MT29F8G08ABACAH4
    [    1.570614] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
    [    1.578533] using OMAP_ECC_BCH16_CODE_HW ECC scheme
    [    1.583640] 8 ofpart partitions found on MTD device omap2-nand.0
    [    1.589678] Creating 8 MTD partitions on "omap2-nand.0":
    [    1.595061] 0x000000000000-0x000000040000 : "NAND.SPL"
    [    1.601586] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
    [    1.608638] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
    [    1.615604] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
    [    1.622567] 0x000000100000-0x000000300000 : "NAND.u-boot"
    [    1.629456] 0x000000300000-0x000000340000 : "NAND.u-boot-env1"
    [    1.636438] 0x000000340000-0x000000380000 : "NAND.u-boot-env2"
    [    1.643328] 0x000000380000-0x000040000000 : "NAND.RBlob"
    [    1.863672] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.869795] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
    [    1.869828] gpiochip_find_base: found new base at 504
    [    1.870105] gpio gpiochip5: (tps65910): added GPIO chardev (254:5)
    [    1.870219] gpiochip_setup_dev: registered GPIOs 504 to 509 on device: gpiochip5 (tps65910)
    [    1.871879] vrtc: supplied by vbat
    [    1.879253] vio: supplied by vbat
    [    1.884248] vdd1: supplied by vbat
    [    1.889421] random: fast init done
    [    1.893044] vdd2: supplied by vbat
    [    1.899915] vdig1: supplied by vbat
    [    1.904961] vdig2: supplied by vbat
    [    1.909949] vpll: supplied by vbat
    [    1.914962] vdac: supplied by vbat
    [    1.919900] vaux1: supplied by vbat
    [    1.924955] vaux2: supplied by vbat
    [    1.929938] vaux33: supplied by vbat
    [    1.935063] vmmc: supplied by vbat
    [    1.939968] vbb: supplied by vbat
    [    1.945065] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.952230] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
    [    1.959226] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [    1.966690] ubi0: attaching mtd7
    [    6.675899] ubi0: scanning is finished
    [    6.711730] ubi0: attached mtd7 (name "NAND.RBlob", size 1020 MiB)
    [    6.718111] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
    [    6.725111] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 1024
    [    6.731935] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
    [    6.738956] ubi0: good PEBs: 4082, bad PEBs: 0, corrupted PEBs: 0
    [    6.745124] ubi0: user volume: 8, internal volumes: 1, max. volumes count: 128
    [    6.752385] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1271842023
    [    6.761585] ubi0: available PEBs: 0, total reserved PEBs: 4082, PEBs reserved for bad PEB handling: 80
    [    6.770987] ubi0: background thread "ubi_bgt0d" started, PID 45
    [    6.777362] hctosys: unable to open rtc device (rtc0)
    [    6.777985] lis3_reg: disabling
    [    6.783309] ALSA device list:
    [    6.783316]   No soundcards found.
    [    6.803499] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" started, PID 46
    [    7.176012] UBIFS (ubi0:3): UBIFS: mounted UBI device 0, volume 3, name "BANK1_ROOTFS"
    [    7.184143] UBIFS (ubi0:3): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    7.194144] UBIFS (ubi0:3): FS size: 60440576 bytes (57 MiB, 238 LEBs), journal size 9404416 bytes (8 MiB, 38 LEBs)
    [    7.204676] UBIFS (ubi0:3): reserved for root: 0 bytes (0 KiB)
    [    7.210546] UBIFS (ubi0:3): media format: w4/r0 (latest is w5/r0), UUID D0C303EB-263C-4890-8013-6FF1EEAD17A1, small LPT model
    [    7.223780] VFS: Mounted root (ubifs filesystem) on device 0:14.
    [    7.233019] devtmpfs: mounted
    [    7.237987] Freeing unused kernel memory: 1024K
    [    7.563475] NOHZ: local_softirq_pending 40
    [    7.783465] NOHZ: local_softirq_pending 40
    [    7.843461] NOHZ: local_softirq_pending 40
    [    7.913420] NOHZ: local_softirq_pending 202
    [    7.973647] UBIFS (ubi0:5): background thread "ubifs_bgt0_5" started, PID 53
    [    8.266884] UBIFS (ubi0:5): UBIFS: mounted UBI device 0, volume 5, name "LICENSE"
    [    8.274513] UBIFS (ubi0:5): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.284570] UBIFS (ubi0:5): FS size: 2285568 bytes (2 MiB, 9 LEBs), journal size 1777665 bytes (1 MiB, 5 LEBs)
    [    8.294646] UBIFS (ubi0:5): reserved for root: 107952 bytes (105 KiB)
    [    8.301124] UBIFS (ubi0:5): media format: w5/r0 (latest is w5/r0), UUID 915ADFDB-E4B5-4FE2-972C-34AD9AC20E1B, small LPT model
    [    8.333495] UBIFS (ubi0:6): background thread "ubifs_bgt0_6" started, PID 55
    [    8.677337] UBIFS (ubi0:6): UBIFS: mounted UBI device 0, volume 6, name "LOG"
    [    8.684620] UBIFS (ubi0:6): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    8.694667] UBIFS (ubi0:6): FS size: 34283520 bytes (32 MiB, 135 LEBs), journal size 2031617 bytes (1 MiB, 7 LEBs)
    [    8.705101] UBIFS (ubi0:6): reserved for root: 1619295 bytes (1581 KiB)
    [    8.711755] UBIFS (ubi0:6): media format: w5/r0 (latest is w5/r0), UUID 0B1C5783-7B1F-4510-B5DF-FD4951C37D49, small LPT model
    [    8.743489] UBIFS (ubi0:7): background thread "ubifs_bgt0_7" started, PID 57
    [    9.083671] UBIFS (ubi0:7): UBIFS: mounted UBI device 0, volume 7, name "SETTINGS"
    [    9.091316] UBIFS (ubi0:7): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [    9.101335] UBIFS (ubi0:7): FS size: 837787648 bytes (798 MiB, 3299 LEBs), journal size 33521664 bytes (31 MiB, 132 LEBs)
    [    9.112410] UBIFS (ubi0:7): reserved for root: 4952683 bytes (4836 KiB)
    [    9.119087] UBIFS (ubi0:7): media format: w5/r0 (latest is w5/r0), UUID D84E5E8C-3CE0-487D-9BDE-AA82E1413D64, small LPT model
    [    9.563290] udevd[78]: starting version 3.2.5
    [    9.573398] NOHZ: local_softirq_pending 40
    [    9.616507] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.628340] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.647407] random: udevd: uninitialized urandom read (16 bytes read)
    [    9.668418] udevd[78]: specified group 'lp' unknown
    [    9.709983] udevd[79]: starting eudev-3.2.5
    [   10.810764] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
    [   10.810785] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [   10.810813] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.810826] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.810835] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [   10.810847] am335x-phy-driver 47401300.usb-phy: lookup for GPIO reset failed
    [   10.810859] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
    [   10.810867] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [   10.810879] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.810890] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [   10.810899] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [   10.810908] am335x-phy-driver 47401300.usb-phy: lookup for GPIO vbus-detect failed
    [   10.811024] am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
    [   10.865607] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
    [   10.865626] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [   10.865652] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.865665] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.865675] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [   10.865685] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO reset failed
    [   10.865697] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
    [   10.865705] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [   10.865717] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.865728] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [   10.865737] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [   10.865746] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO vbus-detect failed
    [   10.865863] am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
    [   10.892909] usbcore: registered new interface driver usbfs
    [   10.892997] usbcore: registered new interface driver hub
    [   10.919951] usbcore: registered new device driver usb
    [   11.065904] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [   11.071312] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [   11.130473] hub 1-0:1.0: USB hub found
    [   11.145195] hub 1-0:1.0: 1 port detected
    [   11.198476] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [   11.220983] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [   11.252347] hub 2-0:1.0: USB hub found
    [   11.269528] hub 2-0:1.0: 1 port detected
    [   11.603588] usb 1-1: new high-speed USB device number 2 using musb-hdrc
    [   12.031592] smsc95xx v1.0.6
    [   12.129361] smsc95xx 1-1:1.0 eth2: register 'smsc95xx' at usb-musb-hdrc.0-1, smsc95xx USB 2.0 Ethernet, 46:e4:73:13:2b:1a
    [   12.144467] usbcore: registered new interface driver smsc95xx
    [   12.243446] NOHZ: local_softirq_pending 40
    [   12.253435] NOHZ: local_softirq_pending 40
    [   12.953432] NOHZ: local_softirq_pending 40
    [   13.024335] urandom_read: 1 callbacks suppressed
    [   13.024350] random: dd: uninitialized urandom read (512 bytes read)
    [   13.063440] NOHZ: local_softirq_pending 40
    [   13.243459] NOHZ: local_softirq_pending 40
    [   13.856327] net eth0: initializing cpsw version 1.12 (0)
    [   13.868373] Generic PHY 4a101000.mdio:02: attached PHY driver [Generic PHY] (mii_bus:phy_addr=4a101000.mdio:02, irq=POLL)
    [   13.889694] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   14.881411] random: sshd: uninitialized urandom read (32 bytes read)
    [   14.890285] cpsw 4a100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [   14.898414] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   14.950838] random: crng init done
    [  214.327272] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
    
    /*
     * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    /dts-v1/;
    
    #include "am33xx.dtsi"
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/net/ti-dp83869.h>
    
    / {
    	model = "SYNC 2000-M5";
    	compatible = "ti,am335x-evm", "ti,am33xx";
    
    	cpus {
    		cpu@0 {
    			cpu0-supply = <&vdd1_reg>;
    		};
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		reg = <0x80000000 0x10000000>; /* 256 MB */
    	};
    
    	vbat: fixedregulator0 {
    		compatible = "regulator-fixed";
    		regulator-name = "vbat";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-boot-on;
    	};
    
    	lis3_reg: fixedregulator1 {
    		compatible = "regulator-fixed";
    		regulator-name = "lis3_reg";
    		regulator-boot-on;
    	};
    
    };
    
    &am33xx_pinmux {
    	pinctrl-names = "default";
    	
    	pinctrl-0 = <&gpio0_pins &gpio1_pins &gpio2_pins &gpio3_pins>;
    	
    	gpio0_pins: pinmux_gpio0_pins { 
    		pinctrl-single,pins = <
    			0x2C (PIN_OUTPUT | MUX_MODE7) /* gpio0_27 *//*Com2 uart0 232 enable*/
    			0x28 (PIN_OUTPUT | MUX_MODE7) /* GPIO0_26 watchdog pulse */
    			
    		>;
    	};
    
    	gpio1_pins: pinmux_gpio1_pins { 
    		pinctrl-single,pins = <
    			0x30  (PIN_OUTPUT | MUX_MODE7) /* gpio1_12 *//*Com3 uart3 232 enable*/ /* STR */
    			0x34  (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpio1_13 */ /*Com4 uart5 232 enable*/ /* STR */
    			0x78  (PIN_OUTPUT | MUX_MODE7) /* gpio1_28,conf_gpmc_ben1,DO_buffer enable */
    			0x84  (PIN_OUTPUT | MUX_MODE7) /* gpio1_31,conf_gpmc_csn2 */ /*gprs power shutdown */
    		>;
    	};
    
    	gpio2_pins: pinmux_gpio2_pins { 
    		pinctrl-single,pins = <
    			0x8C  (PIN_INPUT_PULLUP | MUX_MODE7)    /* gpio2_1 usb over current from external source*/  
    			0xE4  (PIN_OUTPUT | MUX_MODE7) /* gpio2_23 */  /* STR */
    			0xEC  (PIN_OUTPUT_PULLUP | MUX_MODE7) 	/* GPIO2_25 ,conf_lcd_ac_bias_en,health status */
    		>;
    	};
    
    	gpio3_pins: pinmux_gpio3_pins { 
    		pinctrl-single,pins = <
    			0x1A0  (PIN_OUTPUT | MUX_MODE7) /* gpio3_18 */
    			0x1A8  (PIN_OUTPUT | MUX_MODE7) /* gpio3_20,conf_mcasp0 */ /*gprs hard shutdown */
    			/*0x234  (PIN_OUTPUT_PULLUP | MUX_MODE7) *//* gpio3_13,conf_usb1_drvvbu,DO_Buff */
    			0x1A0  (PIN_OUTPUT | MUX_MODE7) /* GPIO3_18,conf_mcasp0_aclkr,profibus */
    			0x198  (PIN_INPUT  | MUX_MODE7) /* GPIO3_16,conf_mcasp0_axr0,debug */
    		>;
    	};
    
    	i2c0_pins: pinmux_i2c0_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
    			AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
    		>;
    	};
    
    	i2c1_pins: pinmux_i2c1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_d1.i2c1_sda */
    			AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_cs0.i2c1_scl */
    		>;
    	};
    	
    	i2c2_pins: pinmux_i2c2_pins {
    			pinctrl-single,pins = <
    				0x150 (PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_sclk.i2c0_sda */
    				0x154 (PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0_d0.i2c0_scl */
    			>;
    		};
    	uart0_pins: pinmux_uart0_pins {
    		pinctrl-single,pins = <
    			0x168 (PIN_INPUT | MUX_MODE0)		/* uart0_ctsn.uart0_ctsn */
    			0x16C (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* uart0_rtsn .uart0_rtsn  */
    			0x170 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
    			0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
    		>;
    	};
    	uart1_pins: pinmux_uart1_pins {
    		pinctrl-single,pins = <
    			0x178 (PIN_INPUT | MUX_MODE0)		/* uart1_ctsn.uart1_ctsn */
    			0x17C (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_rtsn.uart1_rtsn */
    			0x180 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart1_rxd.uart1_rxd */
    			0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_txd.uart1_txd */  
    			0xFC (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_ri */
    			0xF8 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)	/* mmc0_dat0.uart1_dtr */
    			0xF4 (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_dsr */
    			0xF0 (PIN_INPUT | MUX_MODE4)		/* mmc0_dat0.uart1_dcd */
    		>;
    	};
    
    	uart3_pins: pinmux_uart3_pins {
    		pinctrl-single,pins = <
    			0x164 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* ecap0_in_pwm0_out.UART3_TXD */
    			0x160 (PIN_INPUT_PULLUP | MUX_MODE1)	/* spi0_cs1.UART3_RXD */
    			0xCC (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* LCD_DATA11.UART3_RTSN */
    			0xC8 (PIN_INPUT | MUX_MODE6)		/* LCD_DATA10.UART3_CTSN */
    		>;
    	};
    	uart5_pins: pinmux_uart5_pins {
    		pinctrl-single,pins = <
    			0xD8 (PIN_INPUT | MUX_MODE6)		/* lcd_data14.uart5_ctsn */
    			0xC4 (PIN_INPUT_PULLUP | MUX_MODE4)	/* lcd_data9.uart5_rxd */
    			0xC0 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)  /* lcd_data8.uart5_txd */			
    			0xDC (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* lcd_data15.uart5_rtsn */
    		>;
    	};
    
    	nandflash_pins_s0: nandflash_pins_s0 {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad0.gpmc_ad0 */
    			AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad1.gpmc_ad1 */
    			AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad2.gpmc_ad2 */
    			AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad3.gpmc_ad3 */
    			AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad4.gpmc_ad4 */
    			AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad5.gpmc_ad5 */
    			AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad6.gpmc_ad6 */
    			AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_ad7.gpmc_ad7 */
    			AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_wait0.gpmc_wait0 */
    			AM33XX_IOPAD(0x874, PIN_INPUT_PULLUP | MUX_MODE7)	/* gpmc_wpn.gpio0_30 */
    			AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_csn0.gpmc_csn0  */
    			AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)		/* gpmc_advn_ale.gpmc_advn_ale */
    			AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)		/* gpmc_oen_ren.gpmc_oen_ren */
    			AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)		/* gpmc_wen.gpmc_wen */
    			AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_be0n_cle.gpmc_be0n_cle */
    		>;
    	};
    
    	ecap0_pins: backlight_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x964, MUX_MODE0)	/* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
    		>;
    	};
    
    	cpsw_default: cpsw_default {
    		pinctrl-single,pins = <
    			/* Slave 1 */
    			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
    			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd3.rgmii1_td3 */
    			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd2.rgmii1_td2 */
    			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
    			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
    			0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rgmii1_tclk */
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rgmii1_rclk */
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd3.rgmii1_rd3 */
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd2.rgmii1_rd2 */
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd1 */
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd0 */
    
    			/* Slave 2 */
    			0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a0.rgmii2_tctl */
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a1.rgmii2_rctl */
    			0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a2.rgmii2_td3 */
    			0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a3.rgmii2_td2 */
    			0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a4.rgmii2_td1 */
    			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a5.rgmii2_td0 */
    			0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a6.rgmii2_tclk */
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a7.rgmii2_rclk */
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a8.rgmii2_rd3 */
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a9.rgmii2_rd2 */
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a10.rgmii2_rd1 */
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a11.rgmii2_rd0 */
    		>;
    	};
    
    	cpsw_sleep: cpsw_sleep {
    		pinctrl-single,pins = <
    			/* Slave 1 reset value */
    			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    
    			/* Slave 2 reset value*/
    			0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	davinci_mdio_default: davinci_mdio_default {
    		pinctrl-single,pins = <
    			/* MDIO */
    			AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
    			AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
    		>;
    	};
    
    	davinci_mdio_sleep: davinci_mdio_sleep {
    		pinctrl-single,pins = <
    			/* MDIO reset value */
    			AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	mmc1_pins: pinmux_mmc1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7)		/* spi0_cs1.gpio0_6 */
    			AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat0.mmc0_dat0 */
    			AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat1.mmc0_dat1 */
    			AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat2.mmc0_dat2 */
    			AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat3.mmc0_dat3 */
    			AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_cmd.mmc0_cmd */
    			AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_clk.mmc0_clk */
    			AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4)		/* mcasp0_aclkr.mmc0_sdwp */
    		>;
    	};
    
    	mmc3_pins: pinmux_mmc3_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a1.mmc2_dat0, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x848, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a2.mmc2_dat1, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x84c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a3.mmc2_dat2, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x878, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_ben1.mmc2_dat3, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_csn3.mmc2_cmd, INPUT_PULLUP | MODE3 */
    			AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_clk.mmc2_clk, INPUT_PULLUP | MODE3 */
    		>;
    	};
    
    	mcasp1_pins: mcasp1_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
    			AM33XX_IOPAD(0x908, PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
    			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
    		>;
    	};
    
    	mcasp1_pins_sleep: mcasp1_pins_sleep {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7)
    			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	dcan1_pins_default: dcan1_pins_default {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
    			AM33XX_IOPAD(0x96c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
    		>;
    	};
    	
    };
    
    &usb {
    	status = "okay";
    };
    
    &usb_ctrl_mod {
    	status = "okay";
    };
    
    &usb0_phy {
    	status = "okay";
    };
    
    &usb1_phy {
    	status = "okay";
    };
    
    &usb0 {
    	status = "okay";
    	dr_mode = "host";
    };
    
    &usb1 {
    	status = "okay";
    	disable-over-current;
    };
    
    &cppi41dma  {
            status = "okay";
    };
    
    &uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart0_pins>;
    	status = "okay";
    	rts-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;
    };
    
    &uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart1_pins>;
    	status = "okay";
    };
    
    &uart3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart3_pins>;
    	status = "okay";
    	rts-gpio = <&gpio2 17 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;			
    };
    
    &uart5 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart5_pins>;
    	status = "okay";
    	rts-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <2 1>;
    	linux,rs485-enabled-at-boot-time;			
    };
    
    &i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c0_pins>;
    
    	status = "okay";
    	clock-frequency = <400000>;
    
    	/* Set OPP50 (0.95V) for VDD core */
    	sleep-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x1f /* Set VDD2 to 0.95V */
    	>;
    
    	/* Set OPP100 (1.10V) for VDD core */
    	wake-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x2b /* Set VDD2 to 1.1V */
    	>;
    
    	tps: tps@2d {
    		reg = <0x2d>;
    	};
    	rtc@68 {
    		compatible = "dallas,ds1388";
    		reg = <0x68>;
    	};
    };
    
    &i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c1_pins>;
    
    	status = "okay";
    	clock-frequency = <100000>;
    
    	/* Set OPP50 (0.95V) for VDD core */
    	sleep-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x1f /* Set VDD2 to 0.95V */
    	>;
    	
    	/* Set OPP100 (1.10V) for VDD core */
    	wake-sequence = /bits/ 8 <
    		0x02 0x2d 0x25 0x2b /* Set VDD2 to 1.1V */
    	>;
    };
    
    &i2c2 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c2_pins>;
    };
    
    &gpio0 {
    	/*ti,no-reset-on-init;*/
    	status = "okay";
    	pinctrl-names = "default";
    };
    &gpio1 {
    	
    	ti,no-reset-on-init;
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &gpio2 {
    	ti,no-reset-on-init;
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &gpio3 {
    	status = "okay";
    	pinctrl-names = "default";
    	ti,no-reset-on-init;
    };
    
    &elm {
    	status = "okay";
    };
    
    &gpmc {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&nandflash_pins_s0>;
    	ranges = <0 0 0x08000000 0x1000000>;	/* CS0: 16MB for NAND */
    	nand@0,0 {
    		compatible = "ti,omap2-nand";
    		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
    		interrupt-parent = <&gpmc>;
    		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
    			     <1 IRQ_TYPE_NONE>;	/* termcount */
    		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
    		ti,nand-xfer-type = "prefetch-dma";
    		ti,nand-ecc-opt = "bch16";
    		ti,elm-id = <&elm>;
    		nand-bus-width = <8>;
    		gpmc,device-width = <1>;
    		gpmc,sync-clk-ps = <0>;
    		gpmc,cs-on-ns = <0>;
    		gpmc,cs-rd-off-ns = <44>;
    		gpmc,cs-wr-off-ns = <44>;
    		gpmc,adv-on-ns = <6>;
    		gpmc,adv-rd-off-ns = <34>;
    		gpmc,adv-wr-off-ns = <44>;
    		gpmc,we-on-ns = <0>;
    		gpmc,we-off-ns = <40>;
    		gpmc,oe-on-ns = <0>;
    		gpmc,oe-off-ns = <54>;
    		gpmc,access-ns = <64>;
    		gpmc,rd-cycle-ns = <82>;
    		gpmc,wr-cycle-ns = <82>;
    		gpmc,bus-turnaround-ns = <0>;
    		gpmc,cycle2cycle-delay-ns = <0>;
    		gpmc,clk-activation-ns = <0>;
    		gpmc,wr-access-ns = <40>;
    		gpmc,wr-data-mux-bus-ns = <0>;
    		/* MTD partition table */
    		/* All SPL-* partitions are sized to minimal length
    		 * which can be independently programmable. For
    		 * NAND flash this is equal to size of erase-block */
    		#address-cells = <1>;
    		#size-cells = <1>;
    	partition@0 {
    			label = "NAND.SPL";
    			reg = <0x00000000 0x00040000>;
    		};
    		partition@1 {
    			label = "NAND.SPL.backup1";
    			reg = <0x00040000 0x00040000>;
    		};
    		partition@2 {
    			label = "NAND.SPL.backup2";
    			reg = <0x00080000 0x00040000>;
    		};
    		partition@3 {
    			label = "NAND.SPL.backup3";
    			reg = <0x000C0000 0x00040000>;
    		};
    		partition@4 {
    			label = "NAND.u-boot";
    			reg = <0x00100000 0x00200000>;
    		};
    		partition@5 {
    			label = "NAND.u-boot-env1";
    			reg = <0x00300000 0x00040000>;
    		};
    		partition@6 {
    			label = "NAND.u-boot-env2";
    			reg = <0x00340000 0x00040000>;
    		};
    		partition@7 {
    			label = "NAND.RBlob";
    			reg = <0x00380000 0x03FC80000>;
    		};
    	};
    };
    
    #include "tps65910.dtsi"
    
    &tps {
    	vcc1-supply = <&vbat>;
    	vcc2-supply = <&vbat>;
    	vcc3-supply = <&vbat>;
    	vcc4-supply = <&vbat>;
    	vcc5-supply = <&vbat>;
    	vcc6-supply = <&vbat>;
    	vcc7-supply = <&vbat>;
    	vccio-supply = <&vbat>;
    
    	regulators {
    		
    		vrtc_reg: regulator@0 {
    			
    			regulator-always-on;
    		};
    
    		vio_reg: regulator@1 {
    			regulator-always-on;
    		};
    
    		vdd1_reg: regulator@2 {
    			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1351500>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd2_reg: regulator@3 {
    			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
    			regulator-name = "vdd_core";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1150000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd3_reg: regulator@4 {
    			regulator-always-on;
    		};
    
    		vdig1_reg: regulator@5 {
    			regulator-always-on;
    		};
    
    		vdig2_reg: regulator@6 {
    			regulator-always-on;
    		};
    
    		vpll_reg: regulator@7 {
    			regulator-always-on;
    		};
    
    		vdac_reg: regulator@8 {
    			regulator-always-on;
    		};
    
    		vaux1_reg: regulator@9 {
    			regulator-always-on;
    		};
    
    		vaux2_reg: regulator@10 {
    			regulator-always-on;
    		};
    
    		vaux33_reg: regulator@11 {
    			regulator-always-on;
    		};
    
    		vmmc_reg: regulator@12 {
    			regulator-min-microvolt = <1800000>;
    			regulator-max-microvolt = <3300000>;
    			regulator-always-on;
    		};
    	};
    };
    
    &mac {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&cpsw_default>;
    	pinctrl-1 = <&cpsw_sleep>;
    	dual_emac = <2>;
    	status = "okay";
    };
    
    &davinci_mdio {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&davinci_mdio_default>;
    	pinctrl-1 = <&davinci_mdio_sleep>;
    	status = "okay";
    	
    	dp83869_0: ethernet-phy@2 {
    		reg = <2>;
    		tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,op-mode = <DP83869_RGMII_100_BASE>;
    		ti,max-output-impedance = "true";
    		ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>;
    		rx-internal-delay-ps = <2000>;
    		tx-internal-delay-ps = <2000>;
    	};
    
    	dp83869_1: ethernet-phy@3 {
    		reg = <3>;
    		tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,op-mode = <DP83869_RGMII_100_BASE>;
    		ti,max-output-impedance = "true";
    		ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>;
    		rx-internal-delay-ps = <2000>;
    		tx-internal-delay-ps = <2000>;
    	};	
    };
    
    &cpsw_emac0 {
    	phy_id = <&davinci_mdio>, <2>;
    	phy-mode = "rgmii-txid";
    	dual_emac_res_vlan = <1>;
    };
    
    &cpsw_emac1 {
    	phy_id = <&davinci_mdio>, <3>;
    	phy-mode = "rgmii-txid";
    	dual_emac_res_vlan = <2>;	
    };
    
    &dcan1 {
    	status = "disabled";	/* Enable only if Profile 1 is selected */
    	pinctrl-names = "default";
    	pinctrl-0 = <&dcan1_pins_default>;
    };
    
    
    
    

  • Ok, if this is what you need, we can close. Or if you need USB1 to be in host mode too, we  can continue debugging it.

  • Hi,

    Yes. We need both USB ports in host mode. Currently we are trying to complete LAN9500 Integration changes. After that only we could start the second device integration (USB1).

  • Sounds good. Please let us know if you have any issue while enabling USB1 in host mode.

  • Sure sir.

    Thank you so much for the support.