diff --git a/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch b/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch index c058600..e8a3691 100644 --- a/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch +++ b/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch @@ -19,7 +19,7 @@ Signed-off-by: Vinod Koul --- 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 + "failed to allocate extcon device\n"); ret = devm_extcon_dev_register(rphy->dev, edev); - if (ret) { + if (ret) diff --git a/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch b/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch index 7e4fa9b..e04e6bb 100644 --- a/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch +++ b/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch @@ -83,7 +83,7 @@ Signed-off-by: Vinod Koul 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 + 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) diff --git a/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch b/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch index d44ab4a..56046f9 100644 --- a/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch +++ b/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch @@ -17,7 +17,7 @@ Signed-off-by: Vinod Koul --- 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 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 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 }, diff --git a/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch b/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch index 74e5a8e..e6c632d 100644 --- a/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch +++ b/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch @@ -117,7 +117,7 @@ Signed-off-by: Ulf Hansson 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 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 } 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 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 .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 { 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 /* 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); diff --git a/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch b/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch index 3dd29ff..14746cc 100644 --- a/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch +++ b/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch @@ -45,7 +45,7 @@ Signed-off-by: Ulf Hansson --- 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, }, diff --git a/patches-6.12/105-nanopi-r4s-sd-signalling.patch b/patches-6.12/105-nanopi-r4s-sd-signalling.patch index e3199ce..5f8486d 100644 --- a/patches-6.12/105-nanopi-r4s-sd-signalling.patch +++ b/patches-6.12/105-nanopi-r4s-sd-signalling.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer 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"; }; diff --git a/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch b/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch index 98d0b2c..6054ede 100644 --- a/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch +++ b/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch @@ -86,7 +86,7 @@ Signed-off-by: Jonas Karlman } 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 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 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 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 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 } #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 */ -- property_enable(base, &rphy->phy_cfg->chg_det.opmode, false); -+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false); + 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 */ -- property_enable(base, &rphy->phy_cfg->chg_det.opmode, true); -+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true); + 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; diff --git a/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch b/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch index eeb79f5..b977ae1 100644 --- a/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch +++ b/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch @@ -107,7 +107,7 @@ Signed-off-by: Jonas Karlman } 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")) { diff --git a/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch b/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch index 1a77cbf..27f3bb0 100644 --- a/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch +++ b/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch @@ -28,7 +28,7 @@ Signed-off-by: Jonas Karlman --- 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 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 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 },