[PATCH 00/18] Add USB on SAM9X60, SAMA7G5 and SAMA5D2 boards

Sergiu Moga sergiu.moga at microchip.com
Wed Dec 7 14:14:29 CET 2022


This series of patches is meant to add support for USB Mass Storage
on SAM9X60, SAMA7G5 and SAMA5D2 boards and register ohci-at91 driver into
Driver Model. In order for this to be achieved, the respective
DT nodes have been added, the USB clock has been registered into CCF
and the required defconfigs have been added to the boards' defconfig.
What is more, in order for the VBUS to stay enabled, a `child_pre_probe`
method has been added to overcome the DM core disabling it in
`usb_scan_device`: when the generic `device_probe` method is called,
the pinctrl is processed once again, undoing whatever changes have
been made in our driver's probe method.
In order to enable USB on SAMA7G5 the addition of RSTC and USB 2.0 PHY
drivers were required.

Cristian Birsan (2):
  ARM: at91: add sama7 SFR definitions
  usb: ohci-at91: Add `ohci_t` field in `ohci_at91_priv`

Sergiu Moga (16):
  ARM: dts: sam9x60ek: Add OHCI and EHCI DT nodes
  clk: at91: Add support for sam9x60 USB clock
  clk: at91: sam9x60: Register the required clocks for USB
  clk: at91: sam9x60: Add initial setup of UPLL and USBCK rates
  usb: ohci-at91: Enable OHCI functionality and register into DM
  configs: at91: sam9x60ek: Add required configs for the USB command
  dt-bindings: reset: add sama7g5 definitions
  dt-bindings: clk: at91: Define additional UTMI related clocks
  ARM: dts: at91: sama7: Add USB related DT nodes
  reset: at91: Add reset driver for basic assert/deassert operations
  phy: at91: Add support for the USB 2.0 PHY's of SAMA7
  usb: ohci-at91: Add USB PHY functionality
  configs: at91: sama7: Enable USB and RESET functionality
  ARM: dts: at91: sama5d2_icp: Add pinctrl nodes for USB related DT
    nodes
  ARM: dts: at91: sama5d27_wlsom1_ek: Add pinctrl nodes for USB DT nodes
  configs: at91: sama5d2: Enable OHCI/EHCI related configs

 arch/arm/dts/at91-sama5d27_wlsom1_ek.dts      |  25 ++
 arch/arm/dts/at91-sama5d2_icp.dts             |  22 ++
 arch/arm/dts/at91-sama7g5ek.dts               |  34 +++
 arch/arm/dts/sam9x60.dtsi                     |  18 ++
 arch/arm/dts/sam9x60ek.dts                    |  21 ++
 arch/arm/dts/sama7g5.dtsi                     |  73 ++++++
 arch/arm/mach-at91/include/mach/sama7-sfr.h   |  59 +++++
 configs/sam9x60ek_mmc_defconfig               |  10 +
 configs/sam9x60ek_nandflash_defconfig         |  10 +
 configs/sam9x60ek_qspiflash_defconfig         |  10 +
 configs/sama5d27_som1_ek_mmc1_defconfig       |   5 +
 configs/sama5d27_som1_ek_mmc_defconfig        |   5 +
 configs/sama5d27_som1_ek_qspiflash_defconfig  |   5 +
 configs/sama5d27_wlsom1_ek_mmc_defconfig      |   6 +
 .../sama5d27_wlsom1_ek_qspiflash_defconfig    |   5 +
 configs/sama5d2_icp_mmc_defconfig             |   9 +
 configs/sama5d2_icp_qspiflash_defconfig       |   9 +
 configs/sama5d2_ptc_ek_mmc_defconfig          |   5 +
 configs/sama5d2_ptc_ek_nandflash_defconfig    |   5 +
 configs/sama5d2_xplained_emmc_defconfig       |   5 +
 configs/sama5d2_xplained_mmc_defconfig        |   5 +
 configs/sama5d2_xplained_qspiflash_defconfig  |   5 +
 configs/sama5d2_xplained_spiflash_defconfig   |   5 +
 configs/sama7g5ek_mmc1_defconfig              |  13 ++
 configs/sama7g5ek_mmc_defconfig               |  13 ++
 drivers/clk/at91/Kconfig                      |   7 +
 drivers/clk/at91/Makefile                     |   1 +
 drivers/clk/at91/clk-sam9x60-usb.c            | 156 +++++++++++++
 drivers/clk/at91/pmc.h                        |  11 +
 drivers/clk/at91/sam9x60.c                    |  99 +++++++-
 drivers/phy/Kconfig                           |  10 +
 drivers/phy/Makefile                          |   1 +
 drivers/phy/phy-sama7-usb.c                   |  92 ++++++++
 drivers/phy/phy-sama7-utmi-clk.c              | 202 +++++++++++++++++
 drivers/reset/Kconfig                         |   8 +
 drivers/reset/Makefile                        |   1 +
 drivers/reset/reset-at91.c                    | 143 ++++++++++++
 drivers/sysreset/sysreset_at91.c              |  10 +-
 drivers/usb/host/ohci-at91.c                  | 214 ++++++++++++++++++
 include/dt-bindings/clk/at91.h                |   5 +
 include/dt-bindings/reset/sama7g5-reset.h     |  10 +
 41 files changed, 1342 insertions(+), 10 deletions(-)
 create mode 100644 arch/arm/mach-at91/include/mach/sama7-sfr.h
 create mode 100644 drivers/clk/at91/clk-sam9x60-usb.c
 create mode 100644 drivers/phy/phy-sama7-usb.c
 create mode 100644 drivers/phy/phy-sama7-utmi-clk.c
 create mode 100644 drivers/reset/reset-at91.c
 create mode 100644 include/dt-bindings/reset/sama7g5-reset.h

-- 
2.34.1



More information about the U-Boot mailing list