[PATCH v4 00/19] Add USB on SAM9X60, SAMA7G5 and SAMA5D2 boards
Sergiu Moga
sergiu.moga at microchip.com
Mon Dec 19 09:46:08 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.
v1 -> v2:
- Additional patch included:
[PATCH v2 04/19] clk: at91: pmc: export clock setup to pmc
- Updated
[PATCH v2 05/19] clk: at91: sam9x60: Add initial setup of UPLL and USBCK rates
in concordance with the previously mentioned additional patch
- Move ` #include <asm/arch/clk.h>` below `#if !(CONFIG_IS_ENABLED(DM_USB))` to
avoid implicit declarations warnings/errors in the OHCI driver
v2 -> v3:
- Also add USB pinctrl nodes and USB Mass Storage for SAM9X60 Curiosity and
remove no longer necessary ifdef in sam9x60 clk driver
- Remove no longer required CONFIG_SYS_USB_* configs from the defconfigs
and add CONFIG_RESET_AT91 to all defconfigs
v3 -> v4:
- Remove unnecessary NULL assignment `sama7_phy->sfr = NULL;` in sama7 usb phy
probe method
Claudiu Beznea (1):
clk: at91: pmc: export clock setup to pmc
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: sam9x60: 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
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
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: sam9x60ek: Add required configs for the USB command
configs: at91: sama5d2: Enable OHCI/EHCI related configs
configs: at91: sama7: Enable USB and RESET functionality
arch/arm/dts/at91-sam9x60_curiosity.dts | 21 ++
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/sam9x60_curiosity_mmc_defconfig | 8 +
configs/sam9x60ek_mmc_defconfig | 9 +
configs/sam9x60ek_nandflash_defconfig | 9 +
configs/sam9x60ek_qspiflash_defconfig | 9 +
configs/sama5d27_giantboard_defconfig | 4 +
configs/sama5d27_som1_ek_mmc1_defconfig | 4 +
configs/sama5d27_som1_ek_mmc_defconfig | 4 +
configs/sama5d27_som1_ek_qspiflash_defconfig | 4 +
configs/sama5d27_wlsom1_ek_mmc_defconfig | 5 +
.../sama5d27_wlsom1_ek_qspiflash_defconfig | 4 +
configs/sama5d2_icp_mmc_defconfig | 8 +
configs/sama5d2_icp_qspiflash_defconfig | 4 +
configs/sama5d2_ptc_ek_mmc_defconfig | 4 +
configs/sama5d2_ptc_ek_nandflash_defconfig | 4 +
configs/sama5d2_xplained_emmc_defconfig | 4 +
configs/sama5d2_xplained_mmc_defconfig | 4 +
configs/sama5d2_xplained_qspiflash_defconfig | 4 +
configs/sama5d2_xplained_spiflash_defconfig | 4 +
configs/sama7g5ek_mmc1_defconfig | 10 +
configs/sama7g5ek_mmc_defconfig | 10 +
drivers/clk/at91/Kconfig | 7 +
drivers/clk/at91/Makefile | 1 +
drivers/clk/at91/clk-sam9x60-usb.c | 156 +++++++++++++
drivers/clk/at91/pmc.c | 42 ++++
drivers/clk/at91/pmc.h | 27 +++
drivers/clk/at91/sam9x60.c | 63 +++++
drivers/clk/at91/sama7g5.c | 48 +---
drivers/phy/Kconfig | 10 +
drivers/phy/Makefile | 1 +
drivers/phy/phy-sama7-usb.c | 90 ++++++++
drivers/phy/phy-sama7-utmi-clk.c | 202 ++++++++++++++++
drivers/reset/Kconfig | 8 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-at91.c | 141 ++++++++++++
drivers/sysreset/sysreset_at91.c | 10 +-
drivers/usb/host/ohci-at91.c | 215 ++++++++++++++++++
include/dt-bindings/clk/at91.h | 5 +
include/dt-bindings/reset/sama7g5-reset.h | 10 +
46 files changed, 1375 insertions(+), 51 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