* [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576
@ 2024-09-24 8:55 Frank Wang
2024-09-24 8:55 ` [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 Frank Wang
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Frank Wang @ 2024-09-24 8:55 UTC (permalink / raw)
To: vkoul, kishon, robh, krzk+dt, conor+dt, heiko
Cc: linux-phy, devicetree, linux-arm-kernel, linux-kernel,
linux-rockchip, william.wu, tim.chen, wmc, Frank Wang
From: Frank Wang <frank.wang@rock-chips.com>
Add compatible for the USB2 phy in the Rockchip RK3576 SoC.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
---
Changelog:
v2:
- Categorize clock names by oneOf keyword.
v1:
- https://patchwork.kernel.org/project/linux-phy/patch/20240923025326.10467-1-frank.wang@rock-chips.com/
.../bindings/phy/rockchip,inno-usb2phy.yaml | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml
index 5254413137c64..8af4e0f8637fc 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,rk3366-usb2phy
- rockchip,rk3399-usb2phy
- rockchip,rk3568-usb2phy
+ - rockchip,rk3576-usb2phy
- rockchip,rk3588-usb2phy
- rockchip,rv1108-usb2phy
@@ -34,10 +35,20 @@ properties:
const: 0
clocks:
- maxItems: 1
+ minItems: 1
+ maxItems: 3
clock-names:
- const: phyclk
+ minItems: 1
+ maxItems: 3
+ items:
+ oneOf:
+ - description: aclk for USB MMU.
+ const: aclk
+ - description: aclk_slv for USB MMU.
+ const: aclk_slv
+ - description: PHY input reference clocks.
+ const: phyclk
assigned-clocks:
description:
@@ -143,6 +154,7 @@ allOf:
contains:
enum:
- rockchip,rk3568-usb2phy
+ - rockchip,rk3576-usb2phy
- rockchip,rk3588-usb2phy
then:
--
2.45.2
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 2024-09-24 8:55 [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Frank Wang @ 2024-09-24 8:55 ` Frank Wang 2024-09-24 10:01 ` Heiko Stuebner 2024-09-24 10:01 ` [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Heiko Stuebner 2024-09-24 16:11 ` Conor Dooley 2 siblings, 1 reply; 11+ messages in thread From: Frank Wang @ 2024-09-24 8:55 UTC (permalink / raw) To: vkoul, kishon, robh, krzk+dt, conor+dt, heiko Cc: linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, wmc, Frank Wang From: William Wu <william.wu@rock-chips.com> The RK3576 SoC has two independent USB2.0 PHYs, and each PHY has one port. Signed-off-by: William Wu <william.wu@rock-chips.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> --- Changelog: v2: - no changes. v1: - https://patchwork.kernel.org/project/linux-phy/patch/20240923025326.10467-2-frank.wang@rock-chips.com/ drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 131 ++++++++++++++++-- 1 file changed, 123 insertions(+), 8 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c index 4f71373ae6e1a..51ca16cbb86cb 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -229,9 +229,10 @@ struct rockchip_usb2phy_port { * @dev: pointer to device. * @grf: General Register Files regmap. * @usbgrf: USB General Register Files regmap. - * @clk: clock struct of phy input clk. + * @clks: array of phy input clocks. * @clk480m: clock struct of phy output clk. * @clk480m_hw: clock struct of phy output clk management. + * @num_clks: number of phy input clocks. * @phy_reset: phy reset control. * @chg_state: states involved in USB charger detection. * @chg_type: USB charger types. @@ -246,9 +247,10 @@ struct rockchip_usb2phy { struct device *dev; struct regmap *grf; struct regmap *usbgrf; - struct clk *clk; + struct clk_bulk_data *clks; struct clk *clk480m; struct clk_hw clk480m_hw; + int num_clks; struct reset_control *phy_reset; enum usb_chg_state chg_state; enum power_supply_type chg_type; @@ -376,6 +378,7 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy) { struct device_node *node = rphy->dev->of_node; struct clk_init_data init; + struct clk *refclk = of_clk_get_by_name(node, "phyclk"); const char *clk_name; int ret = 0; @@ -386,8 +389,8 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy) /* optional override of the clockname */ of_property_read_string(node, "clock-output-names", &init.name); - if (rphy->clk) { - clk_name = __clk_get_name(rphy->clk); + if (!IS_ERR(refclk)) { + clk_name = __clk_get_name(refclk); init.parent_names = &clk_name; init.num_parents = 1; } else { @@ -1406,22 +1409,29 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev) if (IS_ERR(rphy->phy_reset)) return PTR_ERR(rphy->phy_reset); - rphy->clk = devm_clk_get_optional_enabled(dev, "phyclk"); - if (IS_ERR(rphy->clk)) { - return dev_err_probe(&pdev->dev, PTR_ERR(rphy->clk), + ret = devm_clk_bulk_get_all(dev, &rphy->clks); + if (ret == -EPROBE_DEFER) { + return dev_err_probe(&pdev->dev, -EPROBE_DEFER, "failed to get phyclk\n"); } + /* Clocks are optional */ + rphy->num_clks = ret < 0 ? 0 : ret; + ret = rockchip_usb2phy_clk480m_register(rphy); if (ret) { dev_err(dev, "failed to register 480m output clock\n"); return ret; } + ret = clk_bulk_prepare_enable(rphy->num_clks, rphy->clks); + if (ret) + return ret; + if (rphy->phy_cfg->phy_tuning) { ret = rphy->phy_cfg->phy_tuning(rphy); if (ret) - return ret; + goto disable_clks; } index = 0; @@ -1484,6 +1494,8 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev) put_child: of_node_put(child_np); +disable_clks: + clk_bulk_disable_unprepare(rphy->num_clks, rphy->clks); return ret; } @@ -1495,6 +1507,30 @@ static int rk3128_usb2phy_tuning(struct rockchip_usb2phy *rphy) BIT(2) << BIT_WRITEABLE_SHIFT | 0); } +static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy) +{ + int ret; + u32 reg = rphy->phy_cfg->reg; + + /* Deassert SIDDQ to power on analog block */ + ret = regmap_write(rphy->grf, reg + 0x0010, GENMASK(29, 29) | 0x0000); + if (ret) + return ret; + + /* Do reset after exit IDDQ mode */ + ret = rockchip_usb2phy_reset(rphy); + if (ret) + return ret; + + /* HS DC Voltage Level Adjustment 4'b1001 : +5.89% */ + ret |= regmap_write(rphy->grf, reg + 0x000c, GENMASK(27, 24) | 0x0900); + + /* HS Transmitter Pre-Emphasis Current Control 2'b10 : 2x */ + ret |= regmap_write(rphy->grf, reg + 0x0010, GENMASK(20, 19) | 0x0010); + + return ret; +} + static int rk3588_usb2phy_tuning(struct rockchip_usb2phy *rphy) { int ret; @@ -1923,6 +1959,84 @@ static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = { { /* sentinel */ } }; +static const struct rockchip_usb2phy_cfg rk3576_phy_cfgs[] = { + { + .reg = 0x0, + .num_ports = 1, + .phy_tuning = rk3576_usb2phy_tuning, + .clkout_ctl = { 0x0008, 0, 0, 1, 0 }, + .port_cfgs = { + [USB2PHY_PORT_OTG] = { + .phy_sus = { 0x0000, 8, 0, 0, 0x1d1 }, + .bvalid_det_en = { 0x00c0, 1, 1, 0, 1 }, + .bvalid_det_st = { 0x00c4, 1, 1, 0, 1 }, + .bvalid_det_clr = { 0x00c8, 1, 1, 0, 1 }, + .ls_det_en = { 0x00c0, 0, 0, 0, 1 }, + .ls_det_st = { 0x00c4, 0, 0, 0, 1 }, + .ls_det_clr = { 0x00c8, 0, 0, 0, 1 }, + .disfall_en = { 0x00c0, 6, 6, 0, 1 }, + .disfall_st = { 0x00c4, 6, 6, 0, 1 }, + .disfall_clr = { 0x00c8, 6, 6, 0, 1 }, + .disrise_en = { 0x00c0, 5, 5, 0, 1 }, + .disrise_st = { 0x00c4, 5, 5, 0, 1 }, + .disrise_clr = { 0x00c8, 5, 5, 0, 1 }, + .utmi_avalid = { 0x0080, 1, 1, 0, 1 }, + .utmi_bvalid = { 0x0080, 0, 0, 0, 1 }, + .utmi_ls = { 0x0080, 5, 4, 0, 1 }, + } + }, + .chg_det = { + .cp_det = { 0x0080, 8, 8, 0, 1 }, + .dcp_det = { 0x0080, 8, 8, 0, 1 }, + .dp_det = { 0x0080, 9, 9, 1, 0 }, + .idm_sink_en = { 0x0010, 5, 5, 1, 0 }, + .idp_sink_en = { 0x0010, 5, 5, 0, 1 }, + .idp_src_en = { 0x0010, 14, 14, 0, 1 }, + .rdm_pdwn_en = { 0x0010, 14, 14, 0, 1 }, + .vdm_src_en = { 0x0010, 7, 6, 0, 3 }, + .vdp_src_en = { 0x0010, 7, 6, 0, 3 }, + }, + }, + { + .reg = 0x2000, + .num_ports = 1, + .phy_tuning = rk3576_usb2phy_tuning, + .clkout_ctl = { 0x2008, 0, 0, 1, 0 }, + .port_cfgs = { + [USB2PHY_PORT_OTG] = { + .phy_sus = { 0x2000, 8, 0, 0, 0x1d1 }, + .bvalid_det_en = { 0x20c0, 1, 1, 0, 1 }, + .bvalid_det_st = { 0x20c4, 1, 1, 0, 1 }, + .bvalid_det_clr = { 0x20c8, 1, 1, 0, 1 }, + .ls_det_en = { 0x20c0, 0, 0, 0, 1 }, + .ls_det_st = { 0x20c4, 0, 0, 0, 1 }, + .ls_det_clr = { 0x20c8, 0, 0, 0, 1 }, + .disfall_en = { 0x20c0, 6, 6, 0, 1 }, + .disfall_st = { 0x20c4, 6, 6, 0, 1 }, + .disfall_clr = { 0x20c8, 6, 6, 0, 1 }, + .disrise_en = { 0x20c0, 5, 5, 0, 1 }, + .disrise_st = { 0x20c4, 5, 5, 0, 1 }, + .disrise_clr = { 0x20c8, 5, 5, 0, 1 }, + .utmi_avalid = { 0x2080, 1, 1, 0, 1 }, + .utmi_bvalid = { 0x2080, 0, 0, 0, 1 }, + .utmi_ls = { 0x2080, 5, 4, 0, 1 }, + } + }, + .chg_det = { + .cp_det = { 0x2080, 8, 8, 0, 1 }, + .dcp_det = { 0x2080, 8, 8, 0, 1 }, + .dp_det = { 0x2080, 9, 9, 1, 0 }, + .idm_sink_en = { 0x2010, 5, 5, 1, 0 }, + .idp_sink_en = { 0x2010, 5, 5, 0, 1 }, + .idp_src_en = { 0x2010, 14, 14, 0, 1 }, + .rdm_pdwn_en = { 0x2010, 14, 14, 0, 1 }, + .vdm_src_en = { 0x2010, 7, 6, 0, 3 }, + .vdp_src_en = { 0x2010, 7, 6, 0, 3 }, + }, + }, + { /* sentinel */ } +}; + static const struct rockchip_usb2phy_cfg rk3588_phy_cfgs[] = { { .reg = 0x0000, @@ -2094,6 +2208,7 @@ static const struct of_device_id rockchip_usb2phy_dt_match[] = { { .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs }, { .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs }, { .compatible = "rockchip,rk3568-usb2phy", .data = &rk3568_phy_cfgs }, + { .compatible = "rockchip,rk3576-usb2phy", .data = &rk3576_phy_cfgs }, { .compatible = "rockchip,rk3588-usb2phy", .data = &rk3588_phy_cfgs }, { .compatible = "rockchip,rv1108-usb2phy", .data = &rv1108_phy_cfgs }, {} -- 2.45.2 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 2024-09-24 8:55 ` [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 Frank Wang @ 2024-09-24 10:01 ` Heiko Stuebner 2024-09-25 1:42 ` frawang 0 siblings, 1 reply; 11+ messages in thread From: Heiko Stuebner @ 2024-09-24 10:01 UTC (permalink / raw) To: vkoul, kishon, robh, krzk+dt, conor+dt, Frank Wang Cc: linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, wmc, Frank Wang Am Dienstag, 24. September 2024, 10:55:10 CEST schrieb Frank Wang: > From: William Wu <william.wu@rock-chips.com> > > The RK3576 SoC has two independent USB2.0 PHYs, and > each PHY has one port. Can you please split the content into "converting to clk_bulk" (see additional comment below) and "add rk3576" please? That would make the patch a lot cleaner. > @@ -376,6 +378,7 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy) > { > struct device_node *node = rphy->dev->of_node; > struct clk_init_data init; > + struct clk *refclk = of_clk_get_by_name(node, "phyclk"); Doesn't this create an imbalance - with the missing put? I think ideally just define clk_bulk_data structs for the 1-clock and 3-clock variant, attach that to the device-data and then use the regular devm_clk_bulk_get ? That way you can then retrieve the clock from that struct? Thanks Heiko -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 2024-09-24 10:01 ` Heiko Stuebner @ 2024-09-25 1:42 ` frawang 2024-09-25 6:59 ` Heiko Stuebner 0 siblings, 1 reply; 11+ messages in thread From: frawang @ 2024-09-25 1:42 UTC (permalink / raw) To: Heiko Stuebner, vkoul, kishon, robh, krzk+dt, conor+dt Cc: linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, Frank Wang Hi Heiko, On 2024/9/24 18:01, Heiko Stuebner wrote: > Am Dienstag, 24. September 2024, 10:55:10 CEST schrieb Frank Wang: >> From: William Wu <william.wu@rock-chips.com> >> >> The RK3576 SoC has two independent USB2.0 PHYs, and >> each PHY has one port. > Can you please split the content into "converting to clk_bulk" (see > additional comment below) and "add rk3576" please? > > That would make the patch a lot cleaner. OK, I shall amend in the next patch. > >> @@ -376,6 +378,7 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy) >> { >> struct device_node *node = rphy->dev->of_node; >> struct clk_init_data init; >> + struct clk *refclk = of_clk_get_by_name(node, "phyclk"); > Doesn't this create an imbalance - with the missing put? > I think ideally just define clk_bulk_data structs for the > 1-clock and 3-clock variant, attach that to the device-data > and then use the regular devm_clk_bulk_get ? > > That way you can then retrieve the clock from that struct? How about keep the clk_bulk_data and num_clks member in rockchip_usb2phy structs, and retrieve the clock by "clks.id" here? Just like the following codes. @@ -378,8 +378,9 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy) { struct device_node *node = rphy->dev->of_node; struct clk_init_data init; - struct clk *refclk = of_clk_get_by_name(node, "phyclk"); + struct clk *refclk = NULL; const char *clk_name; + int i; int ret = 0; init.flags = 0; @@ -389,6 +390,13 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy) /* optional override of the clockname */ of_property_read_string(node, "clock-output-names", &init.name); + for (i = 0; i < rphy->num_clks; i++) { + if (!strncmp(rphy->clks[i].id, "phyclk", 6)) { + refclk = rphy->clks[i].clk; + break; + } + } + BR. Frank > > Thanks > Heiko > -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 2024-09-25 1:42 ` frawang @ 2024-09-25 6:59 ` Heiko Stuebner 0 siblings, 0 replies; 11+ messages in thread From: Heiko Stuebner @ 2024-09-25 6:59 UTC (permalink / raw) To: vkoul, kishon, robh, krzk+dt, conor+dt, frawang Cc: linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, Frank Wang Hi Frank, Am Mittwoch, 25. September 2024, 03:42:35 CEST schrieb frawang: > >> @@ -376,6 +378,7 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy) > >> { > >> struct device_node *node = rphy->dev->of_node; > >> struct clk_init_data init; > >> + struct clk *refclk = of_clk_get_by_name(node, "phyclk"); > > Doesn't this create an imbalance - with the missing put? > > I think ideally just define clk_bulk_data structs for the > > 1-clock and 3-clock variant, attach that to the device-data > > and then use the regular devm_clk_bulk_get ? > > > > That way you can then retrieve the clock from that struct? > > How about keep the clk_bulk_data and num_clks member in rockchip_usb2phy > structs, and retrieve the clock by "clks.id" here? > Just like the following codes. > > @@ -378,8 +378,9 @@ rockchip_usb2phy_clk480m_register(struct > rockchip_usb2phy *rphy) > { > struct device_node *node = rphy->dev->of_node; > struct clk_init_data init; > - struct clk *refclk = of_clk_get_by_name(node, "phyclk"); > + struct clk *refclk = NULL; > const char *clk_name; > + int i; > int ret = 0; > > init.flags = 0; > @@ -389,6 +390,13 @@ rockchip_usb2phy_clk480m_register(struct > rockchip_usb2phy *rphy) > /* optional override of the clockname */ > of_property_read_string(node, "clock-output-names", &init.name); > > + for (i = 0; i < rphy->num_clks; i++) { > + if (!strncmp(rphy->clks[i].id, "phyclk", 6)) { > + refclk = rphy->clks[i].clk; > + break; > + } > + } > + this is exactly what I had in mind :-) Thanks Heiko -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 2024-09-24 8:55 [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Frank Wang 2024-09-24 8:55 ` [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 Frank Wang @ 2024-09-24 10:01 ` Heiko Stuebner 2024-09-25 1:49 ` Frank Wang 2024-09-24 16:11 ` Conor Dooley 2 siblings, 1 reply; 11+ messages in thread From: Heiko Stuebner @ 2024-09-24 10:01 UTC (permalink / raw) To: vkoul, kishon, robh, krzk+dt, conor+dt, Frank Wang Cc: linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, wmc, Frank Wang Hi Frank, Am Dienstag, 24. September 2024, 10:55:09 CEST schrieb Frank Wang: > From: Frank Wang <frank.wang@rock-chips.com> > > Add compatible for the USB2 phy in the Rockchip RK3576 SoC. can you please add some details to the commit message, about those new clocks. I.e. what they do. Thanks Heiko > Signed-off-by: Frank Wang <frank.wang@rock-chips.com> > --- > Changelog: > v2: > - Categorize clock names by oneOf keyword. > > v1: > - https://patchwork.kernel.org/project/linux-phy/patch/20240923025326.10467-1-frank.wang@rock-chips.com/ > > .../bindings/phy/rockchip,inno-usb2phy.yaml | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml > index 5254413137c64..8af4e0f8637fc 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,rk3366-usb2phy > - rockchip,rk3399-usb2phy > - rockchip,rk3568-usb2phy > + - rockchip,rk3576-usb2phy > - rockchip,rk3588-usb2phy > - rockchip,rv1108-usb2phy > > @@ -34,10 +35,20 @@ properties: > const: 0 > > clocks: > - maxItems: 1 > + minItems: 1 > + maxItems: 3 > > clock-names: > - const: phyclk > + minItems: 1 > + maxItems: 3 > + items: > + oneOf: > + - description: aclk for USB MMU. > + const: aclk > + - description: aclk_slv for USB MMU. > + const: aclk_slv > + - description: PHY input reference clocks. > + const: phyclk > > assigned-clocks: > description: > @@ -143,6 +154,7 @@ allOf: > contains: > enum: > - rockchip,rk3568-usb2phy > + - rockchip,rk3576-usb2phy > - rockchip,rk3588-usb2phy > > then: > -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 2024-09-24 10:01 ` [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Heiko Stuebner @ 2024-09-25 1:49 ` Frank Wang 0 siblings, 0 replies; 11+ messages in thread From: Frank Wang @ 2024-09-25 1:49 UTC (permalink / raw) To: Heiko Stuebner, vkoul, kishon, robh, krzk+dt, conor+dt Cc: linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, Frank Wang Hi Heiko, On 2024/9/24 18:01, Heiko Stuebner wrote: > Hi Frank, > > Am Dienstag, 24. September 2024, 10:55:09 CEST schrieb Frank Wang: >> From: Frank Wang <frank.wang@rock-chips.com> >> >> Add compatible for the USB2 phy in the Rockchip RK3576 SoC. > can you please add some details to the commit message, about those > new clocks. I.e. what they do. OK, I shall add in the next version. BR. Frank > Thanks > Heiko > >> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> >> --- >> Changelog: >> v2: >> - Categorize clock names by oneOf keyword. >> >> v1: >> - https://patchwork.kernel.org/project/linux-phy/patch/20240923025326.10467-1-frank.wang@rock-chips.com/ >> >> .../bindings/phy/rockchip,inno-usb2phy.yaml | 16 ++++++++++++++-- >> 1 file changed, 14 insertions(+), 2 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml >> index 5254413137c64..8af4e0f8637fc 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,rk3366-usb2phy >> - rockchip,rk3399-usb2phy >> - rockchip,rk3568-usb2phy >> + - rockchip,rk3576-usb2phy >> - rockchip,rk3588-usb2phy >> - rockchip,rv1108-usb2phy >> >> @@ -34,10 +35,20 @@ properties: >> const: 0 >> >> clocks: >> - maxItems: 1 >> + minItems: 1 >> + maxItems: 3 >> >> clock-names: >> - const: phyclk >> + minItems: 1 >> + maxItems: 3 >> + items: >> + oneOf: >> + - description: aclk for USB MMU. >> + const: aclk >> + - description: aclk_slv for USB MMU. >> + const: aclk_slv >> + - description: PHY input reference clocks. >> + const: phyclk >> >> assigned-clocks: >> description: >> @@ -143,6 +154,7 @@ allOf: >> contains: >> enum: >> - rockchip,rk3568-usb2phy >> + - rockchip,rk3576-usb2phy >> - rockchip,rk3588-usb2phy >> >> then: >> -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 2024-09-24 8:55 [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Frank Wang 2024-09-24 8:55 ` [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 Frank Wang 2024-09-24 10:01 ` [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Heiko Stuebner @ 2024-09-24 16:11 ` Conor Dooley 2024-09-25 2:09 ` Frank Wang 2 siblings, 1 reply; 11+ messages in thread From: Conor Dooley @ 2024-09-24 16:11 UTC (permalink / raw) To: Frank Wang Cc: vkoul, kishon, robh, krzk+dt, conor+dt, heiko, linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, wmc, Frank Wang [-- Attachment #1.1: Type: text/plain, Size: 2116 bytes --] On Tue, Sep 24, 2024 at 04:55:09PM +0800, Frank Wang wrote: > From: Frank Wang <frank.wang@rock-chips.com> > > Add compatible for the USB2 phy in the Rockchip RK3576 SoC. > > Signed-off-by: Frank Wang <frank.wang@rock-chips.com> > --- > Changelog: > v2: > - Categorize clock names by oneOf keyword. > > v1: > - https://patchwork.kernel.org/project/linux-phy/patch/20240923025326.10467-1-frank.wang@rock-chips.com/ > > .../bindings/phy/rockchip,inno-usb2phy.yaml | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml > index 5254413137c64..8af4e0f8637fc 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,rk3366-usb2phy > - rockchip,rk3399-usb2phy > - rockchip,rk3568-usb2phy > + - rockchip,rk3576-usb2phy > - rockchip,rk3588-usb2phy > - rockchip,rv1108-usb2phy > > @@ -34,10 +35,20 @@ properties: > const: 0 > > clocks: > - maxItems: 1 > + minItems: 1 > + maxItems: 3 > > clock-names: > - const: phyclk > + minItems: 1 > + maxItems: 3 clock-names isn't a required property, you can't allow jumbling the order like this does without breaking the ABI. Why can't the new device have phyclk in position 1? > + items: > + oneOf: > + - description: aclk for USB MMU. > + const: aclk > + - description: aclk_slv for USB MMU. > + const: aclk_slv > + - description: PHY input reference clocks. > + const: phyclk > > assigned-clocks: > description: > @@ -143,6 +154,7 @@ allOf: > contains: > enum: > - rockchip,rk3568-usb2phy > + - rockchip,rk3576-usb2phy > - rockchip,rk3588-usb2phy > > then: > -- > 2.45.2 > [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 112 bytes --] -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 2024-09-24 16:11 ` Conor Dooley @ 2024-09-25 2:09 ` Frank Wang 2024-09-25 7:16 ` Krzysztof Kozlowski 0 siblings, 1 reply; 11+ messages in thread From: Frank Wang @ 2024-09-25 2:09 UTC (permalink / raw) To: Conor Dooley, krzk Cc: vkoul, kishon, robh, krzk+dt, conor+dt, heiko, linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, Frank Wang Hi Conor, On 2024/9/25 0:11, Conor Dooley wrote: > On Tue, Sep 24, 2024 at 04:55:09PM +0800, Frank Wang wrote: >> From: Frank Wang <frank.wang@rock-chips.com> >> >> Add compatible for the USB2 phy in the Rockchip RK3576 SoC. >> >> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> >> --- >> Changelog: >> v2: >> - Categorize clock names by oneOf keyword. >> >> v1: >> - https://patchwork.kernel.org/project/linux-phy/patch/20240923025326.10467-1-frank.wang@rock-chips.com/ >> >> .../bindings/phy/rockchip,inno-usb2phy.yaml | 16 ++++++++++++++-- >> 1 file changed, 14 insertions(+), 2 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml >> index 5254413137c64..8af4e0f8637fc 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,rk3366-usb2phy >> - rockchip,rk3399-usb2phy >> - rockchip,rk3568-usb2phy >> + - rockchip,rk3576-usb2phy >> - rockchip,rk3588-usb2phy >> - rockchip,rv1108-usb2phy >> >> @@ -34,10 +35,20 @@ properties: >> const: 0 >> >> clocks: >> - maxItems: 1 >> + minItems: 1 >> + maxItems: 3 >> >> clock-names: >> - const: phyclk >> + minItems: 1 >> + maxItems: 3 > clock-names isn't a required property, you can't allow jumbling the order > like this does without breaking the ABI. Why can't the new device have > phyclk in position 1? I sent a draft changes in patch v1 comments which put the "phyclk" in position 1, Krzysztof said I have messed the order, so I reorder them in v2. Did I misunderstand? anyway, should the changes like the below? @@ -34,10 +35,20 @@ properties: const: 0 clocks: - maxItems: 1 + minItems: 1 + maxItems: 3 clock-names: - const: phyclk + minItems: 1 + maxItems: 3 + items: + oneOf: + - description: PHY input reference clocks. + const: phyclk + - description: aclk for USB MMU. + const: aclk + - description: aclk_slv for USB MMU. + const: aclk_slv BR. Frank >> + items: >> + oneOf: >> + - description: aclk for USB MMU. >> + const: aclk >> + - description: aclk_slv for USB MMU. >> + const: aclk_slv >> + - description: PHY input reference clocks. >> + const: phyclk >> >> assigned-clocks: >> description: >> @@ -143,6 +154,7 @@ allOf: >> contains: >> enum: >> - rockchip,rk3568-usb2phy >> + - rockchip,rk3576-usb2phy >> - rockchip,rk3588-usb2phy >> >> then: >> -- >> 2.45.2 >> -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 2024-09-25 2:09 ` Frank Wang @ 2024-09-25 7:16 ` Krzysztof Kozlowski 2024-09-25 9:33 ` Frank Wang 0 siblings, 1 reply; 11+ messages in thread From: Krzysztof Kozlowski @ 2024-09-25 7:16 UTC (permalink / raw) To: Frank Wang, Conor Dooley Cc: vkoul, kishon, robh, krzk+dt, conor+dt, heiko, linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, Frank Wang On 25/09/2024 04:09, Frank Wang wrote: > Hi Conor, > > On 2024/9/25 0:11, Conor Dooley wrote: >> On Tue, Sep 24, 2024 at 04:55:09PM +0800, Frank Wang wrote: >>> From: Frank Wang <frank.wang@rock-chips.com> >>> >>> Add compatible for the USB2 phy in the Rockchip RK3576 SoC. >>> >>> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> >>> --- >>> Changelog: >>> v2: >>> - Categorize clock names by oneOf keyword. >>> >>> v1: >>> - https://patchwork.kernel.org/project/linux-phy/patch/20240923025326.10467-1-frank.wang@rock-chips.com/ >>> >>> .../bindings/phy/rockchip,inno-usb2phy.yaml | 16 ++++++++++++++-- >>> 1 file changed, 14 insertions(+), 2 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml >>> index 5254413137c64..8af4e0f8637fc 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,rk3366-usb2phy >>> - rockchip,rk3399-usb2phy >>> - rockchip,rk3568-usb2phy >>> + - rockchip,rk3576-usb2phy >>> - rockchip,rk3588-usb2phy >>> - rockchip,rv1108-usb2phy >>> >>> @@ -34,10 +35,20 @@ properties: >>> const: 0 >>> >>> clocks: >>> - maxItems: 1 >>> + minItems: 1 >>> + maxItems: 3 >>> >>> clock-names: >>> - const: phyclk >>> + minItems: 1 >>> + maxItems: 3 >> clock-names isn't a required property, you can't allow jumbling the order >> like this does without breaking the ABI. Why can't the new device have >> phyclk in position 1? > > I sent a draft changes in patch v1 comments which put the "phyclk" in No, you did not. You sent buggy code which was never tested. > position 1, Krzysztof said I have messed the order, so I reorder them in v2. No, I did not. I said your current code (from your reply or patch v2) messes the order. Even though I sent you reply that this code is wrong, you still decided to ignore my feedback and send it. To be clear: NAK > Did I misunderstand? anyway, should the changes like the below? Read all the answers again instead of putting wrong words to wrong patches. Best regards, Krzysztof -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 2024-09-25 7:16 ` Krzysztof Kozlowski @ 2024-09-25 9:33 ` Frank Wang 0 siblings, 0 replies; 11+ messages in thread From: Frank Wang @ 2024-09-25 9:33 UTC (permalink / raw) To: Krzysztof Kozlowski, Conor Dooley Cc: vkoul, kishon, robh, krzk+dt, conor+dt, heiko, linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, Frank Wang Hi Krzysztof, On 2024/9/25 15:16, Krzysztof Kozlowski wrote: > On 25/09/2024 04:09, Frank Wang wrote: >> Hi Conor, >> >> On 2024/9/25 0:11, Conor Dooley wrote: >>> On Tue, Sep 24, 2024 at 04:55:09PM +0800, Frank Wang wrote: >>>> From: Frank Wang <frank.wang@rock-chips.com> >>>> >>>> Add compatible for the USB2 phy in the Rockchip RK3576 SoC. >>>> >>>> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> >>>> --- >>>> Changelog: >>>> v2: >>>> - Categorize clock names by oneOf keyword. >>>> >>>> v1: >>>> - https://patchwork.kernel.org/project/linux-phy/patch/20240923025326.10467-1-frank.wang@rock-chips.com/ >>>> >>>> .../bindings/phy/rockchip,inno-usb2phy.yaml | 16 ++++++++++++++-- >>>> 1 file changed, 14 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml >>>> index 5254413137c64..8af4e0f8637fc 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,rk3366-usb2phy >>>> - rockchip,rk3399-usb2phy >>>> - rockchip,rk3568-usb2phy >>>> + - rockchip,rk3576-usb2phy >>>> - rockchip,rk3588-usb2phy >>>> - rockchip,rv1108-usb2phy >>>> >>>> @@ -34,10 +35,20 @@ properties: >>>> const: 0 >>>> >>>> clocks: >>>> - maxItems: 1 >>>> + minItems: 1 >>>> + maxItems: 3 >>>> >>>> clock-names: >>>> - const: phyclk >>>> + minItems: 1 >>>> + maxItems: 3 >>> clock-names isn't a required property, you can't allow jumbling the order >>> like this does without breaking the ABI. Why can't the new device have >>> phyclk in position 1? >> I sent a draft changes in patch v1 comments which put the "phyclk" in > No, you did not. You sent buggy code which was never tested. > >> position 1, Krzysztof said I have messed the order, so I reorder them in v2. > No, I did not. I said your current code (from your reply or patch v2) > messes the order. Even though I sent you reply that this code is wrong, > you still decided to ignore my feedback and send it. Sorry I misunderstood the 'oneOf' and "order" you said. I shall amend the patch and send v3 later. BR. Frank > To be clear: > NAK > >> Did I misunderstand? anyway, should the changes like the below? > Read all the answers again instead of putting wrong words to wrong patches. > > > Best regards, > Krzysztof > -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-09-25 9:33 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-24 8:55 [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Frank Wang 2024-09-24 8:55 ` [PATCH v2 2/2] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 Frank Wang 2024-09-24 10:01 ` Heiko Stuebner 2024-09-25 1:42 ` frawang 2024-09-25 6:59 ` Heiko Stuebner 2024-09-24 10:01 ` [PATCH v2 1/2] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Heiko Stuebner 2024-09-25 1:49 ` Frank Wang 2024-09-24 16:11 ` Conor Dooley 2024-09-25 2:09 ` Frank Wang 2024-09-25 7:16 ` Krzysztof Kozlowski 2024-09-25 9:33 ` Frank Wang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).