🔥 Sync 2026-02-04 00:01:29
All checks were successful
target_linux_rockchip / Update target_linux_rockchip (openwrt-25.12) (push) Successful in 8s
All checks were successful
target_linux_rockchip / Update target_linux_rockchip (openwrt-25.12) (push) Successful in 8s
This commit is contained in:
@@ -19,7 +19,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -435,7 +435,8 @@ static int rockchip_usb2phy_extcon_regis
|
||||
@@ -433,7 +433,8 @@ static int rockchip_usb2phy_extcon_regis
|
||||
rockchip_usb2phy_extcon_cable);
|
||||
|
||||
if (IS_ERR(edev))
|
||||
@@ -28,4 +28,4 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
+ "failed to allocate extcon device\n");
|
||||
|
||||
ret = devm_extcon_dev_register(rphy->dev, edev);
|
||||
if (ret) {
|
||||
if (ret)
|
||||
|
||||
@@ -83,7 +83,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
init.parent_names = &clk_name;
|
||||
init.num_parents = 1;
|
||||
} else {
|
||||
@@ -1407,11 +1425,13 @@ static int rockchip_usb2phy_probe(struct
|
||||
@@ -1408,16 +1426,26 @@ static int rockchip_usb2phy_probe(struct
|
||||
if (IS_ERR(rphy->phy_reset))
|
||||
return PTR_ERR(rphy->phy_reset);
|
||||
|
||||
@@ -101,10 +101,8 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
+ rphy->num_clks = ret < 0 ? 0 : ret;
|
||||
|
||||
ret = rockchip_usb2phy_clk480m_register(rphy);
|
||||
if (ret) {
|
||||
@@ -1419,6 +1439,14 @@ static int rockchip_usb2phy_probe(struct
|
||||
return ret;
|
||||
}
|
||||
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)
|
||||
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -1524,6 +1524,30 @@ static int rk3128_usb2phy_tuning(struct
|
||||
@@ -1521,6 +1521,30 @@ static int rk3128_usb2phy_tuning(struct
|
||||
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
static int rk3588_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
{
|
||||
int ret;
|
||||
@@ -1952,6 +1976,84 @@ static const struct rockchip_usb2phy_cfg
|
||||
@@ -1949,6 +1973,84 @@ static const struct rockchip_usb2phy_cfg
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
@@ -133,7 +133,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
static const struct rockchip_usb2phy_cfg rk3588_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0x0000,
|
||||
@@ -2123,6 +2225,7 @@ static const struct of_device_id rockchi
|
||||
@@ -2120,6 +2222,7 @@ static const struct of_device_id rockchi
|
||||
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3568-usb2phy", .data = &rk3568_phy_cfgs },
|
||||
|
||||
@@ -117,7 +117,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
static void dwcmshc_rk3568_set_clock(struct sdhci_host *host, unsigned int clock)
|
||||
{
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
@@ -734,6 +800,10 @@ static void rk35xx_sdhci_reset(struct sd
|
||||
@@ -741,6 +807,10 @@ static void rk35xx_sdhci_reset(struct sd
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
struct dwcmshc_priv *dwc_priv = sdhci_pltfm_priv(pltfm_host);
|
||||
struct rk35xx_priv *priv = dwc_priv->priv;
|
||||
@@ -128,7 +128,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
|
||||
if (mask & SDHCI_RESET_ALL && priv->reset) {
|
||||
reset_control_assert(priv->reset);
|
||||
@@ -742,6 +812,9 @@ static void rk35xx_sdhci_reset(struct sd
|
||||
@@ -749,6 +819,9 @@ static void rk35xx_sdhci_reset(struct sd
|
||||
}
|
||||
|
||||
sdhci_reset(host, mask);
|
||||
@@ -138,7 +138,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
}
|
||||
|
||||
static int dwcmshc_rk35xx_init(struct device *dev, struct sdhci_host *host,
|
||||
@@ -1235,6 +1308,15 @@ static const struct dwcmshc_pltfm_data s
|
||||
@@ -1242,6 +1315,15 @@ static const struct dwcmshc_pltfm_data s
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -154,7 +154,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
static const struct dwcmshc_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
|
||||
.pdata = {
|
||||
.ops = &sdhci_dwcmshc_rk35xx_ops,
|
||||
@@ -1243,6 +1325,7 @@ static const struct dwcmshc_pltfm_data s
|
||||
@@ -1250,6 +1332,7 @@ static const struct dwcmshc_pltfm_data s
|
||||
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
|
||||
SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN,
|
||||
},
|
||||
@@ -162,7 +162,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
.init = dwcmshc_rk35xx_init,
|
||||
.postinit = dwcmshc_rk35xx_postinit,
|
||||
};
|
||||
@@ -1292,7 +1375,8 @@ static const struct cqhci_host_ops dwcms
|
||||
@@ -1299,7 +1382,8 @@ static const struct cqhci_host_ops dwcms
|
||||
.set_tran_desc = dwcmshc_set_tran_desc,
|
||||
};
|
||||
|
||||
@@ -172,7 +172,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
{
|
||||
struct cqhci_host *cq_host;
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
@@ -1322,7 +1406,10 @@ static void dwcmshc_cqhci_init(struct sd
|
||||
@@ -1329,7 +1413,10 @@ static void dwcmshc_cqhci_init(struct sd
|
||||
}
|
||||
|
||||
cq_host->mmio = host->ioaddr + priv->vendor_specific_area2;
|
||||
@@ -184,7 +184,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
|
||||
/* Enable using of 128-bit task descriptors */
|
||||
dma64 = host->flags & SDHCI_USE_64_BIT_DMA;
|
||||
@@ -1491,7 +1578,7 @@ static int dwcmshc_probe(struct platform
|
||||
@@ -1498,7 +1585,7 @@ static int dwcmshc_probe(struct platform
|
||||
priv->vendor_specific_area2 =
|
||||
sdhci_readw(host, DWCMSHC_P_VENDOR_AREA2);
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
|
||||
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
@@ -1338,6 +1338,7 @@ static const struct dwcmshc_pltfm_data s
|
||||
@@ -1345,6 +1345,7 @@ static const struct dwcmshc_pltfm_data s
|
||||
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
|
||||
SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN,
|
||||
},
|
||||
|
||||
@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
status = "okay";
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
@@ -112,6 +112,11 @@
|
||||
@@ -111,6 +111,11 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
}
|
||||
|
||||
static unsigned long
|
||||
@@ -577,7 +567,6 @@ static int rockchip_usb2phy_power_on(str
|
||||
@@ -574,7 +564,6 @@ static int rockchip_usb2phy_power_on(str
|
||||
{
|
||||
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
|
||||
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
|
||||
@@ -94,7 +94,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
int ret;
|
||||
|
||||
dev_dbg(&rport->phy->dev, "port power on\n");
|
||||
@@ -589,7 +578,7 @@ static int rockchip_usb2phy_power_on(str
|
||||
@@ -586,7 +575,7 @@ static int rockchip_usb2phy_power_on(str
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -103,7 +103,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
if (ret) {
|
||||
clk_disable_unprepare(rphy->clk480m);
|
||||
return ret;
|
||||
@@ -618,7 +607,6 @@ static int rockchip_usb2phy_power_off(st
|
||||
@@ -615,7 +604,6 @@ static int rockchip_usb2phy_power_off(st
|
||||
{
|
||||
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
|
||||
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
|
||||
@@ -111,7 +111,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
int ret;
|
||||
|
||||
dev_dbg(&rport->phy->dev, "port power off\n");
|
||||
@@ -626,7 +614,7 @@ static int rockchip_usb2phy_power_off(st
|
||||
@@ -623,7 +611,7 @@ static int rockchip_usb2phy_power_off(st
|
||||
if (rport->suspended)
|
||||
return 0;
|
||||
|
||||
@@ -120,7 +120,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -790,28 +778,22 @@ static const char *chg_to_string(enum po
|
||||
@@ -787,28 +775,22 @@ static const char *chg_to_string(enum po
|
||||
static void rockchip_chg_enable_dcd(struct rockchip_usb2phy *rphy,
|
||||
bool en)
|
||||
{
|
||||
@@ -155,33 +155,33 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
}
|
||||
|
||||
#define CHG_DCD_POLL_TIME (100 * HZ / 1000)
|
||||
@@ -823,7 +805,6 @@ static void rockchip_chg_detect_work(str
|
||||
@@ -820,7 +802,6 @@ static void rockchip_chg_detect_work(str
|
||||
struct rockchip_usb2phy_port *rport =
|
||||
container_of(work, struct rockchip_usb2phy_port, chg_work.work);
|
||||
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
|
||||
- struct regmap *base = get_reg_base(rphy);
|
||||
bool is_dcd, tmout, vout;
|
||||
bool is_dcd, tmout, vout, vbus_attach;
|
||||
unsigned long delay;
|
||||
|
||||
@@ -834,7 +815,7 @@ static void rockchip_chg_detect_work(str
|
||||
if (!rport->suspended)
|
||||
rockchip_usb2phy_power_off(rport->phy);
|
||||
/* put the controller in non-driving mode */
|
||||
if (!vbus_attach)
|
||||
- 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 = USB_CHG_STATE_WAIT_FOR_DCD;
|
||||
@@ -897,7 +878,7 @@ static void rockchip_chg_detect_work(str
|
||||
fallthrough;
|
||||
@@ -898,7 +879,7 @@ static void rockchip_chg_detect_work(str
|
||||
case USB_CHG_STATE_DETECTED:
|
||||
/* put the controller in normal mode */
|
||||
if (!vbus_attach)
|
||||
- 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 = %s\n",
|
||||
chg_to_string(rphy->chg_type));
|
||||
@@ -1352,29 +1333,14 @@ static int rockchip_usb2phy_probe(struct
|
||||
@@ -1353,29 +1334,14 @@ static int rockchip_usb2phy_probe(struct
|
||||
if (!rphy)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
}
|
||||
|
||||
static unsigned long
|
||||
@@ -1335,9 +1360,13 @@ static int rockchip_usb2phy_probe(struct
|
||||
@@ -1336,9 +1361,13 @@ static int rockchip_usb2phy_probe(struct
|
||||
|
||||
if (!dev->parent || !dev->parent->of_node ||
|
||||
of_property_present(np, "rockchip,usbgrf")) {
|
||||
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -1519,6 +1519,28 @@ static int rk3128_usb2phy_tuning(struct
|
||||
@@ -1516,6 +1516,28 @@ static int rk3128_usb2phy_tuning(struct
|
||||
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
{
|
||||
int ret;
|
||||
@@ -1901,6 +1923,57 @@ static const struct rockchip_usb2phy_cfg
|
||||
@@ -1898,6 +1920,57 @@ static const struct rockchip_usb2phy_cfg
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
@@ -115,7 +115,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0xfe8a0000,
|
||||
@@ -2219,6 +2292,7 @@ static const struct of_device_id rockchi
|
||||
@@ -2216,6 +2289,7 @@ static const struct of_device_id rockchi
|
||||
{ .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
|
||||
|
||||
Reference in New Issue
Block a user