From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Wed, 22 Jul 2015 11:59:38 -0600 Subject: [U-Boot] Please pull u-boot-dm Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Tom, This contains Hans's USB fixes and changes, some preliminary patches for Masahiro's devres stuff and various new uclasses mostly aimed at Rockchip support. There is also the driver model device tree SPL support, USB Ethernet work, PMIC improvements to auto-set regulators and some changes to allow PCI devices to be probed in driver model without needing device tree (as we do with USB). I have left out pinctrl for now since I hope we will pick up Masahiro's implementation instead and then add my simple one on top. The following changes since commit b217c89e8565ade3aaa9f74c33c93236bf151187: Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq (2015-07-20 17:12:52 -0400) are available in the git repository at: git://git.denx.de/u-boot-dm.git for you to fetch changes up to 6b9f9eadffb5f64801746593784e12f07f2fadd0: linux_compat: handle __GFP_ZERO in kmalloc() (2015-07-22 07:30:44 -0600) ---------------------------------------------------------------- Hans de Goede (16): usb: Drop device-model specific copy of usb_legacy_port_reset usb: usb_setup_device: Drop unneeded portnr function argument usb: Pass device instead of portnr to usb_legacy_port_reset usb: Add an usb_device parameter to usb_reset_root_port dm: Export device_remove_children / device_unbind_children dm: usb: Fix "usb tree" output dm: usb: Document that mixing DM_DEVICE_REMOVE and DM_USB is a bad idea dm: usb: Use device_unbind_children to clean up usb devs on stop dm: usb: Rename usb_find_child to usb_find_emul_child dm: usb: Allow usb host drivers to implement usb_reset_root_port dm: usb: Do not assume that first child is always a hub musb: Allow musb_platform_enable to return an error code musb: Update usb-compat to work with struct usb_device without a parent ptr musb: Rename and wrap public functions musb: Add musb_host_data struct to hold global data musb: Add device-model support to the musb-host u-boot glue Masahiro Yamada (7): dm: change dm_warn() message into debug() in uclass_add() dm: do not set DM_FLAG_ACTIVATED twice dm: remove redundant CONFIG_DM from driver/core/Makefile x86: delete unneeded declarations of disable_irq() and enable_irq() linux_compat: remove cpu_relax() define linux_compat: move vzalloc() to header file as an inline function linux_compat: handle __GFP_ZERO in kmalloc() Simon Glass (81): Add a dhrystone benchmark command sandbox: Enable dhry command mkimage: Display a better list of available image types fdt: Add a function to remove unused strings from a device tree fdt: Add fdt_first/next_region() functions fdt: Add fdtgrep tool dm: Reduce SPL device tree size dm: arm: Put driver model I2C drivers before legacy ones Add a way of checking the position of a structure member debug_uart: Remove use of asmlinkage dm: Allow debug UART to support an early console sandbox: Drop special-case sandbox console code dm: Move the tree/uclass dump code into its own file dm: core: Use debug() instead of printf() for failures dm: core: Add a function to find any device from device tree dm: core: Correct device_get_child_by_of_offset() parameter dm: gpio: Allow GPIO uclass to be used in SPL dm: gpio: Add dm_gpio_lookup_name() to look up a GPIO name dm: gpio: Add dm_gpio_request() to manually request a GPIO dm: Add support for register maps (regmap) dm: Add support for generic system controllers (syscon) dm: Add support for LEDs dm: led: Add a driver for GPIO-controlled LEDs spl: Add debugging info for spl_mmc boot dm: mmc: Add an MMC uclass mmc: Add debug() output on read errors dm: mmc: Allow driver model to be used for MMC in SPL mmc: Add structure comments for dwmmc dm: power: Avoid case-insensitve match for child names dm: power: Add regulator flags to centralise auto-set logic dm: pmic: Split output from function dm: power: Add a function to set up all regulators dm: power: Use debug() for errors in regulator uclass dm: pmic: Add functions to adjust PMIC registers dm: power: Allow use of regulators in SPL Drop CONFIG_ERRNO_STR from SPL dm: Add support for RAM drivers dm: spi: Make local functions static ns16550: Improve debug UART so it can work with 32-bit access Add rivest cipher 4 (rc4) implementation lib: Add function to extract a number from the end of a string fdt: Provide debug info when a device tree cannot be found dm: spl: Allow device tree/driver model in board_init_f() spl: Add a debug string before the jump to U-Boot mkimage: Set up a file size parameter and keep it updated dm: Add a system reset uclass zynq: Rename struct clk_ops to zynq_clk_ops dm: Add a clock uclass power: pmic: Use trailing_strtol() instead of a local function dm: Add platform data advice and admonishment dm: test: Allow test names to leave out the dm_test_ prefix dm: test: Add tests for the clk uclass sandbox: Support multiple reset types dm: reset: Allow reset_walk() to return sandbox: Add a warm and cold reset driver sandbox: Use the reset driver to handle reset dm: test: Add a test for the reset uclass dm: test: Add a test for the ram uclass dm: test: Add a test for the mmc uclass led: Return -ENODEV if the LED device cannot be found dm: test: Add a test for the LED uclass dm: test: Add a test for the system controller uclass dm: test: Add a size to each reg property test: Add a macro to check that a value is not an error pointer dm: core: Add device checking to syscon_get_regmap() test: Add a test for regmap dm: core: Add \n to two dm_warn() messages usb: ehci: Correct a missing hypen in an error message usb: Update some EHCI driver licenses to use SPDX dm: pci: Add support for PCI driver matching dm: eth: Add driver-model support to the rtl8169 driver dm: pci: Add a function to get the BDF for a device dm: usb: Correct the struct usb_driver_entry comment dm: usb: Avoid using USB ethernet with CONFIG_DM_USB and no DM_ETH dm: eth: Avoid blocking on packet reception dm: usb: eth: Support driver model with USB Ethernet dm: usb: Adjust the USB_DEVICE() macro naming x86: minnowmax: Drop the cache line size hack dm: usb: Add driver-model support to ehci-pci dm: usb: eth: Add driver-model support to the asix driver net: Allow drivers to return -ENOSYS with the write_hwaddr() method Makefile | 2 +- arch/arm/cpu/u-boot-spl.lds | 12 +- arch/arm/mach-zynq/clk.c | 6 +- arch/sandbox/cpu/cpu.c | 9 +- arch/sandbox/cpu/state.c | 4 + arch/sandbox/dts/test.dts | 67 ++++- arch/sandbox/include/asm/state.h | 3 + arch/sandbox/include/asm/test.h | 19 ++ arch/sandbox/include/asm/u-boot-sandbox.h | 3 + arch/x86/include/asm/interrupt.h | 4 - common/cmd_tsi148.c | 8 +- common/cmd_usb.c | 28 +- common/console.c | 25 +- common/image.c | 58 ++-- common/spl/spl.c | 36 ++- common/spl/spl_mmc.c | 26 +- common/usb.c | 20 +- common/usb_hub.c | 2 +- common/usb_kbd.c | 4 +- common/usb_storage.c | 2 +- configs/sandbox_defconfig | 8 + doc/device-tree-bindings/leds/common.txt | 23 ++ doc/device-tree-bindings/leds/leds-gpio.txt | 52 ++++ doc/driver-model/README.txt | 17 +- drivers/Kconfig | 6 + drivers/Makefile | 3 + drivers/clk/Kconfig | 19 ++ drivers/clk/Makefile | 9 + drivers/clk/clk-uclass.c | 58 ++++ drivers/clk/clk_sandbox.c | 85 ++++++ drivers/core/Kconfig | 4 + drivers/core/Makefile | 5 +- drivers/core/device-remove.c | 22 +- drivers/core/device.c | 34 ++- drivers/core/dump.c | 96 +++++++ drivers/core/lists.c | 6 +- drivers/core/regmap.c | 86 ++++++ drivers/core/syscon-uclass.c | 76 ++++++ drivers/core/uclass.c | 4 +- drivers/gpio/Makefile | 4 - drivers/gpio/gpio-uclass.c | 36 ++- drivers/led/Kconfig | 26 ++ drivers/led/Makefile | 9 + drivers/led/led-uclass.c | 49 ++++ drivers/led/led_gpio.c | 107 ++++++++ drivers/misc/Kconfig | 9 + drivers/misc/Makefile | 3 + drivers/misc/reset-uclass.c | 81 ++++++ drivers/misc/reset_sandbox.c | 100 +++++++ drivers/misc/syscon_sandbox.c | 27 ++ drivers/mmc/Kconfig | 10 + drivers/mmc/Makefile | 3 + drivers/mmc/mmc-uclass.c | 34 +++ drivers/mmc/mmc.c | 10 +- drivers/mmc/sandbox_mmc.c | 25 ++ drivers/net/designware.c | 2 +- drivers/net/rtl8169.c | 236 +++++++++++++---- drivers/net/sandbox-raw.c | 2 +- drivers/net/sandbox.c | 2 +- drivers/net/sunxi_emac.c | 2 +- drivers/pci/pci-uclass.c | 144 ++++++++-- drivers/pci/pci_compat.c | 8 +- drivers/power/pmic/pmic-uclass.c | 57 ++-- drivers/power/regulator/regulator-uclass.c | 134 +++++----- drivers/ram/Kconfig | 18 ++ drivers/ram/Makefile | 8 + drivers/ram/ram-uclass.c | 28 ++ drivers/ram/sandbox_ram.c | 38 +++ drivers/serial/ns16550.c | 36 +-- drivers/spi/spi-uclass.c | 8 +- drivers/usb/Kconfig | 4 +- drivers/usb/eth/asix.c | 237 +++++++++++++++-- drivers/usb/eth/usb_ether.c | 131 +++++++++- drivers/usb/host/ehci-hcd.c | 17 +- drivers/usb/host/ehci-pci.c | 112 +++++--- drivers/usb/host/ehci.h | 15 +- drivers/usb/host/r8a66597-hcd.c | 14 +- drivers/usb/host/r8a66597.h | 14 +- drivers/usb/host/usb-uclass.c | 79 ++---- drivers/usb/musb-new/am35x.c | 7 + drivers/usb/musb-new/musb_core.c | 20 ++ drivers/usb/musb-new/musb_core.h | 18 ++ drivers/usb/musb-new/musb_dsps.c | 6 + drivers/usb/musb-new/musb_gadget_ep0.c | 1 + drivers/usb/musb-new/musb_host.c | 4 + drivers/usb/musb-new/musb_uboot.c | 211 +++++++++++---- drivers/usb/musb-new/musb_uboot.h | 28 ++ drivers/usb/musb-new/omap2430.c | 5 + drivers/usb/musb-new/sunxi.c | 5 +- drivers/usb/musb-new/usb-compat.h | 70 +++++ dts/Kconfig | 12 + include/asm-generic/global_data.h | 1 + include/asm-generic/gpio.h | 25 ++ include/clk.h | 80 ++++++ include/common.h | 11 + include/configs/minnowmax.h | 3 - include/debug_uart.h | 22 +- include/dm/device-internal.h | 26 ++ include/dm/device.h | 16 +- include/dm/platdata.h | 9 + include/dm/uclass-id.h | 6 + include/dm/util.h | 6 + include/dwmmc.h | 18 +- include/image.h | 11 + include/led.h | 51 ++++ include/libfdt.h | 256 +++++++++++++++++- include/linux/compat.h | 28 +- include/mmc.h | 22 ++ include/net.h | 14 +- include/pci.h | 87 +++++- include/power/pmic.h | 34 +++ include/power/regulator.h | 53 +++- include/power/sandbox_pmic.h | 4 +- include/ram.h | 38 +++ include/rc4.h | 21 ++ include/regmap.h | 72 +++++ include/reset.h | 71 +++++ include/spl.h | 12 + include/syscon.h | 56 ++++ include/test/ut.h | 15 ++ include/usb.h | 49 ++-- include/usb_ether.h | 89 ++++++- include/vsprintf.h | 26 ++ lib/Kconfig | 2 + lib/Makefile | 5 +- lib/dhry/Kconfig | 7 + lib/dhry/Makefile | 7 + lib/dhry/cmd_dhry.c | 34 +++ lib/dhry/dhry.h | 442 +++++++++++++++++++++++++++++++ lib/dhry/dhry_1.c | 421 +++++++++++++++++++++++++++++ lib/dhry/dhry_2.c | 217 +++++++++++++++ lib/fdtdec.c | 21 +- lib/libfdt/Makefile | 2 +- lib/libfdt/fdt_region.c | 492 ++++++++++++++++++++++++++++++++++ lib/libfdt/fdt_rw.c | 32 +++ lib/linux_compat.c | 16 +- lib/rc4.c | 49 ++++ lib/vsprintf.c | 19 ++ net/eth.c | 11 +- scripts/Makefile.spl | 32 +++ test/dm/Makefile | 7 + test/dm/clk.c | 59 +++++ test/dm/cmd_dm.c | 82 +----- test/dm/led.c | 72 +++++ test/dm/mmc.c | 27 ++ test/dm/ram.c | 28 ++ test/dm/regmap.c | 82 ++++++ test/dm/regulator.c | 2 +- test/dm/reset.c | 74 ++++++ test/dm/syscon.c | 31 +++ test/dm/test-main.c | 15 +- tools/Makefile | 6 +- tools/fdtgrep.c | 1234 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ tools/imagetool.h | 1 + tools/mkimage.c | 77 +++++- 155 files changed, 7319 insertions(+), 736 deletions(-) create mode 100644 doc/device-tree-bindings/leds/common.txt create mode 100644 doc/device-tree-bindings/leds/leds-gpio.txt create mode 100644 drivers/clk/Kconfig create mode 100644 drivers/clk/Makefile create mode 100644 drivers/clk/clk-uclass.c create mode 100644 drivers/clk/clk_sandbox.c create mode 100644 drivers/core/dump.c create mode 100644 drivers/core/regmap.c create mode 100644 drivers/core/syscon-uclass.c create mode 100644 drivers/led/Kconfig create mode 100644 drivers/led/Makefile create mode 100644 drivers/led/led-uclass.c create mode 100644 drivers/led/led_gpio.c create mode 100644 drivers/misc/reset-uclass.c create mode 100644 drivers/misc/reset_sandbox.c create mode 100644 drivers/misc/syscon_sandbox.c create mode 100644 drivers/mmc/mmc-uclass.c create mode 100644 drivers/mmc/sandbox_mmc.c create mode 100644 drivers/ram/Kconfig create mode 100644 drivers/ram/Makefile create mode 100644 drivers/ram/ram-uclass.c create mode 100644 drivers/ram/sandbox_ram.c create mode 100644 drivers/usb/musb-new/musb_uboot.h create mode 100644 include/led.h create mode 100644 include/ram.h create mode 100644 include/rc4.h create mode 100644 include/regmap.h create mode 100644 include/reset.h create mode 100644 include/syscon.h create mode 100644 lib/dhry/Kconfig create mode 100644 lib/dhry/Makefile create mode 100644 lib/dhry/cmd_dhry.c create mode 100644 lib/dhry/dhry.h create mode 100644 lib/dhry/dhry_1.c create mode 100644 lib/dhry/dhry_2.c create mode 100644 lib/libfdt/fdt_region.c create mode 100644 lib/rc4.c create mode 100644 test/dm/clk.c create mode 100644 test/dm/led.c create mode 100644 test/dm/mmc.c create mode 100644 test/dm/ram.c create mode 100644 test/dm/regmap.c create mode 100644 test/dm/reset.c create mode 100644 test/dm/syscon.c create mode 100644 tools/fdtgrep.c Regards, Simon