Add JH7110 USB PHY driver support
Subsystems (5)
Minda Chen
maintainerv7 cover Add JH7110 USB PHY driver support
This patchset adds USB and PCIe PHY for the StarFive JH7110 SoC. The patch has been tested on the VisionFive 2 board.
This patchset is base on v6.4-rc6
patch 1 is usb phy dt-binding document.
patch 2 is Pcie PHY dt-binding document.
patch 3 is USB 2.0 PHY driver.
patch 4 is PCIe PHY driver.
patch 5 is PCIe PHY dts
Previous version are merged with USB controller patch.
For USB controller patch is accepted. Now remove the USB controller patch. And remove the dependency.
previous change can be seen list below.
(start from old patch set v3)
v3: https://patchwork.kernel.org/project/linux-phy/cover/[email protected]/
v4: https://patchwork.kernel.org/project/linux-phy/cover/[email protected]/
v5: https://patchwork.kernel.org/project/linux-phy/cover/[email protected]/
v6: https://patchwork.kernel.org/project/linux-phy/cover/[email protected]/
changes:
v7:
(patch3 and patch 4) Add /driver/phy/starfive directory, Makefile and Kconfig. Remove the dependency. (patch 5) add PCIe PHY dts configuration. (USB 2.0 PHY clock reply on other patch, Dont add this first).
v6:
1. (patch 3) remove the platform remove function.
2. (patch 4)
- add switch to pcie mode function.
- remove the redundant init/exit function.
v5:
1. (patch 1) set correct model name and commit title.
2. (patch 2) change to '-item' in syscon property. change commit title.
v4:
1. (patch 1) split PCIe PHY dt-binding doc to patch 2.
2. (patch 2) PCIe PHY add stg and sys con configuration to dt-binding doc.
3. (patch 3)
- split PCIe PHY driver to patch 4.
- replace dr_mode to phy mode in jh7110_usb2_phy.
4. (patch 4)
- Makefile and Kconfig sorted by alphabet sequence.
- Add PCIe PHY stg and syscon PHY connection configuration for USB 3.0.
v3:
1. Add patch 1 - 4. Add USB PHY driver and dt-binding doc. USB PHY codes are moved to patch 3 and patch 4.
Minda Chen (5):
dt-bindings: phy: Add StarFive JH7110 USB PHY
dt-bindings: phy: Add StarFive JH7110 PCIe PHY
phy: starfive: Add JH7110 USB 2.0 PHY driver
phy: starfive: Add JH7110 PCIE 2.0 PHY driver
riscv: dts: starfive: Add PCIe PHY dts configuration for JH7110
.../phy/starfive,jh7110-pcie-phy.yaml | 58 +++++ .../bindings/phy/starfive,jh7110-usb-phy.yaml | 50 +++++ MAINTAINERS | 8 + arch/riscv/boot/dts/starfive/jh7110.dtsi | 12 ++ drivers/phy/Kconfig | 1 + drivers/phy/Makefile | 1 + drivers/phy/starfive/Kconfig | 25 +++ drivers/phy/starfive/Makefile | 3 + drivers/phy/starfive/phy-jh7110-pcie.c | 204 ++++++++++++++++++ drivers/phy/starfive/phy-jh7110-usb.c | 150 +++++++++++++ 10 files changed, 512 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/starfive,jh7110-pcie-phy.yaml create mode 100644 Documentation/devicetree/bindings/phy/starfive,jh7110-usb-phy.yaml create mode 100644 drivers/phy/starfive/Kconfig create mode 100644 drivers/phy/starfive/Makefile create mode 100644 drivers/phy/starfive/phy-jh7110-pcie.c create mode 100644 drivers/phy/starfive/phy-jh7110-usb.c
base-commit: 858fd168a95c5b9669aac8db6c14a9aeab446375
Signature · 1 line
2.17.1
Minda Chen
maintainerPATCH v7 1/5 dt-bindings: phy: Add StarFive JH7110 USB PHY
Add StarFive JH7110 SoC USB 2.0 PHY dt-binding.
--- .../bindings/phy/starfive,jh7110-usb-phy.yaml | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/starfive,jh7110-usb-phy.yaml
Documentation/devicetree/bindings/phy/starfive,jh7110-usb-phy.yaml new file +50 -0
@@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/starfive,jh7110-usb-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: StarFive JH7110 USB 2.0 PHY + +maintainers: + - Minda Chen <[email protected]> + +properties: + compatible: + const: starfive,jh7110-usb-phy + + reg: + maxItems: 1 + + "#phy-cells": + const: 0 + + clocks: + items: + - description: PHY 125m + - description: app 125m + + clock-names: + items: + - const: 125m + - const: app_125m + +required: + - compatible + - reg + - clocks + - clock-names + - "#phy-cells" + +additionalProperties: false + +examples: + - | + phy@10200000 { + compatible = "starfive,jh7110-usb-phy"; + reg = <0x10200000 0x10000>; + clocks = <&syscrg 95>, + <&stgcrg 6>; + clock-names = "125m", "app_125m"; + #phy-cells = <0>; + };
Signature · 1 line
2.17.1
Minda Chen
maintainerPATCH v7 2/5 dt-bindings: phy: Add StarFive JH7110 PCIe PHY
In reply to Minda ChenAdd StarFive JH7110 SoC PCIe 2.0 PHY dt-binding. PCIe PHY0 (phy@10210000) can be used as USB 3.0 PHY.
--- .../phy/starfive,jh7110-pcie-phy.yaml | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/starfive,jh7110-pcie-phy.yaml
Documentation/devicetree/bindings/phy/starfive,jh7110-pcie-phy.yaml new file +58 -0
@@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/starfive,jh7110-pcie-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: StarFive JH7110 PCIe 2.0 PHY + +maintainers: + - Minda Chen <[email protected]> + +properties: + compatible: + const: starfive,jh7110-pcie-phy + + reg: + maxItems: 1 + + "#phy-cells": + const: 0 + + starfive,sys-syscon: + $ref: /schemas/types.yaml#/definitions/phandle-array + items: + - items: + - description: phandle to System Register Controller sys_syscon node. + - description: PHY connect offset of SYS_SYSCONSAIF__SYSCFG register for USB PHY. + description: + The phandle to System Register Controller syscon node and the PHY connect offset + of SYS_SYSCONSAIF__SYSCFG register. Connect PHY to USB3 controller. + + starfive,stg-syscon: + $ref: /schemas/types.yaml#/definitions/phandle-array + items: + - items: + - description: phandle to System Register Controller stg_syscon node. + - description: PHY mode offset of STG_SYSCONSAIF__SYSCFG register. + - description: PHY enable for USB offset of STG_SYSCONSAIF__SYSCFG register. + description: + The phandle to System Register Controller syscon node and the offset + of STG_SYSCONSAIF__SYSCFG register for PCIe PHY. Total 2 regsisters offset. + +required: + - compatible + - reg + - "#phy-cells" + +additionalProperties: false + +examples: + - | + phy@10210000 { + compatible = "starfive,jh7110-pcie-phy"; + reg = <0x10210000 0x10000>; + #phy-cells = <0>; + starfive,sys-syscon = <&sys_syscon 0x18>; + starfive,stg-syscon = <&stg_syscon 0x148 0x1f4>; + };
Signature · 1 line
2.17.1
Minda Chen
maintainerPATCH v7 3/5 phy: starfive: Add JH7110 USB 2.0 PHY driver
In reply to Minda ChenAdd Starfive JH7110 SoC USB 2.0 PHY driver support. USB 2.0 PHY default connect to Cadence USB controller.
--- MAINTAINERS | 6 ++ drivers/phy/Kconfig | 1 + drivers/phy/Makefile | 1 + drivers/phy/starfive/Kconfig | 15 +++ drivers/phy/starfive/Makefile | 2 + drivers/phy/starfive/phy-jh7110-usb.c | 150 ++++++++++++++++++++++++++ 6 files changed, 175 insertions(+) create mode 100644 drivers/phy/starfive/Kconfig create mode 100644 drivers/phy/starfive/Makefile create mode 100644 drivers/phy/starfive/phy-jh7110-usb.c
MAINTAINERS +6 -0
@@ -20174,6 +20174,12 @@ S: Supported F: Documentation/devicetree/bindings/watchdog/starfive* F: drivers/watchdog/starfive-wdt.c +STARFIVE JH71X0 USB PHY DRIVER +M: Minda Chen <[email protected]> +S: Supported +F: Documentation/devicetree/bindings/phy/starfive,jh7110-usb-phy.yaml +F: drivers/phy/starfive/phy-jh7110-usb.c + STATIC BRANCH/CALL M: Peter Zijlstra <[email protected]> M: Josh Poimboeuf <[email protected]>
drivers/phy/Kconfig +1 -0
@@ -91,6 +91,7 @@ source "drivers/phy/rockchip/Kconfig" source "drivers/phy/samsung/Kconfig" source "drivers/phy/socionext/Kconfig" source "drivers/phy/st/Kconfig" +source "drivers/phy/starfive/Kconfig" source "drivers/phy/sunplus/Kconfig" source "drivers/phy/tegra/Kconfig" source "drivers/phy/ti/Kconfig"
drivers/phy/Makefile +1 -0
@@ -31,6 +31,7 @@ obj-y += allwinner/ \ samsung/ \ socionext/ \ st/ \ + starfive/ \ sunplus/ \ tegra/ \ ti/ \
drivers/phy/starfive/Kconfig new file +15 -0
@@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Phy drivers for StarFive platforms +# + +config PHY_STARFIVE_JH7110_USB + tristate "Starfive JH7110 USB 2.0 PHY support" + depends on USB_SUPPORT + select GENERIC_PHY + select USB_PHY + help + Enable this to support the StarFive USB 2.0 PHY, + used with the Cadence USB controller. + If M is selected, the module will be called + phy-jh7110-usb.ko.
drivers/phy/starfive/Makefile new file +2 -0
@@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +obj-$(CONFIG_PHY_STARFIVE_JH7110_USB) += phy-jh7110-usb.o
drivers/phy/starfive/phy-jh7110-usb.c new file +150 -0
150 lines not on this page · raw message
Signature · 1 line
2.17.1
Vinod Koul
maintainerRe: [PATCH v7 3/5] phy: starfive: Add JH7110 USB 2.0 PHY driver
Quoted 122 lines · Minda Chen
Add Starfive JH7110 SoC USB 2.0 PHY driver support. USB 2.0 PHY default connect to Cadence USB controller.
Signed-off-by Minda Chen <[email protected]>Reviewed-by Roger Quadros <[email protected]>--- MAINTAINERS | 6 ++ drivers/phy/Kconfig | 1 + drivers/phy/Makefile | 1 + drivers/phy/starfive/Kconfig | 15 +++ drivers/phy/starfive/Makefile | 2 + drivers/phy/starfive/phy-jh7110-usb.c | 150 ++++++++++++++++++++++++++ 6 files changed, 175 insertions(+) create mode 100644 drivers/phy/starfive/Kconfig create mode 100644 drivers/phy/starfive/Makefile create mode 100644 drivers/phy/starfive/phy-jh7110-usb.cMAINTAINERS +6
-0@@ -20174,6 +20174,12 @@ S: Supported F: Documentation/devicetree/bindings/watchdog/starfive* F: drivers/watchdog/starfive-wdt.c +STARFIVE JH71X0 USB PHY DRIVER +M: Minda Chen <[email protected]> +S: Supported +F: Documentation/devicetree/bindings/phy/starfive,jh7110-usb-phy.yaml +F: drivers/phy/starfive/phy-jh7110-usb.c + STATIC BRANCH/CALL M: Peter Zijlstra <[email protected]> M: Josh Poimboeuf <[email protected]>drivers/phy/Kconfig +1
-0@@ -91,6 +91,7 @@ source "drivers/phy/rockchip/Kconfig" source "drivers/phy/samsung/Kconfig" source "drivers/phy/socionext/Kconfig" source "drivers/phy/st/Kconfig" +source "drivers/phy/starfive/Kconfig" source "drivers/phy/sunplus/Kconfig" source "drivers/phy/tegra/Kconfig" source "drivers/phy/ti/Kconfig"drivers/phy/Makefile +1
-0@@ -31,6 +31,7 @@ obj-y += allwinner/ \ samsung/ \ socionext/ \ st/ \ + starfive/ \ sunplus/ \ tegra/ \ ti/ \drivers/phy/starfive/Kconfig new file +15
-0@@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Phy drivers for StarFive platforms +# + +config PHY_STARFIVE_JH7110_USB + tristate "Starfive JH7110 USB 2.0 PHY support" + depends on USB_SUPPORT + select GENERIC_PHY + select USB_PHY + help + Enable this to support the StarFive USB 2.0 PHY, + used with the Cadence USB controller. + If M is selected, the module will be called + phy-jh7110-usb.ko.drivers/phy/starfive/Makefile new file +2
-0@@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +obj-$(CONFIG_PHY_STARFIVE_JH7110_USB) += phy-jh7110-usb.odrivers/phy/starfive/phy-jh7110-usb.c new file +29
-0@@ -0,0 +1,150 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* +* StarFive JH7110 USB 2.0 PHY driver +* +* Copyright (C) 2023 StarFive Technology Co., Ltd. +* Author: Minda Chen <[email protected]> +*/ + +#include <linux/bits.h> +#include <linux/clk.h> +#include <linux/err.h> +#include <linux/io.h> +#include <linux/module.h> +#include <linux/phy/phy.h> +#include <linux/platform_device.h> +#include <linux/usb/of.h> + +#define USB_125M_CLK_RATE 125000000 +#define USB_LS_KEEPALIVE_OFF 0x4 +#define USB_LS_KEEPALIVE_ENABLE BIT(4) + +struct jh7110_usb2_phy { +struct phy *phy; +void __iomem *regs; +struct clk *usb_125m_clk; +struct clk *app_125m; +enum phy_mode mode; +}; +
drivers/phy/starfive/phy-jh7110-usb.c line 39
Quoted 10 lines
drivers/phy/starfive/phy-jh7110-usb.c new file +10
-0+static void jh7110_usb2_mode_set (struct jh7110_usb2_phy *phy) +{ +unsigned int val; + +if (phy->mode !=PHY_MODE_USB_HOST ) { +/* Enable the LS speed keep-alive signal */ + val =readl (phy->regs +USB_LS_KEEPALIVE_OFF ); + val |=USB_LS_KEEPALIVE_ENABLE ; +writel (val, phy->regs +USB_LS_KEEPALIVE_OFF ); + }
looks like this sets only for host, so why not call it jh7110_usb2_set_host_mode() rather than get confused about jh7110_usb2_mode_set/jh7110_usb2_phy_set_mode
Quoted 97 lines
drivers/phy/starfive/phy-jh7110-usb.c new file +97
-0+} + +static int jh7110_usb2_phy_set_mode (struct phy *_phy, +enum phy_mode mode,int submode) +{ +struct jh7110_usb2_phy *phy =phy_get_drvdata (_phy); + +switch (mode) { +case PHY_MODE_USB_HOST : +case PHY_MODE_USB_DEVICE : +case PHY_MODE_USB_OTG : +break ; +default : +return -EINVAL ; + } + +if (mode != phy->mode) { +dev_dbg (&_phy->dev,"Changing phy to %d\n" , mode); + phy->mode = mode; +jh7110_usb2_mode_set (phy); + } + +return 0 ; +} + +static int jh7110_usb2_phy_init (struct phy *_phy) +{ +struct jh7110_usb2_phy *phy =phy_get_drvdata (_phy); +int ret; + + ret =clk_set_rate (phy->usb_125m_clk,USB_125M_CLK_RATE ); +if (ret) +return ret; + + ret =clk_prepare_enable (phy->app_125m); +if (ret) +return ret; + +return 0 ; +} + +static int jh7110_usb2_phy_exit (struct phy *_phy) +{ +struct jh7110_usb2_phy *phy =phy_get_drvdata (_phy); + +clk_disable_unprepare (phy->app_125m); + +return 0 ; +} + +static const struct phy_ops jh7110_usb2_phy_ops = { + .init = jh7110_usb2_phy_init, + .exit = jh7110_usb2_phy_exit, + .set_mode = jh7110_usb2_phy_set_mode, + .owner =THIS_MODULE , +}; + +static int jh7110_usb_phy_probe (struct platform_device *pdev) +{ +struct jh7110_usb2_phy *phy; +struct device *dev = &pdev->dev; +struct phy_provider *phy_provider; + + phy =devm_kzalloc (dev,sizeof (*phy),GFP_KERNEL ); +if (!phy) +return -ENOMEM ; + + phy->usb_125m_clk =devm_clk_get (dev,"125m" ); +if (IS_ERR (phy->usb_125m_clk)) +return dev_err_probe (dev,PTR_ERR (phy->usb_125m_clk), +"Failed to get 125m clock\n" ); + + phy->app_125m =devm_clk_get (dev,"app_125m" ); +if (IS_ERR (phy->app_125m)) +return dev_err_probe (dev,PTR_ERR (phy->app_125m), +"Failed to get app 125m clock\n" ); + + phy->regs =devm_platform_ioremap_resource (pdev,0 ); +if (IS_ERR (phy->regs)) +return dev_err_probe (dev,PTR_ERR (phy->regs), +"Failed to map phy base\n" ); + + phy->phy =devm_phy_create (dev,NULL , &jh7110_usb2_phy_ops); +if (IS_ERR (phy->phy)) +return dev_err_probe (dev,PTR_ERR (phy->phy), +"Failed to create phy\n" ); + +phy_set_drvdata (phy->phy, phy); + phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate); + +return PTR_ERR_OR_ZERO (phy_provider); +} + +static const struct of_device_id jh7110_usb_phy_of_match[] = { + { .compatible ="starfive,jh7110-usb-phy" }, + {/* sentinel */ }, +};
drivers/phy/starfive/phy-jh7110-usb.c line 146
Quoted 10 lines
drivers/phy/starfive/phy-jh7110-usb.c new file +10
-0+MODULE_DEVICE_TABLE (of, jh7110_usb_phy_of_match); + +static struct platform_driver jh7110_usb_phy_driver = { + .probe = jh7110_usb_phy_probe, + .driver = { + .of_match_table = jh7110_usb_phy_of_match, + .name ="jh7110-usb-phy" , + } +}; +module_platform_driver (jh7110_usb_phy_driver);
A very light driver, only setting couple of things for hw. Can you explain how phy registers are configured, am sure there would be many more..? Do you rely on bootloader or some other entity for that?
Quoted 6 lines
drivers/phy/starfive/phy-jh7110-usb.c new file +4
-0+ +MODULE_DESCRIPTION ("StarFive JH7110 USB 2.0 PHY driver" ); +MODULE_AUTHOR ("Minda Chen <[email protected]>" ); +MODULE_LICENSE ("GPL" );Signature · 1 line
2.17.1
Signature · 1 line
~Vinod
Minda Chen
maintainerRe: [PATCH v7 3/5] phy: starfive: Add JH7110 USB 2.0 PHY driver
Quoted 129 lines · Vinod Koul
Quoted 128 lines · Minda Chen
Add Starfive JH7110 SoC USB 2.0 PHY driver support. USB 2.0 PHY default connect to Cadence USB controller.
Signed-off-by Minda Chen <[email protected]>Reviewed-by Roger Quadros <[email protected]>--- MAINTAINERS | 6 ++ drivers/phy/Kconfig | 1 + drivers/phy/Makefile | 1 + drivers/phy/starfive/Kconfig | 15 +++ drivers/phy/starfive/Makefile | 2 + drivers/phy/starfive/phy-jh7110-usb.c | 150 ++++++++++++++++++++++++++ 6 files changed, 175 insertions(+) create mode 100644 drivers/phy/starfive/Kconfig create mode 100644 drivers/phy/starfive/Makefile create mode 100644 drivers/phy/starfive/phy-jh7110-usb.cMAINTAINERS +6
-0@@ -20174,6 +20174,12 @@ S: Supported F: Documentation/devicetree/bindings/watchdog/starfive* F: drivers/watchdog/starfive-wdt.c +STARFIVE JH71X0 USB PHY DRIVER +M: Minda Chen <[email protected]> +S: Supported +F: Documentation/devicetree/bindings/phy/starfive,jh7110-usb-phy.yaml +F: drivers/phy/starfive/phy-jh7110-usb.c + STATIC BRANCH/CALL M: Peter Zijlstra <[email protected]> M: Josh Poimboeuf <[email protected]>drivers/phy/Kconfig +1
-0@@ -91,6 +91,7 @@ source "drivers/phy/rockchip/Kconfig" source "drivers/phy/samsung/Kconfig" source "drivers/phy/socionext/Kconfig" source "drivers/phy/st/Kconfig" +source "drivers/phy/starfive/Kconfig" source "drivers/phy/sunplus/Kconfig" source "drivers/phy/tegra/Kconfig" source "drivers/phy/ti/Kconfig"drivers/phy/Makefile +1
-0@@ -31,6 +31,7 @@ obj-y += allwinner/ \ samsung/ \ socionext/ \ st/ \ + starfive/ \ sunplus/ \ tegra/ \ ti/ \drivers/phy/starfive/Kconfig new file +15
-0@@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Phy drivers for StarFive platforms +# + +config PHY_STARFIVE_JH7110_USB + tristate "Starfive JH7110 USB 2.0 PHY support" + depends on USB_SUPPORT + select GENERIC_PHY + select USB_PHY + help + Enable this to support the StarFive USB 2.0 PHY, + used with the Cadence USB controller. + If M is selected, the module will be called + phy-jh7110-usb.ko.drivers/phy/starfive/Makefile new file +2
-0@@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +obj-$(CONFIG_PHY_STARFIVE_JH7110_USB) += phy-jh7110-usb.odrivers/phy/starfive/phy-jh7110-usb.c new file +35
-0@@ -0,0 +1,150 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* +* StarFive JH7110 USB 2.0 PHY driver +* +* Copyright (C) 2023 StarFive Technology Co., Ltd. +* Author: Minda Chen <[email protected]> +*/ + +#include <linux/bits.h> +#include <linux/clk.h> +#include <linux/err.h> +#include <linux/io.h> +#include <linux/module.h> +#include <linux/phy/phy.h> +#include <linux/platform_device.h> +#include <linux/usb/of.h> + +#define USB_125M_CLK_RATE 125000000 +#define USB_LS_KEEPALIVE_OFF 0x4 +#define USB_LS_KEEPALIVE_ENABLE BIT(4) + +struct jh7110_usb2_phy { +struct phy *phy; +void __iomem *regs; +struct clk *usb_125m_clk; +struct clk *app_125m; +enum phy_mode mode; +}; + +static void jh7110_usb2_mode_set (struct jh7110_usb2_phy *phy) +{ +unsigned int val; + +if (phy->mode !=PHY_MODE_USB_HOST ) { +/* Enable the LS speed keep-alive signal */
Quoted 9 lines
drivers/phy/starfive/phy-jh7110-usb.c line 39
Quoted 4 lines
drivers/phy/starfive/phy-jh7110-usb.c new file +4
-0+ val =readl (phy->regs +USB_LS_KEEPALIVE_OFF ); + val |=USB_LS_KEEPALIVE_ENABLE ; +writel (val, phy->regs +USB_LS_KEEPALIVE_OFF ); + }looks like this sets only for host, so why not call it
jh7110_usb2_set_host_mode()rather than get confused about jh7110_usb2_mode_set/jh7110_usb2_phy_set_mode
Thanks , It is only for host, I will change it.
Quoted 103 lines
Quoted 103 lines
drivers/phy/starfive/phy-jh7110-usb.c new file +103
-0+} + +static int jh7110_usb2_phy_set_mode (struct phy *_phy, +enum phy_mode mode,int submode) +{ +struct jh7110_usb2_phy *phy =phy_get_drvdata (_phy); + +switch (mode) { +case PHY_MODE_USB_HOST : +case PHY_MODE_USB_DEVICE : +case PHY_MODE_USB_OTG : +break ; +default : +return -EINVAL ; + } + +if (mode != phy->mode) { +dev_dbg (&_phy->dev,"Changing phy to %d\n" , mode); + phy->mode = mode; +jh7110_usb2_mode_set (phy); + } + +return 0 ; +} + +static int jh7110_usb2_phy_init (struct phy *_phy) +{ +struct jh7110_usb2_phy *phy =phy_get_drvdata (_phy); +int ret; + + ret =clk_set_rate (phy->usb_125m_clk,USB_125M_CLK_RATE ); +if (ret) +return ret; + + ret =clk_prepare_enable (phy->app_125m); +if (ret) +return ret; + +return 0 ; +} + +static int jh7110_usb2_phy_exit (struct phy *_phy) +{ +struct jh7110_usb2_phy *phy =phy_get_drvdata (_phy); + +clk_disable_unprepare (phy->app_125m); + +return 0 ; +} + +static const struct phy_ops jh7110_usb2_phy_ops = { + .init = jh7110_usb2_phy_init, + .exit = jh7110_usb2_phy_exit, + .set_mode = jh7110_usb2_phy_set_mode, + .owner =THIS_MODULE , +}; + +static int jh7110_usb_phy_probe (struct platform_device *pdev) +{ +struct jh7110_usb2_phy *phy; +struct device *dev = &pdev->dev; +struct phy_provider *phy_provider; + + phy =devm_kzalloc (dev,sizeof (*phy),GFP_KERNEL ); +if (!phy) +return -ENOMEM ; + + phy->usb_125m_clk =devm_clk_get (dev,"125m" ); +if (IS_ERR (phy->usb_125m_clk)) +return dev_err_probe (dev,PTR_ERR (phy->usb_125m_clk), +"Failed to get 125m clock\n" ); + + phy->app_125m =devm_clk_get (dev,"app_125m" ); +if (IS_ERR (phy->app_125m)) +return dev_err_probe (dev,PTR_ERR (phy->app_125m), +"Failed to get app 125m clock\n" ); + + phy->regs =devm_platform_ioremap_resource (pdev,0 ); +if (IS_ERR (phy->regs)) +return dev_err_probe (dev,PTR_ERR (phy->regs), +"Failed to map phy base\n" ); + + phy->phy =devm_phy_create (dev,NULL , &jh7110_usb2_phy_ops); +if (IS_ERR (phy->phy)) +return dev_err_probe (dev,PTR_ERR (phy->phy), +"Failed to create phy\n" ); + +phy_set_drvdata (phy->phy, phy); + phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate); + +return PTR_ERR_OR_ZERO (phy_provider); +} + +static const struct of_device_id jh7110_usb_phy_of_match[] = { + { .compatible ="starfive,jh7110-usb-phy" }, + {/* sentinel */ }, +}; +MODULE_DEVICE_TABLE (of, jh7110_usb_phy_of_match); + +static struct platform_driver jh7110_usb_phy_driver = { + .probe = jh7110_usb_phy_probe, + .driver = { + .of_match_table = jh7110_usb_phy_of_match,
Quoted 9 lines
drivers/phy/starfive/phy-jh7110-usb.c line 146
Quoted 4 lines
drivers/phy/starfive/phy-jh7110-usb.c new file +4
-0+ .name = "jh7110-usb-phy", + } +}; +module_platform_driver (jh7110_usb_phy_driver);A very light driver, only setting couple of things for hw. Can you explain how phy registers are configured, am sure there would be many more..? Do you rely on bootloader or some other entity for that?
Phy Setting is set by reset. Because it is for StarFive JH7110 only. The same as PCIe PHY.
Quoted 7 lines
Quoted 6 lines
drivers/phy/starfive/phy-jh7110-usb.c new file +4
-0+ +MODULE_DESCRIPTION ("StarFive JH7110 USB 2.0 PHY driver" ); +MODULE_AUTHOR ("Minda Chen <[email protected]>" ); +MODULE_LICENSE ("GPL" );Signature · 1 line
2.17.1
Minda Chen
maintainerPATCH v7 4/5 phy: starfive: Add JH7110 PCIE 2.0 PHY driver
In reply to Minda ChenAdd Starfive JH7110 SoC PCIe 2.0 PHY driver support. PCIe 2.0 PHY default connect to PCIe controller. PCIe PHY can connect to USB 3.0 controller.
--- MAINTAINERS | 4 +- drivers/phy/starfive/Kconfig | 10 ++ drivers/phy/starfive/Makefile | 1 + drivers/phy/starfive/phy-jh7110-pcie.c | 204 +++++++++++++++++++++++++ 4 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 drivers/phy/starfive/phy-jh7110-pcie.c
MAINTAINERS +3 -1
@@ -20174,10 +20174,12 @@ S: Supported F: Documentation/devicetree/bindings/watchdog/starfive* F: drivers/watchdog/starfive-wdt.c -STARFIVE JH71X0 USB PHY DRIVER +STARFIVE JH71X0 PCIE AND USB PHY DRIVER M: Minda Chen <[email protected]> S: Supported +F: Documentation/devicetree/bindings/phy/starfive,jh7110-pcie-phy.yaml F: Documentation/devicetree/bindings/phy/starfive,jh7110-usb-phy.yaml +F: drivers/phy/starfive/phy-jh7110-pcie.c F: drivers/phy/starfive/phy-jh7110-usb.c STATIC BRANCH/CALL
drivers/phy/starfive/Kconfig +10 -0
@@ -3,6 +3,16 @@ # Phy drivers for StarFive platforms # +config PHY_STARFIVE_JH7110_PCIE + tristate "Starfive JH7110 PCIE 2.0/USB 3.0 PHY support" + select GENERIC_PHY + select USB_PHY + help + Enable this to support the StarFive PCIe 2.0 PHY, + or used as USB 3.0 PHY. + If M is selected, the module will be called + phy-jh7110-pcie.ko. + config PHY_STARFIVE_JH7110_USB tristate "Starfive JH7110 USB 2.0 PHY support" depends on USB_SUPPORT
drivers/phy/starfive/Makefile +1 -0
@@ -1,2 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 +obj-$(CONFIG_PHY_STARFIVE_JH7110_PCIE) += phy-jh7110-pcie.o obj-$(CONFIG_PHY_STARFIVE_JH7110_USB) += phy-jh7110-usb.o
drivers/phy/starfive/phy-jh7110-pcie.c new file +204 -0
204 lines not on this page · raw message
Signature · 1 line
2.17.1
kernel test robot
build botRe: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver
kernel test robot noticed the following build errors:
Hi Minda,
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.4-rc7 next-20230619] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Minda-Chen/dt-bindings-phy-Add-StarFive-JH7110-PCIe-PHY/20230619-184756 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next patch link: https://lore.kernel.org/r/20230619094759.21013-5-minda.chen%40starfivetech.com patch subject: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20230619/[email protected]/config) compiler: s390-linux-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230619/[email protected]/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
All errors (new ones prefixed by >>, old ones prefixed by <<):
>> ERROR: modpost: "devm_platform_ioremap_resource" [drivers/phy/starfive/phy-jh7110-pcie.ko] undefined!
ERROR: modpost: "devm_ioremap_resource" [drivers/dma/qcom/hdma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/fsl-edma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/idma64.ko] undefined!
ERROR: modpost: "iounmap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
ERROR: modpost: "ioremap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/char/xillybus/xillybus_of.ko] undefined!
ERROR: modpost: "devm_memremap" [drivers/misc/open-dice.ko] undefined!
ERROR: modpost: "devm_memunmap" [drivers/misc/open-dice.ko] undefined!
ERROR: modpost: "iounmap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined!
WARNING: modpost: suppressed 19 unresolved symbol warnings because there were too many)
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for USB_PHY Depends on [n]: USB_SUPPORT [=n]
Selected by [m]:
- PHY_STARFIVE_JH7110_PCIE [=m]
Signature · 2 lines
0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
Minda Chen
maintainerRe: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver
Quoted 18 lines · kernel test robot
Hi Minda,
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.4-rc7 next-20230619] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]url: https://github.com/intel-lab-lkp/linux/commits/Minda-Chen/dt-bindings-phy-Add-StarFive-JH7110-PCIe-PHY/20230619-184756 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next patch link: https://lore.kernel.org/r/20230619094759.21013-5-minda.chen%40starfivetech.com patch subject: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20230619/[email protected]/config) compiler: s390-linux-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230619/[email protected]/reproduce)
Quoted 8 lines
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/All errors (new ones prefixed by >>, old ones prefixed by <<):
Quoted 1 line
Quoted 1 line
ERROR: modpost: "
devm_platform_ioremap_resource" [drivers/phy/starfive/phy-jh7110-pcie.ko] undefined!
I can not find this error. devm_platform_ioremap_resource is an exported symbol
Quoted 10 lines
ERROR: modpost: "
devm_ioremap_resource" [drivers/dma/qcom/hdma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/fsl-edma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/idma64.ko] undefined!
ERROR: modpost: "iounmap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
ERROR: modpost: "ioremap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/char/xillybus/xillybus_of.ko] undefined!
ERROR: modpost: "devm_memremap" [drivers/misc/open-dice.ko] undefined!
ERROR: modpost: "devm_memunmap" [drivers/misc/open-dice.ko] undefined!
ERROR: modpost: "iounmap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined!
WARNING: modpost: suppressed 19 unresolved symbol warnings because there were too many)
Quoted 6 lines
Quoted 1 line
Kconfigwarnings: (for reference only)WARNING: unmet direct dependencies detected for
USB_PHYDepends on [n]:USB_SUPPORT[=n]
Selected by [m]:
-PHY_STARFIVE_JH7110_PCIE[=m]
I will fix it.
Signature · 3 lines
linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
Vinod Koul
maintainerRe: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver
Quoted 26 lines · Minda Chen
Quoted 23 lines · kernel test robot
Hi Minda,
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.4-rc7 next-20230619] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]url: https://github.com/intel-lab-lkp/linux/commits/Minda-Chen/dt-bindings-phy-Add-StarFive-JH7110-PCIe-PHY/20230619-184756 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next patch link: https://lore.kernel.org/r/20230619094759.21013-5-minda.chen%40starfivetech.com patch subject: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20230619/[email protected]/config) compiler: s390-linux-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230619/[email protected]/reproduce)If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
Quoted 4 lines
Quoted 3 lines
All errors (new ones prefixed by >>, old ones prefixed by <<):
Quoted 1 line
Quoted 1 line
ERROR: modpost: "
devm_platform_ioremap_resource" [drivers/phy/starfive/phy-jh7110-pcie.ko] undefined!I can not find this error.
devm_platform_ioremap_resourceis an exported symbol
Use the config and compiler provided in the report to repro this
Signature · 1 line
~Vinod
Re: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver
In reply to Minda ChenHey,
Quoted 22 lines · Minda Chen
Quoted 21 lines · kernel test robot
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.4-rc7 next-20230619] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]url: https://github.com/intel-lab-lkp/linux/commits/Minda-Chen/dt-bindings-phy-Add-StarFive-JH7110-PCIe-PHY/20230619-184756 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next patch link: https://lore.kernel.org/r/20230619094759.21013-5-minda.chen%40starfivetech.com patch subject: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20230619/[email protected]/config) compiler: s390-linux-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230619/[email protected]/reproduce)If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
Quoted 5 lines
Quoted 3 lines
All errors (new ones prefixed by >>, old ones prefixed by <<):
Quoted 1 line
Quoted 1 line
ERROR: modpost: "
devm_platform_ioremap_resource" [drivers/phy/starfive/phy-jh7110-pcie.ko] undefined!I can not find this error.
devm_platform_ioremap_resourceis an exported symbol
I asked Arnd about this since the error confused me too. Arnd pointed out that this "allmodconfig" isn't really allmodconfig as PCI is disabled. On s390, CONFIG_HAS_IOMEM depends on PCI and thus none of this devres stuff is usable without it. He suggested that you make the driver depend on USB_SUPPORT, which in turn depends on HAS_IOMEM.
Cheers,
Conor.
Quoted 17 lines
Quoted 10 lines
ERROR: modpost: "
devm_ioremap_resource" [drivers/dma/qcom/hdma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/fsl-edma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/idma64.ko] undefined!
ERROR: modpost: "iounmap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
ERROR: modpost: "ioremap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/char/xillybus/xillybus_of.ko] undefined!
ERROR: modpost: "devm_memremap" [drivers/misc/open-dice.ko] undefined!
ERROR: modpost: "devm_memunmap" [drivers/misc/open-dice.ko] undefined!
ERROR: modpost: "iounmap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined!
WARNING: modpost: suppressed 19 unresolved symbol warnings because there were too many)Quoted 6 lines
Quoted 1 line
Kconfigwarnings: (for reference only)WARNING: unmet direct dependencies detected for
USB_PHYDepends on [n]:USB_SUPPORT[=n]
Selected by [m]:
-PHY_STARFIVE_JH7110_PCIE[=m]I will fix it.
Vinod Koul
maintainerRe: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver
Quoted 29 lines · Conor Dooley
Hey,
Quoted 25 lines · Minda Chen
Quoted 24 lines · kernel test robot
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.4-rc7 next-20230619] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]url: https://github.com/intel-lab-lkp/linux/commits/Minda-Chen/dt-bindings-phy-Add-StarFive-JH7110-PCIe-PHY/20230619-184756 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next patch link: https://lore.kernel.org/r/20230619094759.21013-5-minda.chen%40starfivetech.com patch subject: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20230619/[email protected]/config) compiler: s390-linux-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230619/[email protected]/reproduce)If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/All errors (new ones prefixed by >>, old ones prefixed by <<):
Quoted 1 line
Quoted 1 line
ERROR: modpost: "
devm_platform_ioremap_resource" [drivers/phy/starfive/phy-jh7110-pcie.ko] undefined!
Quoted 7 lines
Quoted 1 line
I can not find this error.
devm_platform_ioremap_resourceis an exported symbolI asked Arnd about this since the error confused me too. Arnd pointed out that this "allmodconfig" isn't really allmodconfig as PCI is disabled. On s390,
CONFIG_HAS_IOMEMdepends on PCI and thus none of this devres stuff is usable without it. He suggested that you make the driver depend onUSB_SUPPORT, which in turn depends onHAS_IOMEM.
Or add HAS_IOMEM as few drivers already do :-)
Quoted 21 lines
Cheers,
Conor.Quoted 17 lines
Quoted 10 lines
ERROR: modpost: "
devm_ioremap_resource" [drivers/dma/qcom/hdma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/fsl-edma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/idma64.ko] undefined!
ERROR: modpost: "iounmap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
ERROR: modpost: "ioremap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/char/xillybus/xillybus_of.ko] undefined!
ERROR: modpost: "devm_memremap" [drivers/misc/open-dice.ko] undefined!
ERROR: modpost: "devm_memunmap" [drivers/misc/open-dice.ko] undefined!
ERROR: modpost: "iounmap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined!
WARNING: modpost: suppressed 19 unresolved symbol warnings because there were too many)Quoted 6 lines
Quoted 1 line
Kconfigwarnings: (for reference only)WARNING: unmet direct dependencies detected for
USB_PHYDepends on [n]:USB_SUPPORT[=n]
Selected by [m]:
-PHY_STARFIVE_JH7110_PCIE[=m]I will fix it.
Signature · 1 line
~Vinod
kernel test robot
build botRe: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver
In reply to Minda Chenkernel test robot noticed the following build errors:
Hi Minda,
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.4-rc7 next-20230620] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Minda-Chen/dt-bindings-phy-Add-StarFive-JH7110-PCIe-PHY/20230619-184756 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next patch link: https://lore.kernel.org/r/20230619094759.21013-5-minda.chen%40starfivetech.com patch subject: [PATCH v7 4/5] phy: starfive: Add JH7110 PCIE 2.0 PHY driver config: hexagon-randconfig-r045-20230620 (https://download.01.org/0day-ci/archive/20230621/[email protected]/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) reproduce: (https://download.01.org/0day-ci/archive/20230621/[email protected]/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
All errors (new ones prefixed by >>, old ones prefixed by <<):
>> ERROR: modpost: "devm_usb_get_phy" [drivers/power/supply/rt9455_charger.ko] undefined! >> ERROR: modpost: "devm_usb_get_phy_by_phandle" [drivers/power/supply/isp1704_charger.ko] undefined! >> ERROR: modpost: "devm_usb_get_phy" [drivers/power/supply/isp1704_charger.ko] undefined! >> ERROR: modpost: "devm_usb_get_phy" [drivers/power/supply/bq256xx_charger.ko] undefined!
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for USB_PHY Depends on [n]: USB_SUPPORT [=n]
Selected by [m]:
- PHY_STARFIVE_JH7110_PCIE [=m]
Signature · 2 lines
0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
Minda Chen
maintainerPATCH v7 5/5 riscv: dts: starfive: Add PCIe PHY dts configuration for JH7110
In reply to Minda ChenAdd PCIe PHY dts configuration for StarFive JH7110 SoC. PCIe0 PHY can be use as USB 3.0 PHY.
--- arch/riscv/boot/dts/starfive/jh7110.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+)
arch/riscv/boot/dts/starfive/jh7110.dtsi +12 -0
@@ -353,6 +353,18 @@ status = "disabled"; }; + pciephy0: phy@10210000 { + compatible = "starfive,jh7110-pcie-phy"; + reg = <0x0 0x10210000 0x0 0x10000>; + #phy-cells = <0>; + }; + + pciephy1: phy@10220000 { + compatible = "starfive,jh7110-pcie-phy"; + reg = <0x0 0x10220000 0x0 0x10000>; + #phy-cells = <0>; + }; + uart3: serial@12000000 { compatible = "snps,dw-apb-uart"; reg = <0x0 0x12000000 0x0 0x10000>;
Signature · 1 line
2.17.1