v3->v4: Only add new generic-PHY driver, without removing the old one. Because the jz4740-musb driver is not ready to use the generic PHY framework. When the jz4740-musb driver is modified to use the generic PHY framework, the old jz4770-phy driver can be "retired". v4->v5: 1.Add an extra blank line between "devm_of_phy_provider_register" and "return". 2.Remove unnecessary "phy_set_drvdata". 3.Add Paul Cercueil's Reviewed-by. v5->v6: 1.Revert the removal of "phy_set_drvdata" in v5, removing "phy_set_drvdata" will cause a kernel panic on CI20. Reported-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> 2.Rewrite the macro definitions, replace the original code with "FIELD_PREP()" and "u32p_replace_bits()" according to Vinod Koul's suggestion. v6->v7: 1.Remove the stray tab character. 2.Remove unnecessary "platform_set_drvdata". 3.Remove the "dev" field in priv structure, and use &phy->dev instead. v7->v8: Add support for Ingenic JZ4775 SoC and X2000 SoC. v8->v9: Correct the path errors in "ingenic,phy-usb.yaml" and "ingenic,cgu.yaml". 周琰杰 (Zhou Yanjie) (3): USB: PHY: JZ4770: Remove unnecessary function calls. dt-bindings: USB: Add bindings for Ingenic JZ4775 and X2000. PHY: Ingenic: Add USB PHY driver using generic PHY framework. .../devicetree/bindings/clock/ingenic,cgu.yaml | 2 +- .../ingenic,phy-usb.yaml} | 4 +- drivers/phy/Kconfig | 1 + drivers/phy/Makefile | 1 + drivers/phy/ingenic/Kconfig | 12 + drivers/phy/ingenic/Makefile | 2 + drivers/phy/ingenic/phy-ingenic-usb.c | 412 +++++++++++++++++++++ drivers/usb/phy/phy-jz4770.c | 2 +- 8 files changed, 433 insertions(+), 3 deletions(-) rename Documentation/devicetree/bindings/{usb/ingenic,jz4770-phy.yaml => phy/ingenic,phy-usb.yaml} (89%) create mode 100644 drivers/phy/ingenic/Kconfig create mode 100644 drivers/phy/ingenic/Makefile create mode 100644 drivers/phy/ingenic/phy-ingenic-usb.c -- 2.11.0