Message ID | 20221207131447.40590-1-sergiu.moga@microchip.com |
---|---|
Headers | show |
Series | Add USB on SAM9X60, SAMA7G5 and SAMA5D2 boards | expand |
On 12/7/22 15:14, Sergiu Moga wrote: > 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 > Hi Sergiu, When enabling the configs, I get plenty of errors like this in lots of boards: ./arch/arm/include/asm/arch/clk.h: In function ‘get_h32mxdiv’: ./arch/arm/include/asm/arch/clk.h:65:9: warning: implicit declaration of function ‘readl’ [-Wimplicit-function-declaration] 65 | return readl(&pmc->mckr) & AT91_PMC_MCKR_H32MXDIV; | ^~~~~ This commit causes the problem : configs: at91: sama5d2: Enable OHCI/EHCI related config But I assume there is a problem with the driver since the commit only enables it to be built. Can you have a look please ? Eugen