diff --git a/target/linux/qualcommax/patches-6.18/0077-v7.2-pwm-Driver-for-qualcomm-ipq6018-pwm-block.patch b/target/linux/qualcommax/patches-6.18/0077-v7.2-pwm-Driver-for-qualcomm-ipq6018-pwm-block.patch index ba0a65fcbe6..490cad7fc6e 100644 --- a/target/linux/qualcommax/patches-6.18/0077-v7.2-pwm-Driver-for-qualcomm-ipq6018-pwm-block.patch +++ b/target/linux/qualcommax/patches-6.18/0077-v7.2-pwm-Driver-for-qualcomm-ipq6018-pwm-block.patch @@ -29,7 +29,7 @@ Signed-off-by: Uwe Kleine-König --- a/drivers/pwm/Kconfig +++ b/drivers/pwm/Kconfig -@@ -319,6 +319,18 @@ config PWM_INTEL_LGM +@@ -337,6 +337,18 @@ config PWM_INTEL_LGM To compile this driver as a module, choose M here: the module will be called pwm-intel-lgm. @@ -50,7 +50,7 @@ Signed-off-by: Uwe Kleine-König depends on MFD_IQS62X || COMPILE_TEST --- a/drivers/pwm/Makefile +++ b/drivers/pwm/Makefile -@@ -27,6 +27,7 @@ obj-$(CONFIG_PWM_IMX1) += pwm-imx1.o +@@ -28,6 +28,7 @@ obj-$(CONFIG_PWM_IMX1) += pwm-imx1.o obj-$(CONFIG_PWM_IMX27) += pwm-imx27.o obj-$(CONFIG_PWM_IMX_TPM) += pwm-imx-tpm.o obj-$(CONFIG_PWM_INTEL_LGM) += pwm-intel-lgm.o diff --git a/target/linux/qualcommax/patches-6.18/0078-v7.3-arm64-dts-qcom-ipq6018-add-pwm-node.patch b/target/linux/qualcommax/patches-6.18/0078-v7.3-arm64-dts-qcom-ipq6018-add-pwm-node.patch index 4ee9086b890..15866534345 100644 --- a/target/linux/qualcommax/patches-6.18/0078-v7.3-arm64-dts-qcom-ipq6018-add-pwm-node.patch +++ b/target/linux/qualcommax/patches-6.18/0078-v7.3-arm64-dts-qcom-ipq6018-add-pwm-node.patch @@ -25,7 +25,7 @@ Signed-off-by: Bjorn Andersson --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -416,6 +416,16 @@ +@@ -413,6 +413,16 @@ reg = <0x0 0x01937000 0x0 0x21000>; }; diff --git a/target/linux/qualcommax/patches-6.18/0082-v7.1-clk-qcom-ipq-cmn-pll-Add-IPQ6018-SoC-support.patch b/target/linux/qualcommax/patches-6.18/0082-v7.1-clk-qcom-ipq-cmn-pll-Add-IPQ6018-SoC-support.patch index cfdeea5114e..95f4feb4e28 100644 --- a/target/linux/qualcommax/patches-6.18/0082-v7.1-clk-qcom-ipq-cmn-pll-Add-IPQ6018-SoC-support.patch +++ b/target/linux/qualcommax/patches-6.18/0082-v7.1-clk-qcom-ipq-cmn-pll-Add-IPQ6018-SoC-support.patch @@ -25,7 +25,7 @@ Signed-off-by: Bjorn Andersson #define CMN_PLL_REFCLK_SRC_SELECTION 0x28 #define CMN_PLL_REFCLK_SRC_DIV GENMASK(9, 8) -@@ -118,6 +119,12 @@ static const struct cmn_pll_fixed_output +@@ -117,6 +118,12 @@ static const struct cmn_pll_fixed_output { /* Sentinel */ } }; @@ -38,7 +38,7 @@ Signed-off-by: Bjorn Andersson static const struct cmn_pll_fixed_output_clk ipq5424_output_clks[] = { CLK_PLL_OUTPUT(IPQ5424_XO_24MHZ_CLK, "xo-24mhz", 24000000UL), CLK_PLL_OUTPUT(IPQ5424_SLEEP_32KHZ_CLK, "sleep-32khz", 32000UL), -@@ -449,6 +456,7 @@ static const struct dev_pm_ops ipq_cmn_p +@@ -448,6 +455,7 @@ static const struct dev_pm_ops ipq_cmn_p static const struct of_device_id ipq_cmn_pll_clk_ids[] = { { .compatible = "qcom,ipq5018-cmn-pll", .data = &ipq5018_output_clks }, { .compatible = "qcom,ipq5424-cmn-pll", .data = &ipq5424_output_clks }, diff --git a/target/linux/qualcommax/patches-6.18/0083-v7.1-clk-qcom-ipq-cmn-pll-Add-IPQ8074-SoC-support.patch b/target/linux/qualcommax/patches-6.18/0083-v7.1-clk-qcom-ipq-cmn-pll-Add-IPQ8074-SoC-support.patch index e972b500b86..213d2a1b6a3 100644 --- a/target/linux/qualcommax/patches-6.18/0083-v7.1-clk-qcom-ipq-cmn-pll-Add-IPQ8074-SoC-support.patch +++ b/target/linux/qualcommax/patches-6.18/0083-v7.1-clk-qcom-ipq-cmn-pll-Add-IPQ8074-SoC-support.patch @@ -25,7 +25,7 @@ Signed-off-by: Bjorn Andersson #define CMN_PLL_REFCLK_SRC_SELECTION 0x28 #define CMN_PLL_REFCLK_SRC_DIV GENMASK(9, 8) -@@ -125,6 +126,12 @@ static const struct cmn_pll_fixed_output +@@ -124,6 +125,12 @@ static const struct cmn_pll_fixed_output { /* Sentinel */ } }; @@ -38,7 +38,7 @@ Signed-off-by: Bjorn Andersson static const struct cmn_pll_fixed_output_clk ipq5424_output_clks[] = { CLK_PLL_OUTPUT(IPQ5424_XO_24MHZ_CLK, "xo-24mhz", 24000000UL), CLK_PLL_OUTPUT(IPQ5424_SLEEP_32KHZ_CLK, "sleep-32khz", 32000UL), -@@ -457,6 +464,7 @@ static const struct of_device_id ipq_cmn +@@ -456,6 +463,7 @@ static const struct of_device_id ipq_cmn { .compatible = "qcom,ipq5018-cmn-pll", .data = &ipq5018_output_clks }, { .compatible = "qcom,ipq5424-cmn-pll", .data = &ipq5424_output_clks }, { .compatible = "qcom,ipq6018-cmn-pll", .data = &ipq6018_output_clks }, diff --git a/target/linux/qualcommax/patches-6.18/0084-v7.2-clk-qcom-cmnpll-Account-for-reference-clock-divider.patch b/target/linux/qualcommax/patches-6.18/0084-v7.2-clk-qcom-cmnpll-Account-for-reference-clock-divider.patch index 2c786752e50..68506382609 100644 --- a/target/linux/qualcommax/patches-6.18/0084-v7.2-clk-qcom-cmnpll-Account-for-reference-clock-divider.patch +++ b/target/linux/qualcommax/patches-6.18/0084-v7.2-clk-qcom-cmnpll-Account-for-reference-clock-divider.patch @@ -28,7 +28,7 @@ Signed-off-by: Bjorn Andersson --- a/drivers/clk/qcom/ipq-cmn-pll.c +++ b/drivers/clk/qcom/ipq-cmn-pll.c -@@ -200,7 +200,7 @@ static unsigned long clk_cmn_pll_recalc_ +@@ -199,7 +199,7 @@ static unsigned long clk_cmn_pll_recalc_ unsigned long parent_rate) { struct clk_cmn_pll *cmn_pll = to_clk_cmn_pll(hw); @@ -37,7 +37,7 @@ Signed-off-by: Bjorn Andersson /* * The value of CMN_PLL_DIVIDER_CTRL_FACTOR is automatically adjusted -@@ -208,8 +208,15 @@ static unsigned long clk_cmn_pll_recalc_ +@@ -207,8 +207,15 @@ static unsigned long clk_cmn_pll_recalc_ */ regmap_read(cmn_pll->regmap, CMN_PLL_DIVIDER_CTRL, &val); factor = FIELD_GET(CMN_PLL_DIVIDER_CTRL_FACTOR, val); diff --git a/target/linux/qualcommax/patches-6.18/0089-v7.2-net-phy-at803x-add-RX-and-TX-clock-management-for-IPQ5018-PHY.patch b/target/linux/qualcommax/patches-6.18/0089-v7.2-net-phy-at803x-add-RX-and-TX-clock-management-for-IPQ5018-PHY.patch index 4a43b525494..904d10e0535 100644 --- a/target/linux/qualcommax/patches-6.18/0089-v7.2-net-phy-at803x-add-RX-and-TX-clock-management-for-IPQ5018-PHY.patch +++ b/target/linux/qualcommax/patches-6.18/0089-v7.2-net-phy-at803x-add-RX-and-TX-clock-management-for-IPQ5018-PHY.patch @@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski #include #include #include -@@ -1089,6 +1090,7 @@ static void ipq5018_link_change_notify(s +@@ -1088,6 +1089,7 @@ static void ipq5018_link_change_notify(s static int ipq5018_probe(struct phy_device *phydev) { struct device *dev = &phydev->mdio.dev; @@ -32,7 +32,7 @@ Signed-off-by: Jakub Kicinski struct ipq5018_priv *priv; int ret; -@@ -1099,6 +1101,16 @@ static int ipq5018_probe(struct phy_devi +@@ -1098,6 +1100,16 @@ static int ipq5018_probe(struct phy_devi priv->set_short_cable_dac = of_property_read_bool(dev->of_node, "qcom,dac-preset-short-cable"); diff --git a/target/linux/qualcommax/patches-6.18/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch b/target/linux/qualcommax/patches-6.18/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch index ac46f9e79be..3f8a0217e84 100644 --- a/target/linux/qualcommax/patches-6.18/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch +++ b/target/linux/qualcommax/patches-6.18/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch @@ -107,9 +107,9 @@ Signed-off-by: Nikhil Prakash V + +static int qcs404_init_clock(struct q6v5_wcss *wcss) { - int ret; - -@@ -990,7 +1014,7 @@ static int q6v5_wcss_init_clock(struct q + wcss->xo = devm_clk_get(wcss->dev, "xo"); + if (IS_ERR(wcss->xo)) +@@ -958,7 +982,7 @@ static int q6v5_wcss_init_clock(struct q return 0; } @@ -118,7 +118,7 @@ Signed-off-by: Nikhil Prakash V { wcss->cx_supply = devm_regulator_get(wcss->dev, "cx"); if (IS_ERR(wcss->cx_supply)) -@@ -1034,12 +1058,14 @@ static int q6v5_wcss_probe(struct platfo +@@ -1001,12 +1025,14 @@ static int q6v5_wcss_probe(struct platfo if (ret) return ret; @@ -136,7 +136,7 @@ Signed-off-by: Nikhil Prakash V if (ret) return ret; } -@@ -1081,6 +1107,7 @@ static void q6v5_wcss_remove(struct plat +@@ -1063,6 +1089,7 @@ static void q6v5_wcss_remove(struct plat } static const struct wcss_data wcss_ipq8074_res_init = { @@ -144,7 +144,7 @@ Signed-off-by: Nikhil Prakash V .firmware_name = "IPQ8074/q6_fw.mdt", .crash_reason_smem = WCSS_CRASH_REASON, .aon_reset_required = true, -@@ -1090,6 +1117,8 @@ static const struct wcss_data wcss_ipq80 +@@ -1072,6 +1099,8 @@ static const struct wcss_data wcss_ipq80 }; static const struct wcss_data wcss_qcs404_res_init = { diff --git a/target/linux/qualcommax/patches-6.18/0113-remoteproc-qcom-Add-secure-PIL-support.patch b/target/linux/qualcommax/patches-6.18/0113-remoteproc-qcom-Add-secure-PIL-support.patch index 6b11f048087..b8fb95c9268 100644 --- a/target/linux/qualcommax/patches-6.18/0113-remoteproc-qcom-Add-secure-PIL-support.patch +++ b/target/linux/qualcommax/patches-6.18/0113-remoteproc-qcom-Add-secure-PIL-support.patch @@ -101,7 +101,7 @@ Signed-off-by: Nikhil Prakash V int ret; - ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware, -- 0, wcss->mem_region, wcss->mem_phys, +- wcss->mem_region, wcss->mem_phys, - wcss->mem_size, &wcss->mem_reloc); + if (wcss->need_mem_protection) + ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware, @@ -110,12 +110,12 @@ Signed-off-by: Nikhil Prakash V + &wcss->mem_reloc); + else + ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware, -+ 0, wcss->mem_region, wcss->mem_phys, ++ wcss->mem_region, wcss->mem_phys, + wcss->mem_size, &wcss->mem_reloc); if (ret) return ret; -@@ -1036,6 +1068,9 @@ static int q6v5_wcss_probe(struct platfo +@@ -1004,6 +1036,9 @@ static int q6v5_wcss_probe(struct platfo if (!desc) return -EINVAL; @@ -125,7 +125,7 @@ Signed-off-by: Nikhil Prakash V rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops, desc->firmware_name, sizeof(*wcss)); if (!rproc) { -@@ -1049,6 +1084,7 @@ static int q6v5_wcss_probe(struct platfo +@@ -1016,6 +1051,7 @@ static int q6v5_wcss_probe(struct platfo wcss->version = desc->version; wcss->requires_force_stop = desc->requires_force_stop; @@ -133,7 +133,7 @@ Signed-off-by: Nikhil Prakash V ret = q6v5_wcss_init_mmio(wcss, pdev); if (ret) -@@ -1114,6 +1150,7 @@ static const struct wcss_data wcss_ipq80 +@@ -1096,6 +1132,7 @@ static const struct wcss_data wcss_ipq80 .wcss_q6_reset_required = true, .ops = &q6v5_wcss_ipq8074_ops, .requires_force_stop = true, diff --git a/target/linux/qualcommax/patches-6.18/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch b/target/linux/qualcommax/patches-6.18/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch index be793d65865..c2d9f3d6049 100644 --- a/target/linux/qualcommax/patches-6.18/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch +++ b/target/linux/qualcommax/patches-6.18/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch @@ -49,7 +49,7 @@ Signed-off-by: Nikhil Prakash V + goto skip_m3; + + ret = qcom_mdt_load_no_init(wcss->dev, m3_fw, -+ wcss->m3_firmware_name, 0, ++ wcss->m3_firmware_name, + wcss->mem_region, wcss->mem_phys, + wcss->mem_size, &wcss->mem_reloc); + @@ -65,7 +65,7 @@ Signed-off-by: Nikhil Prakash V if (wcss->need_mem_protection) ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware, WCNSS_PAS_ID, wcss->mem_region, -@@ -1072,7 +1095,7 @@ static int q6v5_wcss_probe(struct platfo +@@ -1040,7 +1063,7 @@ static int q6v5_wcss_probe(struct platfo return -EPROBE_DEFER; rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops, @@ -74,7 +74,7 @@ Signed-off-by: Nikhil Prakash V if (!rproc) { dev_err(&pdev->dev, "failed to allocate rproc\n"); return -ENOMEM; -@@ -1085,6 +1108,7 @@ static int q6v5_wcss_probe(struct platfo +@@ -1052,6 +1075,7 @@ static int q6v5_wcss_probe(struct platfo wcss->version = desc->version; wcss->requires_force_stop = desc->requires_force_stop; wcss->need_mem_protection = desc->need_mem_protection; @@ -82,7 +82,7 @@ Signed-off-by: Nikhil Prakash V ret = q6v5_wcss_init_mmio(wcss, pdev); if (ret) -@@ -1144,7 +1168,8 @@ static void q6v5_wcss_remove(struct plat +@@ -1126,7 +1150,8 @@ static void q6v5_wcss_remove(struct plat static const struct wcss_data wcss_ipq8074_res_init = { .init_clock = ipq8074_init_clock, @@ -92,7 +92,7 @@ Signed-off-by: Nikhil Prakash V .crash_reason_smem = WCSS_CRASH_REASON, .aon_reset_required = true, .wcss_q6_reset_required = true, -@@ -1157,7 +1182,7 @@ static const struct wcss_data wcss_qcs40 +@@ -1139,7 +1164,7 @@ static const struct wcss_data wcss_qcs40 .init_clock = qcs404_init_clock, .init_regulator = qcs404_init_regulator, .crash_reason_smem = WCSS_CRASH_REASON, diff --git a/target/linux/qualcommax/patches-6.18/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch b/target/linux/qualcommax/patches-6.18/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch index 5d6a573c911..6fa25a35e5b 100644 --- a/target/linux/qualcommax/patches-6.18/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch +++ b/target/linux/qualcommax/patches-6.18/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch @@ -14,7 +14,7 @@ Signed-off-by: Nikhil Prakash V --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c -@@ -1173,6 +1173,7 @@ static const struct wcss_data wcss_ipq80 +@@ -1155,6 +1155,7 @@ static const struct wcss_data wcss_ipq80 .crash_reason_smem = WCSS_CRASH_REASON, .aon_reset_required = true, .wcss_q6_reset_required = true, diff --git a/target/linux/qualcommax/patches-6.18/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch b/target/linux/qualcommax/patches-6.18/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch index c9795b80282..c7943272c20 100644 --- a/target/linux/qualcommax/patches-6.18/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch +++ b/target/linux/qualcommax/patches-6.18/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch @@ -39,7 +39,7 @@ Signed-off-by: Sricharan R } return 0; -@@ -1173,6 +1177,7 @@ static const struct wcss_data wcss_ipq80 +@@ -1155,6 +1159,7 @@ static const struct wcss_data wcss_ipq80 .crash_reason_smem = WCSS_CRASH_REASON, .aon_reset_required = true, .wcss_q6_reset_required = true, @@ -47,7 +47,7 @@ Signed-off-by: Sricharan R .ssr_name = "q6wcss", .ops = &q6v5_wcss_ipq8074_ops, .requires_force_stop = true, -@@ -1187,6 +1192,7 @@ static const struct wcss_data wcss_qcs40 +@@ -1169,6 +1174,7 @@ static const struct wcss_data wcss_qcs40 .version = WCSS_QCS404, .aon_reset_required = false, .wcss_q6_reset_required = false, diff --git a/target/linux/qualcommax/patches-6.18/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch b/target/linux/qualcommax/patches-6.18/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch index ccb78dec035..cecf8b7229a 100644 --- a/target/linux/qualcommax/patches-6.18/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch +++ b/target/linux/qualcommax/patches-6.18/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch @@ -22,15 +22,15 @@ Signed-off-by: Robert Marko }; static int q6v5_wcss_reset(struct q6v5_wcss *wcss) -@@ -1151,6 +1152,7 @@ static int q6v5_wcss_probe(struct platfo - desc->sysmon_name, - desc->ssctl_id); +@@ -1123,6 +1124,7 @@ static int q6v5_wcss_probe(struct platfo + } + } + rproc->auto_boot = desc->need_auto_boot; ret = rproc_add(rproc); if (ret) - return ret; -@@ -1182,6 +1184,7 @@ static const struct wcss_data wcss_ipq80 + goto remove_sysmon_subdev; +@@ -1164,6 +1166,7 @@ static const struct wcss_data wcss_ipq80 .ops = &q6v5_wcss_ipq8074_ops, .requires_force_stop = true, .need_mem_protection = true, @@ -38,7 +38,7 @@ Signed-off-by: Robert Marko }; static const struct wcss_data wcss_qcs404_res_init = { -@@ -1198,6 +1201,7 @@ static const struct wcss_data wcss_qcs40 +@@ -1180,6 +1183,7 @@ static const struct wcss_data wcss_qcs40 .ssctl_id = 0x12, .ops = &q6v5_wcss_qcs404_ops, .requires_force_stop = false, diff --git a/target/linux/qualcommax/patches-6.18/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch b/target/linux/qualcommax/patches-6.18/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch index ea723f5912a..aa24657a429 100644 --- a/target/linux/qualcommax/patches-6.18/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch +++ b/target/linux/qualcommax/patches-6.18/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch @@ -61,7 +61,7 @@ Signed-off-by: Robert Marko spmi_bus: spmi@200f000 { compatible = "qcom,spmi-pmic-arb"; reg = <0x0200f000 0x001000>, -@@ -994,6 +1025,56 @@ +@@ -1028,6 +1059,56 @@ ranges; }; }; diff --git a/target/linux/qualcommax/patches-6.18/0121-arm64-dts-ipq8074-Add-WLAN-node.patch b/target/linux/qualcommax/patches-6.18/0121-arm64-dts-ipq8074-Add-WLAN-node.patch index dcab3294c7f..e02fa994f44 100644 --- a/target/linux/qualcommax/patches-6.18/0121-arm64-dts-ipq8074-Add-WLAN-node.patch +++ b/target/linux/qualcommax/patches-6.18/0121-arm64-dts-ipq8074-Add-WLAN-node.patch @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -1075,6 +1075,117 @@ +@@ -1109,6 +1109,117 @@ }; }; }; diff --git a/target/linux/qualcommax/patches-6.18/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch b/target/linux/qualcommax/patches-6.18/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch index b1175d48e10..52928d157af 100644 --- a/target/linux/qualcommax/patches-6.18/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch +++ b/target/linux/qualcommax/patches-6.18/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch @@ -21,7 +21,7 @@ Signed-off-by: Gokul Sriram Palanisamy { int ret; -@@ -1173,7 +1173,7 @@ static void q6v5_wcss_remove(struct plat +@@ -1155,7 +1155,7 @@ static void q6v5_wcss_remove(struct plat } static const struct wcss_data wcss_ipq8074_res_init = { @@ -30,7 +30,7 @@ Signed-off-by: Gokul Sriram Palanisamy .q6_firmware_name = "IPQ8074/q6_fw.mdt", .m3_firmware_name = "IPQ8074/m3_fw.mdt", .crash_reason_smem = WCSS_CRASH_REASON, -@@ -1187,6 +1187,20 @@ static const struct wcss_data wcss_ipq80 +@@ -1169,6 +1169,20 @@ static const struct wcss_data wcss_ipq80 .need_auto_boot = false, }; @@ -51,7 +51,7 @@ Signed-off-by: Gokul Sriram Palanisamy static const struct wcss_data wcss_qcs404_res_init = { .init_clock = qcs404_init_clock, .init_regulator = qcs404_init_regulator, -@@ -1206,6 +1220,7 @@ static const struct wcss_data wcss_qcs40 +@@ -1188,6 +1202,7 @@ static const struct wcss_data wcss_qcs40 static const struct of_device_id q6v5_wcss_of_match[] = { { .compatible = "qcom,ipq8074-wcss-pil", .data = &wcss_ipq8074_res_init }, diff --git a/target/linux/qualcommax/patches-6.18/0184-mailbox-tmelite-qmp-Introduce-TMEL-QMP-mailbox-driver.patch b/target/linux/qualcommax/patches-6.18/0184-mailbox-tmelite-qmp-Introduce-TMEL-QMP-mailbox-driver.patch index 22016b474cc..b45e12750b7 100644 --- a/target/linux/qualcommax/patches-6.18/0184-mailbox-tmelite-qmp-Introduce-TMEL-QMP-mailbox-driver.patch +++ b/target/linux/qualcommax/patches-6.18/0184-mailbox-tmelite-qmp-Introduce-TMEL-QMP-mailbox-driver.patch @@ -199,9 +199,9 @@ Signed-off-by: Sricharan Ramabadhran --- a/drivers/mailbox/Kconfig +++ b/drivers/mailbox/Kconfig -@@ -295,4 +295,14 @@ config QCOM_IPCC - acts as an interrupt controller for receiving interrupts from clients. - Say Y here if you want to build this driver. +@@ -390,4 +390,14 @@ config RISCV_SBI_MPXY_MBOX + or HS-mode hypervisor). Say Y here if you want to have this support. + If unsure say N. +config QCOM_TMEL_QMP_MAILBOX + tristate "QCOM Mailbox Protocol(QMP) for TMEL SS" @@ -216,7 +216,7 @@ Signed-off-by: Sricharan Ramabadhran endif --- a/drivers/mailbox/Makefile +++ b/drivers/mailbox/Makefile -@@ -47,6 +47,8 @@ obj-$(CONFIG_POLARFIRE_SOC_MAILBOX) += m +@@ -55,6 +55,8 @@ obj-$(CONFIG_MCHP_SBI_IPC_MBOX) += mail obj-$(CONFIG_QCOM_APCS_IPC) += qcom-apcs-ipc-mailbox.o diff --git a/target/linux/qualcommax/patches-6.18/0185-firmware-qcom_scm-ipq5332-add-support-to-pass-metadata-size.patch b/target/linux/qualcommax/patches-6.18/0185-firmware-qcom_scm-ipq5332-add-support-to-pass-metadata-size.patch index 103c4434d70..45e39807d80 100644 --- a/target/linux/qualcommax/patches-6.18/0185-firmware-qcom_scm-ipq5332-add-support-to-pass-metadata-size.patch +++ b/target/linux/qualcommax/patches-6.18/0185-firmware-qcom_scm-ipq5332-add-support-to-pass-metadata-size.patch @@ -54,7 +54,7 @@ Signed-off-by: Gokul Sriram Palanisamy qcom_scm_bw_disable(); --- a/drivers/firmware/qcom/qcom_scm.h +++ b/drivers/firmware/qcom/qcom_scm.h -@@ -101,6 +101,7 @@ struct qcom_tzmem_pool *qcom_scm_get_tzm +@@ -105,6 +105,7 @@ int qcom_scm_shm_bridge_enable(struct de #define QCOM_SCM_PIL_PAS_SHUTDOWN 0x06 #define QCOM_SCM_PIL_PAS_IS_SUPPORTED 0x07 #define QCOM_SCM_PIL_PAS_MSS_RESET 0x0a diff --git a/target/linux/qualcommax/patches-6.18/0188-remoteproc-qcom-add-hexagon-based-wcss-secure-pil-driver.patch b/target/linux/qualcommax/patches-6.18/0188-remoteproc-qcom-add-hexagon-based-wcss-secure-pil-driver.patch index d999e5563d1..cb4e91b82c7 100644 --- a/target/linux/qualcommax/patches-6.18/0188-remoteproc-qcom-add-hexagon-based-wcss-secure-pil-driver.patch +++ b/target/linux/qualcommax/patches-6.18/0188-remoteproc-qcom-add-hexagon-based-wcss-secure-pil-driver.patch @@ -35,7 +35,7 @@ Signed-off-by: George Moussalem --- a/drivers/remoteproc/Kconfig +++ b/drivers/remoteproc/Kconfig -@@ -255,6 +255,25 @@ config QCOM_Q6V5_WCSS +@@ -254,6 +254,25 @@ config QCOM_Q6V5_WCSS Hexagon V5 based WCSS remote processors on e.g. IPQ8074. This is a non-TrustZone wireless subsystem. @@ -225,7 +225,7 @@ Signed-off-by: George Moussalem + return ret; + } + -+ ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware, wcss->desc->pasid, ++ ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware, + wcss->mem_region, wcss->mem_phys, wcss->mem_size, + &wcss->mem_reloc); + if (ret) { diff --git a/target/linux/qualcommax/patches-6.18/0401-spi-spi-qpic-snand-default-to-4-bit-ECC.patch b/target/linux/qualcommax/patches-6.18/0401-spi-spi-qpic-snand-default-to-4-bit-ECC.patch index 156d4118c76..3fd5f76ec3d 100644 --- a/target/linux/qualcommax/patches-6.18/0401-spi-spi-qpic-snand-default-to-4-bit-ECC.patch +++ b/target/linux/qualcommax/patches-6.18/0401-spi-spi-qpic-snand-default-to-4-bit-ECC.patch @@ -19,7 +19,7 @@ Signed-off-by: Robert Marko --- a/drivers/spi/spi-qpic-snand.c +++ b/drivers/spi/spi-qpic-snand.c -@@ -304,6 +304,24 @@ static int qcom_spi_ecc_init_ctx_pipelin +@@ -295,6 +295,24 @@ static int qcom_spi_ecc_init_ctx_pipelin ecc_cfg->spare_bytes = 2; break; diff --git a/target/linux/qualcommax/patches-6.18/0412-mtd-spinand-qpic-only-support-max-4-bytes-ID.patch b/target/linux/qualcommax/patches-6.18/0412-mtd-spinand-qpic-only-support-max-4-bytes-ID.patch index 35943a660c3..7fe59a025cd 100644 --- a/target/linux/qualcommax/patches-6.18/0412-mtd-spinand-qpic-only-support-max-4-bytes-ID.patch +++ b/target/linux/qualcommax/patches-6.18/0412-mtd-spinand-qpic-only-support-max-4-bytes-ID.patch @@ -14,7 +14,7 @@ Signed-off-by: Ziyang Huang --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c -@@ -1337,7 +1337,7 @@ int spinand_match_and_init(struct spinan +@@ -1408,7 +1408,7 @@ int spinand_match_and_init(struct spinan if (rdid_method != info->devid.method) continue; diff --git a/target/linux/qualcommax/patches-6.18/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch b/target/linux/qualcommax/patches-6.18/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch index 438e553e2e4..5b8fa955e80 100644 --- a/target/linux/qualcommax/patches-6.18/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch +++ b/target/linux/qualcommax/patches-6.18/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch @@ -115,7 +115,7 @@ Signed-off-by: Manikanta Mylavarapu struct qcom_scm_desc desc = { --- a/drivers/firmware/qcom/qcom_scm.h +++ b/drivers/firmware/qcom/qcom_scm.h -@@ -102,6 +102,8 @@ struct qcom_tzmem_pool *qcom_scm_get_tzm +@@ -106,6 +106,8 @@ int qcom_scm_shm_bridge_enable(struct de #define QCOM_SCM_PIL_PAS_IS_SUPPORTED 0x07 #define QCOM_SCM_PIL_PAS_MSS_RESET 0x0a #define QCOM_SCM_PIL_PAS_INIT_IMAGE_V2 0x1a diff --git a/target/linux/qualcommax/patches-6.18/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch b/target/linux/qualcommax/patches-6.18/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch index 98b49818036..4c30419b8b8 100644 --- a/target/linux/qualcommax/patches-6.18/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch +++ b/target/linux/qualcommax/patches-6.18/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch @@ -58,9 +58,9 @@ Signed-off-by: Manikanta Mylavarapu --- a/drivers/remoteproc/Kconfig +++ b/drivers/remoteproc/Kconfig -@@ -235,6 +235,25 @@ config QCOM_Q6V5_PAS - CDSP (Compute DSP), MPSS (Modem Peripheral SubSystem), and - SLPI (Sensor Low Power Island). +@@ -234,6 +234,25 @@ config QCOM_Q6V5_PAS + subsystems such as ADSP (Audio DSP), CDSP (Compute DSP), MPSS (Modem + Peripheral SubSystem), and SLPI (Sensor Low Power Island). +config QCOM_Q6V5_MPD + tristate "Qualcomm Hexagon based MPD model Peripheral Image Loader" @@ -477,7 +477,7 @@ Signed-off-by: Manikanta Mylavarapu + continue; + + ret = qcom_mdt_load_no_init(wcss->dev, fw_hdl, -+ wcss->firmware[loop], 0, ++ wcss->firmware[loop], + wcss->mem_region, + wcss->mem_phys, + wcss->mem_size, @@ -883,7 +883,7 @@ Signed-off-by: Manikanta Mylavarapu + +static struct platform_driver q6_wcss_driver = { + .probe = q6_wcss_probe, -+ .remove_new = q6_wcss_remove, ++ .remove = q6_wcss_remove, + .driver = { + .name = "qcom-q6-mpd", + .of_match_table = q6_wcss_of_match, diff --git a/target/linux/qualcommax/patches-6.18/0808-remoteproc-qcom-wcss-sec-add-split-firmware-support.patch b/target/linux/qualcommax/patches-6.18/0808-remoteproc-qcom-wcss-sec-add-split-firmware-support.patch index 29644e3fdb3..9493fbbe4b6 100644 --- a/target/linux/qualcommax/patches-6.18/0808-remoteproc-qcom-wcss-sec-add-split-firmware-support.patch +++ b/target/linux/qualcommax/patches-6.18/0808-remoteproc-qcom-wcss-sec-add-split-firmware-support.patch @@ -52,7 +52,7 @@ Signed-off-by: George Moussalem + if (ret) + continue; + -+ ret = qcom_mdt_load_no_init(dev, fw_hdl, wcss->firmware[i], 0, ++ ret = qcom_mdt_load_no_init(dev, fw_hdl, wcss->firmware[i], + wcss->mem_region, wcss->mem_phys, + wcss->mem_size, &wcss->mem_reloc); + diff --git a/target/linux/qualcommax/patches-6.18/0811-firmware-qcom_scm-support-MPD.patch b/target/linux/qualcommax/patches-6.18/0811-firmware-qcom_scm-support-MPD.patch index 760f76cd712..fa94b7d9a0b 100644 --- a/target/linux/qualcommax/patches-6.18/0811-firmware-qcom_scm-support-MPD.patch +++ b/target/linux/qualcommax/patches-6.18/0811-firmware-qcom_scm-support-MPD.patch @@ -116,7 +116,7 @@ Signed-off-by: George Moussalem * @peripheral: peripheral id --- a/drivers/firmware/qcom/qcom_scm.h +++ b/drivers/firmware/qcom/qcom_scm.h -@@ -102,6 +102,9 @@ struct qcom_tzmem_pool *qcom_scm_get_tzm +@@ -106,6 +106,9 @@ int qcom_scm_shm_bridge_enable(struct de #define QCOM_SCM_PIL_PAS_IS_SUPPORTED 0x07 #define QCOM_SCM_PIL_PAS_MSS_RESET 0x0a #define QCOM_SCM_PIL_PAS_INIT_IMAGE_V2 0x1a diff --git a/target/linux/qualcommax/patches-6.18/0812-soc-qcom-mdt_loader-support-MPD.patch b/target/linux/qualcommax/patches-6.18/0812-soc-qcom-mdt_loader-support-MPD.patch index c8d50199b0b..3c6d5373198 100644 --- a/target/linux/qualcommax/patches-6.18/0812-soc-qcom-mdt_loader-support-MPD.patch +++ b/target/linux/qualcommax/patches-6.18/0812-soc-qcom-mdt_loader-support-MPD.patch @@ -91,16 +91,16 @@ Signed-off-by: George Moussalem * @fw: firmware object for the mdt file @@ -335,7 +395,8 @@ static bool qcom_mdt_bins_are_split(cons static int __qcom_mdt_load(struct device *dev, const struct firmware *fw, - const char *fw_name, int pas_id, void *mem_region, + const char *fw_name, void *mem_region, phys_addr_t mem_phys, size_t mem_size, -- phys_addr_t *reloc_base, bool pas_init) -+ phys_addr_t *reloc_base, bool pas_init, -+ bool dma_require, int pd_asid) +- phys_addr_t *reloc_base) ++ phys_addr_t *reloc_base, bool dma_require, ++ int pas_id, int pd_asid) { const struct elf32_phdr *phdrs; const struct elf32_phdr *phdr; @@ -392,6 +453,14 @@ static int __qcom_mdt_load(struct device - if (!mdt_phdr_valid(phdr)) + if (!mdt_phdr_loadable(phdr)) continue; + /* @@ -139,18 +139,18 @@ Signed-off-by: George Moussalem @@ -461,7 +534,7 @@ int qcom_mdt_load(struct device *dev, co return ret; - return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, -- mem_size, reloc_base, true); -+ mem_size, reloc_base, true, false, 0); + return __qcom_mdt_load(dev, fw, firmware, mem_region, mem_phys, +- mem_size, reloc_base); ++ mem_size, reloc_base, false, pas_id, 0); } EXPORT_SYMBOL_GPL(qcom_mdt_load); -@@ -484,9 +557,36 @@ int qcom_mdt_load_no_init(struct device +@@ -482,9 +555,37 @@ int qcom_mdt_load_no_init(struct device size_t mem_size, phys_addr_t *reloc_base) { - return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, -- mem_size, reloc_base, false); -+ mem_size, reloc_base, false, false, 0); + return __qcom_mdt_load(dev, fw, firmware, mem_region, mem_phys, +- mem_size, reloc_base); ++ mem_size, reloc_base, false, 0, 0); } EXPORT_SYMBOL_GPL(qcom_mdt_load_no_init); @@ -160,6 +160,7 @@ Signed-off-by: George Moussalem + * @fw: firmware object for the mdt file + * @firmware: name of the firmware, for construction of segment file names + * @pas_id: PAS identifier ++ * @pd_asid: application processor subsystem id of the userpd + * @mem_region: allocated memory region to load firmware into + * @mem_phys: physical address of allocated memory region + * @mem_size: size of the allocated memory region @@ -176,8 +177,8 @@ Signed-off-by: George Moussalem + phys_addr_t mem_phys, size_t mem_size, + phys_addr_t *reloc_base) +{ -+ return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, -+ mem_size, reloc_base, false, true, pd_asid); ++ return __qcom_mdt_load(dev, fw, firmware, mem_region, mem_phys, ++ mem_size, reloc_base, true, pas_id, pd_asid); +} +EXPORT_SYMBOL_GPL(qcom_mdt_load_pd_seg); + diff --git a/target/linux/qualcommax/patches-6.18/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch b/target/linux/qualcommax/patches-6.18/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch index 2980acb7411..ad0c96d0fb4 100644 --- a/target/linux/qualcommax/patches-6.18/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch +++ b/target/linux/qualcommax/patches-6.18/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch @@ -22,7 +22,7 @@ Signed-off-by: George Moussalem --- --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml -@@ -22,6 +22,7 @@ properties: +@@ -21,6 +21,7 @@ properties: - qcom,ipq6018-wifi - qcom,wcn6750-wifi - qcom,ipq5018-wifi @@ -30,7 +30,7 @@ Signed-off-by: George Moussalem reg: maxItems: 1 -@@ -262,6 +263,29 @@ allOf: +@@ -268,6 +269,29 @@ allOf: - description: interrupt event for ring DP20 - description: interrupt event for ring DP21 - description: interrupt event for ring DP22 diff --git a/target/linux/qualcommax/patches-6.18/0901-regulator-add-Qualcomm-CPR-regulators.patch b/target/linux/qualcommax/patches-6.18/0901-regulator-add-Qualcomm-CPR-regulators.patch index 267ed2b5eb4..b4f219ae2bc 100644 --- a/target/linux/qualcommax/patches-6.18/0901-regulator-add-Qualcomm-CPR-regulators.patch +++ b/target/linux/qualcommax/patches-6.18/0901-regulator-add-Qualcomm-CPR-regulators.patch @@ -25,7 +25,7 @@ Signed-off-by: Robert Marko --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig -@@ -1720,4 +1720,37 @@ config REGULATOR_QCOM_LABIBB +@@ -1818,4 +1818,37 @@ config REGULATOR_QCOM_LABIBB boost regulator and IBB can be used as a negative boost regulator for LCD display panel. @@ -65,7 +65,7 @@ Signed-off-by: Robert Marko endif --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile -@@ -121,6 +121,9 @@ obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qco +@@ -124,6 +124,9 @@ obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qco obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o obj-$(CONFIG_REGULATOR_QCOM_USB_VBUS) += qcom_usb_vbus-regulator.o @@ -74,7 +74,7 @@ Signed-off-by: Robert Marko +obj-$(CONFIG_REGULATOR_CPR4_APSS) += cpr4-apss-regulator.o obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o obj-$(CONFIG_REGULATOR_PCA9450) += pca9450-regulator.o - obj-$(CONFIG_REGULATOR_PF8X00) += pf8x00-regulator.o + obj-$(CONFIG_REGULATOR_PF0900) += pf0900-regulator.o --- /dev/null +++ b/drivers/regulator/cpr3-npu-regulator.c @@ -0,0 +1,689 @@ @@ -3183,14 +3183,14 @@ Signed-off-by: Robert Marko +} + +/** -+ * cmp_int() - int comparison function to be passed into the sort() function ++ * cpr3_cmp_int() - int comparison function to be passed into the sort() function + * which leads to ascending sorting + * @a: First int value + * @b: Second int value + * + * Return: >0 if a > b, 0 if a == b, <0 if a < b + */ -+static int cmp_int(const void *a, const void *b) ++static int cpr3_cmp_int(const void *a, const void *b) +{ + return *(int *)a - *(int *)b; +} @@ -3369,7 +3369,7 @@ Signed-off-by: Robert Marko + = aging_measurement_count - CPR3_AGING_MEASUREMENT_FILTER * 2; + if (filtered_count > 0) { + sort(quot_delta_results, aging_measurement_count, -+ sizeof(*quot_delta_results), cmp_int, NULL); ++ sizeof(*quot_delta_results), cpr3_cmp_int, NULL); + + quot_delta_scaled_sum = 0; + for (i = 0; i < filtered_count; i++) diff --git a/target/linux/qualcommax/patches-6.18/0903-psci-dont-advertise-OSI-support-for-IPQ6018.patch b/target/linux/qualcommax/patches-6.18/0903-psci-dont-advertise-OSI-support-for-IPQ6018.patch index 5fcb90098f3..45ede1ba0fa 100644 --- a/target/linux/qualcommax/patches-6.18/0903-psci-dont-advertise-OSI-support-for-IPQ6018.patch +++ b/target/linux/qualcommax/patches-6.18/0903-psci-dont-advertise-OSI-support-for-IPQ6018.patch @@ -19,7 +19,7 @@ Signed-off-by: Robert Marko --- a/drivers/firmware/psci/psci.c +++ b/drivers/firmware/psci/psci.c -@@ -87,6 +87,18 @@ static inline bool psci_has_ext_power_st +@@ -88,6 +88,18 @@ static inline bool psci_has_ext_power_st bool psci_has_osi_support(void) { diff --git a/target/linux/qualcommax/patches-6.18/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch b/target/linux/qualcommax/patches-6.18/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch index af7f45cc763..cf971cb208f 100644 --- a/target/linux/qualcommax/patches-6.18/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch +++ b/target/linux/qualcommax/patches-6.18/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch @@ -18,7 +18,7 @@ Signed-off-by: Mantas Pucka --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c -@@ -1143,9 +1143,9 @@ static int q6v5_wcss_probe(struct platfo +@@ -1110,9 +1110,9 @@ static int q6v5_wcss_probe(struct platfo if (ret) return ret; @@ -28,9 +28,9 @@ Signed-off-by: Mantas Pucka - qcom_add_ssr_subdev(rproc, &wcss->ssr_subdev, "q6wcss"); + qcom_add_ssr_subdev(rproc, &wcss->ssr_subdev, desc->ssr_name); - if (desc->ssctl_id) + if (desc->ssctl_id) { wcss->sysmon = qcom_add_sysmon_subdev(rproc, -@@ -1195,7 +1195,7 @@ static const struct wcss_data wcss_ipq60 +@@ -1162,7 +1162,7 @@ static const struct wcss_data wcss_ipq80 .aon_reset_required = true, .wcss_q6_reset_required = true, .bcr_reset_required = false, diff --git a/target/linux/qualcommax/patches-6.18/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch b/target/linux/qualcommax/patches-6.18/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch index aac8cd53dc2..08466331298 100644 --- a/target/linux/qualcommax/patches-6.18/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch +++ b/target/linux/qualcommax/patches-6.18/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch @@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -831,6 +831,102 @@ +@@ -828,6 +828,102 @@ }; }; diff --git a/target/linux/qualcommax/patches-6.18/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch b/target/linux/qualcommax/patches-6.18/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch index 9dc8cd4d086..ae28c4cb927 100644 --- a/target/linux/qualcommax/patches-6.18/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch +++ b/target/linux/qualcommax/patches-6.18/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch @@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -1183,6 +1183,7 @@ +@@ -1196,6 +1196,7 @@ wcss_smp2p_out: master-kernel { qcom,entry-name = "master-kernel"; diff --git a/target/linux/qualcommax/patches-6.18/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch b/target/linux/qualcommax/patches-6.18/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch index 2a2fa5ffc91..ed6cbd164e0 100644 --- a/target/linux/qualcommax/patches-6.18/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch +++ b/target/linux/qualcommax/patches-6.18/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch @@ -13,7 +13,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -952,8 +952,8 @@ +@@ -949,8 +949,8 @@ "wcss_reset", "wcss_q6_reset"; diff --git a/target/linux/qualcommax/patches-6.18/0911-arm64-cmdline-replacement.patch b/target/linux/qualcommax/patches-6.18/0911-arm64-cmdline-replacement.patch index 127677d2200..f72a29ccd36 100644 --- a/target/linux/qualcommax/patches-6.18/0911-arm64-cmdline-replacement.patch +++ b/target/linux/qualcommax/patches-6.18/0911-arm64-cmdline-replacement.patch @@ -18,7 +18,7 @@ Signed-off-by: Qiyuan Zhang --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c -@@ -1021,6 +1021,14 @@ int __init early_init_dt_scan_chosen(cha +@@ -1088,6 +1088,14 @@ int __init early_init_dt_scan_chosen(cha const void *rng_seed; const void *fdt = initial_boot_params; @@ -33,7 +33,7 @@ Signed-off-by: Qiyuan Zhang node = fdt_path_offset(fdt, "/chosen"); if (node < 0) node = fdt_path_offset(fdt, "/chosen@0"); -@@ -1049,6 +1057,69 @@ int __init early_init_dt_scan_chosen(cha +@@ -1116,6 +1124,69 @@ int __init early_init_dt_scan_chosen(cha p = of_get_flat_dt_prop(node, "bootargs", &l); if (p != NULL && l > 0) strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE)); diff --git a/target/linux/qualcommax/patches-6.18/0920-clk-add-clk_hw_recalc_rate-to-trigger-HW-clk-rate-re.patch b/target/linux/qualcommax/patches-6.18/0920-clk-add-clk_hw_recalc_rate-to-trigger-HW-clk-rate-re.patch index 73444396f80..c9d58702830 100644 --- a/target/linux/qualcommax/patches-6.18/0920-clk-add-clk_hw_recalc_rate-to-trigger-HW-clk-rate-re.patch +++ b/target/linux/qualcommax/patches-6.18/0920-clk-add-clk_hw_recalc_rate-to-trigger-HW-clk-rate-re.patch @@ -57,7 +57,7 @@ Signed-off-by: Christian Marangi --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c -@@ -1990,6 +1990,29 @@ static unsigned long clk_core_get_rate_r +@@ -1978,6 +1978,29 @@ static unsigned long clk_core_get_rate_r } /** @@ -89,7 +89,7 @@ Signed-off-by: Christian Marangi * --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h -@@ -1355,6 +1355,7 @@ int clk_hw_get_parent_index(struct clk_h +@@ -1407,6 +1407,7 @@ int clk_hw_get_parent_index(struct clk_h int clk_hw_set_parent(struct clk_hw *hw, struct clk_hw *new_parent); unsigned int __clk_get_enable_count(struct clk *clk); unsigned long clk_hw_get_rate(const struct clk_hw *hw); diff --git a/target/linux/qualcommax/patches-6.18/0950-net-dsa-add-out-of-band-tagging-protocol.patch b/target/linux/qualcommax/patches-6.18/0950-net-dsa-add-out-of-band-tagging-protocol.patch index 142c8bb698b..5e6ba0cf533 100644 --- a/target/linux/qualcommax/patches-6.18/0950-net-dsa-add-out-of-band-tagging-protocol.patch +++ b/target/linux/qualcommax/patches-6.18/0950-net-dsa-add-out-of-band-tagging-protocol.patch @@ -83,9 +83,9 @@ Signed-off-by: Maxime Chevallier +#endif --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -4852,6 +4852,9 @@ enum skb_ext_id { - #if IS_ENABLED(CONFIG_MCTP_FLOWS) - SKB_EXT_MCTP, +@@ -4920,6 +4920,9 @@ enum skb_ext_id { + #if IS_ENABLED(CONFIG_INET_PSP) + SKB_EXT_PSP, #endif +#if IS_ENABLED(CONFIG_NET_DSA_TAG_OOB) + SKB_EXT_DSA_OOB, @@ -113,9 +113,9 @@ Signed-off-by: Maxime Chevallier struct dsa_switch; --- a/net/core/skbuff.c +++ b/net/core/skbuff.c -@@ -65,8 +65,12 @@ - #include +@@ -66,8 +66,12 @@ #include + #include #include +#ifdef CONFIG_NET_DSA_TAG_OOB +#include @@ -126,9 +126,9 @@ Signed-off-by: Maxime Chevallier #include #include #include -@@ -5097,6 +5101,9 @@ static const u8 skb_ext_type_len[] = { - #if IS_ENABLED(CONFIG_MCTP_FLOWS) - [SKB_EXT_MCTP] = SKB_EXT_CHUNKSIZEOF(struct mctp_flow), +@@ -5112,6 +5116,9 @@ static const u8 skb_ext_type_len[] = { + #if IS_ENABLED(CONFIG_INET_PSP) + [SKB_EXT_PSP] = SKB_EXT_CHUNKSIZEOF(struct psp_skb_ext), #endif +#if IS_ENABLED(CONFIG_NET_DSA_TAG_OOB) + [SKB_EXT_DSA_OOB] = SKB_EXT_CHUNKSIZEOF(struct dsa_oob_tag_info), diff --git a/target/linux/qualcommax/patches-6.18/0951-net-pcs-add-uniphy-pcs.patch b/target/linux/qualcommax/patches-6.18/0951-net-pcs-add-uniphy-pcs.patch index 05ab18902e5..479e2d4ad05 100644 --- a/target/linux/qualcommax/patches-6.18/0951-net-pcs-add-uniphy-pcs.patch +++ b/target/linux/qualcommax/patches-6.18/0951-net-pcs-add-uniphy-pcs.patch @@ -1,8 +1,8 @@ --- a/drivers/net/pcs/Kconfig +++ b/drivers/net/pcs/Kconfig -@@ -51,4 +51,13 @@ config PCS_RZN1_MIIC - on RZ/N1 SoCs. This PCS converts MII to RMII/RGMII or can be set in - pass-through mode for MII. +@@ -55,4 +55,13 @@ config PCS_RZN1_MIIC + Renesas RZ/N1, RZ/N2H, and RZ/T2H SoCs. This PCS converts MII to + RMII/RGMII, or can be set in pass-through mode for MII. +config PCS_QCA_UNIPHY + tristate "Qualcomm 802.11ax UNIPHY PCS driver" @@ -18,6 +18,6 @@ +++ b/drivers/net/pcs/Makefile @@ -10,3 +10,4 @@ obj-$(CONFIG_PCS_LYNX) += pcs-lynx.o obj-$(CONFIG_PCS_MTK_LYNXI) += pcs-mtk-lynxi.o - obj-$(CONFIG_PCS_RZN1_MIIC) += pcs-rzn1-miic.o obj-$(CONFIG_PCS_MTK_USXGMII) += pcs-mtk-usxgmii.o + obj-$(CONFIG_PCS_RZN1_MIIC) += pcs-rzn1-miic.o +obj-$(CONFIG_PCS_QCA_UNIPHY) += pcs-qca-uniphy.o diff --git a/target/linux/qualcommax/patches-6.18/0952-net-ethernet-qca-add-ppe.patch b/target/linux/qualcommax/patches-6.18/0952-net-ethernet-qca-add-ppe.patch index bec14518d67..2ecfac6bdd5 100644 --- a/target/linux/qualcommax/patches-6.18/0952-net-ethernet-qca-add-ppe.patch +++ b/target/linux/qualcommax/patches-6.18/0952-net-ethernet-qca-add-ppe.patch @@ -1,8 +1,8 @@ --- a/drivers/net/ethernet/qualcomm/Kconfig +++ b/drivers/net/ethernet/qualcomm/Kconfig -@@ -61,6 +61,13 @@ config QCOM_EMAC - low power, Receive-Side Scaling (RSS), and IEEE 1588-2008 - Precision Clock Synchronization Protocol. +@@ -75,6 +75,13 @@ config QCOM_PPE + To compile this driver as a module, choose M here. The module + will be called qcom-ppe. +config QCOM_80211AX_PPE + tristate "Qualcomm 802.11ax PPE switch driver" diff --git a/target/linux/qualcommax/patches-6.18/0953-net-ethernet-qca-add-EDMA.patch b/target/linux/qualcommax/patches-6.18/0953-net-ethernet-qca-add-EDMA.patch index 6244773c4fa..a77f367cac4 100644 --- a/target/linux/qualcommax/patches-6.18/0953-net-ethernet-qca-add-EDMA.patch +++ b/target/linux/qualcommax/patches-6.18/0953-net-ethernet-qca-add-EDMA.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/qualcomm/Kconfig +++ b/drivers/net/ethernet/qualcomm/Kconfig -@@ -67,6 +67,11 @@ config QCOM_80211AX_PPE +@@ -81,6 +81,11 @@ config QCOM_80211AX_PPE help Driver for Qualcomm 802.11ax PPE (Packet Processing Engine) switches. diff --git a/target/linux/qualcommax/patches-6.18/0954-net-stmmac-Introduce-Qualcomm-IPQ5018-DWMAC-driver.patch b/target/linux/qualcommax/patches-6.18/0954-net-stmmac-Introduce-Qualcomm-IPQ5018-DWMAC-driver.patch index f0cf29a1b01..baeb9f37fb4 100644 --- a/target/linux/qualcommax/patches-6.18/0954-net-stmmac-Introduce-Qualcomm-IPQ5018-DWMAC-driver.patch +++ b/target/linux/qualcommax/patches-6.18/0954-net-stmmac-Introduce-Qualcomm-IPQ5018-DWMAC-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig -@@ -78,6 +78,14 @@ config DWMAC_INGENIC +@@ -79,6 +79,14 @@ config DWMAC_INGENIC device driver. This driver is used on for the Ingenic SoCs MAC ethernet controller.