[PATCH 00/18] Add USB on SAM9X60, SAMA7G5 and SAMA5D2 boards
Eugen.Hristev at microchip.com
Eugen.Hristev at microchip.com
Wed Dec 7 15:56:54 CET 2022
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
More information about the U-Boot
mailing list