devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] airoha: en7581: clk cleanup + USB support
@ 2025-03-09 13:29 Christian Marangi
  2025-03-09 13:29 ` [PATCH 01/13] clk: en7523: convert driver to regmap API Christian Marangi
                   ` (13 more replies)
  0 siblings, 14 replies; 37+ messages in thread
From: Christian Marangi @ 2025-03-09 13:29 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Lee Jones, Christian Marangi, Vinod Koul,
	Kishon Vijay Abraham I, Matthias Brugger,
	AngeloGioacchino Del Regno, Greg Kroah-Hartman, Lorenzo Bianconi,
	Daniel Danzberger, Arnd Bergmann, Linus Walleij, Nikita Shubin,
	Guo Ren, Yangyu Chen, Ben Hutchings, Felix Fietkau, linux-clk,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy,
	linux-mediatek, linux-usb, upstream

This series implement all the changes required to correctly handle
USB support for the Airoha EN7581 SoC.

The first few patch are cleanup for the clock driver and the
introduction of the SCU SSR SoC driver.

The SoC always support USB 2.0 but for USB 3.0 it needs additional
configuration for the Serdes port. Such port can be either configured
for USB usage or for PCIe lines or HSGMII and these are configured
in the SCU space.

To correctly handle this, the SCU is changed to a simple-mfd
implemenetation and the clock controller updated to follow this new
node structure. Both implementation are supported to handle old
binding.

The xHCI USB is based on the Mediatek implementation but the PHY
handling although conceptually similar, is indded different compared
to Mediatek due to SSR checks and different port power up.

The SSR driver expose an API to poll the current status of the Serdes
port and the USB PHY driver validates it. Refer to the specific commit
for additional info.

Consider that there is currently an inconsistency as AN7581 and
EN7581 refer to the same thing. This is due to the fact that
the SoC born under EcoNet but then was acquired by Airoha.

Christian Marangi (13):
  clk: en7523: convert driver to regmap API
  clk: en7523: generalize register clocks function
  dt-bindings: soc: airoha: add SCU SSR Serdes port binding
  dt-bindings: soc: airoha: add Documentation for Airoha AN7581 SCU SSR
  dt-bindings: mfd: add Documentation for Airoha EN7581 SCU
  dt-bindings: clock: airoha: make reg optional for Airoha EN7581
  clk: en7523: support getting regmap from parent node for EN7581
  soc: airoha: add support for configuring SCU SSR Serdes port
  dt-bindings: phy: Add documentation for Airoha AN7581 USB PHY
  phy: airoha: Add support for Airoha AN7581 USB PHY
  usb: host: add ARCH_AIROHA in XHCI MTK dependency
  arm64: dts: airoha: en7581: convert SCU clock node to MFD
    implementation
  arm64: dts: airoha: en7581: add USB and SCU SSR nodes

 .../bindings/clock/airoha,en7523-scu.yaml     |  13 +-
 .../mfd/airoha,en7581-scu-sysctl.yaml         |  68 +++
 .../bindings/phy/airoha,an7581-usb-phy.yaml   | 106 ++++
 .../soc/airoha/airoha,an7581-scu-ssr.yaml     | 106 ++++
 MAINTAINERS                                   |  15 +
 arch/arm64/boot/dts/airoha/en7581.dtsi        |  74 ++-
 drivers/clk/clk-en7523.c                      | 258 ++++----
 drivers/phy/Kconfig                           |   1 +
 drivers/phy/Makefile                          |   3 +-
 drivers/phy/airoha/Kconfig                    |  13 +
 drivers/phy/airoha/Makefile                   |   3 +
 drivers/phy/airoha/phy-airoha-usb.c           | 554 ++++++++++++++++++
 drivers/soc/Kconfig                           |   1 +
 drivers/soc/Makefile                          |   1 +
 drivers/soc/airoha/Kconfig                    |  18 +
 drivers/soc/airoha/Makefile                   |   3 +
 drivers/soc/airoha/airoha-scu-ssr.c           | 195 ++++++
 drivers/usb/host/Kconfig                      |   2 +-
 include/dt-bindings/soc/airoha,scu-ssr.h      |  24 +
 include/linux/soc/airoha/airoha-scu-ssr.h     |  17 +
 include/linux/soc/soc/airoha-scu-ssr.h        |  17 +
 21 files changed, 1355 insertions(+), 137 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/airoha,en7581-scu-sysctl.yaml
 create mode 100644 Documentation/devicetree/bindings/phy/airoha,an7581-usb-phy.yaml
 create mode 100644 Documentation/devicetree/bindings/soc/airoha/airoha,an7581-scu-ssr.yaml
 create mode 100644 drivers/phy/airoha/Kconfig
 create mode 100644 drivers/phy/airoha/Makefile
 create mode 100644 drivers/phy/airoha/phy-airoha-usb.c
 create mode 100644 drivers/soc/airoha/Kconfig
 create mode 100644 drivers/soc/airoha/Makefile
 create mode 100644 drivers/soc/airoha/airoha-scu-ssr.c
 create mode 100644 include/dt-bindings/soc/airoha,scu-ssr.h
 create mode 100644 include/linux/soc/airoha/airoha-scu-ssr.h
 create mode 100644 include/linux/soc/soc/airoha-scu-ssr.h

-- 
2.48.1


^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2025-03-19  7:40 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-09 13:29 [PATCH 00/13] airoha: en7581: clk cleanup + USB support Christian Marangi
2025-03-09 13:29 ` [PATCH 01/13] clk: en7523: convert driver to regmap API Christian Marangi
2025-03-09 13:29 ` [PATCH 02/13] clk: en7523: generalize register clocks function Christian Marangi
2025-03-09 13:29 ` [PATCH 03/13] dt-bindings: soc: airoha: add SCU SSR Serdes port binding Christian Marangi
2025-03-10  7:54   ` Krzysztof Kozlowski
2025-03-10 10:30     ` Christian Marangi
2025-03-09 13:29 ` [PATCH 04/13] dt-bindings: soc: airoha: add Documentation for Airoha AN7581 SCU SSR Christian Marangi
2025-03-10  8:00   ` Krzysztof Kozlowski
2025-03-10 10:33     ` Christian Marangi
2025-03-09 13:29 ` [PATCH 05/13] dt-bindings: mfd: add Documentation for Airoha EN7581 SCU Christian Marangi
2025-03-09 14:49   ` Rob Herring (Arm)
2025-03-10  8:01   ` Krzysztof Kozlowski
2025-03-10  9:21   ` Krzysztof Kozlowski
2025-03-10 10:47     ` Christian Marangi
2025-03-10 11:41       ` Krzysztof Kozlowski
2025-03-11 19:09         ` Christian Marangi
2025-03-16 17:11           ` Krzysztof Kozlowski
2025-03-09 13:29 ` [PATCH 06/13] dt-bindings: clock: airoha: make reg optional for Airoha EN7581 Christian Marangi
2025-03-10  8:06   ` Krzysztof Kozlowski
2025-03-09 13:29 ` [PATCH 07/13] clk: en7523: support getting regmap from parent node for EN7581 Christian Marangi
2025-03-09 13:29 ` [PATCH 08/13] soc: airoha: add support for configuring SCU SSR Serdes port Christian Marangi
2025-03-09 13:29 ` [PATCH 09/13] dt-bindings: phy: Add documentation for Airoha AN7581 USB PHY Christian Marangi
2025-03-09 15:50   ` kernel test robot
2025-03-10 16:34   ` Krzysztof Kozlowski
2025-03-11 18:51     ` Christian Marangi
2025-03-16 17:01       ` Krzysztof Kozlowski
2025-03-18 11:31         ` Christian Marangi
2025-03-19  7:39           ` Krzysztof Kozlowski
2025-03-09 13:29 ` [PATCH 10/13] phy: airoha: Add support " Christian Marangi
2025-03-11 11:40   ` Vinod Koul
2025-03-11 11:42     ` Vinod Koul
2025-03-11 18:09       ` Christian Marangi
2025-03-09 13:29 ` [PATCH 11/13] usb: host: add ARCH_AIROHA in XHCI MTK dependency Christian Marangi
2025-03-09 13:29 ` [PATCH 12/13] arm64: dts: airoha: en7581: convert SCU clock node to MFD implementation Christian Marangi
2025-03-10  8:06   ` Krzysztof Kozlowski
2025-03-09 13:29 ` [PATCH 13/13] arm64: dts: airoha: en7581: add USB and SCU SSR nodes Christian Marangi
2025-03-10 14:36 ` [PATCH 00/13] airoha: en7581: clk cleanup + USB support Rob Herring (Arm)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).