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.

Linux/AM3354: Sysfs issues

Part Number: AM3354

Tool/software: Linux

Hi,

I am running my sdcard on am335x which is working. The same images i have copied from sdcard to emmc which is copied and followed the emmc procedure.

when i run the board from emmc, the board is booting, but still sysfs related issues i am facing. still some of the peripheral functions are not working

check the below errors:-

root@am335x-evm:~# lsmod
Module Size Used by
libkmod: ERROR libkmod/libkmod-module.c:1796 kmod_module_get_holders: could not open '/sys/module/usb_f_mass_storage/holders': No such file or directory
usb_f_mass_storage 32479 -2
libkmod: ERROR libkmod/libkmod-module.c:1796 kmod_module_get_holders: could not open '/sys/module/libcomposite/holders': No such file or directory
libcomposite 30114 -2
libkmod: ERROR libkmod/libkmod-module.c:1796 kmod_module_get_holders: could not open '/sys/module/configfs/holders': No such file or directory
configfs 19119 -2
root@am335x-evm:~#

Regards

  • Hi Lofna,

    I suggest you to look at the following guide as a first step of debugging the issue to check whether preparing and flashing the eMMC image properly:
    processors.wiki.ti.com/.../Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black

    BR
    Tsvetolin Shulev
  • Hi 

    Thanks for your response.

    I am using sdk7 from am335x source. i am booting my target from mmc card. by default the images are fetching from sdcard. and the same images i have loaded in to emmc. 

    but when there is no sdcard it has to boot from emmc. it is working and booting from emmc. 

    When the new 4GB sdcard is placed and my target is running from emmc, but file system is not mounting. there should be root arguments issue.

    can you provide me the u-boot config files for sdcard & emmc combination and if there is no sdcrad it have to boot from emmc vice versa.

    i have attached my config files "include/configs/, please modify if there is any issue.

    regards.

     

    /*
     * am335x_evm.h
     *
     * Copyright (C) 2011 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 as
     * published by the Free Software Foundation version 2.
     *
     * This program is distributed "as is" WITHOUT ANY WARRANTY of any
     * kind, whether express or implied; without even the implied warranty
     * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     */
    
    #ifndef __CONFIG_AM335X_EVM_H
    #define __CONFIG_AM335X_EVM_H
    
    #include <configs/ti_am335x_common.h>
    
    #define MACH_TYPE_TIAM335EVM		3589	/* Until the next sync */
    #define CONFIG_MACH_TYPE		MACH_TYPE_TIAM335EVM
    
    /* Clock Defines */
    #define V_OSCK				24000000  /* Clock output from T2 */
    #define V_SCLK				(V_OSCK)
    
    /* Custom script for NOR */
    #define CONFIG_SYS_LDSCRIPT		"board/ti/am335x/u-boot.lds"
    
    /* Always 128 KiB env size */
    #define CONFIG_ENV_SIZE			(128 << 10)
    
    #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
    
    #ifndef CONFIG_SPL_BUILD
    #define CONFIG_EXTRA_ENV_SETTINGS \
    	"loadaddr=0x80200000\0" \
    	"fdtaddr=0x80F80000\0" \
    	"fdt_high=0xa0000000\0" \
    	"boot_fdt=try\0" \
    	"rdaddr=0x81000000\0" \
    	"bootpart=0:2\0" \
    	"bootdir=/boot\0" \
    	"bootfile=zImage\0" \
    	"fdtfile=am335x-evm.dtb\0" \
    	"console=ttyO0,115200n8\0" \
    	"partitions=" \
    		"uuid_disk=${uuid_gpt_disk};" \
    		"name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}\0" \
    	"optargs=\0" \
    	"dfu_alt_info_mmc=" DFU_ALT_INFO_MMC "\0" \
    	"dfu_alt_info_emmc=rawemmc mmc 0 3751936\0" \
    	"mmcdev=0\0" \
    	"mmcroot=/dev/mmcblk0p2 ro\0" \
    	"mmcrootfstype=ext4 rootwait\0" \
    	"finduuid=part uuid mmc ${mmcdev}:2 uuid\0" \
     	"args_mmc=run finduuid;setenv bootargs console=${console} " \
     		"${optargs} " \
     		"root=PARTUUID=${uuid} rw " \
    	"usbroot=/dev/sda2 rw\0" \
    	"usbrootfstype=ext4 rootwait\0" \
    	"rootpath=/export/rootfs\0" \
    	"nfsopts=nolock\0" \
    	"static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}" \
    		"::off\0" \
    	"ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M\0" \
    	"ramrootfstype=ext2\0" \
    	"mmcargs=setenv bootargs console=${console} " \
    		"${optargs} " \
    		"root=${mmcroot} " \
    		"rootfstype=${mmcrootfstype}\0" \
    	"usbargs=setenv bootargs console=${console} " \
    		"${optargs} " \
    		"root=${usbroot} " \
    		"rootfstype=${usbrootfstype}\0" \
    	"spiroot=/dev/mtdblock4 rw\0" \
    	"spirootfstype=jffs2\0" \
    	"spisrcaddr=0xe0000\0" \
    	"spiimgsize=0x362000\0" \
    	"spibusno=0\0" \
    	"spiargs=setenv bootargs console=${console} " \
    		"${optargs} " \
    		"root=${spiroot} " \
    		"rootfstype=${spirootfstype}\0" \
    	"netargs=setenv bootargs console=${console} " \
    		"${optargs} " \
    		"root=/dev/nfs " \
    		"nfsroot=${serverip}:${rootpath},${nfsopts} rw " \
    		"ip=dhcp\0" \
    	"bootenv=uEnv.txt\0" \
    	"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
    	"importbootenv=echo Importing environment from mmc ...; " \
    		"env import -t $loadaddr $filesize\0" \
    	"dfu_alt_info_ram=" DFU_ALT_INFO_RAM "\0" \
    	"ramargs=setenv bootargs console=${console} " \
    		"${optargs} " \
    		"root=${ramroot} " \
    		"rootfstype=${ramrootfstype}\0" \
    	"loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
    	"loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
    	"loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
    	"mmcloados=run mmcargs; " \
    		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
    			"if run loadfdt; then " \
    				"bootz ${loadaddr} - ${fdtaddr}; " \
    			"else " \
    				"if test ${boot_fdt} = try; then " \
    					"bootz; " \
    				"else " \
    					"echo WARN: Cannot load the DT; " \
    				"fi; " \
    			"fi; " \
    		"else " \
    			"bootz; " \
    		"fi;\0" \
    	"mmc_boot=mmc dev ${mmcdev}; " \
    		"if mmc rescan; then " \
    			"echo SD/MMC found on device ${mmcdev};" \
    			"if run loadbootenv; then " \
    				"echo Loaded environment from ${bootenv};" \
    				"run importbootenv;" \
    			"fi;" \
    			"if test -n $uenvcmd; then " \
    				"echo Running uenvcmd ...;" \
    				"run uenvcmd;" \
    			"fi;" \
    			"if run loadimage; then " \
    				"run mmcloados;" \
    			"fi;" \
    		"fi;\0" \
    	"spiboot=echo Booting from spi ...; " \
    		"run spiargs; " \
    		"sf probe ${spibusno}:0; " \
    		"sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; " \
    		"bootz ${loadaddr}\0" \
    	"netboot=echo Booting from network ...; " \
    		"setenv autoload no; " \
    		"dhcp; " \
    		"tftp ${loadaddr} ${bootfile}; " \
    		"tftp ${fdtaddr} ${fdtfile}; " \
    		"run netargs; " \
    		"bootz ${loadaddr} - ${fdtaddr}\0" \
    	"ramboot=echo Booting from ramdisk ...; " \
    		"run ramargs; " \
    		"bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \
    	"findfdt="\
    		"if test $board_name = A335BONE; then " \
    			"setenv fdtfile am335x-bone.dtb; fi; " \
    		"if test $board_name = A335BNLT; then " \
    			"setenv fdtfile am335x-boneblack.dtb; fi; " \
    		"if test $board_name = A33515BB; then " \
    			"setenv fdtfile am335x-evm.dtb; fi; " \
    		"if test $board_name = A335X_SK; then " \
    			"setenv fdtfile am335x-evmsk.dtb; fi; " \
    		"if test $fdtfile = undefined; then " \
    			"echo WARNING: Could not determine device tree to use; fi; \0" \
    	BOOTCMD_COMMON \
    	BOOTCMD_MMC \
    	BOOTCMD_NAND \
    	BOOTCMD_USB
    #endif
    
    /* NS16550 Configuration */
    #define CONFIG_SYS_NS16550_COM1		0x44e09000	/* Base EVM has UART0 */
    #define CONFIG_SYS_NS16550_COM2		0x48022000	/* UART1 */
    #define CONFIG_SYS_NS16550_COM3		0x48024000	/* UART2 */
    #define CONFIG_SYS_NS16550_COM4		0x481a6000	/* UART3 */
    #define CONFIG_SYS_NS16550_COM5		0x481a8000	/* UART4 */
    #define CONFIG_SYS_NS16550_COM6		0x481aa000	/* UART5 */
    #define CONFIG_BAUDRATE			115200
    
    /* I2C Configuration */
    #define CONFIG_CMD_EEPROM
    #define CONFIG_ENV_EEPROM_IS_ON_I2C
    #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* Main EEPROM */
    #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2
    #define CONFIG_SYS_I2C_MULTI_EEPROMS
    
    /* PMIC support */
    #define CONFIG_POWER_TPS65217
    #define CONFIG_POWER_TPS65910
    
    /* SPL */
    #ifndef CONFIG_NOR_BOOT
    #define CONFIG_SPL_POWER_SUPPORT
    #define CONFIG_SPL_YMODEM_SUPPORT
    
    /* CPSW support */
    #define CONFIG_SPL_ETH_SUPPORT
    
    /* USB gadget RNDIS */
    #define CONFIG_SPL_MUSB_NEW_SUPPORT
    
    /* General network SPL, both CPSW and USB gadget RNDIS */
    #define CONFIG_SPL_NET_SUPPORT
    #define CONFIG_SPL_ENV_SUPPORT
    #define CONFIG_SPL_NET_VCI_STRING	"AM335x U-Boot SPL"
    
    /* SPI flash. */
    #define CONFIG_SPL_SPI_SUPPORT
    #define CONFIG_SPL_SPI_FLASH_SUPPORT
    #define CONFIG_SPL_SPI_LOAD
    #define CONFIG_SPL_SPI_BUS		0
    #define CONFIG_SPL_SPI_CS		0
    #define CONFIG_SYS_SPI_U_BOOT_OFFS	0x20000
    
    #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/am33xx/u-boot-spl.lds"
    #endif
    
    /* Enhance our eMMC support / experience. */
    #define CONFIG_CMD_GPT
    #define CONFIG_EFI_PARTITION
    #define CONFIG_PARTITION_UUIDS
    #define CONFIG_CMD_PART
    
    /* NAND support */
    #ifdef CONFIG_NAND
    /* NAND: device related configs */
    #define CONFIG_SYS_NAND_PAGE_SIZE		2048
    #define CONFIG_SYS_NAND_OOBSIZE			64
    #define CONFIG_SYS_NAND_BLOCK_SIZE		(128*1024)
    #define CONFIG_SPL_NAND_DEVICE_WIDTH		8
    #define CONFIG_SYS_NAND_5_ADDR_CYCLE
    #define CONFIG_SYS_NAND_PAGE_COUNT		(CONFIG_SYS_NAND_BLOCK_SIZE / \
    						 CONFIG_SYS_NAND_PAGE_SIZE)
    /* NAND: driver related configs */
    #define CONFIG_NAND_OMAP_GPMC
    #define CONFIG_NAND_OMAP_ELM
    #define CONFIG_CMD_NAND
    #define CONFIG_SYS_NAND_BASE			0x8000000
    #define CONFIG_SYS_MAX_NAND_DEVICE		1
    #define CONFIG_SYS_NAND_ONFI_DETECTION
    #define CONFIG_SYS_NAND_BAD_BLOCK_POS		NAND_LARGE_BADBLOCK_POS
    #define CONFIG_SYS_NAND_ECCPOS		      { 2, 3, 4, 5, 6, 7, 8, 9, \
    					       10, 11, 12, 13, 14, 15, 16, 17, \
    					       18, 19, 20, 21, 22, 23, 24, 25, \
    					       26, 27, 28, 29, 30, 31, 32, 33, \
    					       34, 35, 36, 37, 38, 39, 40, 41, \
    					       42, 43, 44, 45, 46, 47, 48, 49, \
    					       50, 51, 52, 53, 54, 55, 56, 57, }
    #define CONFIG_SYS_NAND_ECCSIZE			512
    #define CONFIG_SYS_NAND_ECCBYTES		14
    #define CONFIG_NAND_OMAP_ECCSCHEME		OMAP_ECC_BCH8_CODE_HW
    #if !defined(CONFIG_SPI_BOOT) && !defined(CONFIG_NOR_BOOT) && \
    	!defined(CONFIG_EMMC_BOOT)
      #define MTDIDS_DEFAULT		      "nand0=nand.0"
      #define MTDPARTS_DEFAULT		      "mtdparts=nand.0:" \
    					      "128k(NAND.SPL)," \
    					      "128k(NAND.SPL.backup1)," \
    					      "128k(NAND.SPL.backup2)," \
    					      "128k(NAND.SPL.backup3)," \
    					      "256k(NAND.u-boot-spl-os)," \
    					      "1m(NAND.u-boot)," \
    					      "128k(NAND.u-boot-env)," \
    					      "128k(NAND.u-boot-env.backup1)," \
    					      "8m(NAND.kernel)," \
    					      "-(NAND.rootfs)"
      #undef CONFIG_ENV_IS_NOWHERE
      #define CONFIG_ENV_IS_IN_NAND
      #define CONFIG_ENV_OFFSET			0x001C0000
      #define CONFIG_ENV_OFFSET_REDUND		0x001E0000
      #define CONFIG_SYS_ENV_SECT_SIZE		CONFIG_SYS_NAND_BLOCK_SIZE
    #endif
    /* NAND: SPL related configs */
    #if !defined(CONFIG_SPI_BOOT) && !defined(CONFIG_NOR_BOOT) && \
    	!defined(CONFIG_EMMC_BOOT)
      #define CONFIG_SPL_NAND_AM33XX_BCH
      #define CONFIG_SPL_NAND_SUPPORT
      #define CONFIG_SPL_NAND_BASE
      #define CONFIG_SPL_NAND_DRIVERS
      #define CONFIG_SPL_NAND_ECC
      #define CONFIG_SYS_NAND_U_BOOT_START		CONFIG_SYS_TEXT_BASE
      #define CONFIG_SYS_NAND_U_BOOT_OFFS		0x000C0000
    /* NAND: SPL falcon mode related configs */
      #ifdef CONFIG_SPL_OS_BOOT
        #define CONFIG_CMD_SPL_NAND_OFS		0x00080000 /* os parameters */
        #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS	0x00A00000 /* kernel offset */
        #define CONFIG_CMD_SPL_WRITE_SIZE		0x2000
      #endif
    #endif
    #else
    #define NANDARGS ""
    #endif /* !CONFIG_NAND */
    
    /*
     * For NOR boot, we must set this to the start of where NOR is mapped
     * in memory.
     */
    #ifdef CONFIG_NOR_BOOT
    #define CONFIG_SYS_TEXT_BASE		0x08000000
    #endif
    
    /*
     * USB configuration.  We enable MUSB support, both for host and for
     * gadget.  We set USB0 as peripheral and USB1 as host, based on the
     * board schematic and physical port wired to each.  Then for host we
     * add mass storage support and for gadget we add both RNDIS ethernet
     * and DFU.
     */
    #define CONFIG_USB_MUSB_DSPS
    #define CONFIG_ARCH_MISC_INIT
    #define CONFIG_MUSB_GADGET
    #define CONFIG_MUSB_PIO_ONLY
    #define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
    #define CONFIG_USB_GADGET
    #define CONFIG_USBDOWNLOAD_GADGET
    #define CONFIG_USB_GADGET_DUALSPEED
    #define CONFIG_USB_GADGET_VBUS_DRAW	2
    #define CONFIG_MUSB_HOST
    #define CONFIG_AM335X_USB0
    #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
    #define CONFIG_AM335X_USB1
    #define CONFIG_AM335X_USB1_MODE MUSB_HOST
    
    #ifdef CONFIG_MUSB_HOST
    #define CONFIG_CMD_USB
    #define CONFIG_USB_STORAGE
    #endif
    
    #ifdef CONFIG_MUSB_GADGET
    #define CONFIG_USB_ETHER
    #define CONFIG_USB_ETH_RNDIS
    #define CONFIG_USBNET_HOST_ADDR	"de:ad:be:af:00:00"
    
    /* USB TI's IDs */
    #define CONFIG_G_DNL_VENDOR_NUM 0x0403
    #define CONFIG_G_DNL_PRODUCT_NUM 0xBD00
    #define CONFIG_G_DNL_MANUFACTURER "Texas Instruments"
    #endif /* CONFIG_MUSB_GADGET */
    
    #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
    /* disable host part of MUSB in SPL */
    #undef CONFIG_MUSB_HOST
    /*
     * Disable CPSW SPL support so we fit within the 101KiB limit.
     */
    #undef CONFIG_SPL_ETH_SUPPORT
    #endif
    
    /* USB Device Firmware Update support */
    #define CONFIG_DFU_FUNCTION
    #define CONFIG_DFU_MMC
    #define CONFIG_CMD_DFU
    #define DFU_ALT_INFO_MMC \
    	"boot part 0 1;" \
    	"rootfs part 0 2;" \
    	"MLO fat 0 1;" \
    	"MLO.raw mmc 100 100;" \
    	"u-boot.img.raw mmc 300 400;" \
    	"spl-os-args.raw mmc 80 80;" \
    	"spl-os-image.raw mmc 900 2000;" \
    	"spl-os-args fat 0 1;" \
    	"spl-os-image fat 0 1;" \
    	"u-boot.img fat 0 1;" \
    	"uEnv.txt fat 0 1"
    #ifdef CONFIG_NAND
    #define CONFIG_DFU_NAND
    
    #ifdef DFU_ALT_INFO_NAND
    #undef DFU_ALT_INFO_NAND
    #endif
    #define DFU_ALT_INFO_NAND \
    	"NAND.SPL part 0 1;" \
    	"NAND.SPL.backup1 part 0 2;" \
    	"NAND.SPL.backup2 part 0 3;" \
    	"NAND.SPL.backup3 part 0 4;" \
    	"NAND.u-boot-spl-os part 0 5;" \
    	"NAND.u-boot part 0 6;" \
    	"NAND.u-boot-env part 0 7;" \
    	"NAND.u-boot-env.backup1 part 0 8;" \
    	"NAND.kernel part 0 9;" \
    	"NAND.rootfs part 0 10"
    #endif
    #define CONFIG_DFU_RAM
    #define DFU_ALT_INFO_RAM \
    	"kernel ram 0x80200000 0xD80000;" \
    	"fdt ram 0x80F80000 0x80000;" \
    	"ramdisk ram 0x81000000 0x4000000"
    
    /*
     * Default to using SPI for environment, etc.
     * 0x000000 - 0x020000 : SPL (128KiB)
     * 0x020000 - 0x0A0000 : U-Boot (512KiB)
     * 0x0A0000 - 0x0BFFFF : First copy of U-Boot Environment (128KiB)
     * 0x0C0000 - 0x0DFFFF : Second copy of U-Boot Environment (128KiB)
     * 0x0E0000 - 0x442000 : Linux Kernel
     * 0x442000 - 0x800000 : Userland
     */
    #if defined(CONFIG_SPI_BOOT)
    #define CONFIG_ENV_IS_IN_SPI_FLASH
    #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
    #define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
    #define CONFIG_ENV_SECT_SIZE		(4 << 10) /* 4 KB sectors */
    #define CONFIG_ENV_OFFSET		(768 << 10) /* 768 KiB in */
    #define CONFIG_ENV_OFFSET_REDUND	(896 << 10) /* 896 KiB in */
    
    #ifdef MTDIDS_DEFAULT
    #undef MTDIDS_DEFAULT
    #endif
    #define MTDIDS_DEFAULT			"nor0=m25p80-flash.0"
    
    #ifdef MTDPARTS_DEFAULT
    #undef MTDPARTS_DEFAULT
    #endif
    #define MTDPARTS_DEFAULT		"mtdparts=m25p80-flash.0:128k(SPL)," \
    					"512k(u-boot),128k(u-boot-env1)," \
    					"128k(u-boot-env2),3464k(kernel)," \
    					"-(rootfs)"
    #elif defined(CONFIG_EMMC_BOOT)
    #undef CONFIG_ENV_IS_NOWHERE
    #define CONFIG_ENV_IS_IN_MMC
    #define CONFIG_SYS_MMC_ENV_DEV		1
    #define CONFIG_SYS_MMC_ENV_PART		2
    #define CONFIG_ENV_OFFSET		0x0
    #define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
    #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
    #endif
    
    /* SPI flash. */
    #define CONFIG_CMD_SF
    #define CONFIG_SPI_FLASH
    #define CONFIG_SPI_FLASH_WINBOND
    #define CONFIG_SF_DEFAULT_SPEED		24000000
    
    /* Network. */
    #define CONFIG_PHY_GIGE
    #define CONFIG_PHYLIB
    #define CONFIG_PHY_SMSC
    
    /*
     * NOR Size = 16 MiB
     * Number of Sectors/Blocks = 128
     * Sector Size = 128 KiB
     * Word length = 16 bits
     * Default layout:
     * 0x000000 - 0x07FFFF : U-Boot (512 KiB)
     * 0x080000 - 0x09FFFF : First copy of U-Boot Environment (128 KiB)
     * 0x0A0000 - 0x0BFFFF : Second copy of U-Boot Environment (128 KiB)
     * 0x0C0000 - 0x4BFFFF : Linux Kernel (4 MiB)
     * 0x4C0000 - 0xFFFFFF : Userland (11 MiB + 256 KiB)
     */
    #if defined(CONFIG_NOR)
    #undef CONFIG_SYS_NO_FLASH
    #define CONFIG_CMD_FLASH
    #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
    #define CONFIG_SYS_FLASH_PROTECTION
    #define CONFIG_SYS_FLASH_CFI
    #define CONFIG_FLASH_CFI_DRIVER
    #define CONFIG_FLASH_CFI_MTD
    #define CONFIG_SYS_MAX_FLASH_SECT	128
    #define CONFIG_SYS_MAX_FLASH_BANKS	1
    #define CONFIG_SYS_FLASH_BASE		(0x08000000)
    #define CONFIG_SYS_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
    #define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_FLASH_BASE
    #ifdef CONFIG_NOR_BOOT
    #define CONFIG_ENV_IS_IN_FLASH
    #define CONFIG_ENV_SECT_SIZE		(128 << 10)	/* 128 KiB */
    #define CONFIG_ENV_OFFSET		(512 << 10)	/* 512 KiB */
    #define CONFIG_ENV_OFFSET_REDUND	(768 << 10)	/* 768 KiB */
    #ifdef MTDIDS_DEFAULT
    #undef MTDIDS_DEFAULT
    #endif
    #define MTDIDS_DEFAULT			"nor0=physmap-flash.0"
    
    #ifdef MTDPARTS_DEFAULT
    #undef MTDPARTS_DEFAULT
    #endif
    #define MTDPARTS_DEFAULT		"mtdparts=physmap-flash.0:" \
    					"512k(u-boot)," \
    					"128k(u-boot-env1)," \
    					"128k(u-boot-env2)," \
    					"4m(kernel),-(rootfs)"
    #endif
    #endif  /* NOR support */
    
    #ifdef CONFIG_MMC
    #define BOOT_TARGETS_MMC "mmc0"
    #else
    #define BOOT_TARGETS_MMC ""
    #endif
    
    #ifdef CONFIG_USB_HOST
    #define BOOT_TARGETS_USB "usb"
    #else
    #define BOOT_TARGETS_USB ""
    #endif
    
    #ifdef CONFIG_NAND
    #define BOOT_TARGETS_NAND "nand"
    #else
    #define BOOT_TARGETS_NAND ""
    #endif
    
    #endif	/* ! __CONFIG_AM335X_EVM_H */
    

    /*
     * ti_am335x_common.h
     *
     * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
     *
     * SPDX-License-Identifier:	GPL-2.0+
     *
     * For more details, please see the technical documents listed at
     * http://www.ti.com/product/am3359#technicaldocuments
     */
    
    #ifndef __CONFIG_TI_AM335X_COMMON_H__
    #define __CONFIG_TI_AM335X_COMMON_H__
    
    #define CONFIG_AM33XX
    #define CONFIG_BOARD_LATE_INIT
    #define CONFIG_ARCH_CPU_INIT
    #define CONFIG_SYS_CACHELINE_SIZE       64
    #define CONFIG_MAX_RAM_BANK_SIZE	(1024 << 20)	/* 1GB */
    #define CONFIG_SYS_TIMERBASE		0x48040000	/* Use Timer2 */
    
    #include <asm/arch/omap.h>
    
    /* NS16550 Configuration */
    #define CONFIG_SYS_NS16550
    #define CONFIG_SYS_NS16550_SERIAL
    #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
    #define CONFIG_SYS_NS16550_CLK		48000000
    
    /* Network defines. */
    #define CONFIG_CMD_NET			/* 'bootp' and 'tftp' */
    #define CONFIG_CMD_DHCP
    #define CONFIG_CMD_MII
    #define CONFIG_BOOTP_DNS		/* Configurable parts of CMD_DHCP */
    #define CONFIG_BOOTP_DNS2
    #define CONFIG_BOOTP_SEND_HOSTNAME
    #define CONFIG_BOOTP_GATEWAY
    #define CONFIG_BOOTP_SUBNETMASK
    #define CONFIG_NET_RETRY_COUNT         10
    #define CONFIG_CMD_PING
    #define CONFIG_DRIVER_TI_CPSW		/* Driver for IP block */
    #define CONFIG_MII			/* Required in net/eth.c */
    
    /*
     * SPL related defines.  The Public RAM memory map the ROM defines the
     * area between 0x402F0400 and 0x4030B800 as a download area and
     * 0x4030B800 to 0x4030CE00 as a public stack area.  The ROM also
     * supports X-MODEM loading via UART, and we leverage this and then use
     * Y-MODEM to load u-boot.img, when booted over UART.
     */
    #define CONFIG_SPL_TEXT_BASE		0x402F0400
    #define CONFIG_SPL_MAX_SIZE		(0x4030B800 - CONFIG_SPL_TEXT_BASE)
    
    /*
     * Since SPL did pll and ddr initialization for us,
     * we don't need to do it twice.
     */
    #if !defined(CONFIG_SPL_BUILD) && !defined(CONFIG_NOR_BOOT)
    #define CONFIG_SKIP_LOWLEVEL_INIT
    #endif
    
    /* Now bring in the rest of the common code. */
    #include <configs/ti_armv7_common.h>
    
    #endif	/* __CONFIG_TI_AM335X_COMMON_H__ */
    

    /*
     * ti_armv7_common.h
     *
     * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
     *
     * SPDX-License-Identifier:	GPL-2.0+
     *
     * The various ARMv7 SoCs from TI all share a number of IP blocks when
     * implementing a given feature.  Rather than define these in every
     * board or even SoC common file, we define a common file to be re-used
     * in all cases.  While technically true that some of these details are
     * configurable at the board design, they are common throughout SoC
     * reference platforms as well as custom designs and become de facto
     * standards.
     */
    
    #ifndef __CONFIG_TI_ARMV7_COMMON_H__
    #define __CONFIG_TI_ARMV7_COMMON_H__
    
    /* Common define for many platforms. */
    #define CONFIG_OMAP
    #define CONFIG_OMAP_COMMON
    
    /*
     * We typically do not contain NOR flash.  In the cases where we do, we
     * undefine this later.
     */
    #define CONFIG_SYS_NO_FLASH
    
    /* Support both device trees and ATAGs. */
    #define CONFIG_OF_LIBFDT
    #define CONFIG_CMDLINE_TAG
    #define CONFIG_SETUP_MEMORY_TAGS
    #define CONFIG_INITRD_TAG
    
    /*
     * Our DDR memory always starts at 0x80000000 and U-Boot shall have
     * relocated itself to higher in memory by the time this value is used.
     */
    #define CONFIG_SYS_LOAD_ADDR		0x80000000
    
    /*
     * Default to a quick boot delay.
     */
    #define CONFIG_BOOTDELAY		3
    
    /*
     * DDR information.  We say (for simplicity) that we have 1 bank,
     * always, even when we have more.  We always start at 0x80000000,
     * and we place the initial stack pointer in our SRAM.
     */
    #define CONFIG_NR_DRAM_BANKS		1
    #define CONFIG_SYS_SDRAM_BASE		0x80000000
    #define CONFIG_SYS_INIT_SP_ADDR         (NON_SECURE_SRAM_END - \
    						GENERATED_GBL_DATA_SIZE)
    
    /* Timer information. */
    #define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */
    #define CONFIG_SYS_HZ			1000	/* 1ms clock */
    
    /* I2C IP block */
    #define CONFIG_I2C
    #define CONFIG_HARD_I2C
    #define CONFIG_SYS_I2C_SPEED		100000
    #define CONFIG_SYS_I2C_SLAVE		1
    #define CONFIG_I2C_MULTI_BUS
    #define CONFIG_DRIVER_OMAP24XX_I2C
    #define CONFIG_CMD_I2C
    
    /* MMC/SD IP block */
    #define CONFIG_MMC
    #define CONFIG_GENERIC_MMC
    #define CONFIG_OMAP_HSMMC
    #define CONFIG_CMD_MMC
    
    /* McSPI IP block */
    #define CONFIG_SPI
    #define CONFIG_OMAP3_SPI
    #define CONFIG_CMD_SPI
    
    /* GPIO block */
    #define CONFIG_OMAP_GPIO
    #define CONFIG_CMD_GPIO
    
    /*
     * The following are general good-enough settings for U-Boot.  We set a
     * large malloc pool as we generally have a lot of DDR, and we opt for
     * function over binary size in the main portion of U-Boot as this is
     * generally easily constrained later if needed.  We enable the config
     * options that give us information in the environment about what board
     * we are on so we do not need to rely on the command prompt.  We set a
     * console baudrate of 115200 and use the default baud rate table.
     */
    #define CONFIG_SYS_MALLOC_LEN		(4 << 20)
    #define CONFIG_SYS_HUSH_PARSER
    #define CONFIG_SYS_PROMPT		"U-boot# "
    #define CONFIG_SYS_CONSOLE_INFO_QUIET
    #define CONFIG_BAUDRATE			115200
    #define CONFIG_ENV_VARS_UBOOT_CONFIG	/* Strongly encouraged */
    #define CONFIG_ENV_OVERWRITE		/* Overwrite ethaddr / serial# */
    
    /* As stated above, the following choices are optional. */
    #define CONFIG_SYS_LONGHELP
    #define CONFIG_AUTO_COMPLETE
    #define CONFIG_CMDLINE_EDITING
    #define CONFIG_VERSION_VARIABLE
    
    /* We set the max number of command args high to avoid HUSH bugs. */
    #define CONFIG_SYS_MAXARGS		64
    
    /* Console I/O Buffer Size */
    #define CONFIG_SYS_CBSIZE		512
    /* Print Buffer Size */
    #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE \
    					+ sizeof(CONFIG_SYS_PROMPT) + 16)
    /* Boot Argument Buffer Size */
    #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
    
    /*
     * When we have SPI, NOR or NAND flash we expect to be making use of
     * mtdparts, both for ease of use in U-Boot and for passing information
     * on to the Linux kernel.
     */
    #if defined(CONFIG_SPI_BOOT) || defined(CONFIG_NOR) || defined(CONFIG_NAND)
    #define CONFIG_MTD_DEVICE		/* Required for mtdparts */
    #define CONFIG_CMD_MTDPARTS
    #endif
    
    /*
     * For commands to use, we take the default list and add a few other
     * useful commands.  Note that we must have set CONFIG_SYS_NO_FLASH
     * prior to this include, in order to skip a few commands.  When we do
     * have flash, if we expect these commands they must be enabled in that
     * config.  If desired, a specific list of desired commands can be used
     * instead.
     */
    #include <config_cmd_default.h>
    #define CONFIG_CMD_ASKENV
    #define CONFIG_CMD_ECHO
    #define CONFIG_CMD_BOOTZ
    
    /*
     * Common filesystems support.  When we have removable storage we
     * enabled a number of useful commands and support.
     */
    #if defined(CONFIG_MMC) || defined(CONFIG_USB_STORAGE)
    #define CONFIG_DOS_PARTITION
    #define CONFIG_CMD_FAT
    #define CONFIG_FAT_WRITE
    #define CONFIG_CMD_EXT2
    #define CONFIG_CMD_EXT4
    #define CONFIG_CMD_FS_GENERIC
    #endif
    
    /*
     * Our platforms make use of SPL to initalize the hardware (primarily
     * memory) enough for full U-Boot to be loaded.  We also support Falcon
     * Mode so that the Linux kernel can be booted directly from SPL
     * instead, if desired.  We make use of the general SPL framework found
     * under common/spl/.  Given our generally common memory map, we set a
     * number of related defaults and sizes here.
     */
    #if !defined(CONFIG_NOR_BOOT) && \
    	!(defined(CONFIG_QSPI_BOOT) && defined(CONFIG_AM43XX))
    #define CONFIG_SPL
    #define CONFIG_SPL_FRAMEWORK
    #define CONFIG_SPL_OS_BOOT
    
    /*
     * Place the image at the start of the ROM defined image space.
     * We limit our size to the ROM-defined downloaded image area, and use the
     * rest of the space for stack.  We load U-Boot itself into memory at
     * 0x80800000 for legacy reasons (to not conflict with older SPLs).  We
     * have our BSS be placed 1MiB after this, to allow for the default
     * Linux kernel address of 0x80008000 to work, in the Falcon Mode case.
     * We have the SPL malloc pool at the end of the BSS area.
     */
    #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
    #define CONFIG_SYS_TEXT_BASE		0x80800000
    #define CONFIG_SPL_BSS_START_ADDR	0x80a00000
    #define CONFIG_SPL_BSS_MAX_SIZE		0x80000		/* 512 KB */
    #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SPL_BSS_START_ADDR + \
    					 CONFIG_SPL_BSS_MAX_SIZE)
    #define CONFIG_SYS_SPL_MALLOC_SIZE	CONFIG_SYS_MALLOC_LEN
    
    /* RAW SD card / eMMC locations. */
    #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR	0x300 /* address 0x60000 */
    #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS	0x200 /* 256 KB */
    
    /* FAT sd card locations. */
    #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION	1
    #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME	"u-boot.img"
    
    #ifdef CONFIG_SPL_OS_BOOT
    #define CONFIG_SYS_SPL_ARGS_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x100)
    
    /* FAT */
    #define CONFIG_SPL_FAT_LOAD_KERNEL_NAME		"uImage"
    #define CONFIG_SPL_FAT_LOAD_ARGS_NAME		"args"
    
    /* RAW SD card / eMMC */
    #define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR	0x900	/* address 0x120000 */
    #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR	0x80	/* address 0x10000 */
    #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS	0x80	/* 64KiB */
    
    /* spl export command */
    #define CONFIG_CMD_SPL
    #endif
    
    #ifdef CONFIG_MMC
    #define CONFIG_SPL_LIBDISK_SUPPORT
    #define CONFIG_SPL_MMC_SUPPORT
    #define CONFIG_SPL_FAT_SUPPORT
    #endif
    
    /* General parts of the framework, required. */
    #define CONFIG_SPL_I2C_SUPPORT
    #define CONFIG_SPL_LIBCOMMON_SUPPORT
    #define CONFIG_SPL_LIBGENERIC_SUPPORT
    #define CONFIG_SPL_SERIAL_SUPPORT
    #define CONFIG_SPL_GPIO_SUPPORT
    #define CONFIG_SPL_BOARD_INIT
    #endif /* !CONFIG_NOR_BOOT */
    
    /* Boot defines */
    #define BOOTCMD_COMMON \
    	"rootpart=2\0" \
    	"script_boot=" \
    		"if load ${devtype} ${devnum}:${rootpart} ${loadaddr} ${bootdir}/${bootfile}; then " \
    			"run findfdt; " \
    			"load ${devtype} ${devnum}:${rootpart} ${fdtaddr} ${bootdir}/${fdtfile};" \
    		"fi;\0" \
    	\
    	"scan_boot=" \
    		"echo Scanning ${devtype} ${devnum}...; " \
    		"for prefix in ${bootdir}; do " \
    			"for script in ${bootfile}; do " \
    				"run script_boot; " \
    			"done; " \
    		"done;\0" \
    	"boot_targets=" \
    		BOOT_TARGETS_USB " " \
    		BOOT_TARGETS_MMC " " \
    		BOOT_TARGETS_NAND " " \
    		"\0"
    
    /* USB MSD Boot */
    #define BOOTCMD_INIT_USB "run usb_init; "
    #define BOOTCMD_USB \
    	"usb_init=" \
    		"usb start 0;\0 " \
    	"usb_boot=" \
    		"setenv devtype usb; " \
    		BOOTCMD_INIT_USB \
    		"if usb dev 0; then " \
    			"run usbargs;" \
    			"run scan_boot; " \
    			"bootz ${loadaddr} - ${fdtaddr}; " \
    		"fi\0" \
    	"bootcmd_usb=setenv devnum 0; run usb_boot;\0"
    
    /* MMC Boot */
    #define BOOTCMD_MMC \
    	"mmc_boot=" \
    		"setenv devtype mmc; " \
    		"if mmc dev ${devnum}; then " \
    			"run mmcargs;" \
    			"run scan_boot; " \
    			"run mmcboot;" \
    			"setenv mmcdev 0; " \
    			"setenv bootpart 0:2; " \
    			"run mmcboot;" \
    		"fi\0" \
    	"bootcmd_mmc0=setenv devnum 0; setenv rootpart 2; run mmc_boot;\0" \
    
    /* NAND Boot */
    #define DFU_ALT_INFO_NAND ""
    #ifndef CONFIG_NAND
    #define MTDIDS_DEFAULT ""
    #define MTDPARTS_DEFAULT ""
    #endif
    
    #define BOOTCMD_NAND \
    	"mtdids=" MTDIDS_DEFAULT "\0" \
    	"mtdparts=" MTDPARTS_DEFAULT "\0" \
    	"nandargs=setenv bootargs console=${console} " \
    		"${optargs} " \
    		"root=${nandroot} " \
    		"rootfstype=${nandrootfstype}\0" \
    	"dfu_alt_info_nand=" DFU_ALT_INFO_NAND "\0" \
    	"nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system," \
    		__stringify(CONFIG_SYS_NAND_PAGE_SIZE) "\0" \
    	"nandrootfstype=ubifs rootwait=1\0" \
    	"nandboot=echo Booting from nand ...; " \
    		"run nandargs; " \
    		"nand read ${fdtaddr} NAND.u-boot-spl-os; " \
    		"nand read ${loadaddr} NAND.kernel; " \
    		"bootz ${loadaddr} - ${fdtaddr}\0" \
    	"bootcmd_nand=run nandboot;\0"
    
    #define CONFIG_BOOTCOMMAND \
    	"for target in ${boot_targets}; do run bootcmd_${target}; done"
    
    #endif	/* __CONFIG_TI_ARMV7_COMMON_H__ */
    

    U-Boot 2013.10-00189-g78d8ebd-dirty (Oct 29 2016 - 01:21:28)
    
    I2C:   ready
    DRAM:  1 GiB
    NAND:  0 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    *** Error - No Valid Environment Area found
    *** Warning - bad CRC, using default environment
    
    Incorrect magic number (0xffffffff) in EEPROM
    Could not get board ID.
    Net:   <ethaddr> not set. Validating first E-fuse MAC
    Incorrect magic number (0xffffffff) in EEPROM
    Could not get board ID.
    Could not get PHY for cpsw: addr 0
    cpsw, usb_ether
    Hit any key to stop autoboot:  0
    mmc0 is current device
    Scanning mmc 0...
    ** Invalid partition 2 **
    mmc0 is current device
    SD/MMC found on device 0
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    ** Invalid partition 2 **
    mmc1(part 0) is current device
    SD/MMC found on device 1
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    3894992 bytes read in 219 ms (17 MiB/s)
    39484 bytes read in 10 ms (3.8 MiB/s)
    Kernel image @ 0x80200000 [ 0x000000 - 0x3b6ed0 ]
    ## Flattened Device Tree blob at 80f80000
       Booting using the fdt blob at 0x80f80000
       Loading Device Tree to 9fff3000, end 9ffffa3b ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.12.10 (root@ubuntu) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #105 Thu Jan 18 03:44:05 PST 2018
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x EVM
    [    0.000000] cma: CMA: reserved 24 MiB at ae000000
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon )
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 259856
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 1003616K/1045504K available (5263K kernel code, 517K rwdata, 1676K rodata, 401K init, 217K bss, 41888K reserved, 267264K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc06cf03c   (6941 kB)
    [    0.000000]       .init : 0xc06d0000 - 0xc07347b8   ( 402 kB)
    [    0.000000]       .data : 0xc0736000 - 0xc07b76a0   ( 518 kB)
    [    0.000000]        .bss : 0xc07b76a0 - 0xc07ede00   ( 218 kB)
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: timer2 at 19200000 Hz
    [    0.000000] sched_clock: 32 bits at 19MHz, resolution 52ns, wraps every 223696ms
    [    0.000000] OMAP clocksource: timer1 at 19200000 Hz
    [    0.000000] Console: colour dummy device 80x30
    [    0.000304] Calibrating delay loop... 531.66 BogoMIPS (lpj=2658304)
    [    0.049708] pid_max: default: 32768 minimum: 301
    [    0.049813] Security Framework initialized
    [    0.049864] Mount-cache hash table entries: 512
    [    0.058428] CPU: Testing write buffer coherency: ok
    [    0.058847] Setting up static identity map for 0xc052a368 - 0xc052a3d8
    [    0.059805] devtmpfs: initialized
    [    0.061351] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.125138] omap_hwmod: debugss: _wait_target_disable failed
    [    0.125868] pinctrl core: initialized pinctrl subsystem
    [    0.126726] regulator-dummy: no parameters
    [    0.129169] NET: Registered protocol family 16
    [    0.131284] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.133695] cpuidle: using governor ladder
    [    0.133713] cpuidle: using governor menu
    [    0.143799] OMAP GPIO hardware version 0.1
    [    0.157940] DSS not supported on this SoC
    [    0.157963] No ATAGs?
    [    0.157975] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.175153] bio: create slab <bio-0> at 0
    [    0.189134] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.190093] vbat: 5000 mV
    [    0.190469] lis3_reg: no parameters
    [    0.190918] wlan-en-regulator: 1800 mV
    [    0.193613] vgaarb: loaded
    [    0.194905] usbcore: registered new device driver usb
    [    0.196197] pps_core: LinuxPPS API ver. 1 registered
    [    0.196211] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.196345] PTP clock support registered
    [    0.198622] Switched to clocksource timer1
    [    0.216932] NET: Registered protocol family 2
    [    0.217586] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.217737] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.217822] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.217920] TCP: reno registered
    [    0.217934] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [    0.217962] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [    0.218170] NET: Registered protocol family 1
    [    0.218568] RPC: Registered named UNIX socket transport module.
    [    0.218579] RPC: Registered udp transport module.
    [    0.218586] RPC: Registered tcp transport module.
    [    0.218592] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.219588] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.220284] PM: Loading am335x-pm-firmware.binbounce pool size: 64 pages
    [    0.225069] VFS: Disk quotas dquot_6.5.2
    [    0.225141] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.225766] NFS: Registering the id_resolver key type
    [    0.225853] Key type id_resolver registered
    [    0.225862] Key type id_legacy registered
    [    0.225907] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
    [    0.226092] msgmni has been set to 1486
    [    0.227615] NET: Registered protocol family 38
    [    0.227657] io scheduler noop registered
    [    0.227665] io scheduler deadline registered
    [    0.227690] io scheduler cfq registered (default)
    [    0.229813] pinctrl-single 44e10800.pinmux: bad data for mux pinmux_mmc2_pins
    [    0.229833] pinctrl-single 44e10800.pinmux: no pins entries for pinmux_mmc2_pins
    [    0.229932] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.261157] Console: switching to colour frame buffer device 40x30
    [    0.941709] console [ttyO0] enabled
    [    0.948256] pinctrl-single 44e10800.pinmux: bad data for mux pinmux_uart3_pins
    [    0.957818] pinctrl-single 44e10800.pinmux: no pins entries for pinmux_uart3_pins
    [    0.968322] pinctrl-single 44e10800.pinmux: bad data for mux pinmux_uart4_pins
    [    0.977860] pinctrl-single 44e10800.pinmux: no pins entries for pinmux_uart4_pins
    [    0.988386] pinctrl-single 44e10800.pinmux: bad data for mux pinmux_uart5_pins
    [    0.997925] pinctrl-single 44e10800.pinmux: no pins entries for pinmux_uart5_pins
    [    1.009490] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    1.027757] brd: module loaded
    [    1.036788] loop: module loaded
    [    1.041547] (stk) :sysfs entries created
    [    1.046746] (stk) : debugfs entries created
    [    1.055398] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.066616] tun: Universal TUN/TAP device driver, 1.6
    [    1.073304] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
    [    1.083675] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.092324] ehci-pci: EHCI PCI platform driver
    [    1.098358] ehci-omap: OMAP-EHCI Host Controller driver
    [    1.106846] mousedev: PS/2 mouse device common for all mice
    [    1.115043] input: ti-tsc as /devices/ocp.2/44e0d000.tscadc/TI-am335x-tsc/input/input0
    [    1.127232] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [    1.137404] i2c /dev entries driver
    [    1.144218] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.155484] omap_hsmmc 48060000.mmc: unable to get vmmc regulator -517
    [    1.164649] omap_hsmmc 481d8000.mmc: unable to get vmmc regulator -517
    [    1.279693] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [    1.291901] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [    1.301578] usbhid: USB HID core driver
    [    1.309664] TCP: cubic registered
    [    1.314038] Initializing XFRM netlink socket
    [    1.319786] NET: Registered protocol family 10
    [    1.326377] sit: IPv6 over IPv4 tunneling driver
    [    1.333522] NET: Registered protocol family 17
    [    1.339520] NET: Registered protocol family 15
    [    1.345408] 8021q: 802.1Q VLAN Support v1.8
    [    1.350963] NET: Registered protocol family 36
    [    1.356861] Key type dns_resolver registered
    [    1.363125] cpu cpu0: cpu0 regulator not ready, retry
    [    1.370490] ThumbEE CPU extension supported.
    [    1.379672] tps65910 0-002d: No interrupt support, no core IRQ
    [    1.389543] vrtc: 1800 mV
    [    1.393344] vrtc: supplied by vbat
    [    1.399152] vio: at 1500 mV
    [    1.403003] vio: supplied by vbat
    [    1.408730] vdd_mpu: 912 <--> 1375 mV at 1325 mV
    [    1.414969] vdd_mpu: supplied by vbat
    [    1.421165] vdd_core: 912 <--> 1150 mV at 1137 mV
    [    1.427516] vdd_core: supplied by vbat
    [    1.433606] vdd3: 5000 mV
    [    1.438299] vdig1: at 1800 mV
    [    1.442392] vdig1: supplied by vbat
    [    1.448146] vdig2: at 1800 mV
    [    1.452227] vdig2: supplied by vbat
    [    1.457979] vpll: at 1800 mV
    [    1.461951] vpll: supplied by vbat
    [    1.467619] vdac: at 1800 mV
    [    1.471592] vdac: supplied by vbat
    [    1.477220] vaux1: at 1800 mV
    [    1.481303] vaux1: supplied by vbat
    [    1.487021] vaux2: at 3300 mV
    [    1.491162] vaux2: supplied by vbat
    [    1.496943] vaux33: at 3300 mV
    [    1.501145] vaux33: supplied by vbat
    [    1.507011] vmmc: 1800 <--> 3300 mV at 3300 mV
    [    1.513048] vmmc: supplied by vbat
    [    1.519222] tps65910-rtc tps65910-rtc: IRQ is not free.
    [    1.528395] input: adp5589 as /devices/ocp.2/44e0b000.i2c/i2c-0/0-0034/input/input1
    [    1.620480] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
    [    1.635139] Waiting for root device /dev/mmcblk0p2...
    [    1.664000] mmc1: new high speed SDHC card at address aaaa
    [    1.671900] mmcblk0: mmc1:aaaa SL32G 29.7 GiB
    [    1.683623]  mmcblk0: p1
    [    1.732133] mmc2: BKOPS_EN bit is not set
    [    1.741040] mmc2: new high speed MMC card at address 0001
    [    1.748709] mmcblk1: mmc2:0001 Q2J55L 7.09 GiB
    [    1.754766] mmcblk1boot0: mmc2:0001 Q2J55L partition 1 16.0 MiB
    [    1.762646] mmcblk1boot1: mmc2:0001 Q2J55L partition 2 16.0 MiB
    [    1.771902]  mmcblk1: p1 p2 p3
    [    1.790549]  mmcblk1boot1: unknown partition table
    [    1.799493]  mmcblk1boot0: unknown partition table
    [    1.858857] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -6
    [    1.869246] Please append a correct "root=" boot option; here are the available partitions:
    [    1.880196] b300        31166976 mmcblk0  driver: mmcblk
    [    1.887153]   b301        31162880 mmcblk0p1 00000000-01
    [    1.894125] b308         7438336 mmcblk1  driver: mmcblk
    [    1.901090]   b309           32768 mmcblk1p1 c9037933-01
    [    1.908039]   b30a         1048576 mmcblk1p2 c9037933-02
    [    1.914997]   b30b         6355968 mmcblk1p3 c9037933-03
    [    1.921955] b318           16384 mmcblk1boot1  (driver?)
    [    1.928911] b310           16384 mmcblk1boot0  (driver?)
    [    1.935860] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

  • Hi,
    did go through my above attached source files. please suggest me the changes for emmc & sdcard uboot.
    rgds
  • Lofna,

    You are using very old SW release. Could you check whether the issue appear with the last am335x Processor SDK Linux 4.02:
    www.ti.com/.../processor-sdk-am335x

    BR
    Tsvetolin Shulev