* [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk @ 2024-10-16 7:37 Frank Wang 2024-10-16 7:37 ` [PATCH v6 2/4] dt-bindings: soc: rockchip: add rk3576 usb2phy syscon Frank Wang ` (4 more replies) 0 siblings, 5 replies; 7+ messages in thread From: Frank Wang @ 2024-10-16 7:37 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, Frank Wang From: Frank Wang <frank.wang@rock-chips.com> Since some Rockchip SoCs (e.g RK3576) have more than one clock, this converts the clock management from single to bulk method to make the driver more flexible. Signed-off-by: Frank Wang <frank.wang@rock-chips.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> --- Changelog: v6: - add Reviewed tag. v5: - use dev_err_probe() in clock enable error path in probe. v4: - a new patch split from the [PATCH v3 2/2], suggestions from Heiko. v1-v3: - none drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 45 +++++++++++++++---- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c index 6e5214862b8a3..f71266c27091e 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; @@ -310,6 +312,13 @@ static int rockchip_usb2phy_reset(struct rockchip_usb2phy *rphy) return 0; } +static void rockchip_usb2phy_clk_bulk_disable(void *data) +{ + struct rockchip_usb2phy *rphy = data; + + clk_bulk_disable_unprepare(rphy->num_clks, rphy->clks); +} + static int rockchip_usb2phy_clk480m_prepare(struct clk_hw *hw) { struct rockchip_usb2phy *rphy = @@ -376,7 +385,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 = NULL; const char *clk_name; + int i; int ret = 0; init.flags = 0; @@ -386,8 +397,15 @@ 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); + for (i = 0; i < rphy->num_clks; i++) { + if (!strncmp(rphy->clks[i].id, "phyclk", 6)) { + refclk = rphy->clks[i].clk; + break; + } + } + + if (!IS_ERR(refclk)) { + clk_name = __clk_get_name(refclk); init.parent_names = &clk_name; init.num_parents = 1; } else { @@ -1399,15 +1417,26 @@ 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), - "failed to get phyclk\n"); + ret = devm_clk_bulk_get_all(dev, &rphy->clks); + if (ret == -EPROBE_DEFER) + return dev_err_probe(&pdev->dev, -EPROBE_DEFER, + "failed to get phy clock\n"); + + /* Clocks are optional */ + rphy->num_clks = ret < 0 ? 0 : ret; ret = rockchip_usb2phy_clk480m_register(rphy); if (ret) return dev_err_probe(dev, ret, "failed to register 480m output clock\n"); + ret = clk_bulk_prepare_enable(rphy->num_clks, rphy->clks); + if (ret) + return dev_err_probe(dev, ret, "failed to enable phy clock\n"); + + ret = devm_add_action_or_reset(dev, rockchip_usb2phy_clk_bulk_disable, rphy); + if (ret) + return ret; + if (rphy->phy_cfg->phy_tuning) { ret = rphy->phy_cfg->phy_tuning(rphy); if (ret) -- 2.25.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v6 2/4] dt-bindings: soc: rockchip: add rk3576 usb2phy syscon 2024-10-16 7:37 [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Frank Wang @ 2024-10-16 7:37 ` Frank Wang 2024-10-16 17:28 ` Rob Herring (Arm) 2024-10-16 7:37 ` [PATCH v6 3/4] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Frank Wang ` (3 subsequent siblings) 4 siblings, 1 reply; 7+ messages in thread From: Frank Wang @ 2024-10-16 7:37 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, Frank Wang From: Frank Wang <frank.wang@rock-chips.com> The usb2phy is accessible via a syscon registers on RK3576, similar to RK3588. Signed-off-by: Frank Wang <frank.wang@rock-chips.com> --- Changelog: v6: - This is a new patch adds rk3576-usb2phy-grf syscon. v1-v5: - none Documentation/devicetree/bindings/soc/rockchip/grf.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml index 50d727f4b76c6..62a28cb2bc7bb 100644 --- a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml +++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml @@ -80,6 +80,7 @@ properties: - rockchip,rk3568-pmugrf - rockchip,rk3576-ioc-grf - rockchip,rk3576-pmu0-grf + - rockchip,rk3576-usb2phy-grf - rockchip,rk3588-usb2phy-grf - rockchip,rv1108-grf - rockchip,rv1108-pmugrf @@ -233,6 +234,7 @@ allOf: - rockchip,rk3308-usb2phy-grf - rockchip,rk3328-usb2phy-grf - rockchip,rk3399-grf + - rockchip,rk3576-usb2phy-grf - rockchip,rk3588-usb2phy-grf - rockchip,rv1108-grf -- 2.25.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v6 2/4] dt-bindings: soc: rockchip: add rk3576 usb2phy syscon 2024-10-16 7:37 ` [PATCH v6 2/4] dt-bindings: soc: rockchip: add rk3576 usb2phy syscon Frank Wang @ 2024-10-16 17:28 ` Rob Herring (Arm) 0 siblings, 0 replies; 7+ messages in thread From: Rob Herring (Arm) @ 2024-10-16 17:28 UTC (permalink / raw) To: Frank Wang Cc: linux-phy, krzk+dt, kishon, conor+dt, linux-kernel, linux-rockchip, vkoul, devicetree, Frank Wang, linux-arm-kernel, william.wu, heiko, tim.chen On Wed, 16 Oct 2024 15:37:11 +0800, Frank Wang wrote: > From: Frank Wang <frank.wang@rock-chips.com> > > The usb2phy is accessible via a syscon registers on RK3576, similar > to RK3588. > > Signed-off-by: Frank Wang <frank.wang@rock-chips.com> > --- > Changelog: > v6: > - This is a new patch adds rk3576-usb2phy-grf syscon. > > v1-v5: > - none > > Documentation/devicetree/bindings/soc/rockchip/grf.yaml | 2 ++ > 1 file changed, 2 insertions(+) > Acked-by: Rob Herring (Arm) <robh@kernel.org> ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v6 3/4] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 2024-10-16 7:37 [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Frank Wang 2024-10-16 7:37 ` [PATCH v6 2/4] dt-bindings: soc: rockchip: add rk3576 usb2phy syscon Frank Wang @ 2024-10-16 7:37 ` Frank Wang 2024-10-16 7:37 ` [PATCH v6 4/4] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 Frank Wang ` (2 subsequent siblings) 4 siblings, 0 replies; 7+ messages in thread From: Frank Wang @ 2024-10-16 7:37 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, Frank Wang, Krzysztof Kozlowski From: Frank Wang <frank.wang@rock-chips.com> Add compatible for the USB2 phy in the Rockchip RK3576 SoC. This change also refactor the clocks list as there are new clocks adding used for the USB MMU in RK3576 SoC. Signed-off-by: Frank Wang <frank.wang@rock-chips.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- Changelog: v6: - add Reviewed tag. v5: - move the clock-names item list to top-level property. - only defined minItems/maxItems in each if: then block. v4: - refactor the clocks list used if:then: v3: - narrowed rk3576 clocks by compatible property. 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 | 45 ++++++++++++++++++- 1 file changed, 43 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..6a7ef556414ce 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,15 @@ properties: const: 0 clocks: - maxItems: 1 + minItems: 1 + maxItems: 3 clock-names: - const: phyclk + minItems: 1 + items: + - const: phyclk + - const: aclk + - const: aclk_slv assigned-clocks: description: @@ -172,6 +178,41 @@ allOf: - interrupts - interrupt-names + - if: + properties: + compatible: + contains: + enum: + - rockchip,px30-usb2phy + - rockchip,rk3128-usb2phy + - rockchip,rk3228-usb2phy + - rockchip,rk3308-usb2phy + - rockchip,rk3328-usb2phy + - rockchip,rk3366-usb2phy + - rockchip,rk3399-usb2phy + - rockchip,rk3568-usb2phy + - rockchip,rk3588-usb2phy + - rockchip,rv1108-usb2phy + then: + properties: + clocks: + maxItems: 1 + clock-names: + maxItems: 1 + + - if: + properties: + compatible: + contains: + enum: + - rockchip,rk3576-usb2phy + then: + properties: + clocks: + minItems: 3 + clock-names: + minItems: 3 + additionalProperties: false examples: -- 2.25.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v6 4/4] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 2024-10-16 7:37 [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Frank Wang 2024-10-16 7:37 ` [PATCH v6 2/4] dt-bindings: soc: rockchip: add rk3576 usb2phy syscon Frank Wang 2024-10-16 7:37 ` [PATCH v6 3/4] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Frank Wang @ 2024-10-16 7:37 ` Frank Wang 2024-10-17 15:35 ` (subset) [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Vinod Koul 2024-10-21 15:44 ` Heiko Stuebner 4 siblings, 0 replies; 7+ messages in thread From: Frank Wang @ 2024-10-16 7:37 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, 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. This adds device specific data for it. Signed-off-by: William Wu <william.wu@rock-chips.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> --- Changelog: v6: - add Reviewed tag. v5: - no changes. v4: - split the bulk clock management as a new patch, and this just leave adding rk3576-specific data. v3: - amend the commit log adds clocks converting. - retrieve the clock by "clks.id" in *_clk480m_register() function. 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 | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c index f71266c27091e..96f3d868a526f 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -1510,6 +1510,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; @@ -1938,6 +1962,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, @@ -2109,6 +2211,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.25.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: (subset) [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk 2024-10-16 7:37 [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Frank Wang ` (2 preceding siblings ...) 2024-10-16 7:37 ` [PATCH v6 4/4] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 Frank Wang @ 2024-10-17 15:35 ` Vinod Koul 2024-10-21 15:44 ` Heiko Stuebner 4 siblings, 0 replies; 7+ messages in thread From: Vinod Koul @ 2024-10-17 15:35 UTC (permalink / raw) To: kishon, robh, krzk+dt, conor+dt, heiko, Frank Wang Cc: linux-phy, devicetree, linux-arm-kernel, linux-kernel, linux-rockchip, william.wu, tim.chen, Frank Wang On Wed, 16 Oct 2024 15:37:10 +0800, Frank Wang wrote: > Since some Rockchip SoCs (e.g RK3576) have more than one clock, > this converts the clock management from single to bulk method to > make the driver more flexible. > > Applied, thanks! [1/4] phy: rockchip: inno-usb2: convert clock management to bulk commit: 86e2ed4e9a9680013ec9ab7c0428c9b8c5108efe [3/4] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 commit: 0217f4aef0b07a57086baeed9c0ac05160435a45 [4/4] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 commit: 3d7de6e870ece5a32153382df9df6fb87613335e Best regards, -- ~Vinod ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: (subset) [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk 2024-10-16 7:37 [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Frank Wang ` (3 preceding siblings ...) 2024-10-17 15:35 ` (subset) [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Vinod Koul @ 2024-10-21 15:44 ` Heiko Stuebner 4 siblings, 0 replies; 7+ messages in thread From: Heiko Stuebner @ 2024-10-21 15:44 UTC (permalink / raw) To: vkoul, Frank Wang, kishon, krzk+dt, robh, conor+dt Cc: Heiko Stuebner, linux-phy, Frank Wang, linux-rockchip, william.wu, linux-arm-kernel, devicetree, linux-kernel, tim.chen On Wed, 16 Oct 2024 15:37:10 +0800, Frank Wang wrote: > From: Frank Wang <frank.wang@rock-chips.com> > > Since some Rockchip SoCs (e.g RK3576) have more than one clock, > this converts the clock management from single to bulk method to > make the driver more flexible. > > > [...] Applied, thanks! [2/4] dt-bindings: soc: rockchip: add rk3576 usb2phy syscon commit: 3b8a7753131a9db25e81dd3f5c0ecae96400f334 Best regards, -- Heiko Stuebner <heiko@sntech.de> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-10-21 15:49 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-10-16 7:37 [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Frank Wang 2024-10-16 7:37 ` [PATCH v6 2/4] dt-bindings: soc: rockchip: add rk3576 usb2phy syscon Frank Wang 2024-10-16 17:28 ` Rob Herring (Arm) 2024-10-16 7:37 ` [PATCH v6 3/4] dt-bindings: phy: rockchip,inno-usb2phy: add rk3576 Frank Wang 2024-10-16 7:37 ` [PATCH v6 4/4] phy: rockchip: inno-usb2: Add usb2 phys support for rk3576 Frank Wang 2024-10-17 15:35 ` (subset) [PATCH v6 1/4] phy: rockchip: inno-usb2: convert clock management to bulk Vinod Koul 2024-10-21 15:44 ` Heiko Stuebner
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).