Hi Tom, As mentioned I reverted this patch as it conflicted with the dm tree and I suspect it might be buggy:
cd749658 usb_storage : scan all interfaces to find a storage device Assuming this is OK and applies successfully I will rebase and resend this patch, then reply with some comments I have on the patch. The following changes since commit 4564faeafbf11feb839e2e3f927be2f1a919ba96: ti: dwc3: Enable clocks in enable_basic_clocks() in hw_data.c (2015-04-16 15:08:36 -0400) are available in the git repository at: http://git.denx.de/u-boot-dm.git for you to fetch changes up to 2e6263093b3a5c2d2c586afaedfd346d6628f784: sandbox: exynos: Move CONFIG_SOUND_SANDBOX to Kconfig (2015-04-16 20:47:57 -0600) ---------------------------------------------------------------- haikun.w...@freescale.com (5): dm: arm: Bring in skeleton64 device tree file from Linux dm: ls1021a: dts: Update DSPI node to support DM SPI dm: ls1021a: dts: Add QSPI dts node dm: spi: Convert Freescale DSPI driver to driver model dm: spi: Convert Freescale QSPI driver to driver model Joe Hershberger (51): test: dm: Reorder the objects to build common: Make sure arch-specific map_sysmem() is defined net: Provide a function to get the current MAC address net: Rename helper function to be more clear net: Remove unneeded "extern" in net.h net: Refactor in preparation for driver model net: Change return codes from net/eth.c to use errorno constants net: Use int instead of u8 for boolean flag net: Remove the bd* parameter from net stack functions net: Make netretry actually do something net: Access mapped physmem in net functions cmd: net: Clean up return codes dm: eth: Add basic driver model support to Ethernet stack net: Clean up network stack names used in DM drivers dm: eth: Pass the packet pointer as a parameter to recv sandbox: eth: Add network support to sandbox sandbox: eth: Add ARP and PING response to sandbox driver test: dm: eth: Add tests for the eth dm implementation dm: eth: Add support for aliases dm: eth: Add support for ethprime env var test: dm: eth: Add testing for ethrotate env var sandbox: eth: Add ability to disable ping reply in sandbox eth driver test: dm: net: Add a test of the netretry behavior sandbox: eth: Add a bridge to a real network for sandbox sandbox: Enable DHCP and IP defrag sandbox: eth: Add support for using the 'lo' interface net: Improve error handling dm: eth: Provide a way for drivers to manage packet buffers net: cosmetic: Change IPaddr_t to struct in_addr net: cosmetic: Fixup var names related to boot file net: cosmetic: Fixup var names for DHCP strings net: cosmetic: Name ethaddr variables consistently net: cosmetic: Cleanup internal packet buffer names net: cosmetic: Fix var naming net <-> eth drivers net: cosmetic: Clean up TFTP variables and functions net: cosmetic: Clean up ARP variables and functions net: cosmetic: Clean up DHCP variables and functions net: cosmetic: Clean up NFS variables and functions net: cosmetic: Clean up RARP variables and functions net: cosmetic: Clean up SNTP variables and functions net: cosmetic: Clean up ping variables and functions net: cosmetic: Clean up CDP variables and functions net: cosmetic: Clean up DNS variables and functions net: cosmetic: Clean up netconsole variables and functions net: cosmetic: Clean up cmd_net variables and functions net: cosmetic: Fix checkpatch.pl failures in linklocal net: cosmetic: Fix checkpatch.pl failures in eth.c net: cosmetic: Fix checkpatch.pl failures in net.h net: cosmetic: Fix checkpatch.pl failures in net.c net: Fix compile errors when SNTP enabled and not DATE sandbox: Enable more network features for sandbox Masahiro Yamada (12): dm: spi_flash: fix wrong dependency dm: select CONFIG_DM* options ARM: UniPhier: use "select" instead of default value in defconfig ARM: zynq: use "select" instead of default value in defconfig ARM: rmobile: use "select" instead of default value in defconfig ARM: snapper9260: use "select" instead of default value in defconfig ARM: mx6: use "select" instead of default value in defconfig ARM: socfpga: use "select" instead of default value in defconfig ARM: bav335x: use "select" instead of default value in defconfig ARM: stv0991: use "select" instead of default value in defconfig ARM: cm_fx6: use "select" instead of default value in defconfig powerpc: ids8313: use "select" instead of default value in defconfig Przemyslaw Marczak (3): dm: gpio: request list: return the count if requests max_count reached Kconfig: i2c: fix help message related to dm i2c dm: i2c: add i2c-gpio driver Sergey Temerkhanov (2): net: Fix incorrect DHCP/BOOTP packets on 64-bit systems net: Convert protocol structures to use explicit sizes Simon Glass (146): x86: Support machines with >4GB of RAM x86: video: Allow keyboard presence to be controlled by device tree x86: pci: Add PCI IDs for lynxpoint x86: spi: Add support for lynxpoint x86: Move common Chromebook config into a separate file x86: Add support for panther (Asus Chromebox) sandbox: Update device tree 'reg' properties for I2C and SPI fdt: Export fdtdec_get_number() for general use x86: Add a x86_ prefix to the x86-specific PCI functions dm: Add a new CPU init function which can use driver model x86: Split up arch_cpu_init() Correct map_sysmem() logic in do_mem_mw() fdt: Tighten up error handling in fdtdec_get_pci_addr() dm: core: Add dev_get_uclass_priv() to access uclass private data dm: core: Mark device as active before calling its probe() method dm: core: Add a uclass pre_probe() method for devices dm: Show both allocated and requested seq numbers in 'dm uclass' dm: pci: Move common PCI functions into their own file dm: pci: Add a uclass for PCI dm: sandbox: pci: Add PCI support for sandbox dm: sandbox: Add a simple PCI driver dm: sandbox: pci: Add a PCI emulation uclass dm: sandbox: Add a emulated PCI device as an example dm: sandbox: pci: Enable PCI for sandbox dm: x86: pci: Add a PCI driver for driver model dm: x86: pci: Convert coreboot to use driver model for pci dm: x86: pci: Convert chromebook_link to use driver model for pci dm: pci: Add driver model tests for PCI dm: sf: Add driver model read/write/erase methods dm: x86: spi: Convert ICH SPI driver to driver model dm: x86: Add a uclass for a Platform Controller Hub dm: x86: Add a uclass for an Low Pin Count (LPC) device x86: chromebook_link: dts: Add PCH and LPC devices dm: cros_ec: Convert cros_ec LPC driver to driver model cros_ec: Reinit the cros_ec device when 'crosec init' is used cros_ec: Drop unused CONFIG_DM_CROS_EC sandbox: cros_ec: Drop unnecessary init x86: cros_ec: Drop unnecessary init exynos: cros_ec: Drop unnecessary init cros_ec: Remove unused cros_ec_board_init() function fdt: cros_ec: Drop compatible string in fdtdec fdt: Drop LPC compatible string in fdtdec cros_ec: exynos: Match up device tree with kernel version sandbox: cros_ec: Add Kconfig for sandbox EC config i8042: Add keyboard enable logic in kbd_reset() linker_lists: Add a function to access a linker list entry sandbox: Fix comment for os_open() dm: test: bus: Use a local variable to simplify code dm: core: Support allocating driver-private data for DMA dm: core: Convert driver_bind() to use const dm: core: Rename driver data function to dev_get_driver_data() dm: core: Mark device as active before calling uclass probe() methods dm: core: Add device children and sibling functions dm: gpio: Add an implementation for gpio_get_number() dm: usb: Add a uclass for USB controllers dm: usb: Adjust usb command to prepare for driver model dm: usb: Adjust usb_alloc_new_device() to return an error dm: usb: Convert 'usb' command to support driver model dm: usb: Drop the legacy USB init sequence dm: usb: Refactor port resets dm: usb: Move descriptor setup code into its own function dm: usb: Split out more code from usb_new_device() dm: usb: Complete the splitting up of usb_new_device() dm: usb: Convert core usb.c file to support driver model dm: usb: Split hub detection into its own function dm: usb: Add driver model support for hubs dm: usb: Move USB storage definitions to usb_defs.h dm: usb: Fix type problems in usb_stor_get_info() dm: usb: Simply device finding code in usb_storage dm: usb: Adjust usb_storage to work with sandbox Revert "usb_storage : scan all interfaces to find a storage device" dm: usb: Move storage device scanning into its own function dm: usb: Convert usb_storage to driver model dm: usb: Move all the EHCI weak functions together and declare them dm: usb: Pass EHCI controller pointer to ehci_get_port_speed() dm: usb: Allow ECHI to hold private data for the controller dm: usb: tegra: Store the controller type explicitly dm: usb: Pass EHCI controller pointer to ehci_powerup_fixup() dm: usb: tegra: Drop use of global controller variable dm: usb: Pass EHCI controller pointer to ehci_set_usbmode() dm: usb: Pass EHCI controller pointer to ehci_get_portsc_register() dm: usb: ehci: Use a function to find the controller from struct udevice dm: usb: Refactor EHCI init dm: usb: Drop the EHCI weak functions dm: usb: Change ehci_reset() to use a pointer dm: usb: Add driver model support to EHCI dm: usb: Allow USB drivers to be declared and auto-probed dm: usb: Bind generic USB devices when there is no driver dm: usb: Allow setting up a USB controller as a device/gadget dm: usb: Split out the keyboard probe into its own function dm: usb: Support driver model with USB keyboards dm: usb: tegra: Add vbus GPIOs for nyan dm: usb: Move struct usb_string to a common place dm: usb: sandbox: Add a uclass for USB device emulation dm: usb: sandbox: Reset emulation devices in usb stop() dm: usb: sandbox: Add an emulator for USB flash devices dm: usb: sandbox: Add an emulator for USB hub emulation dm: usb: sandbox: Add a driver for sandbox dm: usb: dts: sandbox: Add some sample USB devices to sandbox dm: usb: Add support for USB ethernet devices with driver model dm: usb: exynos: Add driver model support to exynos EHCI dm: usb: tegra: Remove the port_addr_clear_csc variable dm: usb: tegra: Tidy up error handling and a static function dm: usb: tegra: Move most of init/uninit into a function dm: usb: tegra: Add driver model support to tegra EHCI dm: usb: xhci: Use a function to get xhci_ctrl dm: usb: xhci: Use explicit parameters for xhci_alloc_virt_device() dm: usb: xhci: Use explicit parameters for xhci_setup_addressable_virt_dev() dm: usb: xhci: Factor out common init/uninit dm: usb: Support driver model in XHCI dm: usb: Rename the XHCI HCD to U-Boot dm: usb: exynos: Adjust XHCI driver to support driver model dm: usb: exynos: Use driver model for USB dm: usb: exynos: Enable both USB ports on snow dm: usb: exynos: Enable both EHCI and XHCI on snow dm: usb: Add a generic descriptor struct dm: usb: Tidy up pipe value decoding dm: usb: sandbox: Enable USB dm: test: Correct printf() output nit in 'dm uclass' dm: test: Allow 'dm test' to select a particular test to run dm: usb: Add tests for the USB uclass dm: usb: Add a README for driver model sunxi: Replace the pcDuino3 config with FDT version Kconfig: Move CONFIG_DESIGNWARE_ETH to Kconfig dts: sunxi: Bring in Ethernet device tree bindings dm: net: Use existing Ethernet init for driver model Avoid calling print_eths() with driver model dm: net: Adjust PHY interface to work with CONFIG_DM_ETH dm: net: Tidy up designware driver ready for driver model dm: net: Adjust designware driver to support driver model dm: sunxi: Support driver model for Ethernet dm: sunxi: Use driver model for Ethernet on Linksprite pcDuino3 Kconfig: Move CONFIG_BOOTSTAGE to Kconfig sandbox: Move GPIO CONFIGs to Kconfig sandbox: Move CONFIG_SYS_VSNPRINTF to Kconfig sandbox: Move CONFIG_SYS_I2C_SANDBOX to Kconfig sandbox: Move CONFIG_SANDBOX_SPI to Kconfig sandbox: Move CONFIG_SPI_FLASH_SANDBOX to Kconfig sandbox: Move CONFIG_TPM_TIS_SANDBOX to Kconfig sandbox: exynos: Move CONFIG_SOUND to Kconfig sandbox: exynos: Move CONFIG_CMD_SOUND to Kconfig sandbox: exynos: Move CONFIG_I2S to Kconfig sandbox: exynos: Move CONFIG_I2S_SAMSUNG to Kconfig sandbox: exynos: Move CONFIG_SOUND_MAX98095 to Kconfig sandbox: exynos: Move CONFIG_SOUND_WM8994 to Kconfig sandbox: exynos: Move CONFIG_SOUND_SANDBOX to Kconfig haikun (2): dm: ls1021a: Bring in ls1021a dts files from linux kernel dm: ls1021a: dts: Change address_cells and size_cells from 2 to 1 Makefile | 1 + README | 55 +- api/api_net.c | 2 +- arch/Kconfig | 9 + arch/arm/Kconfig | 58 ++ arch/arm/cpu/arm926ejs/spear/cpu.c | 2 +- arch/arm/cpu/armv7/exynos/Kconfig | 14 +- arch/arm/cpu/armv7/omap3/Kconfig | 27 +- arch/arm/cpu/armv7/rmobile/Kconfig | 12 + arch/arm/cpu/armv7/socfpga/misc.c | 2 +- arch/arm/dts/Makefile | 3 + arch/arm/dts/exynos5250-snow.dts | 12 +- arch/arm/dts/exynos5420-peach-pit.dts | 5 +- arch/arm/dts/exynos5800-peach-pi.dts | 4 +- arch/arm/dts/ls1021a-qds.dts | 216 +++++ arch/arm/dts/ls1021a-twr.dts | 87 ++ arch/arm/dts/ls1021a.dtsi | 381 ++++++++ arch/arm/dts/skeleton64.dtsi | 13 + arch/arm/dts/tegra124-nyan-big.dts | 2 + arch/arm/lib/board.c | 2 +- arch/arm/lib/bootm.c | 1 + arch/arm/mach-at91/Kconfig | 3 + arch/arm/mach-bcm283x/Kconfig | 9 - arch/arm/mach-davinci/misc.c | 2 +- arch/arm/mach-tegra/Kconfig | 18 - arch/avr32/lib/board.c | 2 +- arch/mips/mach-au1x00/au1x00_eth.c | 14 +- arch/nds32/lib/board.c | 2 +- arch/openrisc/lib/board.c | 2 +- arch/powerpc/cpu/mpc8260/ether_fcc.c | 22 +- arch/powerpc/cpu/mpc8260/ether_scc.c | 4 +- arch/powerpc/cpu/mpc83xx/Kconfig | 1 + arch/powerpc/cpu/mpc85xx/ether_fcc.c | 6 +- arch/powerpc/cpu/mpc8xx/fec.c | 12 +- arch/powerpc/cpu/mpc8xx/scc.c | 7 +- arch/powerpc/cpu/ppc4xx/Kconfig | 2 + arch/powerpc/lib/board.c | 2 +- arch/sandbox/Kconfig | 24 +- arch/sandbox/cpu/Makefile | 10 + arch/sandbox/cpu/cpu.c | 41 +- arch/sandbox/cpu/eth-raw-os.c | 249 ++++++ arch/sandbox/dts/cros-ec-keyboard.dtsi | 105 +++ arch/sandbox/dts/sandbox.dts | 191 ++-- arch/sandbox/include/asm/eth-raw-os.h | 40 + arch/sandbox/include/asm/eth.h | 15 + arch/sandbox/include/asm/io.h | 16 +- arch/sandbox/include/asm/processor.h | 12 + arch/sandbox/include/asm/test.h | 7 +- arch/sandbox/include/asm/u-boot-sandbox.h | 48 + arch/sandbox/lib/Makefile | 2 +- arch/sandbox/lib/pci_io.c | 138 +++ arch/sh/lib/board.c | 2 +- arch/sparc/lib/board.c | 2 +- arch/x86/Kconfig | 35 +- arch/x86/cpu/baytrail/early_uart.c | 5 +- arch/x86/cpu/coreboot/pci.c | 63 +- arch/x86/cpu/coreboot/sdram.c | 6 +- arch/x86/cpu/cpu.c | 2 +- arch/x86/cpu/ivybridge/bd82x6x.c | 47 +- arch/x86/cpu/ivybridge/cpu.c | 64 +- arch/x86/cpu/ivybridge/early_init.c | 58 +- arch/x86/cpu/ivybridge/early_me.c | 12 +- arch/x86/cpu/ivybridge/gma.c | 4 +- arch/x86/cpu/ivybridge/lpc.c | 88 +- arch/x86/cpu/ivybridge/mrccache.c | 7 +- arch/x86/cpu/ivybridge/northbridge.c | 6 +- arch/x86/cpu/ivybridge/pch.c | 4 +- arch/x86/cpu/ivybridge/pci.c | 85 +- arch/x86/cpu/ivybridge/report_platform.c | 4 +- arch/x86/cpu/ivybridge/sata.c | 61 +- arch/x86/cpu/ivybridge/sdram.c | 37 +- arch/x86/cpu/ivybridge/usb_ehci.c | 4 +- arch/x86/cpu/ivybridge/usb_xhci.c | 8 +- arch/x86/cpu/pci.c | 52 +- arch/x86/cpu/quark/quark.c | 4 +- arch/x86/cpu/queensbay/tnc.c | 4 +- arch/x86/dts/Makefile | 1 + arch/x86/dts/chromebook_link.dts | 80 +- arch/x86/dts/chromebox_panther.dts | 64 ++ arch/x86/include/asm/arch-ivybridge/bd82x6x.h | 1 - arch/x86/include/asm/arch-ivybridge/mrccache.h | 4 +- arch/x86/include/asm/pci.h | 20 +- arch/x86/lib/Makefile | 4 + arch/x86/lib/bios_interrupts.c | 12 +- arch/x86/lib/init_helpers.c | 8 - arch/x86/lib/lpc-uclass.c | 28 + arch/x86/lib/pch-uclass.c | 28 + board/BuR/common/common.c | 4 +- board/BuS/eb_cpux9k2/cpux9k2.c | 2 +- board/BuS/vl_ma2sc/vl_ma2sc.c | 2 +- board/ait/cam_enc_4xx/cam_enc_4xx.c | 2 +- board/alphaproject/ap_sh4a_4a/ap_sh4a_4a.c | 2 +- board/amcc/canyonlands/Kconfig | 6 - board/atmel/at91sam9261ek/at91sam9261ek.c | 2 +- board/bct-brettl2/bct-brettl2.c | 2 +- board/bf518f-ezbrd/bf518f-ezbrd.c | 4 +- board/bf526-ezbrd/bf526-ezbrd.c | 4 +- board/bf527-ezkit/bf527-ezkit.c | 4 +- board/bf537-minotaur/bf537-minotaur.c | 2 +- board/bf537-pnav/bf537-pnav.c | 2 +- board/bf537-srv1/bf537-srv1.c | 2 +- board/bf537-stamp/bf537-stamp.c | 4 +- board/bf609-ezkit/bf609-ezkit.c | 2 +- board/birdland/bav335x/board.c | 4 +- board/buffalo/lsxl/lsxl.c | 2 +- board/cm-bf527/cm-bf527.c | 4 +- board/cm-bf537e/cm-bf537e.c | 2 +- board/cm-bf537u/cm-bf537u.c | 2 +- board/compulab/cm_fx6/cm_fx6.c | 2 +- board/compulab/cm_t335/Kconfig | 9 - board/compulab/cm_t335/cm_t335.c | 2 +- board/compulab/cm_t35/cm_t35.c | 2 +- board/compulab/cm_t3517/cm_t3517.c | 4 +- board/compulab/cm_t54/cm_t54.c | 4 +- board/coreboot/coreboot/coreboot.c | 5 - board/davinci/da8xxevm/da850evm.c | 6 +- board/dnp5370/dnp5370.c | 4 +- board/egnite/ethernut5/ethernut5.c | 2 +- board/genesi/mx51_efikamx/efikamx-usb.c | 4 +- board/google/chromebook_link/link.c | 10 +- board/google/chromebox_panther/Kconfig | 34 + board/google/chromebox_panther/MAINTAINERS | 6 + board/google/chromebox_panther/Makefile | 7 + board/google/chromebox_panther/panther.c | 22 + board/gumstix/pepper/Kconfig | 9 - board/gumstix/pepper/board.c | 2 +- board/ifm/ac14xx/ac14xx.c | 2 +- board/ip04/ip04.c | 2 +- board/isee/igep0033/Kconfig | 9 - board/isee/igep0033/board.c | 2 +- board/phytec/pcm051/Kconfig | 9 - board/phytec/pcm051/board.c | 2 +- board/renesas/r0p7734/r0p7734.c | 2 +- board/ronetix/pm9261/pm9261.c | 2 +- board/ronetix/pm9g45/pm9g45.c | 2 +- board/samsung/common/board.c | 12 - board/samsung/goni/Kconfig | 9 - board/samsung/smdk5420/Kconfig | 6 - board/samsung/smdkc100/Kconfig | 9 - board/sandbox/README.sandbox | 78 +- board/sandbox/sandbox.c | 12 - board/siemens/common/factoryset.c | 4 +- board/siemens/pxm2/board.c | 2 +- board/silica/pengwyn/Kconfig | 9 - board/silica/pengwyn/board.c | 2 +- board/spear/spear300/spear300.c | 2 +- board/spear/spear310/spear310.c | 2 +- board/spear/spear320/spear320.c | 2 +- board/spear/spear600/spear600.c | 2 +- board/st/stv0991/stv0991.c | 2 +- board/sunxi/gmac.c | 10 +- board/tcm-bf518/tcm-bf518.c | 4 +- board/tcm-bf537/tcm-bf537.c | 2 +- board/ti/am335x/Kconfig | 9 - board/ti/am335x/board.c | 6 +- board/ti/am43xx/board.c | 4 +- board/ti/beagle_x15/board.c | 4 +- board/ti/dra7xx/evm.c | 4 +- board/ti/ti814x/evm.c | 2 +- common/Kconfig | 116 +++ common/board_f.c | 7 + common/board_r.c | 8 +- common/bootm.c | 1 + common/cmd_bdinfo.c | 4 +- common/cmd_bootm.c | 1 + common/cmd_bootstage.c | 7 +- common/cmd_demo.c | 1 + common/cmd_elf.c | 2 +- common/cmd_fat.c | 1 + common/cmd_fdt.c | 1 + common/cmd_lzmadec.c | 1 + common/cmd_md5sum.c | 1 + common/cmd_mem.c | 8 +- common/cmd_net.c | 178 ++-- common/cmd_nvedit.c | 1 + common/cmd_pci.c | 14 +- common/cmd_pxe.c | 5 +- common/cmd_sf.c | 3 +- common/cmd_source.c | 1 + common/cmd_trace.c | 1 + common/cmd_usb.c | 198 ++++- common/cmd_ximg.c | 1 + common/cros_ec.c | 35 +- common/hash.c | 1 + common/image-fdt.c | 1 + common/image-fit.c | 1 + common/image.c | 1 + common/iotrace.c | 1 + common/lcd.c | 1 + common/malloc_simple.c | 1 + common/miiphyutil.c | 1 + common/spl/spl_net.c | 4 +- common/update.c | 25 +- common/usb.c | 315 ++++--- common/usb_hub.c | 194 +++- common/usb_kbd.c | 119 ++- common/usb_storage.c | 236 ++--- configs/A20-OLinuXino-Lime2_defconfig | 3 + configs/A20-OLinuXino-Lime_defconfig | 3 + configs/A20-OLinuXino_MICRO_defconfig | 3 + configs/Bananapi_defconfig | 3 + configs/Bananapro_defconfig | 3 + configs/CSQ_CS908_defconfig | 3 + configs/Colombus_defconfig | 3 + configs/Cubieboard2_defconfig | 3 + configs/Cubietruck_defconfig | 3 + configs/Hummingbird_A31_defconfig | 3 + configs/Linksprite_pcDuino3_Nano_defconfig | 3 + configs/Linksprite_pcDuino3_defconfig | 11 + configs/Linksprite_pcDuino3_fdt_defconfig | 15 - configs/Mele_I7_defconfig | 3 + configs/Mele_M3_defconfig | 3 + configs/Mele_M5_defconfig | 3 + configs/Mele_M9_defconfig | 3 + configs/Orangepi_defconfig | 3 + configs/Orangepi_mini_defconfig | 3 + configs/Wits_Pro_A20_DKT_defconfig | 3 + configs/alt_defconfig | 2 - configs/am335x_boneblack_vboot_defconfig | 1 - configs/am3517_crane_defconfig | 3 - configs/am3517_evm_defconfig | 3 - configs/arndale_defconfig | 6 + configs/axs101_defconfig | 3 + configs/axs103_defconfig | 3 + configs/bf609-ezkit_defconfig | 3 + configs/birdland_bav335a_defconfig | 3 - configs/birdland_bav335b_defconfig | 3 - configs/chromebook_link_defconfig | 2 + configs/chromebox_panther_defconfig | 12 + configs/cm_fx6_defconfig | 3 - configs/cm_t3517_defconfig | 3 - configs/cm_t35_defconfig | 3 - configs/coreboot-x86_defconfig | 1 + configs/devkit8000_defconfig | 3 - configs/dig297_defconfig | 3 - configs/eco5pk_defconfig | 3 - configs/galileo_defconfig | 3 + configs/gose_defconfig | 2 - configs/i12-tvbox_defconfig | 3 + configs/ids8313_defconfig | 1 - configs/koelsch_defconfig | 2 - configs/lager_defconfig | 2 - configs/mcx_defconfig | 3 - configs/mixtile_loftq_defconfig | 3 + configs/mt_ventoux_defconfig | 3 - configs/mx6dlsabreauto_defconfig | 2 - configs/mx6dlsabresd_defconfig | 2 - configs/mx6qsabreauto_defconfig | 2 - configs/mx6qsabresd_defconfig | 2 - configs/mx6sabresd_spl_defconfig | 2 - configs/mx6sxsabresd_defconfig | 2 - configs/mx6sxsabresd_spl_defconfig | 2 - configs/nokia_rx51_defconfig | 3 - configs/omap3_beagle_defconfig | 3 - configs/omap3_evm_defconfig | 3 - configs/omap3_evm_quick_mmc_defconfig | 3 - configs/omap3_evm_quick_nand_defconfig | 3 - configs/omap3_ha_defconfig | 3 - configs/omap3_logic_defconfig | 3 - configs/omap3_mvblx_defconfig | 3 - configs/omap3_pandora_defconfig | 3 - configs/omap3_sdp3430_defconfig | 3 - configs/ph1_ld4_defconfig | 3 - configs/ph1_pro4_defconfig | 3 - configs/ph1_sld8_defconfig | 3 - configs/porter_defconfig | 2 - configs/sandbox_defconfig | 20 +- configs/silk_defconfig | 2 - configs/smdk5250_defconfig | 6 + configs/snapper9260_defconfig | 3 - configs/snapper9g20_defconfig | 3 - configs/snow_defconfig | 7 +- configs/socfpga_arria5_defconfig | 3 - configs/socfpga_cyclone5_defconfig | 6 +- configs/socfpga_socrates_defconfig | 6 +- configs/spear300_defconfig | 3 + configs/spear300_nand_defconfig | 3 + configs/spear300_usbtty_defconfig | 3 + configs/spear300_usbtty_nand_defconfig | 3 + configs/spear310_defconfig | 3 + configs/spear310_nand_defconfig | 3 + configs/spear310_pnor_defconfig | 3 + configs/spear310_usbtty_defconfig | 3 + configs/spear310_usbtty_nand_defconfig | 3 + configs/spear310_usbtty_pnor_defconfig | 3 + configs/spear320_defconfig | 3 + configs/spear320_nand_defconfig | 3 + configs/spear320_pnor_defconfig | 3 + configs/spear320_usbtty_defconfig | 3 + configs/spear320_usbtty_nand_defconfig | 3 + configs/spear320_usbtty_pnor_defconfig | 3 + configs/spear600_defconfig | 3 + configs/spear600_nand_defconfig | 3 + configs/spear600_usbtty_defconfig | 3 + configs/spear600_usbtty_nand_defconfig | 3 + configs/stv0991_defconfig | 5 +- configs/tao3530_defconfig | 3 - configs/tb100_defconfig | 3 + configs/tricorder_defconfig | 3 - configs/tricorder_flash_defconfig | 3 - configs/twister_defconfig | 3 - configs/x600_defconfig | 3 + configs/zynq_microzed_defconfig | 1 - configs/zynq_zc70x_defconfig | 1 - configs/zynq_zc770_xm010_defconfig | 1 - configs/zynq_zc770_xm012_defconfig | 1 - configs/zynq_zc770_xm013_defconfig | 1 - configs/zynq_zed_defconfig | 1 - configs/zynq_zybo_defconfig | 1 - doc/README.drivers.eth | 18 +- doc/README.enetaddr | 2 +- doc/README.fdt-control | 16 + doc/README.link-local | 4 +- doc/device-tree-bindings/i2c/i2c-gpio.txt | 37 + .../net/allwinner,sun4i-emac.txt | 19 + .../net/allwinner,sun4i-mdio.txt | 27 + .../net/allwinner,sun7i-a20-gmac.txt | 27 + doc/device-tree-bindings/net/ethernet.txt | 25 + doc/device-tree-bindings/net/stmmac.txt | 63 ++ doc/driver-model/pci-info.txt | 70 ++ doc/driver-model/usb-info.txt | 415 +++++++++ drivers/core/device-remove.c | 4 +- drivers/core/device.c | 85 +- drivers/core/lists.c | 2 +- drivers/core/uclass.c | 10 +- drivers/demo/demo-simple.c | 1 + drivers/gpio/Kconfig | 21 + drivers/gpio/at91_gpio.c | 2 +- drivers/gpio/bcm2835_gpio.c | 2 +- drivers/gpio/gpio-uclass.c | 40 +- drivers/gpio/intel_ich6_gpio.c | 18 +- drivers/gpio/mxc_gpio.c | 2 +- drivers/gpio/omap_gpio.c | 2 +- drivers/gpio/s5p_gpio.c | 2 +- drivers/gpio/sandbox.c | 6 +- drivers/gpio/sunxi_gpio.c | 2 +- drivers/gpio/tegra_gpio.c | 2 +- drivers/i2c/Kconfig | 56 +- drivers/i2c/Makefile | 1 + drivers/i2c/i2c-gpio.c | 346 ++++++++ drivers/i2c/i2c-uclass.c | 6 +- drivers/i2c/i2c-uniphier-f.c | 1 + drivers/i2c/i2c-uniphier.c | 1 + drivers/i2c/s3c24x0_i2c.c | 2 +- drivers/i2c/sandbox_i2c.c | 2 +- drivers/i2c/tegra_i2c.c | 6 +- drivers/input/cros_ec_keyb.c | 2 +- drivers/input/i8042.c | 7 + drivers/misc/Kconfig | 19 +- drivers/misc/Makefile | 1 + drivers/misc/cros_ec.c | 254 +----- drivers/misc/cros_ec_i2c.c | 6 +- drivers/misc/cros_ec_lpc.c | 29 +- drivers/misc/cros_ec_sandbox.c | 79 +- drivers/misc/cros_ec_spi.c | 8 +- drivers/misc/swap_case.c | 285 ++++++ drivers/mtd/spi/Kconfig | 12 +- drivers/mtd/spi/sf-uclass.c | 18 +- drivers/mtd/spi/sf_probe.c | 9 +- drivers/net/4xx_enet.c | 21 +- drivers/net/Kconfig | 49 + drivers/net/Makefile | 4 +- drivers/net/altera_tse.c | 15 +- drivers/net/armada100_fec.c | 7 +- drivers/net/at91_emac.c | 4 +- drivers/net/ax88180.c | 6 +- drivers/net/bcm-sf2-eth.c | 6 +- drivers/net/bfin_mac.c | 4 +- drivers/net/calxedaxgmac.c | 2 +- drivers/net/cpsw.c | 17 +- drivers/net/cs8900.c | 5 +- drivers/net/davinci_emac.c | 5 +- drivers/net/dc2114x.c | 9 +- drivers/net/designware.c | 250 +++++- drivers/net/designware.h | 3 +- drivers/net/dm9000x.c | 9 +- drivers/net/dnet.c | 5 +- drivers/net/e1000.c | 4 +- drivers/net/eepro100.c | 3 +- drivers/net/enc28j60.c | 13 +- drivers/net/ep93xx_eth.c | 11 +- drivers/net/ethoc.c | 4 +- drivers/net/fec_mxc.c | 4 +- drivers/net/fm/eth.c | 2 +- drivers/net/fsl_mcdmafec.c | 23 +- drivers/net/ftgmac100.c | 4 +- drivers/net/ftmac100.c | 4 +- drivers/net/ftmac110.c | 4 +- drivers/net/greth.c | 2 +- drivers/net/keystone_net.c | 2 +- drivers/net/ks8851_mll.c | 6 +- drivers/net/lan91c96.c | 19 +- drivers/net/lpc32xx_eth.c | 10 +- drivers/net/macb.c | 10 +- drivers/net/mcffec.c | 5 +- drivers/net/mpc512x_fec.c | 3 +- drivers/net/mpc5xxx_fec.c | 2 +- drivers/net/mvgbe.c | 41 +- drivers/net/mvneta.c | 2 +- drivers/net/natsemi.c | 3 +- drivers/net/ne2000_base.c | 2 +- drivers/net/netconsole.c | 98 +- drivers/net/ns8382x.c | 6 +- drivers/net/pch_gbe.c | 2 +- drivers/net/pcnet.c | 2 +- drivers/net/phy/phy.c | 22 + drivers/net/rtl8139.c | 4 +- drivers/net/rtl8169.c | 2 +- drivers/net/sandbox-raw.c | 165 ++++ drivers/net/sandbox.c | 208 +++++ drivers/net/sh_eth.c | 2 +- drivers/net/smc91111.c | 18 +- drivers/net/smc911x.c | 4 +- drivers/net/sunxi_emac.c | 4 +- drivers/net/tsec.c | 7 +- drivers/net/tsi108_eth.c | 8 +- drivers/net/uli526x.c | 5 +- drivers/net/xilinx_axi_emac.c | 2 +- drivers/net/xilinx_emaclite.c | 2 +- drivers/net/xilinx_ll_temac_fifo.c | 4 +- drivers/net/xilinx_ll_temac_sdma.c | 4 +- drivers/net/zynq_gem.c | 2 +- drivers/pci/Kconfig | 22 + drivers/pci/Makefile | 11 +- drivers/pci/pci-emul-uclass.c | 67 ++ drivers/pci/pci-uclass.c | 639 +++++++++++++ drivers/pci/pci.c | 281 +----- drivers/pci/pci_auto.c | 16 +- drivers/pci/pci_common.c | 292 ++++++ drivers/pci/pci_compat.c | 43 + drivers/pci/pci_sandbox.c | 79 ++ drivers/pci/pci_x86.c | 24 + drivers/qe/uec.c | 2 +- drivers/serial/ns16550.c | 1 + drivers/serial/serial-uclass.c | 4 +- drivers/serial/serial_uniphier.c | 1 + drivers/sound/Kconfig | 55 ++ drivers/spi/Kconfig | 25 + drivers/spi/Makefile | 1 + drivers/spi/fsl_dspi.c | 737 +++++++++++++++ drivers/spi/fsl_qspi.c | 985 ++++++++++++++------- drivers/spi/ich.c | 522 +++++------ drivers/spi/spi-uclass.c | 4 +- drivers/tpm/Kconfig | 7 + drivers/usb/Kconfig | 16 + drivers/usb/emul/Kconfig | 8 + drivers/usb/emul/Makefile | 10 + drivers/usb/emul/sandbox_flash.c | 423 +++++++++ drivers/usb/emul/sandbox_hub.c | 303 +++++++ drivers/usb/emul/usb-emul-uclass.c | 263 ++++++ drivers/usb/eth/asix.c | 3 +- drivers/usb/eth/asix88179.c | 2 +- drivers/usb/eth/mcs7830.c | 2 +- drivers/usb/eth/smsc95xx.c | 5 +- drivers/usb/eth/usb_ether.c | 52 +- drivers/usb/gadget/ci_udc.c | 4 + drivers/usb/gadget/ether.c | 13 +- drivers/usb/host/Makefile | 5 + drivers/usb/host/ehci-exynos.c | 112 ++- drivers/usb/host/ehci-faraday.c | 112 ++- drivers/usb/host/ehci-hcd.c | 379 ++++++-- drivers/usb/host/ehci-mx5.c | 12 + drivers/usb/host/ehci-tegra.c | 322 ++++--- drivers/usb/host/ehci.h | 47 + drivers/usb/host/usb-sandbox.c | 117 +++ drivers/usb/host/usb-uclass.c | 645 ++++++++++++++ drivers/usb/host/xhci-exynos5.c | 120 ++- drivers/usb/host/xhci-mem.c | 24 +- drivers/usb/host/xhci-ring.c | 8 +- drivers/usb/host/xhci.c | 312 +++++-- drivers/usb/host/xhci.h | 31 +- drivers/usb/musb-new/musb_uboot.c | 4 +- drivers/video/cfb_console.c | 29 +- fs/fs.c | 1 + include/bootstage.h | 2 +- include/common.h | 30 +- include/configs/axs101.h | 1 - include/configs/bf609-ezkit.h | 1 - include/configs/chromebook_link.h | 61 +- include/configs/chromebox_panther.h | 17 + include/configs/exynos5250-common.h | 10 - include/configs/exynos5420-common.h | 2 - include/configs/sandbox.h | 59 +- include/configs/smdk5250.h | 1 - include/configs/snow.h | 3 +- include/configs/socfpga_common.h | 1 - include/configs/spear-common.h | 1 - include/configs/stv0991.h | 1 - include/configs/sunxi-common.h | 1 - include/configs/tb100.h | 1 - include/configs/x600.h | 1 - include/configs/x86-chromebook.h | 68 ++ include/configs/x86-common.h | 5 - include/cros_ec.h | 137 --- include/dm/device-internal.h | 2 +- include/dm/device.h | 61 +- include/dm/test.h | 8 +- include/dm/uclass-id.h | 11 + include/dm/uclass-internal.h | 7 +- include/dm/uclass.h | 2 + include/fdtdec.h | 19 +- include/fsl_dspi.h | 150 ++++ include/i2c.h | 8 +- include/linker_lists.h | 10 + include/linux/usb/ch9.h | 18 + include/linux/usb/gadget.h | 13 - include/mapmem.h | 32 + include/net.h | 470 ++++++---- include/os.h | 2 +- include/pci.h | 411 ++++++++- include/pci_ids.h | 2 + include/phy.h | 23 +- include/spi_flash.h | 47 +- include/usb.h | 494 ++++++++++- include/usb_defs.h | 68 +- lib/Kconfig | 9 + lib/fdtdec.c | 10 +- lib/net_utils.c | 16 +- lib/trace.c | 1 + net/arp.c | 137 ++- net/arp.h | 22 +- net/bootp.c | 373 ++++---- net/bootp.h | 39 +- net/cdp.c | 88 +- net/cdp.h | 2 +- net/dns.c | 72 +- net/dns.h | 2 +- net/eth.c | 666 +++++++++++--- net/link_local.c | 83 +- net/net.c | 493 ++++++----- net/nfs.c | 241 +++-- net/nfs.h | 2 +- net/ping.c | 49 +- net/rarp.c | 45 +- net/rarp.h | 6 +- net/sntp.c | 48 +- net/sntp.h | 2 +- net/tftp.c | 595 +++++++------ net/tftp.h | 8 +- post/cpu/mpc8xx/ether.c | 6 +- test/compression.c | 1 + test/dm/Makefile | 7 +- test/dm/bus.c | 16 +- test/dm/cmd_dm.c | 16 +- test/dm/core.c | 9 +- test/dm/eth.c | 156 ++++ test/dm/pci.c | 59 ++ test/dm/test-dm.sh | 3 + test/dm/test-main.c | 7 +- test/dm/test-uclass.c | 17 +- test/dm/test.dts | 78 ++ test/dm/usb.c | 50 ++ 552 files changed, 16068 insertions(+), 5193 deletions(-) create mode 100644 arch/arm/dts/ls1021a-qds.dts create mode 100644 arch/arm/dts/ls1021a-twr.dts create mode 100644 arch/arm/dts/ls1021a.dtsi create mode 100644 arch/arm/dts/skeleton64.dtsi create mode 100644 arch/sandbox/cpu/eth-raw-os.c create mode 100644 arch/sandbox/dts/cros-ec-keyboard.dtsi create mode 100644 arch/sandbox/include/asm/eth-raw-os.h create mode 100644 arch/sandbox/include/asm/eth.h create mode 100644 arch/sandbox/include/asm/processor.h create mode 100644 arch/sandbox/lib/pci_io.c create mode 100644 arch/x86/dts/chromebox_panther.dts create mode 100644 arch/x86/lib/lpc-uclass.c create mode 100644 arch/x86/lib/pch-uclass.c create mode 100644 board/google/chromebox_panther/Kconfig create mode 100644 board/google/chromebox_panther/MAINTAINERS create mode 100644 board/google/chromebox_panther/Makefile create mode 100644 board/google/chromebox_panther/panther.c delete mode 100644 configs/Linksprite_pcDuino3_fdt_defconfig create mode 100644 configs/chromebox_panther_defconfig create mode 100644 doc/device-tree-bindings/i2c/i2c-gpio.txt create mode 100644 doc/device-tree-bindings/net/allwinner,sun4i-emac.txt create mode 100644 doc/device-tree-bindings/net/allwinner,sun4i-mdio.txt create mode 100644 doc/device-tree-bindings/net/allwinner,sun7i-a20-gmac.txt create mode 100644 doc/device-tree-bindings/net/ethernet.txt create mode 100644 doc/device-tree-bindings/net/stmmac.txt create mode 100644 doc/driver-model/pci-info.txt create mode 100644 doc/driver-model/usb-info.txt create mode 100644 drivers/i2c/i2c-gpio.c create mode 100644 drivers/misc/swap_case.c create mode 100644 drivers/net/sandbox-raw.c create mode 100644 drivers/net/sandbox.c create mode 100644 drivers/pci/pci-emul-uclass.c create mode 100644 drivers/pci/pci-uclass.c create mode 100644 drivers/pci/pci_common.c create mode 100644 drivers/pci/pci_compat.c create mode 100644 drivers/pci/pci_sandbox.c create mode 100644 drivers/pci/pci_x86.c create mode 100644 drivers/spi/fsl_dspi.c create mode 100644 drivers/usb/emul/Kconfig create mode 100644 drivers/usb/emul/Makefile create mode 100644 drivers/usb/emul/sandbox_flash.c create mode 100644 drivers/usb/emul/sandbox_hub.c create mode 100644 drivers/usb/emul/usb-emul-uclass.c create mode 100644 drivers/usb/host/usb-sandbox.c create mode 100644 drivers/usb/host/usb-uclass.c create mode 100644 include/configs/chromebox_panther.h create mode 100644 include/configs/x86-chromebook.h create mode 100644 include/fsl_dspi.h create mode 100644 include/mapmem.h create mode 100644 test/dm/eth.c create mode 100644 test/dm/pci.c create mode 100644 test/dm/usb.c Regards Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot