From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 072392E5B21 for ; Wed, 23 Jul 2025 12:23:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=149.28.215.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273424; cv=none; b=Ei6YZOzXAKmhTwlHxxzHuH9b02VyrYClxq+xp12xM/MnyGM31+tWynxjyrsNXAL3WGYFdYxAgq4xalYf/SLm8CTisWXIg90m9UqkJM0uxHYSYoI20KQGjYWn+PrZPJf4wPZLsV1abJd9PueoO7xN9I6sB0HXw0cJWj3wipKORF4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273424; c=relaxed/simple; bh=d48SEyX6uFg0vX9REauKj4hMLQEIfm88QlaAm4kh32Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QqyJ4s+tc8fqpk75coo0cgtQW0tlLZ5l1tqWQ1Uhg8rYlAUFmCLXYrZJ3+Wx6vTYTVlYxQxZuZG9ZX3Behee5iYEuyMc17FEHNdHayqIFH5QuWqc9Qq8Ku/Bobp0eqBgtH0QFUeuL6dzpsvRdUMU/2Im/e+Vheo/oT9LNG6vrUI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=jBIAMN3v; arc=none smtp.client-ip=149.28.215.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="jBIAMN3v" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273422; bh=VrGCDldEDfJlmA3L8IBuQRXGokqWnwHgnzli9QRW/iI=; b=jBIAMN3vrYmLvH8U71yItm6xG4BHr6ySCfVKzz69ruBDp/wjewHDMUIeHK+5wfim74vKEOn/z bDX5aRAwbcv13bbeL9At6OYM0cyTK1Xxutz5foUDP5fiebJ0oC5DrY+gHKUQOzoIeMydtEkUXk3 +iRT+os5ZSBJ+0lwSEnl4Fgt36fSER6nDI5dAW+2wL9UT2CtvX3p0pdyKg+GW0q/97PBR1aGgOo PfrCU760NXGQRtRAnKLDlJtB0WT1dVoeZqCb31r28wi3kHFVjbKQvF0BHkBInnlRr7ibWeHcs69 Dxz3DjQ0OHjr/0iAMllkZJDll1U+qGpuR+MX4zFC4Yvg== X-Forward-Email-ID: 6880d445cb0ee86f9731a05b X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 01/11] dt-bindings: phy: rockchip,inno-usb2phy: Require GRF for RK3568/RV1108 Date: Wed, 23 Jul 2025 12:22:59 +0000 Message-ID: <20250723122323.2344916-2-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Typically these Rockchip USB2 PHYs are fully contained within a single GRF. However, for RK3568 and RV1108 regs to control the USB2 PHY is located in a different GRF compared to the base address. Update this binding to require rockchip,usbgrf for RK3568 and RV1108 to properly reflect that the USB GRF is required to control the USB2 PHYs on these variants. Also disable use of rockchip,usbgrf for variants where it is not required. This should not introduce any breakage as the affected usb2phy nodes for RK3568 and RV1108 were added together with a rockchip,usbgrf phandle in their initial commit. Signed-off-by: Jonas Karlman Acked-by: Rob Herring (Arm) --- .../bindings/phy/rockchip,inno-usb2phy.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.ya= ml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml index 58e735b5dd05..b95c9e3e44fe 100644 --- a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml +++ b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml @@ -145,6 +145,20 @@ anyOf: - host-port =20 allOf: + - if: + properties: + compatible: + contains: + enum: + - rockchip,rk3568-usb2phy + - rockchip,rv1108-usb2phy + then: + required: + - rockchip,usbgrf + else: + properties: + rockchip,usbgrf: false + - if: properties: compatible: --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0DE062E62BF for ; Wed, 23 Jul 2025 12:23:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=149.28.215.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273429; cv=none; b=n8tZdk4K7DtAf0+be+mskbS0R8f0KJ2pb5FsD/OwWGqqhpXUZWCMTjWgjYUIgv2+tjq3nlLJnYLUOHCi9rWEH4IpdWCtz8MFZ+/bgBc6uJDo0cku7kYUQvi/E0h7Z08wlNuEmIMp+VkorJbFrKBfU154T2tb8Pk7wIZ6uoVHUaM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273429; c=relaxed/simple; bh=yalNkvMEZspTuVCKQzvp6ToTj0cjedyOcwR+BRTVd/A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lEtOYWeqZ3rsCzyLMRlaQdl67LwDcoA8dVbg5rO+1hBgs/XLPmYEI3siDXyyLxqEjIAmsrY6rpXmJEN22R24z9UMI2tJGy5Hy9pnUMuFBmd0yUFMM/b66lUNhyCrxUrEf95dIk4ipdJe8i2jUoFRsn8lXgdEsjyY03lah5n5EzQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=r/md1BJi; arc=none smtp.client-ip=149.28.215.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="r/md1BJi" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273426; bh=0v79iA3SmSSu7coGbRQw4Mmbd+Mg73Nzz/UpJsKT+eM=; b=r/md1BJikVOV7WCNwNllw8k95vMbcP84+WxoVhfC48L0i8uFylqvRjg7oKIXJ753+xdHMWnhg p2GODfiityDDJ36Ql5m9GZC9SOFKIoyP7zQktvOW5eBS7x+uGsch1gj6ld8fcfDbNaeeHrpXXDq TXGKQt3K02L5T1QU/VzUxkUWiqV39Brs9KjDvL2YWR2pluGbGrGosL9mBCG2Lr9i9R5z5vFPspo XrpEEunKzr/Mm9UoP2Tb8VQ7NXzGCY19SY8czkLW0uGMpVLTjrN1x/llkGSM4Kf5QdEZ8yrXH0/ ZEaG5KCMg3NbOdPFmommt3JGi5bKs9myZ3G4RS4S5WOQ== X-Forward-Email-ID: 6880d44acb0ee86f9731a072 X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 02/11] phy: rockchip: inno-usb2: Simplify rockchip,usbgrf handling Date: Wed, 23 Jul 2025 12:23:00 +0000 Message-ID: <20250723122323.2344916-3-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The logic to decide if usbgrf or grf should be used is more complex than it needs to be. For RK3568, RV1108 and soon RK3528 we can assign the rockchip,usbgrf regmap directly to grf instead of doing a usbgrf and grf dance. Simplify the code to only use the grf regmap and handle the logic of what regmap should be used in driver probe instead. The only expected change from this is that RK3528 can be supported because of an addition of a of_property_present() check. Signed-off-by: Jonas Karlman --- drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 68 +++++-------------- 1 file changed, 18 insertions(+), 50 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/ro= ckchip/phy-rockchip-inno-usb2.c index b0f23690ec30..130f03474719 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -228,7 +228,6 @@ struct rockchip_usb2phy_port { * struct rockchip_usb2phy - usb2.0 phy driver data. * @dev: pointer to device. * @grf: General Register Files regmap. - * @usbgrf: USB General Register Files regmap. * @clks: array of phy input clocks. * @clk480m: clock struct of phy output clk. * @clk480m_hw: clock struct of phy output clk management. @@ -246,7 +245,6 @@ struct rockchip_usb2phy_port { struct rockchip_usb2phy { struct device *dev; struct regmap *grf; - struct regmap *usbgrf; struct clk_bulk_data *clks; struct clk *clk480m; struct clk_hw clk480m_hw; @@ -261,11 +259,6 @@ struct rockchip_usb2phy { struct rockchip_usb2phy_port ports[USB2PHY_NUM_PORTS]; }; =20 -static inline struct regmap *get_reg_base(struct rockchip_usb2phy *rphy) -{ - return rphy->usbgrf =3D=3D NULL ? rphy->grf : rphy->usbgrf; -} - static inline int property_enable(struct regmap *base, const struct usb2phy_reg *reg, bool en) { @@ -323,12 +316,11 @@ static int rockchip_usb2phy_clk480m_prepare(struct cl= k_hw *hw) { struct rockchip_usb2phy *rphy =3D container_of(hw, struct rockchip_usb2phy, clk480m_hw); - struct regmap *base =3D get_reg_base(rphy); int ret; =20 /* turn on 480m clk output if it is off */ - if (!property_enabled(base, &rphy->phy_cfg->clkout_ctl)) { - ret =3D property_enable(base, &rphy->phy_cfg->clkout_ctl, true); + if (!property_enabled(rphy->grf, &rphy->phy_cfg->clkout_ctl)) { + ret =3D property_enable(rphy->grf, &rphy->phy_cfg->clkout_ctl, true); if (ret) return ret; =20 @@ -343,19 +335,17 @@ static void rockchip_usb2phy_clk480m_unprepare(struct= clk_hw *hw) { struct rockchip_usb2phy *rphy =3D container_of(hw, struct rockchip_usb2phy, clk480m_hw); - struct regmap *base =3D get_reg_base(rphy); =20 /* turn off 480m clk output */ - property_enable(base, &rphy->phy_cfg->clkout_ctl, false); + property_enable(rphy->grf, &rphy->phy_cfg->clkout_ctl, false); } =20 static int rockchip_usb2phy_clk480m_prepared(struct clk_hw *hw) { struct rockchip_usb2phy *rphy =3D container_of(hw, struct rockchip_usb2phy, clk480m_hw); - struct regmap *base =3D get_reg_base(rphy); =20 - return property_enabled(base, &rphy->phy_cfg->clkout_ctl); + return property_enabled(rphy->grf, &rphy->phy_cfg->clkout_ctl); } =20 static unsigned long @@ -574,7 +564,6 @@ static int rockchip_usb2phy_power_on(struct phy *phy) { struct rockchip_usb2phy_port *rport =3D phy_get_drvdata(phy); struct rockchip_usb2phy *rphy =3D dev_get_drvdata(phy->dev.parent); - struct regmap *base =3D get_reg_base(rphy); int ret; =20 dev_dbg(&rport->phy->dev, "port power on\n"); @@ -586,7 +575,7 @@ static int rockchip_usb2phy_power_on(struct phy *phy) if (ret) return ret; =20 - ret =3D property_enable(base, &rport->port_cfg->phy_sus, false); + ret =3D property_enable(rphy->grf, &rport->port_cfg->phy_sus, false); if (ret) { clk_disable_unprepare(rphy->clk480m); return ret; @@ -615,7 +604,6 @@ static int rockchip_usb2phy_power_off(struct phy *phy) { struct rockchip_usb2phy_port *rport =3D phy_get_drvdata(phy); struct rockchip_usb2phy *rphy =3D dev_get_drvdata(phy->dev.parent); - struct regmap *base =3D get_reg_base(rphy); int ret; =20 dev_dbg(&rport->phy->dev, "port power off\n"); @@ -623,7 +611,7 @@ static int rockchip_usb2phy_power_off(struct phy *phy) if (rport->suspended) return 0; =20 - ret =3D property_enable(base, &rport->port_cfg->phy_sus, true); + ret =3D property_enable(rphy->grf, &rport->port_cfg->phy_sus, true); if (ret) return ret; =20 @@ -787,28 +775,22 @@ static const char *chg_to_string(enum power_supply_ty= pe chg_type) static void rockchip_chg_enable_dcd(struct rockchip_usb2phy *rphy, bool en) { - struct regmap *base =3D get_reg_base(rphy); - - property_enable(base, &rphy->phy_cfg->chg_det.rdm_pdwn_en, en); - property_enable(base, &rphy->phy_cfg->chg_det.idp_src_en, en); + property_enable(rphy->grf, &rphy->phy_cfg->chg_det.rdm_pdwn_en, en); + property_enable(rphy->grf, &rphy->phy_cfg->chg_det.idp_src_en, en); } =20 static void rockchip_chg_enable_primary_det(struct rockchip_usb2phy *rphy, bool en) { - struct regmap *base =3D get_reg_base(rphy); - - property_enable(base, &rphy->phy_cfg->chg_det.vdp_src_en, en); - property_enable(base, &rphy->phy_cfg->chg_det.idm_sink_en, en); + property_enable(rphy->grf, &rphy->phy_cfg->chg_det.vdp_src_en, en); + property_enable(rphy->grf, &rphy->phy_cfg->chg_det.idm_sink_en, en); } =20 static void rockchip_chg_enable_secondary_det(struct rockchip_usb2phy *rph= y, bool en) { - struct regmap *base =3D get_reg_base(rphy); - - property_enable(base, &rphy->phy_cfg->chg_det.vdm_src_en, en); - property_enable(base, &rphy->phy_cfg->chg_det.idp_sink_en, en); + property_enable(rphy->grf, &rphy->phy_cfg->chg_det.vdm_src_en, en); + property_enable(rphy->grf, &rphy->phy_cfg->chg_det.idp_sink_en, en); } =20 #define CHG_DCD_POLL_TIME (100 * HZ / 1000) @@ -820,7 +802,6 @@ static void rockchip_chg_detect_work(struct work_struct= *work) struct rockchip_usb2phy_port *rport =3D container_of(work, struct rockchip_usb2phy_port, chg_work.work); struct rockchip_usb2phy *rphy =3D dev_get_drvdata(rport->phy->dev.parent); - struct regmap *base =3D get_reg_base(rphy); bool is_dcd, tmout, vout; unsigned long delay; =20 @@ -831,7 +812,7 @@ static void rockchip_chg_detect_work(struct work_struct= *work) if (!rport->suspended) rockchip_usb2phy_power_off(rport->phy); /* put the controller in non-driving mode */ - property_enable(base, &rphy->phy_cfg->chg_det.opmode, false); + property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false); /* Start DCD processing stage 1 */ rockchip_chg_enable_dcd(rphy, true); rphy->chg_state =3D USB_CHG_STATE_WAIT_FOR_DCD; @@ -894,7 +875,7 @@ static void rockchip_chg_detect_work(struct work_struct= *work) fallthrough; case USB_CHG_STATE_DETECTED: /* put the controller in normal mode */ - property_enable(base, &rphy->phy_cfg->chg_det.opmode, true); + property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true); rockchip_usb2phy_otg_sm_work(&rport->otg_sm_work.work); dev_dbg(&rport->phy->dev, "charger =3D %s\n", chg_to_string(rphy->chg_type)); @@ -1349,27 +1330,14 @@ static int rockchip_usb2phy_probe(struct platform_d= evice *pdev) if (!rphy) return -ENOMEM; =20 - if (!dev->parent || !dev->parent->of_node) { + if (!dev->parent || !dev->parent->of_node || + of_property_present(np, "rockchip,usbgrf")) { rphy->grf =3D syscon_regmap_lookup_by_phandle(np, "rockchip,usbgrf"); - if (IS_ERR(rphy->grf)) { - dev_err(dev, "failed to locate usbgrf\n"); - return PTR_ERR(rphy->grf); - } } else { rphy->grf =3D syscon_node_to_regmap(dev->parent->of_node); - if (IS_ERR(rphy->grf)) - return PTR_ERR(rphy->grf); - } - - if (of_device_is_compatible(np, "rockchip,rv1108-usb2phy")) { - rphy->usbgrf =3D - syscon_regmap_lookup_by_phandle(dev->of_node, - "rockchip,usbgrf"); - if (IS_ERR(rphy->usbgrf)) - return PTR_ERR(rphy->usbgrf); - } else { - rphy->usbgrf =3D NULL; } + if (IS_ERR(rphy->grf)) + return PTR_ERR(rphy->grf); =20 if (of_property_read_u32_index(np, "reg", 0, ®)) { dev_err(dev, "the reg property is not assigned in %pOFn node\n", np); --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 505A42E5B1C for ; Wed, 23 Jul 2025 12:23:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=149.28.215.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273432; cv=none; b=sOVHY2TrpKuBbfAWu/Aa/gcY8oEocCtwAz1j91tCtb/Z24r7w+Mj/1RfZS8/EXRMDzImU9Kf92AlNdHMVCmRqOXAvyKZrZVuz8ymx4E0cDcxU5sY/y0kBvolizybeBOLd7JmuEgSlc6FSbOWdtfDqma1iQ2cruDWqXONsD6At7A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273432; c=relaxed/simple; bh=0ISYNH1EBVAZYOnYkE5HZvWKIs61e1vcooKNHgb+bfs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZlawjzCNaSzRApk/yvO4xl42ccJOTFd6vVPaIjRurJBqFWFh3pg185wcPFYPiuG+BjsmEbgkra6b/PyJil1nFlJ3IpZKx5tlV9y9XTbuGKLOXJp0GyESzGPryYjB4xx7rqngcI1LgAOpHl2V2wXKOmtWMOXmpRoEEWB3o6fDUwM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=qLmWSqS0; arc=none smtp.client-ip=149.28.215.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="qLmWSqS0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273430; bh=pMeef0fMgt0XkMUkuWS4WfbRrZLUJjrcEoP7+ycSlXU=; b=qLmWSqS0pQ5wxnTqpmGotO15khiKg8FdgY4PkF55Y9uYFpgSlm498fhgqQl3aDAxkAvjgyKiD xFybbRFgBF8+iRsVXiCDQR/EGeu4Yi6957/92JdzoSkfRYkkkpXvnRd/7xywF/eunLieV7oQwx/ rMlGnJyQ3InURmKp45phjp0dKaX2uR/pfHE2wNZNQyYtuyR4vQh/uQJg6OZM5+gtsRtusbRm0mT 5/+h9oHs8/f8r3dqbfj0FaXzgs9aNakHKjBiph0SIA4EentEa2jTM6/095vOXnj3v419IjBNdCM MT15vHJJcuMqj7/zrEONtLGyXinoZ9nMGZdvV+6djG9A== X-Forward-Email-ID: 6880d44ecb0ee86f9731a087 X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 03/11] dt-bindings: phy: rockchip,inno-usb2phy: Add compatible for RK3528 Date: Wed, 23 Jul 2025 12:23:01 +0000 Message-ID: <20250723122323.2344916-4-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The embedded USB2 PHY on RK3528 is very similar to the one in RK3568, the main difference being that it only uses two clocks instead of three. Add compatible to support the USB2 PHY in RK3528. Signed-off-by: Jonas Karlman Reviewed-by: Rob Herring (Arm) --- .../bindings/phy/rockchip,inno-usb2phy.yaml | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.ya= ml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml index b95c9e3e44fe..f50fc69fbbe4 100644 --- a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml +++ b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml @@ -20,6 +20,7 @@ properties: - rockchip,rk3328-usb2phy - rockchip,rk3366-usb2phy - rockchip,rk3399-usb2phy + - rockchip,rk3528-usb2phy - rockchip,rk3562-usb2phy - rockchip,rk3568-usb2phy - rockchip,rk3576-usb2phy @@ -41,11 +42,15 @@ properties: maxItems: 3 =20 clock-names: - minItems: 1 - items: + oneOf: - const: phyclk - - const: aclk - - const: aclk_slv + - items: + - const: phyclk + - const: pclk + - items: + - const: phyclk + - const: aclk + - const: aclk_slv =20 assigned-clocks: description: @@ -65,6 +70,9 @@ properties: description: Muxed interrupt for both ports maxItems: 1 =20 + power-domains: + maxItems: 1 + resets: maxItems: 2 =20 @@ -150,6 +158,7 @@ allOf: compatible: contains: enum: + - rockchip,rk3528-usb2phy - rockchip,rk3568-usb2phy - rockchip,rv1108-usb2phy then: @@ -218,6 +227,19 @@ allOf: clock-names: maxItems: 1 =20 + - if: + properties: + compatible: + contains: + enum: + - rockchip,rk3528-usb2phy + then: + properties: + clocks: + minItems: 2 + clock-names: + minItems: 2 + - if: properties: compatible: --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [121.127.44.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9E3852E62CE for ; Wed, 23 Jul 2025 12:23:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=121.127.44.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273432; cv=none; b=dc6r04S2NDM9gb4fKmvchjsUkSER4nd6G3ZH13PArpmkZh9ipaJiROAmFaNqtBeBHAx/UMSxAZoXL9jueZ5TlTCPiMsMXQUl1eZeRCqKrCvllNGIIId9ILzMSIbyyPYDrwRgp7TRnDOvnEovKzL53jx9+EQJ1R0njyKECg7wOWU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273432; c=relaxed/simple; bh=DTnFKaqXMEEGzhsDNMlfzfA05S3UXxqZxcGj8rtyYVs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UFeBLAk3x5UQZMQdey3cD4Kn1yzRrNiVXhTRsZ9z20/CyEQMrkR8DnlyG4UpNp4DlrDJjP5lO1hnqbqKA/4GqSeJ6bjZuU9Qu+BlOVov6pvrakiy9j0Nrc3+E1qKkxeHKsOGTfyYFPtH31M3L/gvoXwM38idbxakqhg1Mm0YjCc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=woenmJN1; arc=none smtp.client-ip=121.127.44.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="woenmJN1" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273430; bh=G7HtzhH5QPJr92DGCLq8/qfM86Vj1rU2kScnrBc1jhM=; b=woenmJN1aBXmGg8d8qEPz2IJtXUlhqaQ59x/4DbJEp+GE1zVul0sD/XzInEs6MRJESwHfuNdg TMcz9anhctM/DMFruIGqa7SSo1drlOAnHufQWKfdR+78H23WEOV9L0WUTDlA+PTIQyJG9tm225u eVBydH8zeAvpU9nFqabc9qvLWDJuTNBKFUZEZJPH/O/76QU4bqyZznIuz8b7VBJ57dzBgNi8YFK qi/W2oxAvFVfonawHXMSrCqtdNHyOmQz6U2pvoQtm2wGJG/kqO4nHt5uFao6zLkvdDVnPFpe5mE FHuGsE4e/FXJgLhI7G0oKxapeqlo4ynCHs8WBAAB9hqA== X-Forward-Email-ID: 6880d453cb0ee86f9731a09c X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 121.127.44.73 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 04/11] phy: rockchip: inno-usb2: Add clkout_ctl_phy support Date: Wed, 23 Jul 2025 12:23:02 +0000 Message-ID: <20250723122323.2344916-5-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The 480m clk is controlled using regs in the PHY address space and not in the USB GRF address space on e.g. RK3528 and RK3506. Add a clkout_ctl_phy usb2phy_reg to handle enable/disable of the 480m clk on these SoCs. Signed-off-by: Jonas Karlman --- drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 47 +++++++++++++++---- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/ro= ckchip/phy-rockchip-inno-usb2.c index 130f03474719..cd1a02b990ef 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -179,6 +179,7 @@ struct rockchip_usb2phy_cfg { unsigned int num_ports; int (*phy_tuning)(struct rockchip_usb2phy *rphy); struct usb2phy_reg clkout_ctl; + struct usb2phy_reg clkout_ctl_phy; const struct rockchip_usb2phy_port_cfg port_cfgs[USB2PHY_NUM_PORTS]; const struct rockchip_chg_det_reg chg_det; }; @@ -228,6 +229,7 @@ struct rockchip_usb2phy_port { * struct rockchip_usb2phy - usb2.0 phy driver data. * @dev: pointer to device. * @grf: General Register Files regmap. + * @phy_base: USB PHY regmap. * @clks: array of phy input clocks. * @clk480m: clock struct of phy output clk. * @clk480m_hw: clock struct of phy output clk management. @@ -245,6 +247,7 @@ struct rockchip_usb2phy_port { struct rockchip_usb2phy { struct device *dev; struct regmap *grf; + struct regmap *phy_base; struct clk_bulk_data *clks; struct clk *clk480m; struct clk_hw clk480m_hw; @@ -312,15 +315,33 @@ static void rockchip_usb2phy_clk_bulk_disable(void *d= ata) clk_bulk_disable_unprepare(rphy->num_clks, rphy->clks); } =20 -static int rockchip_usb2phy_clk480m_prepare(struct clk_hw *hw) +static void +rockchip_usb2phy_clk480m_clkout_ctl(struct clk_hw *hw, struct regmap **bas= e, + const struct usb2phy_reg **clkout_ctl) { struct rockchip_usb2phy *rphy =3D container_of(hw, struct rockchip_usb2phy, clk480m_hw); + + if (rphy->phy_cfg->clkout_ctl_phy.enable) { + *base =3D rphy->phy_base; + *clkout_ctl =3D &rphy->phy_cfg->clkout_ctl_phy; + } else { + *base =3D rphy->grf; + *clkout_ctl =3D &rphy->phy_cfg->clkout_ctl; + } +} + +static int rockchip_usb2phy_clk480m_prepare(struct clk_hw *hw) +{ + const struct usb2phy_reg *clkout_ctl; + struct regmap *base; int ret; =20 + rockchip_usb2phy_clk480m_clkout_ctl(hw, &base, &clkout_ctl); + /* turn on 480m clk output if it is off */ - if (!property_enabled(rphy->grf, &rphy->phy_cfg->clkout_ctl)) { - ret =3D property_enable(rphy->grf, &rphy->phy_cfg->clkout_ctl, true); + if (!property_enabled(base, clkout_ctl)) { + ret =3D property_enable(base, clkout_ctl, true); if (ret) return ret; =20 @@ -333,19 +354,23 @@ static int rockchip_usb2phy_clk480m_prepare(struct cl= k_hw *hw) =20 static void rockchip_usb2phy_clk480m_unprepare(struct clk_hw *hw) { - struct rockchip_usb2phy *rphy =3D - container_of(hw, struct rockchip_usb2phy, clk480m_hw); + const struct usb2phy_reg *clkout_ctl; + struct regmap *base; + + rockchip_usb2phy_clk480m_clkout_ctl(hw, &base, &clkout_ctl); =20 /* turn off 480m clk output */ - property_enable(rphy->grf, &rphy->phy_cfg->clkout_ctl, false); + property_enable(base, clkout_ctl, false); } =20 static int rockchip_usb2phy_clk480m_prepared(struct clk_hw *hw) { - struct rockchip_usb2phy *rphy =3D - container_of(hw, struct rockchip_usb2phy, clk480m_hw); + const struct usb2phy_reg *clkout_ctl; + struct regmap *base; + + rockchip_usb2phy_clk480m_clkout_ctl(hw, &base, &clkout_ctl); =20 - return property_enabled(rphy->grf, &rphy->phy_cfg->clkout_ctl); + return property_enabled(base, clkout_ctl); } =20 static unsigned long @@ -1332,9 +1357,13 @@ static int rockchip_usb2phy_probe(struct platform_de= vice *pdev) =20 if (!dev->parent || !dev->parent->of_node || of_property_present(np, "rockchip,usbgrf")) { + rphy->phy_base =3D device_node_to_regmap(np); + if (IS_ERR(rphy->phy_base)) + return PTR_ERR(rphy->phy_base); rphy->grf =3D syscon_regmap_lookup_by_phandle(np, "rockchip,usbgrf"); } else { rphy->grf =3D syscon_node_to_regmap(dev->parent->of_node); + rphy->phy_base =3D rphy->grf; } if (IS_ERR(rphy->grf)) return PTR_ERR(rphy->grf); --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [121.127.44.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58E392E7182 for ; Wed, 23 Jul 2025 12:23:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=121.127.44.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273437; cv=none; b=Yjm9uxRybfgZcs86KiBQ10w8KNxLbQ12OGM6Az5gBSj2NYoA4sSxuFGNf+Lxiu6qneEyd6MAOXorj9WIaYZ9bXIsTo/icdx3oCKa0h9p9WXAqOGmi8uU8gb6gUXrcuUsIrYth1nCxo4aaALNZa2J1+TJKWVEqwX65Q32eyQeJ84= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273437; c=relaxed/simple; bh=cdNBkQlutdrvrcaHH16yIRxSKS/R7TMRMZ65Ez/Jxsc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PWa59NbPfSGTNIXOqar/dWSFfNz4cX8g5vIIyJrONlJfXtwTe6TH0VjYvqRpNOJbjmn0dGUcgO8EjS2znahm1wM6h48LD0hdoqnly29AbAV3V9kuBValSOlbMEIKCyKmQTZ2pDdSZZ3h5yEpphdoLCmTIoeKSfAmAw0nyjfQB48= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=AZNi5pnJ; arc=none smtp.client-ip=121.127.44.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="AZNi5pnJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273434; bh=zhhvg5zJxU5T4KsEk/esqcxT0PtM2GilClP+9BqeGhw=; b=AZNi5pnJ4s3VvOH7espO4hV+Ti3iAYLnnBbD2skDfHDZmbx7oIA/rjcoXUGoHv3I2MgkREzTa Y5Y12sdZx9ukdoLGzCRu1Mw/BPOmQosNnp6HYyK0QaCIyOZWjmFjA0LzIb2Jj1nY/DcV4ziiqax CpgDREw267yLvobYd3yyfE1Ug4ZoVFK0OpHopzuC5yx0bD23RVGBs/vIxppIDanXoCEzStt6g9j HqDRamDEA9NsB0fb8zsJQ1/hwANCiyYVmWH/4sE8Ax6PU2ixb6FqhgSroPezOsvl1oRcmUCjHgy Zjgynsl9ie4d7z0GJYrQBDEV5as36RSueS3AQl21l52A== X-Forward-Email-ID: 6880d457cb0ee86f9731a0cb X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 121.127.44.73 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman , Jianwei Zheng Subject: [PATCH 05/11] phy: rockchip: inno-usb2: Add support for RK3528 Date: Wed, 23 Jul 2025 12:23:03 +0000 Message-ID: <20250723122323.2344916-6-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jianwei Zheng The RK3528 has a single USB2PHY with a otg and host port. Add support for the RK3528 variant of USB2PHY. PHY tuning for RK3528: - Turn off differential receiver in suspend mode to save power consumption. - Set HS eye-height to 400mV instead of default 450mV. - Choose the Tx fs/ls data as linestate from TX driver for otg port which uses dwc3 controller to improve fs/ls devices compatibility with long cables. This is based on vendor kernel linux-stan-6.1-rkr5 tag. Signed-off-by: Jianwei Zheng Signed-off-by: Jonas Karlman --- drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/ro= ckchip/phy-rockchip-inno-usb2.c index cd1a02b990ef..b8950d9f9e97 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -1507,6 +1507,28 @@ static int rk3128_usb2phy_tuning(struct rockchip_usb= 2phy *rphy) BIT(2) << BIT_WRITEABLE_SHIFT | 0); } =20 +static int rk3528_usb2phy_tuning(struct rockchip_usb2phy *rphy) +{ + int ret =3D 0; + + /* Turn off otg port differential receiver in suspend mode */ + ret |=3D regmap_write(rphy->phy_base, 0x30, BIT(18) | 0x0000); + + /* Turn off host port differential receiver in suspend mode */ + ret |=3D regmap_write(rphy->phy_base, 0x430, BIT(18) | 0x0000); + + /* Set otg port HS eye height to 400mv (default is 450mv) */ + ret |=3D regmap_write(rphy->phy_base, 0x30, GENMASK(22, 20) | 0x0000); + + /* Set host port HS eye height to 400mv (default is 450mv) */ + ret |=3D regmap_write(rphy->phy_base, 0x430, GENMASK(22, 20) | 0x0000); + + /* Choose the Tx fs/ls data as linestate from TX driver for otg port */ + ret |=3D regmap_write(rphy->phy_base, 0x94, GENMASK(22, 19) | 0x0018); + + return ret; +} + static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy) { int ret; @@ -1920,6 +1942,57 @@ static const struct rockchip_usb2phy_cfg rk3399_phy_= cfgs[] =3D { { /* sentinel */ } }; =20 +static const struct rockchip_usb2phy_cfg rk3528_phy_cfgs[] =3D { + { + .reg =3D 0xffdf0000, + .num_ports =3D 2, + .phy_tuning =3D rk3528_usb2phy_tuning, + .clkout_ctl_phy =3D { 0x041c, 7, 2, 0, 0x27 }, + .port_cfgs =3D { + [USB2PHY_PORT_OTG] =3D { + .phy_sus =3D { 0x004c, 8, 0, 0, 0x1d1 }, + .bvalid_det_en =3D { 0x0074, 3, 2, 0, 3 }, + .bvalid_det_st =3D { 0x0078, 3, 2, 0, 3 }, + .bvalid_det_clr =3D { 0x007c, 3, 2, 0, 3 }, + .idfall_det_en =3D { 0x0074, 5, 5, 0, 1 }, + .idfall_det_st =3D { 0x0078, 5, 5, 0, 1 }, + .idfall_det_clr =3D { 0x007c, 5, 5, 0, 1 }, + .idrise_det_en =3D { 0x0074, 4, 4, 0, 1 }, + .idrise_det_st =3D { 0x0078, 4, 4, 0, 1 }, + .idrise_det_clr =3D { 0x007c, 4, 4, 0, 1 }, + .ls_det_en =3D { 0x0074, 0, 0, 0, 1 }, + .ls_det_st =3D { 0x0078, 0, 0, 0, 1 }, + .ls_det_clr =3D { 0x007c, 0, 0, 0, 1 }, + .utmi_avalid =3D { 0x006c, 1, 1, 0, 1 }, + .utmi_bvalid =3D { 0x006c, 0, 0, 0, 1 }, + .utmi_id =3D { 0x006c, 6, 6, 0, 1 }, + .utmi_ls =3D { 0x006c, 5, 4, 0, 1 }, + }, + [USB2PHY_PORT_HOST] =3D { + .phy_sus =3D { 0x005c, 8, 0, 0x1d2, 0x1d1 }, + .ls_det_en =3D { 0x0090, 0, 0, 0, 1 }, + .ls_det_st =3D { 0x0094, 0, 0, 0, 1 }, + .ls_det_clr =3D { 0x0098, 0, 0, 0, 1 }, + .utmi_ls =3D { 0x006c, 13, 12, 0, 1 }, + .utmi_hstdet =3D { 0x006c, 15, 15, 0, 1 }, + } + }, + .chg_det =3D { + .opmode =3D { 0x004c, 3, 0, 5, 1 }, + .cp_det =3D { 0x006c, 19, 19, 0, 1 }, + .dcp_det =3D { 0x006c, 18, 18, 0, 1 }, + .dp_det =3D { 0x006c, 20, 20, 0, 1 }, + .idm_sink_en =3D { 0x0058, 1, 1, 0, 1 }, + .idp_sink_en =3D { 0x0058, 0, 0, 0, 1 }, + .idp_src_en =3D { 0x0058, 2, 2, 0, 1 }, + .rdm_pdwn_en =3D { 0x0058, 3, 3, 0, 1 }, + .vdm_src_en =3D { 0x0058, 5, 5, 0, 1 }, + .vdp_src_en =3D { 0x0058, 4, 4, 0, 1 }, + }, + }, + { /* sentinel */ } +}; + static const struct rockchip_usb2phy_cfg rk3562_phy_cfgs[] =3D { { .reg =3D 0xff740000, @@ -2287,6 +2360,7 @@ static const struct of_device_id rockchip_usb2phy_dt_= match[] =3D { { .compatible =3D "rockchip,rk3328-usb2phy", .data =3D &rk3328_phy_cfgs }, { .compatible =3D "rockchip,rk3366-usb2phy", .data =3D &rk3366_phy_cfgs }, { .compatible =3D "rockchip,rk3399-usb2phy", .data =3D &rk3399_phy_cfgs }, + { .compatible =3D "rockchip,rk3528-usb2phy", .data =3D &rk3528_phy_cfgs }, { .compatible =3D "rockchip,rk3562-usb2phy", .data =3D &rk3562_phy_cfgs }, { .compatible =3D "rockchip,rk3568-usb2phy", .data =3D &rk3568_phy_cfgs }, { .compatible =3D "rockchip,rk3576-usb2phy", .data =3D &rk3576_phy_cfgs }, --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [121.127.44.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA3EE2E765B for ; Wed, 23 Jul 2025 12:24:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=121.127.44.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273442; cv=none; b=R/JgRpcq9WsbBmnkVLAfJ1fhH/C8FXvrX2OZbtHn/ccLo86hGpBelBlodrZEQewtSQvZRE/aXyWsbGiaZCNXXg9sNDiYS5viMJSFd2s53pJRqvk0nKZRciKqkUWFy7JnD/gJHZubDOK5I3uTA62NYP3tvrH+7REAIk+aFNSAHe0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273442; c=relaxed/simple; bh=LWJ1M0vsHLaIqbyGqsKzDR+idrh+U3gQNGdPylTuhek=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CRbqwsT4z/A3TRfoCp6aR2L5mR2euxe7p9SnBEUVc1GKjCF7UuFxWbVIS8v8q7DUO9uw1M9yJfbUnizuUjcz1tB4gLzZZ2tJXniJZ/a79l8XWgS2mdqnI6KvkEZDsIdcz2xxvryttp4p5DId4dAgrFcaBMmZK5ULQ+ZkyVLpEV4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=FCfADuCk; arc=none smtp.client-ip=121.127.44.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="FCfADuCk" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273439; bh=TU8Jll/Gz9LNgDHoqWnxxdtmHuWsKcU+Qw3QQXvySMM=; b=FCfADuCkd7GTRemRFY4XyXkSveS8sqfkdKY5zXHu+lsgH2ozpdrXIcLi2R8cfgXua+OrDsNjY pi9FCCMfmA/FFoSiQiJKpUF+5XNjEp/eoFLXYLtnwkPY2RsJkEmZgDSWAyNAQoxG8bI1gk4v6ra hi2PCQ2+HKOoysLu6oQj4cyGnJ/T/Wdwu545WMqqB4vIDntadJw/Mb8EOREOCb1pjZm1vq/RMUa vgEEg/EmSis3289B4P3s46k5rBMUQu4MKGq4MwK/a2yA7jM41MSYUUDD8BXK7vd0hrvcGokRvQh HY7JgI4XQDyiv40y05n7By6iwbNEHJUI+xAGjTmpPKhA== X-Forward-Email-ID: 6880d45ccb0ee86f9731a0e0 X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 121.127.44.73 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I , Greg Kroah-Hartman Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman , linux-usb@vger.kernel.org Subject: [PATCH 06/11] dt-bindings: usb: dwc3: Add compatible for RK3528 Date: Wed, 23 Jul 2025 12:23:04 +0000 Message-ID: <20250723122323.2344916-7-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The USB dwc3 core on Rockchip RK3528 is the same as the one already described by the generic snps,dwc3 schema. Add the compatible for the Rockchip RK3528 variant. Signed-off-by: Jonas Karlman Acked-by: Rob Herring (Arm) --- Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml b/Doc= umentation/devicetree/bindings/usb/rockchip,dwc3.yaml index fd1b13c0ed6b..0554dbc4b854 100644 --- a/Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml +++ b/Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml @@ -26,6 +26,7 @@ select: contains: enum: - rockchip,rk3328-dwc3 + - rockchip,rk3528-dwc3 - rockchip,rk3562-dwc3 - rockchip,rk3568-dwc3 - rockchip,rk3576-dwc3 @@ -38,6 +39,7 @@ properties: items: - enum: - rockchip,rk3328-dwc3 + - rockchip,rk3528-dwc3 - rockchip,rk3562-dwc3 - rockchip,rk3568-dwc3 - rockchip,rk3576-dwc3 @@ -135,6 +137,7 @@ allOf: compatible: contains: enum: + - rockchip,rk3528-dwc3 - rockchip,rk3568-dwc3 - rockchip,rk3576-dwc3 then: --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA7D12E62AE for ; Wed, 23 Jul 2025 12:24:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=149.28.215.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273448; cv=none; b=QppjEGC3QDN0G5Ch88BcmEMl/5PVQdptneBpMFWCWEoCGq6cKCuCSvMs6M8m1nUQnCG+bpIjjtsSa5odQx5Qlba+W0afbVx5+VR/HNkIH9j/UrGoixt2Q+oOMswLs0MYYRjswwg3js1JjKzd2iwGu5BeW2wPv8V8OUA/wEYZYII= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273448; c=relaxed/simple; bh=2Jya7pUfKAWJ/U8l3GPpaZEcvhIGMg4t5jrBtXKZZtU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l+F55/LEwYSUAMPHtXwQxbG77TmzZNhvE8h2GliQSFzZS40ZLhUlZJnPpzfzyYCjzNr4WmfBjoM8y4VGgaPHl52JZwNGTRCObrPh0Cd/dKW5nvsx4epqSb7OFmRsCH5sKjQNEGjYnXmn1M2nOT/CeXwwIWml0zlNJ3o0A+2aUOk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=Jn1fRnSh; arc=none smtp.client-ip=149.28.215.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="Jn1fRnSh" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273446; bh=qM2kjDv8yiHdNanOkkqrr4uaRt3f/qugOPAoj2T+6O4=; b=Jn1fRnSh4dC345R50VEfAy2Y30RRFQRS/4uk4XvHExE1ryzKlNVkUyr6U6S5/tRheEAYoj43i qyyHcxIkKjvzjDMQtYH2JRYMcChELKMUdv+9xF36zXl0dcre7VBdWvhSNmXoGtIR6XcReSQbG9t WnDS1vlVTINOsXxpCo1W5q09xtLTZJU1h1dfe4G0vGCZn8M1FWO52bt9z8KUlokV9YD1xmEnUXr 2oESliPBVNRUliUDY0tRHu9Yqgh+Hm2rX9vAiQ5KoX2gCUMfgd7eBSdntVVqbyCgCvZVQsqx1F+ mKZj9kHHB54Kc9OEQRSezmfhOIYBskDpDITpFG93VTZQ== X-Forward-Email-ID: 6880d460cb0ee86f9731a0f5 X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 07/11] arm64: dts: rockchip: Add USB nodes for RK3528 Date: Wed, 23 Jul 2025 12:23:05 +0000 Message-ID: <20250723122323.2344916-8-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rockchip RK3528 has one USB 3.0 DWC3 controller, a USB 2.0 EHCI/OHCI controller and uses a USB2PHY for USB 2.0. The DWC3 controller may also use the Naneng Combo PHY for USB3. Add device tree nodes to describe these USB controllers along with the USB 2.0 PHYs. Signed-off-by: Jonas Karlman --- The DWC3 node does not contain any default phys because out of current and pending supported boards only one board, ROCK 2A, can use USB3. Remaining boards use the Naneng Combo PHY for PCIe instead of USB3. --- arch/arm64/boot/dts/rockchip/rk3528.dtsi | 76 ++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts= /rockchip/rk3528.dtsi index 85bc3f5aa2c7..3e51a3f51e05 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi @@ -243,6 +243,29 @@ soc { #address-cells =3D <2>; #size-cells =3D <2>; =20 + usb_host0_xhci: usb@fe500000 { + compatible =3D "rockchip,rk3528-dwc3", "snps,dwc3"; + reg =3D <0x0 0xfe500000 0x0 0x400000>; + clocks =3D <&cru CLK_REF_USB3OTG>, + <&cru CLK_SUSPEND_USB3OTG>, + <&cru ACLK_USB3OTG>; + clock-names =3D "ref_clk", "suspend_clk", "bus_clk"; + interrupts =3D ; + power-domains =3D <&power RK3528_PD_VPU>; + resets =3D <&cru SRST_A_USB3OTG>; + dr_mode =3D "otg"; + phy_type =3D "utmi_wide"; + snps,dis_enblslpm_quirk; + snps,dis-del-phy-power-chg-quirk; + snps,dis-tx-ipgap-linecheck-quirk; + snps,dis-u1-entry-quirk; + snps,dis-u2-entry-quirk; + snps,dis-u2-freeclk-exists-quirk; + snps,parkmode-disable-hs-quirk; + snps,parkmode-disable-ss-quirk; + status =3D "disabled"; + }; + gic: interrupt-controller@fed01000 { compatible =3D "arm,gic-400"; reg =3D <0x0 0xfed01000 0 0x1000>, @@ -256,6 +279,30 @@ gic: interrupt-controller@fed01000 { #interrupt-cells =3D <3>; }; =20 + usb_host0_ehci: usb@ff100000 { + compatible =3D "generic-ehci"; + reg =3D <0x0 0xff100000 0x0 0x40000>; + clocks =3D <&cru HCLK_USBHOST>, <&cru HCLK_USBHOST_ARB>, + <&u2phy>; + interrupts =3D ; + phys =3D <&u2phy_host>; + phy-names =3D "usb"; + power-domains =3D <&power RK3528_PD_VO>; + status =3D "disabled"; + }; + + usb_host0_ohci: usb@ff140000 { + compatible =3D "generic-ohci"; + reg =3D <0x0 0xff140000 0x0 0x40000>; + clocks =3D <&cru HCLK_USBHOST>, <&cru HCLK_USBHOST_ARB>, + <&u2phy>; + interrupts =3D ; + phys =3D <&u2phy_host>; + phy-names =3D "usb"; + power-domains =3D <&power RK3528_PD_VO>; + status =3D "disabled"; + }; + qos_crypto_a: qos@ff200000 { compatible =3D "rockchip,rk3528-qos", "syscon"; reg =3D <0x0 0xff200000 0x0 0x20>; @@ -1109,6 +1156,35 @@ dmac: dma-controller@ffd60000 { #dma-cells =3D <1>; arm,pl330-periph-burst; }; + + u2phy: usb2phy@ffdf0000 { + compatible =3D "rockchip,rk3528-usb2phy"; + reg =3D <0x0 0xffdf0000 0x0 0x10000>; + clocks =3D <&cru CLK_REF_USBPHY>, <&cru PCLK_USBPHY>; + clock-names =3D "phyclk", "pclk"; + #clock-cells =3D <0>; + clock-output-names =3D "clk_usbphy_480m"; + power-domains =3D <&power RK3528_PD_VO>; + rockchip,usbgrf =3D <&vo_grf>; + status =3D "disabled"; + + u2phy_otg: otg-port { + interrupts =3D , + , + ; + interrupt-names =3D "otg-bvalid", "otg-id", + "linestate"; + #phy-cells =3D <0>; + status =3D "disabled"; + }; + + u2phy_host: host-port { + interrupts =3D ; + interrupt-names =3D "linestate"; + #phy-cells =3D <0>; + status =3D "disabled"; + }; + }; }; }; =20 --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC8BB2E7F0A for ; Wed, 23 Jul 2025 12:24:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=149.28.215.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273452; cv=none; b=PaIC+FG8UJwftX2XWcsOO9iw8GyIj1DP0O74y40CdlQzJcRJft27wP4yfocw1uXM+jx9bz7Rd4EaWRE14XjRnJHwxi61Qz5cUW3lE4zv9xBL7pb5IwOLkkFONL+Gzsrj8imFgORJpvLy+qbR5yPi9mkVDt0Rfy7X6gMOsQQCM1M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273452; c=relaxed/simple; bh=7v6+sWsslQv/ylxU+8ubBj+/6lnlLPRy6oqoX3PjZeo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qKySIlxYOIDrl7C7wceM9O0teSvaUTkVQV6n3gritlFLAYR7SKWTYWezdYHl5fDSn8V8Qme8p1jhsXFAhPrZyFnaVeq7e5pbOMg7L7HTKORDKRsEuFF7WgswRrGb9pxPYFT+3uVok+HCBaebkeCKM3gAgz9iHZrZPAPtxu39BKk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=fJTBNmtG; arc=none smtp.client-ip=149.28.215.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="fJTBNmtG" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273450; bh=xyzk1S0H2k5A/ynNVOxFirZrwZax2MpEB9VZRlRQX6c=; b=fJTBNmtGhFL343eL5XviQd7puXyEmKs0lc6pBN2qHActDSZeOapytyVVYtKAVn0TgSMArPJLk E5B/pGPLip24pgrU0fXPgkWAPa7EjJF6xPPGS8aCXbkYrOPvg/RLmEU/KY4fztcg5l/YfH1kdth tF61KumESQ7QHTFXRdsTAc586GR29vgW2PrKFH17fE1Ghh6D8j9QOhzJSgNZxIfJIWFy+RajS5/ d8MGxr3DXvkM0zsHHDvn24gGcD1HXDSJlBEjg4niK5aEIA0kd5zFQ3K3A7CFVK8ss8OCqHetMZW wAAS1sZFqDrKnEN+Aea0/KE5BitvCU3LbkXXmjhBsuww== X-Forward-Email-ID: 6880d464cb0ee86f9731a10a X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 08/11] arm64: dts: rockchip: Enable USB 2.0 ports on Radxa E20C Date: Wed, 23 Jul 2025 12:23:06 +0000 Message-ID: <20250723122323.2344916-9-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Radxa E20C has one USB2.0 Type-A HOST port and one USB2.0 Type-C OTG port. Add support for using the USB 2.0 ports on Radxa E20C. Signed-off-by: Jonas Karlman --- .../boot/dts/rockchip/rk3528-radxa-e20c.dts | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts b/arch/arm6= 4/boot/dts/rockchip/rk3528-radxa-e20c.dts index 12eec2c1db22..363f08c1e24c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts +++ b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts @@ -134,6 +134,18 @@ vcc5v0_sys: regulator-5v0-vcc-sys { regulator-max-microvolt =3D <5000000>; }; =20 + vcc5v0_usb20: regulator-5v0-vcc-usb20 { + compatible =3D "regulator-fixed"; + enable-active-high; + gpios =3D <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&usb_host_en>; + regulator-name =3D "vcc5v0_usb20"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + vin-supply =3D <&vcc5v0_sys>; + }; + vccio_sd: regulator-vccio-sd { compatible =3D "regulator-gpio"; gpios =3D <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; @@ -261,6 +273,12 @@ sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h { rockchip,pins =3D <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; }; }; + + usb { + usb_host_en: usb-host-en { + rockchip,pins =3D <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; }; =20 &pwm1 { @@ -303,8 +321,37 @@ &sdmmc { status =3D "okay"; }; =20 +&u2phy { + status =3D "okay"; +}; + +&u2phy_host { + phy-supply =3D <&vcc5v0_usb20>; + status =3D "okay"; +}; + +&u2phy_otg { + status =3D "okay"; +}; + &uart0 { pinctrl-names =3D "default"; pinctrl-0 =3D <&uart0m0_xfer>; status =3D "okay"; }; + +&usb_host0_ehci { + status =3D "okay"; +}; + +&usb_host0_ohci { + status =3D "okay"; +}; + +&usb_host0_xhci { + extcon =3D <&u2phy>; + maximum-speed =3D "high-speed"; + phys =3D <&u2phy_otg>; + phy-names =3D "usb2-phy"; + status =3D "okay"; +}; --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F32112E7F0A for ; Wed, 23 Jul 2025 12:24:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=149.28.215.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273457; cv=none; b=TH2YfV9tZqWPqQfirJjGr+d++KtnYoydrNqnMrmomzE2JX5VHDxOc33KEb8kzngIdQnzbKbsXHe4q3ecVEk5euSxTZ39WiFeW8mVAiJHvk1Mful62XyUapoXlWG/JCw9lgdPRbZ7r6KgKaRlwk5ir5VOJsOlLTvrrMEag0s6loI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273457; c=relaxed/simple; bh=yZM9EJcl3Q/l1KYSeR3q04gZk0QOD30nAkEcOqu9Fe0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l9j4wMfyVCRop3YEkW28zIcSLFk7obE53vnSRJWMTThJHkWaRtGbjsI99x2wduUgLCcA9feq92VodWO3M8cwRUnyMZSCeh61cSqTLy6foQN56R3ikmk0kGCWuW14CPMWqGdpX+xbFJunfXYA3SrIkh76mlQINkFJ3yaxSG0TOzo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=uMhjSf4Z; arc=none smtp.client-ip=149.28.215.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="uMhjSf4Z" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273455; bh=C3Sf3TjZd+mvtKJHnbLP2Cb4CrvYDvInYr+aLRUdZlM=; b=uMhjSf4ZhopE7OzFLpOWWoKf7tnluASInCuuxsn+IjxhDyt9X/by2c0AUKEEnQJCGpkOHCMzn pIlWugbqoDXU+q3SIgcMR9Y/QYXUJBn19zulYxryAbgVbpdPL8enVMvuAbaBFJHdKLVUdMj7ZxX 8A7yMXzeNJ0uMxTXOgRzsXvkfyftShSXl5s5Q8+o77N/l+dW6F+EVTGI+UCIutDY2PntwZLHBwV 4RUqfw0fsnC449TtF4p2aZlECAqXN3Ku1Rj0zGGVGNH1WsIcU6Dm+jUtFQyoKJ3tLnFyCAd9lWU KIA7xiaRpJlmJF8yk5cxax58CADoiPfXE/K4IOelmuWg== X-Forward-Email-ID: 6880d469cb0ee86f9731a11f X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 09/11] arm64: dts: rockchip: Enable USB 2.0 ports on Radxa ROCK 2A/2F Date: Wed, 23 Jul 2025 12:23:07 +0000 Message-ID: <20250723122323.2344916-10-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The ROCK 2A has three USB 2.0 Type-A HOST ports behind an onboard USB hub, and one USB 3.0 Type-A port. And the ROCK 2F has two USB 2.0 Type-A HOST ports behind an onboard USB hub, and one USB 2.0 Type-C OTG port. Add support for using the USB 2.0 ports on Radxa ROCK 2A/2F. The onboard USB hub handles OHCI so only the EHCI controller is enabled. Signed-off-by: Jonas Karlman --- arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi | 13 +++++++++++++ arch/arm64/boot/dts/rockchip/rk3528-rock-2f.dts | 12 ++++++++++++ 2 files changed, 25 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi b/arch/arm64/b= oot/dts/rockchip/rk3528-rock-2.dtsi index aedc7ee9ee46..aeced80f1ef2 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi @@ -286,8 +286,21 @@ &sdmmc { status =3D "okay"; }; =20 +&u2phy { + status =3D "okay"; +}; + +&u2phy_host { + phy-supply =3D <&vcc5v0_usb20>; + status =3D "okay"; +}; + &uart0 { pinctrl-names =3D "default"; pinctrl-0 =3D <&uart0m0_xfer>; status =3D "okay"; }; + +&usb_host0_ehci { + status =3D "okay"; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3528-rock-2f.dts b/arch/arm64/b= oot/dts/rockchip/rk3528-rock-2f.dts index 3e2b9b685cb2..a517dfe9930e 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528-rock-2f.dts +++ b/arch/arm64/boot/dts/rockchip/rk3528-rock-2f.dts @@ -8,3 +8,15 @@ / { model =3D "Radxa ROCK 2F"; compatible =3D "radxa,rock-2f", "rockchip,rk3528"; }; + +&u2phy_otg { + status =3D "okay"; +}; + +&usb_host0_xhci { + extcon =3D <&u2phy>; + maximum-speed =3D "high-speed"; + phys =3D <&u2phy_otg>; + phy-names =3D "usb2-phy"; + status =3D "okay"; +}; --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AB9162E888D for ; Wed, 23 Jul 2025 12:24:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=149.28.215.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273464; cv=none; b=WfDkrcJpdt8fDpPIe5tucFP6Sz39sd23FxGgeh9QR1GHJvin3R6ZA3P2wgQ2GQiI3c0bZHt8dhC4ddh0p/IKQNb7nPa7zkNI8AYX178pwaJCbqE7fOX9HPJaqomeVIvdDYoe/HqZYWuw09ye5+t3vnE+qDd/MzPXec9pPMJ4qT0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273464; c=relaxed/simple; bh=rbyRUPemFNuT0idxlCLLaRMPMx4aMqZM99/KabqakBk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S+4C7h4nY83+HaMUc0LoplOo7BjmNu5rmvHyKc2Ud6y36UL6OQ6GnI8LubmrlATry45llHpUFSRGaBkf1BDC2Wzy+Ug3jUNKAGWF+8JUv7vi3IC0pYHbzp5zZpcjBP0zSE2gpH6fisszB8fHS/b5//b9Bn0Rqay5Q59V8QdsUZU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=fhqWaWVH; arc=none smtp.client-ip=149.28.215.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="fhqWaWVH" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273462; bh=paq99is5Qpo1XMY5/kQFG7Fqw0m5oXKo6BQg0A6slJo=; b=fhqWaWVHzlxL4OlR1mf3gGBON94esKifncCWkyjaqwHzzDFpZVMxe/BFcIgEV1EloufWZ3gTK wFgPqHkWb+KlRg/7LMQM4frAIHPf7brcwfFcpj9jw2Pi876HlM+sj9Dwuapg/MLoC9sZ9kFT1po 8+WrvFqb947AMCqemlJdFu4ot/6HqBGVsZqYYZ0Tqva7JrYhTECqmb55ac7fjPk5nrcAq6XsZ/K TMuFHJv8CA1DH/rwAxuM0Ptgx+9YdZ3epvAylh85Adb9tOInqDj2RvZyhcokJre+XHTz5/VcP7R K3lzjQcZMvctbmQU1OitkNZw9h0LqOh24EgmSRq1lWkQ== X-Forward-Email-ID: 6880d46dcb0ee86f9731a134 X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 10/11] arm64: dts: rockchip: Enable USB 2.0 ports on ArmSoM Sige1 Date: Wed, 23 Jul 2025 12:23:08 +0000 Message-ID: <20250723122323.2344916-11-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The ArmSoM Sige1 has two USB 2.0 Type-A HOST ports behind an onboard USB hub, and one USB 2.0 Type-C OTG port. Add support for using the USB 2.0 ports on ArmSoM Sige1. The onboard USB hub handles OHCI so only the EHCI controller is enabled. Signed-off-by: Jonas Karlman --- .../boot/dts/rockchip/rk3528-armsom-sige1.dts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3528-armsom-sige1.dts b/arch/ar= m64/boot/dts/rockchip/rk3528-armsom-sige1.dts index 6e21579365a5..d981c07a0a77 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528-armsom-sige1.dts +++ b/arch/arm64/boot/dts/rockchip/rk3528-armsom-sige1.dts @@ -434,6 +434,18 @@ &sdmmc { status =3D "okay"; }; =20 +&u2phy { + status =3D "okay"; +}; + +&u2phy_host { + status =3D "okay"; +}; + +&u2phy_otg { + status =3D "okay"; +}; + &uart0 { pinctrl-names =3D "default"; pinctrl-0 =3D <&uart0m0_xfer>; @@ -462,3 +474,15 @@ bluetooth { vddio-supply =3D <&vcc_1v8>; }; }; + +&usb_host0_ehci { + status =3D "okay"; +}; + +&usb_host0_xhci { + extcon =3D <&u2phy>; + maximum-speed =3D "high-speed"; + phys =3D <&u2phy_otg>; + phy-names =3D "usb2-phy"; + status =3D "okay"; +}; --=20 2.50.1 From nobody Mon Oct 6 08:31:25 2025 Received: from smtp.forwardemail.net (smtp.forwardemail.net [121.127.44.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D8B3B2E6108 for ; Wed, 23 Jul 2025 12:24:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=121.127.44.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273462; cv=none; b=lTsvebCUaEDivLawK58dC9J1dTt84HqyKh6XPGUeEreNP21H9sBY0TiIwjBxRhwSrOtGUrt/hY9TEj0hrsPAZNkqEdT3OwtNbfOut8cTYneXPPRHaNngB5mVDk+BegHiqalQN2+f3Cqn5rsDOZh5vcEnBC0ryo29hexHACgGFCk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753273462; c=relaxed/simple; bh=gREyE0ZVyEhxplbBjcx7JIYNT/8H1hIoNyKFT5KHri4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OKhbfk9tlhQS2UZOdTzI6QnAvLzsAYBolBs2vnP/ZiNxHc8wEX77f6u4CGS8kp1dH44m2JYzfNFOcdKS4XJPQc249pTtQVDrQGkoMUmamRcCVMxqRGVqDRDWH0zqYuzrvLOZFLfHiHinik4PxhJS9YYyFaexPPycNKYGkD4dz1o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=AR3DSb9J; arc=none smtp.client-ip=121.127.44.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="AR3DSb9J" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be; t=1753273460; bh=weO9qVUiN6tEUR9RLEUl6LP42sZYtMP9t4YbYxPbAIE=; b=AR3DSb9JLDjPD8kH1MeoJs2wBWnLUBaQbgOmBTbu/G62vLhA7xswGDQxI/o/kawCOAH9q/rOX zWPR/QDEdl4au8kHcIXCIsb2iObyiCgJpjSB5UqLKZLWt1pxZigSQaqQUsDI/Z39nlx/2mhC/t7 A7AO7fTtiNj2LyQFOWU2+3iFp9IxEg1kKk6Bk9WjGwI3cUkVBFTOpEycg5rraaXd4u4da7qaUBl bJIeleMH5VGh6nKYVLV+Bkcctskhm+fPvzK1YZON4+hHT2ON5vsngK6zRkkyDxisMNFgNg9pdSf tj1kcGlfkuQXrHM5EFgTb7197sjyCQ1slAqcu6JarfMw== X-Forward-Email-ID: 6880d471cb0ee86f9731a149 X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 121.127.44.73 X-Forward-Email-Version: 1.1.6 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net From: Jonas Karlman To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I Cc: Yao Zi , Chukun Pan , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jonas Karlman Subject: [PATCH 11/11] arm64: dts: rockchip: Enable USB 2.0 ports on NanoPi Zero2 Date: Wed, 23 Jul 2025 12:23:09 +0000 Message-ID: <20250723122323.2344916-12-jonas@kwiboo.se> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250723122323.2344916-1-jonas@kwiboo.se> References: <20250723122323.2344916-1-jonas@kwiboo.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The NanoPi Zero2 has one USB 2.0 Type-A HOST port and one USB 2.0 Type-C OTG port. Add support for using the USB 2.0 ports on NanoPi Zero2. Signed-off-by: Jonas Karlman --- .../boot/dts/rockchip/rk3528-nanopi-zero2.dts | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts b/arch/ar= m64/boot/dts/rockchip/rk3528-nanopi-zero2.dts index 9f683033c5f3..38a73ff05b7c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts +++ b/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts @@ -333,8 +333,37 @@ &sdmmc { status =3D "okay"; }; =20 +&u2phy { + status =3D "okay"; +}; + +&u2phy_host { + phy-supply =3D <&usb2_host_5v>; + status =3D "okay"; +}; + +&u2phy_otg { + status =3D "okay"; +}; + &uart0 { pinctrl-names =3D "default"; pinctrl-0 =3D <&uart0m0_xfer>; status =3D "okay"; }; + +&usb_host0_ehci { + status =3D "okay"; +}; + +&usb_host0_ohci { + status =3D "okay"; +}; + +&usb_host0_xhci { + extcon =3D <&u2phy>; + maximum-speed =3D "high-speed"; + phys =3D <&u2phy_otg>; + phy-names =3D "usb2-phy"; + status =3D "okay"; +}; --=20 2.50.1