History log of /rk3399_rockchip-uboot/drivers/usb/host/ (Results 451 – 475 of 794)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
dfd8400125-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: sandbox: Add a driver for sandbox

This driver supports using emulation devices to provide a USB bus within
sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <

dm: usb: sandbox: Add a driver for sandbox

This driver supports using emulation devices to provide a USB bus within
sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

095fdef025-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: sandbox: Reset emulation devices in usb stop()

These devices must have their addresses removed ready for the next USB
bus enumeration. Add this logic to usb_stop().

Signed-off-by: Simon Gl

dm: usb: sandbox: Reset emulation devices in usb stop()

These devices must have their addresses removed ready for the next USB
bus enumeration. Add this logic to usb_stop().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

fbeceb2625-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Allow setting up a USB controller as a device/gadget

Some controllers support OTG (on-the-go) where they can operate as either
host or device. The gadget layer in U-Boot supports this.

Whi

dm: usb: Allow setting up a USB controller as a device/gadget

Some controllers support OTG (on-the-go) where they can operate as either
host or device. The gadget layer in U-Boot supports this.

While this layer does not interact with driver model, we can provide a
function which sets up the controller in the correct way. This way the code
at least builds (although it likely will not work).

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

449230f025-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Bind generic USB devices when there is no driver

At present USB devices with no driver model driver cannot be seen in the
device list, and we fail to set them up correctly. This means they

dm: usb: Bind generic USB devices when there is no driver

At present USB devices with no driver model driver cannot be seen in the
device list, and we fail to set them up correctly. This means they cannot
be used.

While having real drivers that support driver model for all USB devices
is the eventual goal, we are not there yet.

As a stop-gap, add a generic USB driver which is bound when we do not have
a real driver. This allows the device to be set up and shown on the bus.
It also allows ad-hoc code (such as usb_ether) to find these devices and
set them up.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

0566e24025-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Allow USB drivers to be declared and auto-probed

USB devices in U-Boot are currently probed only after all devices have
been enumerated. Each type of device is probed by custom code, e.g.:

dm: usb: Allow USB drivers to be declared and auto-probed

USB devices in U-Boot are currently probed only after all devices have
been enumerated. Each type of device is probed by custom code, e.g.:

- USB storage
- Keyboard
- Ethernet

With driver model this approach doesn't work very well. We could build
a picture of the bus and then go back and add the devices later, but
this means that the data structures are incomplete for quite a while.
It also does not follow the model of being able to bind a device when we
discover it.

We would prefer to have devices automatically be bound as the device is
enumerated. This allows us to attach drivers to particular USB classes
or product/vendor IDs. This is the method used by Linux.

Add the required #defines from Linux, a way of declaring a USB driver and
the logic to locate the correct driver given the USB device's descriptors.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

46b0179725-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Add driver model support to EHCI

Add a way for EHCI controller drivers to support driver model. Drivers can
call ehci_register() to register themselves in their probe() methods.

Signed-off

dm: usb: Add driver model support to EHCI

Add a way for EHCI controller drivers to support driver model. Drivers can
call ehci_register() to register themselves in their probe() methods.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

aeca43e325-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Change ehci_reset() to use a pointer

The index cannot be used with driver model, and isn't needed anyway. Change
the parameter to a pointer.

Signed-off-by: Simon Glass <sjg@chromium.org>
R

dm: usb: Change ehci_reset() to use a pointer

The index cannot be used with driver model, and isn't needed anyway. Change
the parameter to a pointer.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

deb8508c25-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Drop the EHCI weak functions

These are a pain with driver model because we might have different EHCI
drivers which want to implement them differently. Now that they use
consistent function

dm: usb: Drop the EHCI weak functions

These are a pain with driver model because we might have different EHCI
drivers which want to implement them differently. Now that they use
consistent function signatures, we can in good conscience move them to
a struct.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
Fix non-driver-model EHCI to set up the EHCI operations correctly:
Signed-off-by: Tom Rini <trini@konsulko.com>

show more ...

7372b5bd25-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Refactor EHCI init

Move the bulk of the code in usb_lowlevel_init() into a separate function
which will also be used by driver model. Keep the CONFIG options out of
this function by providi

dm: usb: Refactor EHCI init

Move the bulk of the code in usb_lowlevel_init() into a separate function
which will also be used by driver model. Keep the CONFIG options out of
this function by providing a tweak flag for Faraday. We need to avoid using
CONFIG options in driver model code where possible, since it makes it
impossible to use multiple controllers in that code where they have
different options.

The CONFIG_EHCI_HCD_INIT_AFTER_RESET option is also kept out of the
common init function. With driver model the controller will be able to
perform this extra init itself after registering with the EHCI layer.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

24ed894f25-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: ehci: Use a function to find the controller from struct udevice

With driver model we want to remove the controller pointer in struct udevice
and use driver model data structures instead. To

dm: usb: ehci: Use a function to find the controller from struct udevice

With driver model we want to remove the controller pointer in struct udevice
and use driver model data structures instead. To prepare for this, move
access to this field to a function which can provide a different
implementation for driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

6a1a816225-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Pass EHCI controller pointer to ehci_get_portsc_register()

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller. This ma

dm: usb: Pass EHCI controller pointer to ehci_get_portsc_register()

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller. This makes the weak functions
use a consistent API.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

11d18a1925-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Pass EHCI controller pointer to ehci_set_usbmode()

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller. This makes the

dm: usb: Pass EHCI controller pointer to ehci_set_usbmode()

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller. This makes the weak functions
use a consistent API.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

56d4273025-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: tegra: Drop use of global controller variable

We don't need this anymore, so adjust the code to avoid using it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <mare

dm: usb: tegra: Drop use of global controller variable

We don't need this anymore, so adjust the code to avoid using it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

727fce3625-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Pass EHCI controller pointer to ehci_powerup_fixup()

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller.

Signed-off-b

dm: usb: Pass EHCI controller pointer to ehci_powerup_fixup()

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

27f782b625-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: tegra: Store the controller type explicitly

At present the tegra driver uses a separate pointer to know which controller
type is in use. This works because only one controller type is used

dm: usb: tegra: Store the controller type explicitly

At present the tegra driver uses a separate pointer to know which controller
type is in use. This works because only one controller type is used at a
time.

With driver model we want to make the controller state hermetic in the sense
that it is not necessary to look elsewhere to know the controller type. This
will permit a controller to implement the EHCI weak functions without
reference to global data structures.

To achieve this, define an enum for the controller type and store it with
the information on each EHCI controller.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

c4a3141d25-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Allow ECHI to hold private data for the controller

Add a private data pointer that clients of EHCI can use to access their
private information. This establishes a link between struct ehci_c

dm: usb: Allow ECHI to hold private data for the controller

Add a private data pointer that clients of EHCI can use to access their
private information. This establishes a link between struct ehci_ctrl and
its associated controller data structure.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

7338287d25-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Pass EHCI controller pointer to ehci_get_port_speed()

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller.

Signed-off-

dm: usb: Pass EHCI controller pointer to ehci_get_port_speed()

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

aac064f725-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Move all the EHCI weak functions together and declare them

Put these at the top of the file so they are in one place. Also add function
prototypes to the header file to avoid call site mism

dm: usb: Move all the EHCI weak functions together and declare them

Put these at the top of the file so they are in one place. Also add function
prototypes to the header file to avoid call site mismatches.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...

de31213f25-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: Add a uclass for USB controllers

Add a uclass that can represent a USB controller. For now we do not create
devices for things attached to the controller. This will be added later.

Signed-

dm: usb: Add a uclass for USB controllers

Add a uclass that can represent a USB controller. For now we do not create
devices for things attached to the controller. This will be added later.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>

show more ...


/rk3399_rockchip-uboot/Makefile
/rk3399_rockchip-uboot/api/api_net.c
/rk3399_rockchip-uboot/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
/rk3399_rockchip-uboot/arch/arm/cpu/armv7/omap5/hw_data.c
/rk3399_rockchip-uboot/arch/arm/cpu/armv7/omap5/prcm-regs.c
/rk3399_rockchip-uboot/arch/arm/cpu/armv7/sunxi/board.c
/rk3399_rockchip-uboot/arch/arm/cpu/armv7/sunxi/rsb.c
/rk3399_rockchip-uboot/arch/arm/cpu/armv7/sunxi/usbc.c
/rk3399_rockchip-uboot/arch/arm/dts/Makefile
/rk3399_rockchip-uboot/arch/arm/dts/exynos5250-snow.dts
/rk3399_rockchip-uboot/arch/arm/dts/exynos5420-peach-pit.dts
/rk3399_rockchip-uboot/arch/arm/dts/exynos5800-peach-pi.dts
/rk3399_rockchip-uboot/arch/arm/dts/ls1021a-qds.dts
/rk3399_rockchip-uboot/arch/arm/dts/ls1021a-twr.dts
/rk3399_rockchip-uboot/arch/arm/dts/ls1021a.dtsi
/rk3399_rockchip-uboot/arch/arm/dts/skeleton64.dtsi
/rk3399_rockchip-uboot/arch/arm/include/asm/arch-am33xx/cpu.h
/rk3399_rockchip-uboot/arch/arm/include/asm/arch-am33xx/hardware_am43xx.h
/rk3399_rockchip-uboot/arch/arm/include/asm/arch-omap5/omap.h
/rk3399_rockchip-uboot/arch/arm/include/asm/arch-sunxi/cpu_sun4i.h
/rk3399_rockchip-uboot/arch/arm/include/asm/arch-sunxi/gpio.h
/rk3399_rockchip-uboot/arch/arm/include/asm/arch-sunxi/i2c.h
/rk3399_rockchip-uboot/arch/arm/include/asm/arch-sunxi/usbc.h
/rk3399_rockchip-uboot/arch/arm/include/asm/dma-mapping.h
/rk3399_rockchip-uboot/arch/arm/include/asm/omap_common.h
/rk3399_rockchip-uboot/arch/arm/include/asm/types.h
/rk3399_rockchip-uboot/arch/arm/lib/board.c
/rk3399_rockchip-uboot/arch/arm/lib/bootm.c
/rk3399_rockchip-uboot/arch/arm/mach-kirkwood/include/mach/config.h
/rk3399_rockchip-uboot/arch/avr32/lib/board.c
/rk3399_rockchip-uboot/arch/mips/mach-au1x00/au1x00_eth.c
/rk3399_rockchip-uboot/arch/nds32/lib/board.c
/rk3399_rockchip-uboot/arch/openrisc/lib/board.c
/rk3399_rockchip-uboot/arch/powerpc/cpu/mpc8260/ether_fcc.c
/rk3399_rockchip-uboot/arch/powerpc/cpu/mpc85xx/ether_fcc.c
/rk3399_rockchip-uboot/arch/powerpc/cpu/mpc8xx/scc.c
/rk3399_rockchip-uboot/arch/powerpc/lib/board.c
/rk3399_rockchip-uboot/arch/sandbox/Kconfig
/rk3399_rockchip-uboot/arch/sandbox/cpu/Makefile
/rk3399_rockchip-uboot/arch/sandbox/cpu/cpu.c
/rk3399_rockchip-uboot/arch/sandbox/cpu/eth-raw-os.c
/rk3399_rockchip-uboot/arch/sandbox/dts/cros-ec-keyboard.dtsi
/rk3399_rockchip-uboot/arch/sandbox/dts/sandbox.dts
/rk3399_rockchip-uboot/arch/sandbox/include/asm/eth-raw-os.h
/rk3399_rockchip-uboot/arch/sandbox/include/asm/eth.h
/rk3399_rockchip-uboot/arch/sandbox/include/asm/io.h
/rk3399_rockchip-uboot/arch/sandbox/include/asm/processor.h
/rk3399_rockchip-uboot/arch/sandbox/include/asm/test.h
/rk3399_rockchip-uboot/arch/sandbox/include/asm/u-boot-sandbox.h
/rk3399_rockchip-uboot/arch/sandbox/lib/Makefile
/rk3399_rockchip-uboot/arch/sandbox/lib/pci_io.c
/rk3399_rockchip-uboot/arch/sh/lib/board.c
/rk3399_rockchip-uboot/arch/sparc/lib/board.c
/rk3399_rockchip-uboot/arch/x86/Kconfig
/rk3399_rockchip-uboot/arch/x86/cpu/baytrail/early_uart.c
/rk3399_rockchip-uboot/arch/x86/cpu/coreboot/pci.c
/rk3399_rockchip-uboot/arch/x86/cpu/coreboot/sdram.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/bd82x6x.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/cpu.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/early_init.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/early_me.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/gma.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/lpc.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/mrccache.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/northbridge.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/pch.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/pci.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/report_platform.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/sata.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/sdram.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/usb_ehci.c
/rk3399_rockchip-uboot/arch/x86/cpu/ivybridge/usb_xhci.c
/rk3399_rockchip-uboot/arch/x86/cpu/pci.c
/rk3399_rockchip-uboot/arch/x86/cpu/quark/quark.c
/rk3399_rockchip-uboot/arch/x86/cpu/queensbay/tnc.c
/rk3399_rockchip-uboot/arch/x86/dts/Makefile
/rk3399_rockchip-uboot/arch/x86/dts/chromebook_link.dts
/rk3399_rockchip-uboot/arch/x86/dts/chromebox_panther.dts
/rk3399_rockchip-uboot/arch/x86/include/asm/arch-ivybridge/bd82x6x.h
/rk3399_rockchip-uboot/arch/x86/include/asm/arch-ivybridge/mrccache.h
/rk3399_rockchip-uboot/arch/x86/include/asm/pci.h
/rk3399_rockchip-uboot/arch/x86/lib/Makefile
/rk3399_rockchip-uboot/arch/x86/lib/bios_interrupts.c
/rk3399_rockchip-uboot/arch/x86/lib/init_helpers.c
/rk3399_rockchip-uboot/arch/x86/lib/lpc-uclass.c
/rk3399_rockchip-uboot/arch/x86/lib/pch-uclass.c
/rk3399_rockchip-uboot/board/BuS/eb_cpux9k2/cpux9k2.c
/rk3399_rockchip-uboot/board/BuS/vl_ma2sc/vl_ma2sc.c
/rk3399_rockchip-uboot/board/atmel/at91sam9261ek/at91sam9261ek.c
/rk3399_rockchip-uboot/board/coreboot/coreboot/coreboot.c
/rk3399_rockchip-uboot/board/egnite/ethernut5/ethernut5.c
/rk3399_rockchip-uboot/board/google/chromebook_link/link.c
/rk3399_rockchip-uboot/board/google/chromebox_panther/Kconfig
/rk3399_rockchip-uboot/board/google/chromebox_panther/MAINTAINERS
/rk3399_rockchip-uboot/board/google/chromebox_panther/Makefile
/rk3399_rockchip-uboot/board/google/chromebox_panther/panther.c
/rk3399_rockchip-uboot/board/ronetix/pm9261/pm9261.c
/rk3399_rockchip-uboot/board/ronetix/pm9g45/pm9g45.c
/rk3399_rockchip-uboot/board/samsung/common/board.c
/rk3399_rockchip-uboot/board/samsung/goni/goni.c
/rk3399_rockchip-uboot/board/samsung/smdk5420/Kconfig
/rk3399_rockchip-uboot/board/sandbox/README.sandbox
/rk3399_rockchip-uboot/board/sandbox/sandbox.c
/rk3399_rockchip-uboot/board/sunxi/Kconfig
/rk3399_rockchip-uboot/board/sunxi/MAINTAINERS
/rk3399_rockchip-uboot/board/sunxi/board.c
/rk3399_rockchip-uboot/board/sunxi/gmac.c
/rk3399_rockchip-uboot/board/ti/am43xx/board.c
/rk3399_rockchip-uboot/board/ti/beagle_x15/board.c
/rk3399_rockchip-uboot/board/ti/dra7xx/evm.c
/rk3399_rockchip-uboot/common/board_f.c
/rk3399_rockchip-uboot/common/board_r.c
/rk3399_rockchip-uboot/common/bootm.c
/rk3399_rockchip-uboot/common/cmd_bdinfo.c
/rk3399_rockchip-uboot/common/cmd_bootm.c
/rk3399_rockchip-uboot/common/cmd_demo.c
/rk3399_rockchip-uboot/common/cmd_dfu.c
/rk3399_rockchip-uboot/common/cmd_fastboot.c
/rk3399_rockchip-uboot/common/cmd_fat.c
/rk3399_rockchip-uboot/common/cmd_fdt.c
/rk3399_rockchip-uboot/common/cmd_lzmadec.c
/rk3399_rockchip-uboot/common/cmd_md5sum.c
/rk3399_rockchip-uboot/common/cmd_mem.c
/rk3399_rockchip-uboot/common/cmd_net.c
/rk3399_rockchip-uboot/common/cmd_nvedit.c
/rk3399_rockchip-uboot/common/cmd_pci.c
/rk3399_rockchip-uboot/common/cmd_pxe.c
/rk3399_rockchip-uboot/common/cmd_sf.c
/rk3399_rockchip-uboot/common/cmd_source.c
/rk3399_rockchip-uboot/common/cmd_thordown.c
/rk3399_rockchip-uboot/common/cmd_trace.c
/rk3399_rockchip-uboot/common/cmd_usb_mass_storage.c
/rk3399_rockchip-uboot/common/cmd_ximg.c
/rk3399_rockchip-uboot/common/cros_ec.c
/rk3399_rockchip-uboot/common/fb_mmc.c
/rk3399_rockchip-uboot/common/hash.c
/rk3399_rockchip-uboot/common/image-fdt.c
/rk3399_rockchip-uboot/common/image-fit.c
/rk3399_rockchip-uboot/common/image.c
/rk3399_rockchip-uboot/common/iotrace.c
/rk3399_rockchip-uboot/common/lcd.c
/rk3399_rockchip-uboot/common/malloc_simple.c
/rk3399_rockchip-uboot/common/spl/spl_net.c
/rk3399_rockchip-uboot/common/usb.c
/rk3399_rockchip-uboot/configs/A20-OLinuXino-Lime2_defconfig
/rk3399_rockchip-uboot/configs/Ainol_AW1_defconfig
/rk3399_rockchip-uboot/configs/Ampe_A76_defconfig
/rk3399_rockchip-uboot/configs/Cubieboard2_defconfig
/rk3399_rockchip-uboot/configs/Ippo_q8h_v1_2_defconfig
/rk3399_rockchip-uboot/configs/Ippo_q8h_v5_defconfig
/rk3399_rockchip-uboot/configs/TZX-Q8-713B7_defconfig
/rk3399_rockchip-uboot/configs/Yones_Toptech_BD1078_defconfig
/rk3399_rockchip-uboot/configs/chromebook_link_defconfig
/rk3399_rockchip-uboot/configs/chromebox_panther_defconfig
/rk3399_rockchip-uboot/configs/coreboot-x86_defconfig
/rk3399_rockchip-uboot/configs/iNet_3F_defconfig
/rk3399_rockchip-uboot/configs/iNet_3W_defconfig
/rk3399_rockchip-uboot/configs/iNet_86VS_defconfig
/rk3399_rockchip-uboot/configs/mixtile_loftq_defconfig
/rk3399_rockchip-uboot/configs/sandbox_defconfig
/rk3399_rockchip-uboot/configs/snow_defconfig
/rk3399_rockchip-uboot/doc/README.android-fastboot
/rk3399_rockchip-uboot/doc/README.drivers.eth
/rk3399_rockchip-uboot/doc/README.fdt-control
/rk3399_rockchip-uboot/doc/device-tree-bindings/i2c/i2c-gpio.txt
/rk3399_rockchip-uboot/doc/driver-model/pci-info.txt
/rk3399_rockchip-uboot/drivers/core/device-remove.c
/rk3399_rockchip-uboot/drivers/core/device.c
/rk3399_rockchip-uboot/drivers/core/lists.c
/rk3399_rockchip-uboot/drivers/core/uclass.c
/rk3399_rockchip-uboot/drivers/demo/demo-simple.c
/rk3399_rockchip-uboot/drivers/gpio/at91_gpio.c
/rk3399_rockchip-uboot/drivers/gpio/bcm2835_gpio.c
/rk3399_rockchip-uboot/drivers/gpio/gpio-uclass.c
/rk3399_rockchip-uboot/drivers/gpio/intel_ich6_gpio.c
/rk3399_rockchip-uboot/drivers/gpio/mxc_gpio.c
/rk3399_rockchip-uboot/drivers/gpio/omap_gpio.c
/rk3399_rockchip-uboot/drivers/gpio/s5p_gpio.c
/rk3399_rockchip-uboot/drivers/gpio/sandbox.c
/rk3399_rockchip-uboot/drivers/gpio/sunxi_gpio.c
/rk3399_rockchip-uboot/drivers/gpio/tegra_gpio.c
/rk3399_rockchip-uboot/drivers/i2c/Kconfig
/rk3399_rockchip-uboot/drivers/i2c/Makefile
/rk3399_rockchip-uboot/drivers/i2c/i2c-gpio.c
/rk3399_rockchip-uboot/drivers/i2c/i2c-uclass.c
/rk3399_rockchip-uboot/drivers/i2c/i2c-uniphier-f.c
/rk3399_rockchip-uboot/drivers/i2c/i2c-uniphier.c
/rk3399_rockchip-uboot/drivers/i2c/mvtwsi.c
/rk3399_rockchip-uboot/drivers/i2c/s3c24x0_i2c.c
/rk3399_rockchip-uboot/drivers/i2c/sandbox_i2c.c
/rk3399_rockchip-uboot/drivers/i2c/tegra_i2c.c
/rk3399_rockchip-uboot/drivers/input/cros_ec_keyb.c
/rk3399_rockchip-uboot/drivers/input/i8042.c
/rk3399_rockchip-uboot/drivers/misc/Kconfig
/rk3399_rockchip-uboot/drivers/misc/Makefile
/rk3399_rockchip-uboot/drivers/misc/cros_ec.c
/rk3399_rockchip-uboot/drivers/misc/cros_ec_i2c.c
/rk3399_rockchip-uboot/drivers/misc/cros_ec_lpc.c
/rk3399_rockchip-uboot/drivers/misc/cros_ec_sandbox.c
/rk3399_rockchip-uboot/drivers/misc/cros_ec_spi.c
/rk3399_rockchip-uboot/drivers/misc/swap_case.c
/rk3399_rockchip-uboot/drivers/mtd/spi/sf-uclass.c
/rk3399_rockchip-uboot/drivers/mtd/spi/sf_probe.c
/rk3399_rockchip-uboot/drivers/net/4xx_enet.c
/rk3399_rockchip-uboot/drivers/net/Kconfig
/rk3399_rockchip-uboot/drivers/net/Makefile
/rk3399_rockchip-uboot/drivers/net/netconsole.c
/rk3399_rockchip-uboot/drivers/net/sandbox-raw.c
/rk3399_rockchip-uboot/drivers/net/sandbox.c
/rk3399_rockchip-uboot/drivers/net/sunxi_emac.c
/rk3399_rockchip-uboot/drivers/pci/Kconfig
/rk3399_rockchip-uboot/drivers/pci/Makefile
/rk3399_rockchip-uboot/drivers/pci/pci-emul-uclass.c
/rk3399_rockchip-uboot/drivers/pci/pci-uclass.c
/rk3399_rockchip-uboot/drivers/pci/pci.c
/rk3399_rockchip-uboot/drivers/pci/pci_auto.c
/rk3399_rockchip-uboot/drivers/pci/pci_common.c
/rk3399_rockchip-uboot/drivers/pci/pci_compat.c
/rk3399_rockchip-uboot/drivers/pci/pci_sandbox.c
/rk3399_rockchip-uboot/drivers/pci/pci_x86.c
/rk3399_rockchip-uboot/drivers/power/axp152.c
/rk3399_rockchip-uboot/drivers/power/axp209.c
/rk3399_rockchip-uboot/drivers/power/axp221.c
/rk3399_rockchip-uboot/drivers/serial/ns16550.c
/rk3399_rockchip-uboot/drivers/serial/serial-uclass.c
/rk3399_rockchip-uboot/drivers/serial/serial_uniphier.c
/rk3399_rockchip-uboot/drivers/spi/Makefile
/rk3399_rockchip-uboot/drivers/spi/fsl_dspi.c
/rk3399_rockchip-uboot/drivers/spi/fsl_qspi.c
/rk3399_rockchip-uboot/drivers/spi/ich.c
/rk3399_rockchip-uboot/drivers/spi/spi-uclass.c
/rk3399_rockchip-uboot/drivers/usb/Kconfig
/rk3399_rockchip-uboot/drivers/usb/dwc3/Makefile
/rk3399_rockchip-uboot/drivers/usb/dwc3/core.c
/rk3399_rockchip-uboot/drivers/usb/dwc3/core.h
/rk3399_rockchip-uboot/drivers/usb/dwc3/dwc3-omap.c
/rk3399_rockchip-uboot/drivers/usb/dwc3/ep0.c
/rk3399_rockchip-uboot/drivers/usb/dwc3/gadget.c
/rk3399_rockchip-uboot/drivers/usb/dwc3/gadget.h
/rk3399_rockchip-uboot/drivers/usb/dwc3/io.h
/rk3399_rockchip-uboot/drivers/usb/dwc3/linux-compat.h
/rk3399_rockchip-uboot/drivers/usb/dwc3/ti_usb_phy.c
/rk3399_rockchip-uboot/drivers/usb/gadget/atmel_usba_udc.c
/rk3399_rockchip-uboot/drivers/usb/gadget/ci_udc.c
/rk3399_rockchip-uboot/drivers/usb/gadget/composite.c
/rk3399_rockchip-uboot/drivers/usb/gadget/epautoconf.c
/rk3399_rockchip-uboot/drivers/usb/gadget/ether.c
/rk3399_rockchip-uboot/drivers/usb/gadget/f_fastboot.c
/rk3399_rockchip-uboot/drivers/usb/gadget/f_mass_storage.c
/rk3399_rockchip-uboot/drivers/usb/gadget/f_thor.c
/rk3399_rockchip-uboot/drivers/usb/gadget/fotg210.c
/rk3399_rockchip-uboot/drivers/usb/gadget/gadget_chips.h
/rk3399_rockchip-uboot/drivers/usb/gadget/pxa25x_udc.c
/rk3399_rockchip-uboot/drivers/usb/gadget/s3c_udc_otg.c
/rk3399_rockchip-uboot/drivers/usb/gadget/udc/Makefile
/rk3399_rockchip-uboot/drivers/usb/gadget/udc/udc-core.c
Makefile
usb-uclass.c
/rk3399_rockchip-uboot/drivers/usb/musb-new/musb_uboot.c
/rk3399_rockchip-uboot/drivers/usb/musb-new/sunxi.c
/rk3399_rockchip-uboot/drivers/usb/phy/omap_usb_phy.c
/rk3399_rockchip-uboot/drivers/video/cfb_console.c
/rk3399_rockchip-uboot/drivers/video/sunxi_display.c
/rk3399_rockchip-uboot/fs/fs.c
/rk3399_rockchip-uboot/include/axp152.h
/rk3399_rockchip-uboot/include/axp209.h
/rk3399_rockchip-uboot/include/axp221.h
/rk3399_rockchip-uboot/include/common.h
/rk3399_rockchip-uboot/include/configs/am43xx_evm.h
/rk3399_rockchip-uboot/include/configs/chromebook_link.h
/rk3399_rockchip-uboot/include/configs/chromebox_panther.h
/rk3399_rockchip-uboot/include/configs/db-mv784mp-gp.h
/rk3399_rockchip-uboot/include/configs/dra7xx_evm.h
/rk3399_rockchip-uboot/include/configs/edminiv2.h
/rk3399_rockchip-uboot/include/configs/exynos5420-common.h
/rk3399_rockchip-uboot/include/configs/maxbcm.h
/rk3399_rockchip-uboot/include/configs/sandbox.h
/rk3399_rockchip-uboot/include/configs/smdk5250.h
/rk3399_rockchip-uboot/include/configs/snow.h
/rk3399_rockchip-uboot/include/configs/sunxi-common.h
/rk3399_rockchip-uboot/include/configs/ti_omap5_common.h
/rk3399_rockchip-uboot/include/configs/x86-chromebook.h
/rk3399_rockchip-uboot/include/configs/x86-common.h
/rk3399_rockchip-uboot/include/cros_ec.h
/rk3399_rockchip-uboot/include/dm/device-internal.h
/rk3399_rockchip-uboot/include/dm/device.h
/rk3399_rockchip-uboot/include/dm/test.h
/rk3399_rockchip-uboot/include/dm/uclass-id.h
/rk3399_rockchip-uboot/include/dm/uclass-internal.h
/rk3399_rockchip-uboot/include/dm/uclass.h
/rk3399_rockchip-uboot/include/dwc3-omap-uboot.h
/rk3399_rockchip-uboot/include/dwc3-uboot.h
/rk3399_rockchip-uboot/include/fdtdec.h
/rk3399_rockchip-uboot/include/fsl_dspi.h
/rk3399_rockchip-uboot/include/i2c.h
/rk3399_rockchip-uboot/include/linker_lists.h
/rk3399_rockchip-uboot/include/linux/compat.h
/rk3399_rockchip-uboot/include/linux/usb/composite.h
/rk3399_rockchip-uboot/include/linux/usb/dwc3-omap.h
/rk3399_rockchip-uboot/include/linux/usb/gadget.h
/rk3399_rockchip-uboot/include/linux/usb/otg.h
/rk3399_rockchip-uboot/include/mapmem.h
/rk3399_rockchip-uboot/include/net.h
/rk3399_rockchip-uboot/include/os.h
/rk3399_rockchip-uboot/include/pci.h
/rk3399_rockchip-uboot/include/pci_ids.h
/rk3399_rockchip-uboot/include/spi_flash.h
/rk3399_rockchip-uboot/include/ti-usb-phy-uboot.h
/rk3399_rockchip-uboot/include/usb.h
/rk3399_rockchip-uboot/lib/fdtdec.c
/rk3399_rockchip-uboot/lib/trace.c
/rk3399_rockchip-uboot/net/eth.c
/rk3399_rockchip-uboot/net/net.c
/rk3399_rockchip-uboot/net/nfs.c
/rk3399_rockchip-uboot/net/tftp.c
/rk3399_rockchip-uboot/test/compression.c
/rk3399_rockchip-uboot/test/dm/Makefile
/rk3399_rockchip-uboot/test/dm/bus.c
/rk3399_rockchip-uboot/test/dm/cmd_dm.c
/rk3399_rockchip-uboot/test/dm/core.c
/rk3399_rockchip-uboot/test/dm/eth.c
/rk3399_rockchip-uboot/test/dm/pci.c
/rk3399_rockchip-uboot/test/dm/test-uclass.c
/rk3399_rockchip-uboot/test/dm/test.dts
5877de9112-Apr-2015 Stephen Warren <swarren@wwwdotorg.org>

usb: dwc2: retry NAK'd interrupt transfers

IIUC, interrupt transfers are NAK'd by devices until they wish to trigger
an interrupt, and e.g. EHCI controllers retry these in HW until they are
ACK'd. H

usb: dwc2: retry NAK'd interrupt transfers

IIUC, interrupt transfers are NAK'd by devices until they wish to trigger
an interrupt, and e.g. EHCI controllers retry these in HW until they are
ACK'd. However, DWC2 doesn't seem to retry, so we need to do this in SW.
In practice, I've seen DWC2_HCINT_FRMOVRUN happen too. I'm not quite sure
what this error implies; perhaps it's related to how near the end of a
USB frame we're at when the interrupt transfer is initiated? Anyway,
retrying this temporary error seems to be necessary too.

With all these commits applied, both my USB keyboards (one LS Lenovo and
one FS Dell) work correctly when there is no USB hub between the SoC and
the keyboard; We still need split transactions to be implemented for hubs
to work.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>

show more ...

e236519b11-Apr-2015 Stephen Warren <swarren@wwwdotorg.org>

usb: dwc2: implement interrupt transfers

As best I can tell, there's no difference between bulk and interrupt
transfers in terms of how the HW should be programmed, at least given
that we're executi

usb: dwc2: implement interrupt transfers

As best I can tell, there's no difference between bulk and interrupt
transfers in terms of how the HW should be programmed, at least given
that we're executing one transaction at a time rather than scheduling
them into frames for maximum throughput.

This patch ends up sharing the toggle bit state between bulk and
interrupt transfers on a particular EP. However I believe this is fine;
AFAIK a given EP either uses bulk or interrupt transfers and doesn't mix
them.

This patch doesn't do anything with the "interval" parameter for
interrupt transfers, but then most other USB controller drivers in U-Boot
don't either.

It turns out that one of my keyboards is happy to work using control
transfers but the other only gives non-zero "HID reports" via interrupt
transfers.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>

show more ...

ed9bcbc711-Apr-2015 Stephen Warren <swarren@wwwdotorg.org>

usb: dwc2: correctly program hcchar for LS devices

A bit must be set in HCCHAR when communicating with low-speed devices.
I have no idea why there's no corresponding bit to distinguish between
full-

usb: dwc2: correctly program hcchar for LS devices

A bit must be set in HCCHAR when communicating with low-speed devices.
I have no idea why there's no corresponding bit to distinguish between
full-speed and high-speed devices, but no matter; they all work now!

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>

show more ...

4748cce528-Mar-2015 Stephen Warren <swarren@wwwdotorg.org>

usb: dwc2: detect device speed correctly

This doesn't make my LS keyboard work any better, but it does at least
report the correct speed in "usb tree".

Signed-off-by: Stephen Warren <swarren@wwwdot

usb: dwc2: detect device speed correctly

This doesn't make my LS keyboard work any better, but it does at least
report the correct speed in "usb tree".

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>

show more ...

5c0beb5c25-Mar-2015 Stephen Warren <swarren@wwwdotorg.org>

usb: dwc2: use phys_to_bus/bus_to_phys

Use of these APIs is required on the Raspberry Pi. With this change, USB
on RPi1 should be more reliable, and USB on the RPi2 will start working.

Signed-off-b

usb: dwc2: use phys_to_bus/bus_to_phys

Use of these APIs is required on the Raspberry Pi. With this change, USB
on RPi1 should be more reliable, and USB on the RPi2 will start working.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>

show more ...

fc909c0524-Mar-2015 Stephen Warren <swarren@wwwdotorg.org>

usb: dwc2: fix bulk transfers

When I created wait_for_chhltd(), I noticed that some instances of the
code it replaced expected the ACK bit to be set and others didn't. I
assumed this was an accident

usb: dwc2: fix bulk transfers

When I created wait_for_chhltd(), I noticed that some instances of the
code it replaced expected the ACK bit to be set and others didn't. I
assumed this was an accidental inconsistency in the code, so wrote
wait_for_chhltd() to always expect ACK to be set. This code appeared to
work correctly for both enumeration of USB keyboards and operation of
USB Ethernet devices. However, this change broke USB Mass Storage (at
least my USB SD card reader). This change reverts to exactly the
original behaviour. I'm not sure why the ACK bit isn't always set
(perhaps a quirk in the USB HW or DWC2 controller), but the code works
this way!

Fixes: 5be4ca7d6ac8 ("usb: dwc2: unify waiting for transfer completion")
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>

show more ...

1...<<11121314151617181920>>...32