Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drivers: udc: add initial support for DWC2 device controller #64943

Merged
merged 4 commits into from Dec 18, 2023

Commits on Dec 15, 2023

  1. drivers: usb: add common DWC2 register header

    This header is based on drivers/usb/device/usb_dw_registers.h and
    describes registers of the DWC2 controllers IP and is intended for use
    in both device controller drivers and a host controller driver. The
    difference to usb_dw_registers.h is that this header does not confuse
    offsets with bit positions, contains all the definitions required for
    device mode, has register and bit field names identical to the databook
    and no annoying underscores.
    
    Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
    jfischer-no committed Dec 15, 2023
    Copy the full SHA
    fc168f8 View commit details
    Browse the repository at this point in the history
  2. drivers: usb: use common usb_dwc2_hw.h header

    Use new common header and remove usb_dw_registers.h.
    No functional changes, only renaming of registers and field identifiers.
    
    Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
    jfischer-no committed Dec 15, 2023
    Copy the full SHA
    39b5b18 View commit details
    Browse the repository at this point in the history
  3. drivers: udc: add initial support for DWC2 controller

    The driver currently supports only dedicated FIFO mode (with
    dynfifosizing if enabled). Control, bulk and interrupt transfers are
    supported, isochronous transfers are not yet supported. The driver
    accesses controller registers using sys_io.h, but for debugging purposes
    one can get a register map from the driver's config, similar to the
    usb_dc_dw.c driver.
    
    Initial support also has vendor quirks for the STM32F4 SoC family.
    Tested on NUCLEO-F413HG.
    
    Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
    jfischer-no committed Dec 15, 2023
    Copy the full SHA
    4bba248 View commit details
    Browse the repository at this point in the history
  4. samples: usb shell: add DT overlay to support snps,dwc2 on nucleo_f413zh

    Add DT overlay to be able to support and test UDC DWC2 driver
    (snps,dwc2) on nucleo_f413zh board. This disables STM32 shim
    driver described and configured on the SoC and board level.
    
    Obviously,it should work with other STM32F4 boards as well and we
    could have a mechanism to apply it generically using snippets.
    
    Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
    jfischer-no committed Dec 15, 2023
    Copy the full SHA
    c66b3f5 View commit details
    Browse the repository at this point in the history