Re: [PATCH v2 00/11] airoha: en7581: clk cleanup + USB support

Rob Herring (Arm)
2025-03-20T18:26:14Z

On Thu, 20 Mar 2025 14:00:23 +0100, Christian Marangi wrote:
> 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.
>
> 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.
>
> Changes v2:
> - Drop changes for simple-mfd
> - Rework PHY node structure to single node
> - Drop port-id property in favor of serdes-port and
> usb2-monitor-clock-sel
> - Make the SSR driver probe from the clock driver
>
> Christian Marangi (11):
> clk: en7523: convert driver to regmap API
> clk: en7523: generalize register clocks function
> dt-bindings: clock: en7523: add Documentation for Airoha AN7581 SCU
> SSR
> soc: airoha: add support for configuring SCU SSR Serdes port
> clk: en7523: define and register SoC SCU SSR driver for EN7581
> soc: airoha: scu-ssr: expose API to read current Serdes Port mode
> dt-bindings: phy: Add documentation for Airoha AN7581 USB PHY
> phy: move Airoha PCIe PHY driver to dedicated directory
> phy: airoha: Add support for Airoha AN7581 USB PHY
> usb: host: add ARCH_AIROHA in XHCI MTK dependency
> arm64: dts: airoha: en7581: add USB nodes
>
> .../bindings/clock/airoha,en7523-scu.yaml | 101 +-
> .../bindings/phy/airoha,an7581-usb-phy.yaml | 83 ++
> MAINTAINERS | 21 +-
> arch/arm64/boot/dts/airoha/en7581.dtsi | 49 +
> drivers/clk/clk-en7523.c | 340 +++--
> drivers/phy/Kconfig | 11 +-
> drivers/phy/Makefile | 5 +-
> drivers/phy/airoha/Kconfig | 23 +
> drivers/phy/airoha/Makefile | 4 +
> drivers/phy/airoha/phy-airoha-pcie-regs.h | 494 +++++++
> drivers/phy/airoha/phy-airoha-pcie.c | 1290 +++++++++++++++++
> drivers/phy/airoha/phy-airoha-usb.c | 571 ++++++++
> 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 | 271 ++++
> drivers/usb/host/Kconfig | 2 +-
> .../dt-bindings/phy/airoha,an7581-usb-phy.h | 11 +
> include/dt-bindings/soc/airoha,scu-ssr.h | 11 +
> include/linux/clk/clk-en7523.h | 10 +
> include/linux/soc/airoha/airoha-scu-ssr.h | 34 +
> 22 files changed, 3202 insertions(+), 152 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/phy/airoha,an7581-usb-phy.yaml
> create mode 100644 drivers/phy/airoha/Kconfig
> create mode 100644 drivers/phy/airoha/Makefile
> create mode 100644 drivers/phy/airoha/phy-airoha-pcie-regs.h
> create mode 100644 drivers/phy/airoha/phy-airoha-pcie.c
> 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/phy/airoha,an7581-usb-phy.h
> create mode 100644 include/dt-bindings/soc/airoha,scu-ssr.h
> create mode 100644 include/linux/clk/clk-en7523.h
> create mode 100644 include/linux/soc/airoha/airoha-scu-ssr.h
>
> --
> 2.48.1
>
>
>

My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

pip3 install dtschema --upgrade

New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/airoha/' for 20250320130054.4804-1-ansuelsmth@gmail.com:

arch/arm64/boot/dts/airoha/en7581-evb.dtb: usb@1fab0000: compatible:0: 'mediatek,mtk-xhci' is not one of ['mediatek,mt2701-xhci', 'mediatek,mt2712-xhci', 'mediatek,mt7622-xhci', 'mediatek,mt7623-xhci', 'mediatek,mt7629-xhci', 'mediatek,mt7986-xhci', 'mediatek,mt7988-xhci', 'mediatek,mt8173-xhci', 'mediatek,mt8183-xhci', 'mediatek,mt8186-xhci', 'mediatek,mt8188-xhci', 'mediatek,mt8192-xhci', 'mediatek,mt8195-xhci', 'mediatek,mt8365-xhci']
from schema $id: http://devicetree.org/schemas/usb/mediatek,mtk-xhci.yaml#
arch/arm64/boot/dts/airoha/en7581-evb.dtb: usb@1fab0000: compatible: ['mediatek,mtk-xhci'] is too short
from schema $id: http://devicetree.org/schemas/usb/mediatek,mtk-xhci.yaml#
arch/arm64/boot/dts/airoha/en7581-evb.dtb: usb@1fad0000: compatible:0: 'mediatek,mtk-xhci' is not one of ['mediatek,mt2701-xhci', 'mediatek,mt2712-xhci', 'mediatek,mt7622-xhci', 'mediatek,mt7623-xhci', 'mediatek,mt7629-xhci', 'mediatek,mt7986-xhci', 'mediatek,mt7988-xhci', 'mediatek,mt8173-xhci', 'mediatek,mt8183-xhci', 'mediatek,mt8186-xhci', 'mediatek,mt8188-xhci', 'mediatek,mt8192-xhci', 'mediatek,mt8195-xhci', 'mediatek,mt8365-xhci']
from schema $id: http://devicetree.org/schemas/usb/mediatek,mtk-xhci.yaml#
arch/arm64/boot/dts/airoha/en7581-evb.dtb: usb@1fad0000: compatible: ['mediatek,mtk-xhci'] is too short
from schema $id: http://devicetree.org/schemas/usb/mediatek,mtk-xhci.yaml#