[PATCH v2 4/4] phy: spacemit: add USB3 support for K1 PCIe/USB3 combo PHY
Philipp Zabel
p.zabel at pengutronix.de
Wed May 14 06:06:44 PDT 2025
On Fr, 2025-04-18 at 21:19 +0800, Ze Huang wrote:
> Add support for USB 3.0 mode on the K1 PCIe/USB3 combo PHY. Currently,
> only USB mode is supported; PCIe support is not included in this change.
>
> Signed-off-by: Ze Huang <huangze at whut.edu.cn>
> ---
> drivers/phy/spacemit/Kconfig | 8 ++
> drivers/phy/spacemit/Makefile | 1 +
> drivers/phy/spacemit/phy-k1-combphy.c | 251 ++++++++++++++++++++++++++++++++++
> 3 files changed, 260 insertions(+)
>
[...]
> diff --git a/drivers/phy/spacemit/phy-k1-combphy.c b/drivers/phy/spacemit/phy-k1-combphy.c
> new file mode 100644
> index 0000000000000000000000000000000000000000..a291b7a78fae2f4072b74c1d2cc65847ed821bec
> --- /dev/null
> +++ b/drivers/phy/spacemit/phy-k1-combphy.c
> @@ -0,0 +1,251 @@
[...]
> +static int spacemit_combphy_probe(struct platform_device *pdev)
> +{
> + struct spacemit_combphy_priv *priv;
> + struct phy_provider *phy_provider;
> + struct device *dev = &pdev->dev;
> +
> + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
> + if (!priv)
> + return -ENOMEM;
> +
> + priv->phy_ctrl = devm_platform_ioremap_resource_byname(pdev, "ctrl");
> + if (IS_ERR(priv->phy_ctrl))
> + return PTR_ERR(priv->phy_ctrl);
> +
> + priv->phy_sel = devm_platform_ioremap_resource_byname(pdev, "sel");
> + if (IS_ERR(priv->phy_sel))
> + return PTR_ERR(priv->phy_sel);
> +
> + priv->lfps_threshold = COMBPHY_USB_LFPS_THRES_DEFAULT;
> + device_property_read_u8(&pdev->dev, "spacemit,lfps-threshold", &priv->lfps_threshold);
> +
> + priv->rx_always_on = device_property_read_bool(&pdev->dev, "spacemit,rx-always-on");
> + priv->type = PHY_NONE;
> + priv->dev = dev;
> +
> + priv->phy_rst = devm_reset_control_get(dev, NULL);
Please use devm_reset_control_get_exclusive() directly.
regards
Philipp
More information about the linux-riscv
mailing list