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 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: 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.c | 42 ++++ drivers/clk/at91/pmc.h | 27 +++ drivers/clk/at91/sam9x60.c | 67 ++++++ drivers/clk/at91/sama7g5.c | 48 +--- 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 | 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 + 43 files changed, 1374 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