07 May, 2020

1 commit

  • Using this way to check if OTG bus active, not depending on checking
    OTG register. Because checking OTG register only working for first
    cold boot from ROM. While doing partition reboot, SCFW will turn off
    the entire conn SS, so that way won't work.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan

    Ye Li
     

27 Apr, 2020

2 commits

  • On 2019.04 SPL, we enabled DM gadget driver for QM/QXP to support
    dual USB ports. The CI_UDC DM gadget driver will call init function
    inside EHCI mx6 driver, so when building SPL on iMX8QM/QXP with CI UDC
    enabled, we have to enable usb host driver as well, and this introduces
    about more than 40KB size to SPL.

    Move the common codes to a independent file, so that both host driver
    and gadget driver can call it, then decouple the host and gadget driver.

    Note: the patch only applies to ci_udc gadget DM driver. For non-DM gadget
    driver, it still depends ehci host interfaces.

    Signed-off-by: Ye Li
    Acked-by: Peng Fan
    (cherry picked from commit 1afed171a77b4c95cd4ea76f29d5a0a6bb199820)

    Ye Li
     
  • Convert the ci_udc driver to driver model by using the uclass
    UCLASS_USB_GADGET_GENERIC. The clk and power of USB controller and USB
    PHY both are initialized by parsing the device tree nodes.

    If CONFIG_DM_USB_GADGET is defined, we use the ci_udc driver in DM way,
    if it does not defined, we can use ci_udc driver in its original Non-DM
    way.

    Move some USB PHY register definitions from ehci-mx6.c to
    asm/mach-imx/regs-usbphy.h in order to share with DM usb gadget driver.

    Signed-off-by: Sherry Sun
    Reviewed-by: Ye Li
    (cherry picked from commit 5c50d6bd6fda34827a27387e42c9a803da40b1e5)

    Sherry Sun
     

17 Nov, 2019

1 commit


24 Oct, 2019

1 commit


20 May, 2019

1 commit


21 Apr, 2019

4 commits

  • Add compatible "st,stm32mp1-hsotg" and associated driver data to manage
    the usb33d-supply and the ST specific register for VBus sensing.

    Signed-off-by: Patrick Delaunay
    # Conflicts:
    # drivers/usb/gadget/dwc2_udc_otg.c
    Reviewed-by: Lukasz Majewski

    Patrick Delaunay
     
  • All TX fifo size can be different, add tx_fifo_sz_array[]
    into dwc2_plat_otg_data to be able to set them.

    tx_fifo_sz_array[] is 17 Bytes long and can contains max 16
    tx fifo size (synopsys IP supports max 16 IN endpoints).
    First entry of tx_fifo_sz_array[] is the number of valid
    fifo size the array contains.

    In case of tx_fifo_sz_array[] doesn't contains the same
    number of element than max hardware endpoint, display
    a warning message.

    Compatibility with board which doesn't use tx_fifo_sz_array[]
    (Rockchip rk322x/rk3128/rv1108/rk3288/rk3036) is kept.

    Signed-off-by: Patrice Chotard
    Signed-off-by: Patrick Delaunay
    Reviewed-by: Lukasz Majewski

    Patrice Chotard
     
  • Add a new function to check the session B validity, to be use to check
    cable connection.

    Signed-off-by: Patrick Delaunay
    Reviewed-by: Lukasz Majewski

    Patrick Delaunay
     
  • Handle "force-b-session-valid" property from DT.

    Signed-off-by: Patrick Delaunay
    Reviewed-by: Lukasz Majewski

    Patrick Delaunay
     

15 Dec, 2018

1 commit


06 Dec, 2018

1 commit

  • The regs_phy field of the platform data structure for dwc2-otg is
    today declared an unsigned int, but will eventually be cast into a
    void* for a writel operation. This triggers errors on modern GCC
    versions.

    E.g. we get the following error with GCC 6.3:
    drivers/usb/phy/rockchip_usb2_phy.c: In function 'property_enable':
    arch/arm/include/asm/io.h:49:29: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
    #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v))
    ^
    arch/arm/include/asm/io.h:117:48: note: in expansion of macro '__arch_putl'
    #define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v; })
    ^~~~~~~~~~~
    drivers/usb/phy/rockchip_usb2_phy.c:61:2: note: in expansion of macro 'writel'
    writel(val, pdata->regs_phy + reg->offset);
    ^~~~~~

    This commit changes regs_phy to be a uintptr_t to ensure that it is
    large enough to hold any valid pointer (and fix the associated
    warning).

    Signed-off-by: Philipp Tomsich

    Philipp Tomsich
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

28 Nov, 2017

1 commit


12 Oct, 2017

1 commit

  • When compiling with W=1 the following warning is observed:

    board/freescale/mx6sabresd/mx6sabresd.c:601:5: warning: no previous prototype for ‘board_ehci_power’ [-Wmissing-prototypes] int board_ehci_power(int port, int on)

    Remove this warning by adding the function prototype into usb/ehci-ci.h file.

    Signed-off-by: Diego Dorta

    Diego Dorta
     

23 Sep, 2017

1 commit


10 Aug, 2017

1 commit


16 Jun, 2017

1 commit


12 Jun, 2017

1 commit

  • There was for long time no activity in the 8xx area.
    We need to go further and convert to Kconfig, but it
    turned out, nobody is interested anymore in 8xx,
    so remove it (with a heavy heart, knowing that I remove
    here the root of U-Boot).

    Signed-off-by: Heiko Schocher

    Heiko Schocher
     

08 Jun, 2017

1 commit

  • The regs_otg field in uintptr_t of the platform data structure for
    dwc2-otg has thus far been an unsigned int, but will eventually be
    casted into a void*.

    This raises the following error with GCC 6.3 and buildman:
    ../drivers/usb/gadget/dwc2_udc_otg.c: In function 'dwc2_udc_probe':
    ../drivers/usb/gadget/dwc2_udc_otg.c:821:8: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    reg = (struct dwc2_usbotg_reg *)pdata->regs_otg;
    ^

    This changes regs_otg to a uintptr_t to ensure that it is large enough
    to hold any valid pointer (and fix the associated warning).

    Signed-off-by: Philipp Tomsich

    Philipp Tomsich
     

18 Apr, 2017

1 commit


24 Sep, 2016

1 commit


27 Jul, 2016

2 commits


26 Jul, 2016

2 commits


02 Apr, 2016

5 commits

  • Use definitions from ehci.h instead.

    Signed-off-by: Mateusz Kulikowski
    Acked-by: Marek Vasut
    Tested-by: Simon Glass

    Mateusz Kulikowski
     
  • Some registers of usb_ehci were marked as reserved.
    This may be true for some variants of Chipidea USB core, but they have
    meaning on other devices.

    The following registers were added:
    sbusstatus/sbusmode: AHB-related registers
    genconfig*: Auxiluary IP core configuration registers.

    Signed-off-by: Mateusz Kulikowski
    Reviewed-by: Marek Vasut
    Tested-by: Simon Glass

    Mateusz Kulikowski
     
  • Most of ehci-fsl header describe USB controller
    designed by Chipidea and used by various SoC vendors.

    This patch renames it to a generic header: ehci-ci.h
    Contents of file are not changed (so it contains several
    references to freescale SoCs).

    Signed-off-by: Mateusz Kulikowski
    Acked-by: Marek Vasut
    Tested-by: Simon Glass

    Mateusz Kulikowski
     
  • ulpi_read and ulpi_write are used to read/write registers via ULPI bus.
    Code generates compilation warnings on 64-bit machines where pointer
    is cast to u32.

    This patch drops all but last 8 bits of register address.
    It is possible, because addresses on ULPI bus are 6- or 8-bit.

    It is not possible (according to ULPI 1.1 spec) to have more
    than 8-bit addressing.

    This patch should not cause regressions as all calls to
    ulpi_read/write use either structure pointer (@ address 0) or integer
    offsets cast to pointer - addresses requested are way below 8-bit range.

    Signed-off-by: Mateusz Kulikowski
    Acked-by: Marek Vasut

    Mateusz Kulikowski
     
  • viewport_addr is address of memory mapped ULPI viewport.
    It is used only as argument to readl/writel later
    causing compile warnings on 64-bit devices.

    This fix changes its type to match pointer size.

    Signed-off-by: Mateusz Kulikowski
    Acked-by: Marek Vasut

    Mateusz Kulikowski
     

19 Jan, 2016

1 commit

  • In a number of places we had wordings of the GPL (or LGPL in a few
    cases) license text that were split in such a way that it wasn't caught
    previously. Convert all of these to the correct SPDX-License-Identifier
    tag.

    Signed-off-by: Tom Rini

    Tom Rini
     

18 Dec, 2015

7 commits


12 Dec, 2014

1 commit