qualcommax: 6.12: refresh patches
Refresh 6.12 patches, those that failed automatic refresh were refreshed manually. DT bindings patches that failed were dropped as we dont use them in practice. Link: https://github.com/openwrt/openwrt/pull/18795 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
dbf9c83e7a
commit
a2de324e14
57 changed files with 190 additions and 355 deletions
|
@ -54,7 +54,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
cache-size = <0x80000>;
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
|
||||
@@ -30,47 +30,47 @@
|
||||
@@ -31,47 +31,47 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
|
@ -182,7 +182,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
@@ -993,10 +993,10 @@
|
||||
@@ -1015,10 +1015,10 @@
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert>;
|
||||
|
@ -250,7 +250,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
cache-unified;
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
|
||||
@@ -33,12 +33,12 @@
|
||||
@@ -34,12 +34,12 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
|
@ -265,7 +265,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
|
||||
clock-names = "cpu";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
@@ -46,12 +46,12 @@
|
||||
@@ -47,12 +47,12 @@
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
|
@ -280,7 +280,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
|
||||
clock-names = "cpu";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
@@ -59,12 +59,12 @@
|
||||
@@ -60,12 +60,12 @@
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
|
@ -295,7 +295,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
|
||||
clock-names = "cpu";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
@@ -72,12 +72,12 @@
|
||||
@@ -73,12 +73,12 @@
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
|
@ -310,7 +310,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
|
||||
clock-names = "cpu";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
@@ -85,7 +85,7 @@
|
||||
@@ -86,7 +86,7 @@
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
|
@ -319,7 +319,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
@@ -845,10 +845,10 @@
|
||||
@@ -863,10 +863,10 @@
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu0_alert>;
|
||||
|
@ -334,7 +334,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
};
|
||||
};
|
||||
};
|
||||
@@ -875,10 +875,10 @@
|
||||
@@ -891,10 +891,10 @@
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu1_alert>;
|
||||
|
@ -349,7 +349,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
};
|
||||
};
|
||||
};
|
||||
@@ -905,10 +905,10 @@
|
||||
@@ -919,10 +919,10 @@
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu2_alert>;
|
||||
|
@ -364,7 +364,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
};
|
||||
};
|
||||
};
|
||||
@@ -935,10 +935,10 @@
|
||||
@@ -947,10 +947,10 @@
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu3_alert>;
|
||||
|
|
|
@ -103,7 +103,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|||
|
||||
@@ -184,16 +180,6 @@
|
||||
rpm_requests: rpm-requests {
|
||||
compatible = "qcom,rpm-ipq6018";
|
||||
compatible = "qcom,rpm-ipq6018", "qcom,glink-smd-rpm";
|
||||
qcom,glink-channels = "rpm_requests";
|
||||
-
|
||||
- regulators {
|
||||
|
|
|
@ -21,7 +21,7 @@ Link: https://patch.msgid.link/20250326-ipq5018-pcie-v7-4-e1828fef06c9@outlook.c
|
|||
|
||||
--- a/drivers/pci/controller/dwc/pcie-qcom.c
|
||||
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
|
||||
@@ -1580,6 +1580,7 @@ static const struct of_device_id qcom_pc
|
||||
@@ -1827,6 +1827,7 @@ static const struct of_device_id qcom_pc
|
||||
{ .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
|
||||
{ .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
|
||||
{ .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
|
||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -752,7 +752,7 @@
|
||||
@@ -759,7 +759,7 @@
|
||||
reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
|
||||
ranges = <0 0xb00a000 0xffd>;
|
||||
|
||||
|
@ -21,7 +21,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
compatible = "arm,gic-v2m-frame";
|
||||
msi-controller;
|
||||
reg = <0x0 0xffd>;
|
||||
@@ -865,8 +865,7 @@
|
||||
@@ -872,8 +872,7 @@
|
||||
ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */
|
||||
<0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */
|
||||
|
||||
|
@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0 0 0 0x7>;
|
||||
interrupt-map = <0 0 0 1 &intc 0 0 142
|
||||
@@ -937,8 +936,7 @@
|
||||
@@ -944,8 +943,7 @@
|
||||
ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */
|
||||
<0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
struct regulator *cx_supply;
|
||||
struct qcom_sysmon *sysmon;
|
||||
|
||||
@@ -151,6 +139,21 @@ struct q6v5_wcss {
|
||||
@@ -152,6 +140,21 @@ struct q6v5_wcss {
|
||||
struct qcom_rproc_ssr ssr_subdev;
|
||||
};
|
||||
|
||||
|
@ -65,7 +65,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
|
||||
{
|
||||
int ret;
|
||||
@@ -240,6 +243,12 @@ static int q6v5_wcss_start(struct rproc
|
||||
@@ -241,6 +244,12 @@ static int q6v5_wcss_start(struct rproc
|
||||
struct q6v5_wcss *wcss = rproc->priv;
|
||||
int ret;
|
||||
|
||||
|
@ -78,7 +78,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
qcom_q6v5_prepare(&wcss->q6v5);
|
||||
|
||||
/* Release Q6 and WCSS reset */
|
||||
@@ -733,6 +742,7 @@ static int q6v5_wcss_stop(struct rproc *
|
||||
@@ -734,6 +743,7 @@ static int q6v5_wcss_stop(struct rproc *
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
qcom_q6v5_unprepare(&wcss->q6v5);
|
||||
|
||||
return 0;
|
||||
@@ -899,7 +909,21 @@ static int q6v5_alloc_memory_region(stru
|
||||
@@ -900,7 +910,21 @@ static int q6v5_alloc_memory_region(stru
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
{
|
||||
int ret;
|
||||
|
||||
@@ -989,7 +1013,7 @@ static int q6v5_wcss_init_clock(struct q
|
||||
@@ -990,7 +1014,7 @@ static int q6v5_wcss_init_clock(struct q
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -118,25 +118,25 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
{
|
||||
wcss->cx_supply = devm_regulator_get(wcss->dev, "cx");
|
||||
if (IS_ERR(wcss->cx_supply))
|
||||
@@ -1033,12 +1057,14 @@ static int q6v5_wcss_probe(struct platfo
|
||||
@@ -1034,12 +1058,14 @@ static int q6v5_wcss_probe(struct platfo
|
||||
if (ret)
|
||||
goto free_rproc;
|
||||
return ret;
|
||||
|
||||
- if (wcss->version == WCSS_QCS404) {
|
||||
- ret = q6v5_wcss_init_clock(wcss);
|
||||
+ if (desc->init_clock) {
|
||||
+ ret = desc->init_clock(wcss);
|
||||
if (ret)
|
||||
goto free_rproc;
|
||||
return ret;
|
||||
+ }
|
||||
|
||||
- ret = q6v5_wcss_init_regulator(wcss);
|
||||
+ if (desc->init_regulator) {
|
||||
+ ret = desc->init_regulator(wcss);
|
||||
if (ret)
|
||||
goto free_rproc;
|
||||
return ret;
|
||||
}
|
||||
@@ -1084,6 +1110,7 @@ static void q6v5_wcss_remove(struct plat
|
||||
@@ -1081,6 +1107,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 <nprakash@codeaurora.org>
|
|||
.firmware_name = "IPQ8074/q6_fw.mdt",
|
||||
.crash_reason_smem = WCSS_CRASH_REASON,
|
||||
.aon_reset_required = true,
|
||||
@@ -1093,6 +1120,8 @@ static const struct wcss_data wcss_ipq80
|
||||
@@ -1090,6 +1117,8 @@ static const struct wcss_data wcss_ipq80
|
||||
};
|
||||
|
||||
static const struct wcss_data wcss_qcs404_res_init = {
|
||||
|
|
|
@ -39,8 +39,8 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
+ bool need_mem_protection;
|
||||
|
||||
struct qcom_rproc_glink glink_subdev;
|
||||
struct qcom_rproc_ssr ssr_subdev;
|
||||
@@ -152,6 +157,7 @@ struct wcss_data {
|
||||
struct qcom_rproc_pdm pdm_subdev;
|
||||
@@ -153,6 +158,7 @@ struct wcss_data {
|
||||
int ssctl_id;
|
||||
const struct rproc_ops *ops;
|
||||
bool requires_force_stop;
|
||||
|
@ -48,7 +48,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
};
|
||||
|
||||
static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
|
||||
@@ -251,6 +257,15 @@ static int q6v5_wcss_start(struct rproc
|
||||
@@ -252,6 +258,15 @@ static int q6v5_wcss_start(struct rproc
|
||||
|
||||
qcom_q6v5_prepare(&wcss->q6v5);
|
||||
|
||||
|
@ -64,7 +64,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
/* Release Q6 and WCSS reset */
|
||||
ret = reset_control_deassert(wcss->wcss_reset);
|
||||
if (ret) {
|
||||
@@ -285,6 +300,7 @@ static int q6v5_wcss_start(struct rproc
|
||||
@@ -286,6 +301,7 @@ static int q6v5_wcss_start(struct rproc
|
||||
if (ret)
|
||||
goto wcss_q6_reset;
|
||||
|
||||
|
@ -72,7 +72,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ);
|
||||
if (ret == -ETIMEDOUT)
|
||||
dev_err(wcss->dev, "start timed out\n");
|
||||
@@ -718,6 +734,15 @@ static int q6v5_wcss_stop(struct rproc *
|
||||
@@ -719,6 +735,15 @@ static int q6v5_wcss_stop(struct rproc *
|
||||
struct q6v5_wcss *wcss = rproc->priv;
|
||||
int ret;
|
||||
|
||||
|
@ -88,7 +88,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
/* WCSS powerdown */
|
||||
if (wcss->requires_force_stop) {
|
||||
ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL);
|
||||
@@ -742,6 +767,7 @@ static int q6v5_wcss_stop(struct rproc *
|
||||
@@ -743,6 +768,7 @@ static int q6v5_wcss_stop(struct rproc *
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -96,7 +96,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
clk_disable_unprepare(wcss->prng_clk);
|
||||
qcom_q6v5_unprepare(&wcss->q6v5);
|
||||
|
||||
@@ -765,9 +791,15 @@ static int q6v5_wcss_load(struct rproc *
|
||||
@@ -766,9 +792,15 @@ static int q6v5_wcss_load(struct rproc *
|
||||
struct q6v5_wcss *wcss = rproc->priv;
|
||||
int ret;
|
||||
|
||||
|
@ -115,17 +115,17 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -1035,6 +1067,9 @@ static int q6v5_wcss_probe(struct platfo
|
||||
@@ -1036,6 +1068,9 @@ static int q6v5_wcss_probe(struct platfo
|
||||
if (!desc)
|
||||
return -EINVAL;
|
||||
|
||||
+ if (desc->need_mem_protection && !qcom_scm_is_available())
|
||||
+ return -EPROBE_DEFER;
|
||||
+
|
||||
rproc = rproc_alloc(&pdev->dev, pdev->name, desc->ops,
|
||||
desc->firmware_name, sizeof(*wcss));
|
||||
rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops,
|
||||
desc->firmware_name, sizeof(*wcss));
|
||||
if (!rproc) {
|
||||
@@ -1048,6 +1083,7 @@ static int q6v5_wcss_probe(struct platfo
|
||||
@@ -1049,6 +1084,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 <nprakash@codeaurora.org>
|
|||
|
||||
ret = q6v5_wcss_init_mmio(wcss, pdev);
|
||||
if (ret)
|
||||
@@ -1117,6 +1153,7 @@ static const struct wcss_data wcss_ipq80
|
||||
@@ -1114,6 +1150,7 @@ static const struct wcss_data wcss_ipq80
|
||||
.wcss_q6_reset_required = true,
|
||||
.ops = &q6v5_wcss_ipq8074_ops,
|
||||
.requires_force_stop = true,
|
||||
|
|
|
@ -24,8 +24,8 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
+ const char *m3_firmware_name;
|
||||
|
||||
struct qcom_rproc_glink glink_subdev;
|
||||
struct qcom_rproc_ssr ssr_subdev;
|
||||
@@ -147,7 +148,8 @@ struct q6v5_wcss {
|
||||
struct qcom_rproc_pdm pdm_subdev;
|
||||
@@ -148,7 +149,8 @@ struct q6v5_wcss {
|
||||
struct wcss_data {
|
||||
int (*init_clock)(struct q6v5_wcss *wcss);
|
||||
int (*init_regulator)(struct q6v5_wcss *wcss);
|
||||
|
@ -35,7 +35,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
unsigned int crash_reason_smem;
|
||||
u32 version;
|
||||
bool aon_reset_required;
|
||||
@@ -789,8 +791,29 @@ static void *q6v5_wcss_da_to_va(struct r
|
||||
@@ -790,8 +792,29 @@ static void *q6v5_wcss_da_to_va(struct r
|
||||
static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw)
|
||||
{
|
||||
struct q6v5_wcss *wcss = rproc->priv;
|
||||
|
@ -65,16 +65,16 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
if (wcss->need_mem_protection)
|
||||
ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware,
|
||||
WCNSS_PAS_ID, wcss->mem_region,
|
||||
@@ -1071,7 +1094,7 @@ static int q6v5_wcss_probe(struct platfo
|
||||
@@ -1072,7 +1095,7 @@ static int q6v5_wcss_probe(struct platfo
|
||||
return -EPROBE_DEFER;
|
||||
|
||||
rproc = rproc_alloc(&pdev->dev, pdev->name, desc->ops,
|
||||
- desc->firmware_name, sizeof(*wcss));
|
||||
+ desc->q6_firmware_name, sizeof(*wcss));
|
||||
rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops,
|
||||
- desc->firmware_name, sizeof(*wcss));
|
||||
+ desc->q6_firmware_name, sizeof(*wcss));
|
||||
if (!rproc) {
|
||||
dev_err(&pdev->dev, "failed to allocate rproc\n");
|
||||
return -ENOMEM;
|
||||
@@ -1084,6 +1107,7 @@ static int q6v5_wcss_probe(struct platfo
|
||||
@@ -1085,6 +1108,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 <nprakash@codeaurora.org>
|
|||
|
||||
ret = q6v5_wcss_init_mmio(wcss, pdev);
|
||||
if (ret)
|
||||
@@ -1147,7 +1171,8 @@ static void q6v5_wcss_remove(struct plat
|
||||
@@ -1144,7 +1168,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 <nprakash@codeaurora.org>
|
|||
.crash_reason_smem = WCSS_CRASH_REASON,
|
||||
.aon_reset_required = true,
|
||||
.wcss_q6_reset_required = true,
|
||||
@@ -1160,7 +1185,7 @@ static const struct wcss_data wcss_qcs40
|
||||
@@ -1157,7 +1182,7 @@ static const struct wcss_data wcss_qcs40
|
||||
.init_clock = qcs404_init_clock,
|
||||
.init_regulator = qcs404_init_regulator,
|
||||
.crash_reason_smem = WCSS_CRASH_REASON,
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|||
|
||||
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
@@ -1176,6 +1176,7 @@ static const struct wcss_data wcss_ipq80
|
||||
@@ -1173,6 +1173,7 @@ static const struct wcss_data wcss_ipq80
|
||||
.crash_reason_smem = WCSS_CRASH_REASON,
|
||||
.aon_reset_required = true,
|
||||
.wcss_q6_reset_required = true,
|
||||
|
|
|
@ -22,7 +22,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
|||
|
||||
#define WCNSS_PAS_ID 6
|
||||
|
||||
@@ -154,6 +154,7 @@ struct wcss_data {
|
||||
@@ -155,6 +155,7 @@ struct wcss_data {
|
||||
u32 version;
|
||||
bool aon_reset_required;
|
||||
bool wcss_q6_reset_required;
|
||||
|
@ -30,7 +30,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
|||
const char *ssr_name;
|
||||
const char *sysmon_name;
|
||||
int ssctl_id;
|
||||
@@ -875,10 +876,13 @@ static int q6v5_wcss_init_reset(struct q
|
||||
@@ -876,10 +877,13 @@ static int q6v5_wcss_init_reset(struct q
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
|||
}
|
||||
|
||||
return 0;
|
||||
@@ -928,9 +932,9 @@ static int q6v5_wcss_init_mmio(struct q6
|
||||
@@ -929,9 +933,9 @@ static int q6v5_wcss_init_mmio(struct q6
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -1176,6 +1180,7 @@ static const struct wcss_data wcss_ipq80
|
||||
@@ -1173,6 +1177,7 @@ static const struct wcss_data wcss_ipq80
|
||||
.crash_reason_smem = WCSS_CRASH_REASON,
|
||||
.aon_reset_required = true,
|
||||
.wcss_q6_reset_required = true,
|
||||
|
@ -69,7 +69,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
|||
.ssr_name = "q6wcss",
|
||||
.ops = &q6v5_wcss_ipq8074_ops,
|
||||
.requires_force_stop = true,
|
||||
@@ -1190,6 +1195,7 @@ static const struct wcss_data wcss_qcs40
|
||||
@@ -1187,6 +1192,7 @@ static const struct wcss_data wcss_qcs40
|
||||
.version = WCSS_QCS404,
|
||||
.aon_reset_required = false,
|
||||
.wcss_q6_reset_required = false,
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
|
||||
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
@@ -161,6 +161,7 @@ struct wcss_data {
|
||||
@@ -162,6 +162,7 @@ struct wcss_data {
|
||||
const struct rproc_ops *ops;
|
||||
bool requires_force_stop;
|
||||
bool need_mem_protection;
|
||||
|
@ -22,15 +22,15 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
};
|
||||
|
||||
static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
|
||||
@@ -1149,6 +1150,7 @@ static int q6v5_wcss_probe(struct platfo
|
||||
@@ -1151,6 +1152,7 @@ static int q6v5_wcss_probe(struct platfo
|
||||
desc->sysmon_name,
|
||||
desc->ssctl_id);
|
||||
|
||||
+ rproc->auto_boot = desc->need_auto_boot;
|
||||
ret = rproc_add(rproc);
|
||||
if (ret)
|
||||
goto free_rproc;
|
||||
@@ -1185,6 +1187,7 @@ static const struct wcss_data wcss_ipq80
|
||||
return ret;
|
||||
@@ -1182,6 +1184,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 <robimarko@gmail.com>
|
|||
};
|
||||
|
||||
static const struct wcss_data wcss_qcs404_res_init = {
|
||||
@@ -1201,6 +1204,7 @@ static const struct wcss_data wcss_qcs40
|
||||
@@ -1198,6 +1201,7 @@ static const struct wcss_data wcss_qcs40
|
||||
.ssctl_id = 0x12,
|
||||
.ops = &q6v5_wcss_qcs404_ops,
|
||||
.requires_force_stop = false,
|
||||
|
|
|
@ -49,7 +49,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
soc: soc@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@@ -420,6 +446,11 @@
|
||||
@@ -415,6 +441,11 @@
|
||||
reg = <0x01937000 0x21000>;
|
||||
};
|
||||
|
||||
|
@ -61,7 +61,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
spmi_bus: spmi@200f000 {
|
||||
compatible = "qcom,spmi-pmic-arb";
|
||||
reg = <0x0200f000 0x001000>,
|
||||
@@ -987,6 +1018,56 @@
|
||||
@@ -994,6 +1025,56 @@
|
||||
ranges;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -1068,6 +1068,117 @@
|
||||
@@ -1075,6 +1075,117 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -338,6 +338,106 @@
|
||||
@@ -326,6 +326,106 @@
|
||||
reg = <0x000a4000 0x2000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
|
|||
|
||||
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
@@ -969,7 +969,7 @@ static int q6v5_alloc_memory_region(stru
|
||||
@@ -970,7 +970,7 @@ static int q6v5_alloc_memory_region(stru
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
|
|||
{
|
||||
int ret;
|
||||
|
||||
@@ -1176,7 +1176,7 @@ static void q6v5_wcss_remove(struct plat
|
||||
@@ -1173,7 +1173,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 <gokulsri@codeaurora.org>
|
|||
.q6_firmware_name = "IPQ8074/q6_fw.mdt",
|
||||
.m3_firmware_name = "IPQ8074/m3_fw.mdt",
|
||||
.crash_reason_smem = WCSS_CRASH_REASON,
|
||||
@@ -1190,6 +1190,20 @@ static const struct wcss_data wcss_ipq80
|
||||
@@ -1187,6 +1187,20 @@ static const struct wcss_data wcss_ipq80
|
||||
.need_auto_boot = false,
|
||||
};
|
||||
|
||||
|
@ -51,7 +51,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
|
|||
static const struct wcss_data wcss_qcs404_res_init = {
|
||||
.init_clock = qcs404_init_clock,
|
||||
.init_regulator = qcs404_init_regulator,
|
||||
@@ -1209,6 +1223,7 @@ static const struct wcss_data wcss_qcs40
|
||||
@@ -1206,6 +1220,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 },
|
||||
|
|
|
@ -20,7 +20,7 @@ Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -430,8 +430,21 @@
|
||||
@@ -417,8 +417,21 @@
|
||||
};
|
||||
|
||||
tcsr: syscon@1937000 {
|
||||
|
|
|
@ -20,7 +20,7 @@ Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
|
|||
|
||||
--- a/drivers/pwm/Kconfig
|
||||
+++ b/drivers/pwm/Kconfig
|
||||
@@ -282,6 +282,18 @@ config PWM_INTEL_LGM
|
||||
@@ -319,6 +319,18 @@ config PWM_INTEL_LGM
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called pwm-intel-lgm.
|
||||
|
||||
|
@ -41,7 +41,7 @@ Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
|
|||
depends on MFD_IQS62X || COMPILE_TEST
|
||||
--- a/drivers/pwm/Makefile
|
||||
+++ b/drivers/pwm/Makefile
|
||||
@@ -24,6 +24,7 @@ obj-$(CONFIG_PWM_IMX1) += pwm-imx1.o
|
||||
@@ -27,6 +27,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
|
||||
|
|
|
@ -1,148 +0,0 @@
|
|||
From: Devi Priya <quic_devipriy@quicinc.com>
|
||||
Subject: [PATCH] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
|
||||
Date: Thu, 5 Oct 2023 21:35:49 +0530
|
||||
|
||||
Update the binding to include pwm as the child node to TCSR block and
|
||||
add simple-mfd support for IPQ6018.
|
||||
|
||||
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
|
||||
---
|
||||
.../devicetree/bindings/mfd/qcom,tcsr.yaml | 112 +++++++++++++-----
|
||||
1 file changed, 81 insertions(+), 31 deletions(-)
|
||||
|
||||
--- a/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
|
||||
+++ b/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
|
||||
@@ -15,49 +15,101 @@ description:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
- items:
|
||||
- - enum:
|
||||
- - qcom,msm8976-tcsr
|
||||
- - qcom,msm8998-tcsr
|
||||
- - qcom,qcs404-tcsr
|
||||
- - qcom,sc7180-tcsr
|
||||
- - qcom,sc7280-tcsr
|
||||
- - qcom,sc8280xp-tcsr
|
||||
- - qcom,sdm630-tcsr
|
||||
- - qcom,sdm845-tcsr
|
||||
- - qcom,sdx55-tcsr
|
||||
- - qcom,sdx65-tcsr
|
||||
- - qcom,sm8150-tcsr
|
||||
- - qcom,sm8450-tcsr
|
||||
- - qcom,tcsr-apq8064
|
||||
- - qcom,tcsr-apq8084
|
||||
- - qcom,tcsr-ipq5332
|
||||
- - qcom,tcsr-ipq6018
|
||||
- - qcom,tcsr-ipq8064
|
||||
- - qcom,tcsr-ipq8074
|
||||
- - qcom,tcsr-ipq9574
|
||||
- - qcom,tcsr-mdm9615
|
||||
- - qcom,tcsr-msm8226
|
||||
- - qcom,tcsr-msm8660
|
||||
- - qcom,tcsr-msm8916
|
||||
- - qcom,tcsr-msm8953
|
||||
- - qcom,tcsr-msm8960
|
||||
- - qcom,tcsr-msm8974
|
||||
- - qcom,tcsr-msm8996
|
||||
- - const: syscon
|
||||
+ oneOf:
|
||||
+ - items:
|
||||
+ - enum:
|
||||
+ - qcom,msm8976-tcsr
|
||||
+ - qcom,msm8998-tcsr
|
||||
+ - qcom,qcs404-tcsr
|
||||
+ - qcom,sc7180-tcsr
|
||||
+ - qcom,sc7280-tcsr
|
||||
+ - qcom,sc8280xp-tcsr
|
||||
+ - qcom,sdm630-tcsr
|
||||
+ - qcom,sdm845-tcsr
|
||||
+ - qcom,sdx55-tcsr
|
||||
+ - qcom,sdx65-tcsr
|
||||
+ - qcom,sm4450-tcsr
|
||||
+ - qcom,sm8150-tcsr
|
||||
+ - qcom,sm8450-tcsr
|
||||
+ - qcom,tcsr-apq8064
|
||||
+ - qcom,tcsr-apq8084
|
||||
+ - qcom,tcsr-ipq5332
|
||||
+ - qcom,tcsr-ipq8064
|
||||
+ - qcom,tcsr-ipq8074
|
||||
+ - qcom,tcsr-ipq9574
|
||||
+ - qcom,tcsr-mdm9615
|
||||
+ - qcom,tcsr-msm8226
|
||||
+ - qcom,tcsr-msm8660
|
||||
+ - qcom,tcsr-msm8916
|
||||
+ - qcom,tcsr-msm8953
|
||||
+ - qcom,tcsr-msm8960
|
||||
+ - qcom,tcsr-msm8974
|
||||
+ - qcom,tcsr-msm8996
|
||||
+ - const: syscon
|
||||
+ - items:
|
||||
+ - const: qcom,tcsr-ipq6018
|
||||
+ - const: syscon
|
||||
+ - const: simple-mfd
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
+ ranges: true
|
||||
+
|
||||
+ "#address-cells":
|
||||
+ const: 1
|
||||
+
|
||||
+ "#size-cells":
|
||||
+ const: 1
|
||||
+
|
||||
+patternProperties:
|
||||
+ "pwm@[a-f0-9]+$":
|
||||
+ type: object
|
||||
+ $ref: /schemas/pwm/qcom,ipq6018-pwm.yaml
|
||||
+
|
||||
+
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
+allOf:
|
||||
+ - if:
|
||||
+ not:
|
||||
+ properties:
|
||||
+ compatible:
|
||||
+ contains:
|
||||
+ enum:
|
||||
+ - qcom,tcsr-ipq6018
|
||||
+ then:
|
||||
+ patternProperties:
|
||||
+ "pwm@[a-f0-9]+$": false
|
||||
+
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
+ # Example 1 - Syscon node found on MSM8960
|
||||
- |
|
||||
syscon@1a400000 {
|
||||
compatible = "qcom,tcsr-msm8960", "syscon";
|
||||
reg = <0x1a400000 0x100>;
|
||||
};
|
||||
+ # Example 2 - Syscon node found on IPQ6018
|
||||
+ - |
|
||||
+ #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
|
||||
+
|
||||
+ syscon@1937000 {
|
||||
+ compatible = "qcom,tcsr-ipq6018", "syscon", "simple-mfd";
|
||||
+ reg = <0x01937000 0x21000>;
|
||||
+ ranges = <0 0x1937000 0x21000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ pwm: pwm@a010 {
|
||||
+ compatible = "qcom,ipq6018-pwm";
|
||||
+ reg = <0xa010 0x20>;
|
||||
+ clocks = <&gcc GCC_ADSS_PWM_CLK>;
|
||||
+ assigned-clocks = <&gcc GCC_ADSS_PWM_CLK>;
|
||||
+ assigned-clock-rates = <100000000>;
|
||||
+ #pwm-cells = <2>;
|
||||
+ };
|
||||
+ };
|
||||
\ No newline at end of file
|
|
@ -12,7 +12,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
|
|||
|
||||
--- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
|
||||
+++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
|
||||
@@ -18,6 +18,7 @@ properties:
|
||||
@@ -19,6 +19,7 @@ properties:
|
||||
- enum:
|
||||
- qcom,apq8064-qfprom
|
||||
- qcom,apq8084-qfprom
|
||||
|
|
|
@ -16,7 +16,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
|
|||
- qcom,msm8956-tsens
|
||||
- qcom,msm8976-tsens
|
||||
- qcom,qcs404-tsens
|
||||
@@ -232,6 +233,7 @@ allOf:
|
||||
@@ -234,6 +235,7 @@ allOf:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
|
|||
|
||||
--- a/drivers/thermal/qcom/tsens.c
|
||||
+++ b/drivers/thermal/qcom/tsens.c
|
||||
@@ -974,7 +974,7 @@ int __init init_common(struct tsens_priv
|
||||
@@ -975,7 +975,7 @@ int __init init_common(struct tsens_priv
|
||||
ret = regmap_field_read(priv->rf[TSENS_EN], &enabled);
|
||||
if (ret)
|
||||
goto err_put_device;
|
||||
|
|
|
@ -95,7 +95,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
|
|||
+};
|
||||
--- a/drivers/thermal/qcom/tsens.c
|
||||
+++ b/drivers/thermal/qcom/tsens.c
|
||||
@@ -1101,6 +1101,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, t
|
||||
@@ -1102,6 +1102,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, t
|
||||
|
||||
static const struct of_device_id tsens_table[] = {
|
||||
{
|
||||
|
@ -107,7 +107,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
|
|||
}, {
|
||||
--- a/drivers/thermal/qcom/tsens.h
|
||||
+++ b/drivers/thermal/qcom/tsens.h
|
||||
@@ -645,7 +645,7 @@ extern struct tsens_plat_data data_8960;
|
||||
@@ -650,7 +650,7 @@ extern struct tsens_plat_data data_8960;
|
||||
extern struct tsens_plat_data data_8226, data_8909, data_8916, data_8939, data_8974, data_9607;
|
||||
|
||||
/* TSENS v1 targets */
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -149,6 +149,117 @@
|
||||
@@ -147,6 +147,117 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -133,7 +133,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
|
|||
tlmm: pinctrl@1000000 {
|
||||
compatible = "qcom,ipq5018-tlmm";
|
||||
reg = <0x01000000 0x300000>;
|
||||
@@ -391,6 +502,64 @@
|
||||
@@ -388,6 +499,64 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -109,7 +109,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -260,6 +260,40 @@
|
||||
@@ -258,6 +258,40 @@
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
|
@ -150,7 +150,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
tlmm: pinctrl@1000000 {
|
||||
compatible = "qcom,ipq5018-tlmm";
|
||||
reg = <0x01000000 0x300000>;
|
||||
@@ -283,8 +317,8 @@
|
||||
@@ -281,8 +315,8 @@
|
||||
reg = <0x01800000 0x80000>;
|
||||
clocks = <&xo_board_clk>,
|
||||
<&sleep_clk>,
|
||||
|
@ -161,7 +161,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
<0>,
|
||||
<0>,
|
||||
<0>,
|
||||
@@ -501,6 +535,208 @@
|
||||
@@ -498,6 +532,208 @@
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
From: George Moussalem <george.moussalem@outlook.com>
|
||||
Subject: [PATCH] dt-bindings: mfd: qcom,tcsr: Add IPQ5018 compatible
|
||||
Date: Sun, 06 Oct 2024 16:34:11 +0400
|
||||
|
||||
Document the qcom,tcsr-ipq5018 compatible.
|
||||
|
||||
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
||||
---
|
||||
--- a/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
|
||||
+++ b/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
|
||||
@@ -33,6 +33,7 @@ properties:
|
||||
- qcom,sm8450-tcsr
|
||||
- qcom,tcsr-apq8064
|
||||
- qcom,tcsr-apq8084
|
||||
+ - qcom,tcsr-ipq5018
|
||||
- qcom,tcsr-ipq5332
|
||||
- qcom,tcsr-ipq8064
|
||||
- qcom,tcsr-ipq8074
|
|
@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -335,6 +335,11 @@
|
||||
@@ -332,6 +332,11 @@
|
||||
#hwlock-cells = <1>;
|
||||
};
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -82,6 +82,7 @@
|
||||
@@ -80,6 +80,7 @@
|
||||
scm {
|
||||
compatible = "qcom,scm-ipq5018", "qcom,scm";
|
||||
qcom,sdi-enabled;
|
||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -341,6 +341,16 @@
|
||||
@@ -338,6 +338,16 @@
|
||||
reg = <0x01937000 0x21000>;
|
||||
};
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -295,6 +295,30 @@
|
||||
@@ -293,6 +293,30 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -222,6 +222,14 @@
|
||||
@@ -220,6 +220,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -420,6 +420,16 @@
|
||||
@@ -417,6 +417,16 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -444,6 +444,21 @@
|
||||
@@ -441,6 +441,21 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -459,6 +459,36 @@
|
||||
@@ -456,6 +456,36 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
|
|||
|
||||
--- a/drivers/clk/qcom/Kconfig
|
||||
+++ b/drivers/clk/qcom/Kconfig
|
||||
@@ -139,6 +139,16 @@ config IPQ_APSS_6018
|
||||
@@ -190,6 +190,16 @@ config IPQ_APSS_6018
|
||||
Say Y if you want to support CPU frequency scaling on
|
||||
ipq based devices.
|
||||
|
||||
|
@ -48,8 +48,8 @@ Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
|
|||
help
|
||||
--- a/drivers/clk/qcom/Makefile
|
||||
+++ b/drivers/clk/qcom/Makefile
|
||||
@@ -23,6 +23,7 @@ obj-$(CONFIG_APQ_MMCC_8084) += mmcc-apq8
|
||||
obj-$(CONFIG_CLK_GFM_LPASS_SM8250) += lpass-gfm-sm8250.o
|
||||
@@ -29,6 +29,7 @@ obj-$(CONFIG_CLK_X1E80100_TCSRCC) += tcs
|
||||
obj-$(CONFIG_CLK_QCM2290_GPUCC) += gpucc-qcm2290.o
|
||||
obj-$(CONFIG_IPQ_APSS_PLL) += apss-ipq-pll.o
|
||||
obj-$(CONFIG_IPQ_APSS_6018) += apss-ipq6018.o
|
||||
+obj-$(CONFIG_IPQ_CMN_PLL) += clk-ipq-cmn-pll.o
|
||||
|
|
|
@ -16,7 +16,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
--- a/drivers/clk/qcom/Kconfig
|
||||
+++ b/drivers/clk/qcom/Kconfig
|
||||
@@ -141,7 +141,6 @@ config IPQ_APSS_6018
|
||||
@@ -192,7 +192,6 @@ config IPQ_APSS_6018
|
||||
|
||||
config IPQ_CMN_PLL
|
||||
tristate "IPQ CMN PLL Clock Controller"
|
||||
|
|
|
@ -23,7 +23,7 @@ Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
|
|||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
@@ -150,6 +156,19 @@
|
||||
@@ -148,6 +154,19 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -156,6 +156,30 @@
|
||||
@@ -154,6 +154,30 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -166,6 +166,21 @@
|
||||
@@ -164,6 +164,21 @@
|
||||
clock-names = "gcc_mdio_ahb_clk";
|
||||
|
||||
status = "disabled";
|
||||
|
@ -35,7 +35,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
};
|
||||
|
||||
mdio1: mdio@90000 {
|
||||
@@ -396,8 +411,8 @@
|
||||
@@ -394,8 +409,8 @@
|
||||
<&pcie0_phy>,
|
||||
<&pcie1_phy>,
|
||||
<0>,
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
--- a/drivers/clk/qcom/gcc-ipq5018.c
|
||||
+++ b/drivers/clk/qcom/gcc-ipq5018.c
|
||||
@@ -677,7 +677,7 @@ static const struct freq_tbl ftbl_gmac1_
|
||||
@@ -678,7 +678,7 @@ static const struct freq_tbl ftbl_gmac1_
|
||||
F(2500000, P_UNIPHY_RX, 12.5, 0, 0),
|
||||
F(24000000, P_XO, 1, 0, 0),
|
||||
F(25000000, P_UNIPHY_RX, 2.5, 0, 0),
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
F(125000000, P_UNIPHY_RX, 1, 0, 0),
|
||||
F(312500000, P_UNIPHY_RX, 1, 0, 0),
|
||||
{ }
|
||||
@@ -717,7 +717,7 @@ static const struct freq_tbl ftbl_gmac1_
|
||||
@@ -718,7 +718,7 @@ static const struct freq_tbl ftbl_gmac1_
|
||||
F(2500000, P_UNIPHY_TX, 12.5, 0, 0),
|
||||
F(24000000, P_XO, 1, 0, 0),
|
||||
F(25000000, P_UNIPHY_TX, 2.5, 0, 0),
|
||||
|
|
|
@ -16,7 +16,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
--- a/drivers/clk/qcom/gcc-ipq5018.c
|
||||
+++ b/drivers/clk/qcom/gcc-ipq5018.c
|
||||
@@ -335,8 +335,8 @@ static const struct parent_map gcc_xo_gp
|
||||
@@ -336,8 +336,8 @@ static const struct parent_map gcc_xo_gp
|
||||
|
||||
static const struct clk_parent_data gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0[] = {
|
||||
{ .index = DT_XO },
|
||||
|
@ -27,7 +27,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
{ .hw = &ubi32_pll.clkr.hw },
|
||||
{ .hw = &gpll0.clkr.hw },
|
||||
};
|
||||
@@ -351,8 +351,8 @@ static const struct parent_map gcc_xo_ge
|
||||
@@ -352,8 +352,8 @@ static const struct parent_map gcc_xo_ge
|
||||
|
||||
static const struct clk_parent_data gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0[] = {
|
||||
{ .index = DT_XO },
|
||||
|
@ -38,7 +38,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
{ .hw = &ubi32_pll.clkr.hw },
|
||||
{ .hw = &gpll0.clkr.hw },
|
||||
};
|
||||
@@ -367,8 +367,8 @@ static const struct parent_map gcc_xo_ge
|
||||
@@ -368,8 +368,8 @@ static const struct parent_map gcc_xo_ge
|
||||
|
||||
static const struct clk_parent_data gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll0[] = {
|
||||
{ .index = DT_XO },
|
||||
|
@ -49,7 +49,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
{ .hw = &ubi32_pll.clkr.hw },
|
||||
{ .hw = &gpll0.clkr.hw },
|
||||
};
|
||||
@@ -383,8 +383,8 @@ static const struct parent_map gcc_xo_un
|
||||
@@ -384,8 +384,8 @@ static const struct parent_map gcc_xo_un
|
||||
|
||||
static const struct clk_parent_data gcc_xo_uniphy_gcc_tx_uniphy_gcc_rx_ubi32_pll_gpll0[] = {
|
||||
{ .index = DT_XO },
|
||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
|
|||
|
||||
--- a/drivers/net/dsa/qca/qca8k-8xxx.c
|
||||
+++ b/drivers/net/dsa/qca/qca8k-8xxx.c
|
||||
@@ -1545,11 +1545,10 @@ static int qca8k_pcs_config(struct phyli
|
||||
@@ -1557,11 +1557,10 @@ static int qca8k_pcs_config(struct phyli
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
|
|||
|
||||
--- a/drivers/net/dsa/qca/qca8k-8xxx.c
|
||||
+++ b/drivers/net/dsa/qca/qca8k-8xxx.c
|
||||
@@ -1013,7 +1013,7 @@ qca8k_setup_mdio_bus(struct qca8k_priv *
|
||||
return err;
|
||||
@@ -1014,7 +1014,7 @@ qca8k_setup_mdio_bus(struct qca8k_priv *
|
||||
return ret;
|
||||
}
|
||||
|
||||
- if (!dsa_is_user_port(priv->ds, reg))
|
||||
|
@ -23,7 +23,7 @@ Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
|
|||
continue;
|
||||
|
||||
of_get_phy_mode(port, &mode);
|
||||
@@ -1088,17 +1088,19 @@ qca8k_setup_mac_pwr_sel(struct qca8k_pri
|
||||
@@ -1089,17 +1089,19 @@ qca8k_setup_mac_pwr_sel(struct qca8k_pri
|
||||
|
||||
static int qca8k_find_cpu_port(struct dsa_switch *ds)
|
||||
{
|
||||
|
|
|
@ -10,13 +10,13 @@ size as well.
|
|||
|
||||
Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
|
||||
---
|
||||
drivers/firmware/qcom_scm.c | 8 ++++++++
|
||||
drivers/firmware/qcom_scm.h | 1 +
|
||||
drivers/firmware/qcom//qcom_scm.c | 8 ++++++++
|
||||
drivers/firmware/qcom//qcom_scm.h | 1 +
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
--- a/drivers/firmware/qcom_scm.c
|
||||
+++ b/drivers/firmware/qcom_scm.c
|
||||
@@ -592,6 +592,14 @@ int qcom_scm_pas_mem_setup(u32 periphera
|
||||
--- a/drivers/firmware/qcom/qcom_scm.c
|
||||
+++ b/drivers/firmware/qcom/qcom_scm.c
|
||||
@@ -686,6 +686,14 @@ int qcom_scm_pas_mem_setup(u32 periphera
|
||||
if (ret)
|
||||
goto disable_clk;
|
||||
|
||||
|
@ -31,9 +31,9 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
|
|||
ret = qcom_scm_call(__scm->dev, &desc, &res);
|
||||
qcom_scm_bw_disable();
|
||||
|
||||
--- a/drivers/firmware/qcom_scm.h
|
||||
+++ b/drivers/firmware/qcom_scm.h
|
||||
@@ -92,6 +92,7 @@ extern int scm_legacy_call(struct device
|
||||
--- a/drivers/firmware/qcom/qcom_scm.h
|
||||
+++ b/drivers/firmware/qcom/qcom_scm.h
|
||||
@@ -96,6 +96,7 @@ struct qcom_tzmem_pool *qcom_scm_get_tzm
|
||||
|
||||
#define QCOM_SCM_SVC_PIL 0x02
|
||||
#define QCOM_SCM_PIL_PAS_INIT_IMAGE 0x01
|
||||
|
|
|
@ -10,14 +10,25 @@ support to lock/unlock MSA features.
|
|||
|
||||
Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
|
||||
---
|
||||
drivers/firmware/qcom_scm.c | 78 ++++++++++++++++++++++++++
|
||||
drivers/firmware/qcom_scm.h | 2 +
|
||||
drivers/firmware/qcom//qcom_scm.c | 78 ++++++++++++++++++++++++++
|
||||
drivers/firmware/qcom//qcom_scm.h | 2 +
|
||||
include/linux/firmware/qcom/qcom_scm.h | 2 +
|
||||
3 files changed, 82 insertions(+)
|
||||
|
||||
--- a/drivers/firmware/qcom_scm.c
|
||||
+++ b/drivers/firmware/qcom_scm.c
|
||||
@@ -712,6 +712,84 @@ bool qcom_scm_pas_supported(u32 peripher
|
||||
--- a/include/linux/firmware/qcom/qcom_scm.h
|
||||
+++ b/include/linux/firmware/qcom/qcom_scm.h
|
||||
@@ -79,6 +79,8 @@ int qcom_scm_pas_mem_setup(u32 periphera
|
||||
int qcom_scm_pas_auth_and_reset(u32 peripheral);
|
||||
int qcom_scm_pas_shutdown(u32 peripheral);
|
||||
bool qcom_scm_pas_supported(u32 peripheral);
|
||||
+int qcom_scm_msa_lock(u32 peripheral);
|
||||
+int qcom_scm_msa_unlock(u32 peripheral);
|
||||
|
||||
int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val);
|
||||
int qcom_scm_io_writel(phys_addr_t addr, unsigned int val);
|
||||
--- a/drivers/firmware/qcom/qcom_scm.c
|
||||
+++ b/drivers/firmware/qcom/qcom_scm.c
|
||||
@@ -806,6 +806,84 @@ bool qcom_scm_pas_supported(u32 peripher
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(qcom_scm_pas_supported);
|
||||
|
||||
|
@ -102,9 +113,9 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
|
|||
static int __qcom_scm_pas_mss_reset(struct device *dev, bool reset)
|
||||
{
|
||||
struct qcom_scm_desc desc = {
|
||||
--- a/drivers/firmware/qcom_scm.h
|
||||
+++ b/drivers/firmware/qcom_scm.h
|
||||
@@ -98,6 +98,8 @@ extern int scm_legacy_call(struct device
|
||||
--- 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
|
||||
#define QCOM_SCM_PIL_PAS_SHUTDOWN 0x06
|
||||
#define QCOM_SCM_PIL_PAS_IS_SUPPORTED 0x07
|
||||
#define QCOM_SCM_PIL_PAS_MSS_RESET 0x0a
|
||||
|
@ -113,14 +124,3 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
|
|||
|
||||
#define QCOM_SCM_SVC_IO 0x05
|
||||
#define QCOM_SCM_IO_READ 0x01
|
||||
--- a/include/linux/firmware/qcom/qcom_scm.h
|
||||
+++ b/include/linux/firmware/qcom/qcom_scm.h
|
||||
@@ -81,6 +81,8 @@ extern int qcom_scm_pas_mem_setup(u32 pe
|
||||
extern int qcom_scm_pas_auth_and_reset(u32 peripheral);
|
||||
extern int qcom_scm_pas_shutdown(u32 peripheral);
|
||||
extern bool qcom_scm_pas_supported(u32 peripheral);
|
||||
+extern int qcom_scm_msa_lock(u32 peripheral);
|
||||
+extern int qcom_scm_msa_unlock(u32 peripheral);
|
||||
|
||||
extern int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val);
|
||||
extern int qcom_scm_io_writel(phys_addr_t addr, unsigned int val);
|
||||
|
|
|
@ -58,7 +58,7 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
|
|||
|
||||
--- a/drivers/remoteproc/Kconfig
|
||||
+++ b/drivers/remoteproc/Kconfig
|
||||
@@ -234,6 +234,25 @@ config QCOM_Q6V5_PAS
|
||||
@@ -235,6 +235,25 @@ config QCOM_Q6V5_PAS
|
||||
CDSP (Compute DSP), MPSS (Modem Peripheral SubSystem), and
|
||||
SLPI (Sensor Low Power Island).
|
||||
|
||||
|
|
|
@ -9,14 +9,26 @@ load PIL segments to support the MPD architecture.
|
|||
Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
|
||||
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
||||
---
|
||||
drivers/firmware/qcom_scm.c | 79 ++++++++++++++++++++++++++
|
||||
drivers/firmware/qcom_scm.h | 3 +
|
||||
drivers/firmware/qcom//qcom_scm.c | 79 ++++++++++++++++++++++++++
|
||||
drivers/firmware/qcom//qcom_scm.h | 3 +
|
||||
include/linux/firmware/qcom/qcom_scm.h | 3 +
|
||||
3 files changed, 85 insertions(+)
|
||||
|
||||
--- a/drivers/firmware/qcom_scm.c
|
||||
+++ b/drivers/firmware/qcom_scm.c
|
||||
@@ -713,6 +713,85 @@ bool qcom_scm_pas_supported(u32 peripher
|
||||
--- a/include/linux/firmware/qcom/qcom_scm.h
|
||||
+++ b/include/linux/firmware/qcom/qcom_scm.h
|
||||
@@ -79,6 +79,9 @@ int qcom_scm_pas_mem_setup(u32 periphera
|
||||
int qcom_scm_pas_auth_and_reset(u32 peripheral);
|
||||
int qcom_scm_pas_shutdown(u32 peripheral);
|
||||
bool qcom_scm_pas_supported(u32 peripheral);
|
||||
+int qcom_scm_internal_wifi_powerup(u32 peripheral);
|
||||
+int qcom_scm_internal_wifi_shutdown(u32 peripheral);
|
||||
+int qcom_scm_pas_load_segment(u32 peripheral, int segment, dma_addr_t dma, int seg_cnt);
|
||||
int qcom_scm_msa_lock(u32 peripheral);
|
||||
int qcom_scm_msa_unlock(u32 peripheral);
|
||||
|
||||
--- a/drivers/firmware/qcom/qcom_scm.c
|
||||
+++ b/drivers/firmware/qcom/qcom_scm.c
|
||||
@@ -807,6 +807,85 @@ bool qcom_scm_pas_supported(u32 peripher
|
||||
EXPORT_SYMBOL_GPL(qcom_scm_pas_supported);
|
||||
|
||||
/**
|
||||
|
@ -102,9 +114,9 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
* qcom_scm_msa_lock() - Lock given peripheral firmware region as MSA
|
||||
*
|
||||
* @peripheral: peripheral id
|
||||
--- a/drivers/firmware/qcom_scm.h
|
||||
+++ b/drivers/firmware/qcom_scm.h
|
||||
@@ -98,6 +98,9 @@ extern int scm_legacy_call(struct device
|
||||
--- 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
|
||||
#define QCOM_SCM_PIL_PAS_SHUTDOWN 0x06
|
||||
#define QCOM_SCM_PIL_PAS_IS_SUPPORTED 0x07
|
||||
#define QCOM_SCM_PIL_PAS_MSS_RESET 0x0a
|
||||
|
@ -114,15 +126,3 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
#define QCOM_SCM_MSA_LOCK 0x24
|
||||
#define QCOM_SCM_MSA_UNLOCK 0x25
|
||||
|
||||
--- a/include/linux/firmware/qcom/qcom_scm.h
|
||||
+++ b/include/linux/firmware/qcom/qcom_scm.h
|
||||
@@ -81,6 +81,9 @@ extern int qcom_scm_pas_mem_setup(u32 pe
|
||||
extern int qcom_scm_pas_auth_and_reset(u32 peripheral);
|
||||
extern int qcom_scm_pas_shutdown(u32 peripheral);
|
||||
extern bool qcom_scm_pas_supported(u32 peripheral);
|
||||
+extern int qcom_scm_internal_wifi_powerup(u32 peripheral);
|
||||
+extern int qcom_scm_internal_wifi_shutdown(u32 peripheral);
|
||||
+extern int qcom_scm_pas_load_segment(u32 peripheral, int segment, dma_addr_t dma, int seg_cnt);
|
||||
extern int qcom_scm_msa_lock(u32 peripheral);
|
||||
extern int qcom_scm_msa_unlock(u32 peripheral);
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
--- a/drivers/soc/qcom/mdt_loader.c
|
||||
+++ b/drivers/soc/qcom/mdt_loader.c
|
||||
@@ -16,6 +16,16 @@
|
||||
@@ -17,6 +17,16 @@
|
||||
#include <linux/sizes.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/soc/qcom/mdt_loader.h>
|
||||
|
@ -32,7 +32,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
static bool mdt_phdr_valid(const struct elf32_phdr *phdr)
|
||||
{
|
||||
@@ -69,6 +79,56 @@ static ssize_t mdt_load_split_segment(vo
|
||||
@@ -67,6 +77,56 @@ static ssize_t mdt_load_split_segment(vo
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
/**
|
||||
* qcom_mdt_get_size() - acquire size of the memory region needed to load mdt
|
||||
* @fw: firmware object for the mdt file
|
||||
@@ -295,7 +355,8 @@ static bool qcom_mdt_bins_are_split(cons
|
||||
@@ -293,7 +353,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,
|
||||
phys_addr_t mem_phys, size_t mem_size,
|
||||
|
@ -99,7 +99,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
{
|
||||
const struct elf32_phdr *phdrs;
|
||||
const struct elf32_phdr *phdr;
|
||||
@@ -349,6 +410,14 @@ static int __qcom_mdt_load(struct device
|
||||
@@ -347,6 +408,14 @@ static int __qcom_mdt_load(struct device
|
||||
if (!mdt_phdr_valid(phdr))
|
||||
continue;
|
||||
|
||||
|
@ -114,7 +114,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
offset = phdr->p_paddr - mem_reloc;
|
||||
if (offset < 0 || offset + phdr->p_memsz > mem_size) {
|
||||
dev_err(dev, "segment outside memory range\n");
|
||||
@@ -366,7 +435,11 @@ static int __qcom_mdt_load(struct device
|
||||
@@ -364,7 +433,11 @@ static int __qcom_mdt_load(struct device
|
||||
|
||||
ptr = mem_region + offset;
|
||||
|
||||
|
@ -127,7 +127,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
/* Firmware is large enough to be non-split */
|
||||
if (phdr->p_offset + phdr->p_filesz > fw->size) {
|
||||
dev_err(dev, "file %s segment %d would be truncated\n",
|
||||
@@ -383,7 +456,7 @@ static int __qcom_mdt_load(struct device
|
||||
@@ -381,7 +454,7 @@ static int __qcom_mdt_load(struct device
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -136,7 +136,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
memset(ptr + phdr->p_filesz, 0, phdr->p_memsz - phdr->p_filesz);
|
||||
}
|
||||
|
||||
@@ -418,7 +491,7 @@ int qcom_mdt_load(struct device *dev, co
|
||||
@@ -416,7 +489,7 @@ int qcom_mdt_load(struct device *dev, co
|
||||
return ret;
|
||||
|
||||
return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys,
|
||||
|
@ -145,7 +145,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(qcom_mdt_load);
|
||||
|
||||
@@ -441,9 +514,36 @@ int qcom_mdt_load_no_init(struct device
|
||||
@@ -439,9 +512,36 @@ 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,
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -697,6 +697,225 @@
|
||||
@@ -694,6 +694,225 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
||||
@@ -113,6 +113,11 @@
|
||||
@@ -111,6 +111,11 @@
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
---
|
||||
--- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
|
||||
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
|
||||
@@ -21,6 +21,7 @@ properties:
|
||||
@@ -22,6 +22,7 @@ properties:
|
||||
- qcom,ipq6018-wifi
|
||||
- qcom,wcn6750-wifi
|
||||
- qcom,ipq5018-wifi
|
||||
|
@ -30,7 +30,7 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -258,6 +259,29 @@ allOf:
|
||||
@@ -262,6 +263,29 @@ allOf:
|
||||
- description: interrupt event for ring DP20
|
||||
- description: interrupt event for ring DP21
|
||||
- description: interrupt event for ring DP22
|
||||
|
|
|
@ -21,16 +21,16 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
|
||||
--- a/drivers/power/Kconfig
|
||||
+++ b/drivers/power/Kconfig
|
||||
@@ -1,3 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
@@ -2,3 +2,4 @@
|
||||
source "drivers/power/reset/Kconfig"
|
||||
source "drivers/power/sequencing/Kconfig"
|
||||
source "drivers/power/supply/Kconfig"
|
||||
+source "drivers/power/qcom/Kconfig"
|
||||
--- a/drivers/power/Makefile
|
||||
+++ b/drivers/power/Makefile
|
||||
@@ -1,3 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
@@ -2,3 +2,4 @@
|
||||
obj-$(CONFIG_POWER_RESET) += reset/
|
||||
obj-$(CONFIG_POWER_SEQUENCING) += sequencing/
|
||||
obj-$(CONFIG_POWER_SUPPLY) += supply/
|
||||
+obj-$(CONFIG_QCOM_APM) += qcom/
|
||||
--- /dev/null
|
||||
|
|
|
@ -25,7 +25,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||
|
||||
--- a/drivers/regulator/Kconfig
|
||||
+++ b/drivers/regulator/Kconfig
|
||||
@@ -1663,4 +1663,37 @@ config REGULATOR_QCOM_LABIBB
|
||||
@@ -1720,4 +1720,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 <robimarko@gmail.com>
|
|||
endif
|
||||
--- a/drivers/regulator/Makefile
|
||||
+++ b/drivers/regulator/Makefile
|
||||
@@ -116,6 +116,9 @@ obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qco
|
||||
@@ -121,6 +121,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
|
||||
|
|
|
@ -18,18 +18,19 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
|
||||
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
@@ -1142,8 +1142,8 @@ static int q6v5_wcss_probe(struct platfo
|
||||
@@ -1143,9 +1143,9 @@ static int q6v5_wcss_probe(struct platfo
|
||||
if (ret)
|
||||
goto free_rproc;
|
||||
return ret;
|
||||
|
||||
- qcom_add_glink_subdev(rproc, &wcss->glink_subdev, "q6wcss");
|
||||
- qcom_add_ssr_subdev(rproc, &wcss->ssr_subdev, "q6wcss");
|
||||
+ qcom_add_glink_subdev(rproc, &wcss->glink_subdev, desc->ssr_name);
|
||||
qcom_add_pdm_subdev(rproc, &wcss->pdm_subdev);
|
||||
- qcom_add_ssr_subdev(rproc, &wcss->ssr_subdev, "q6wcss");
|
||||
+ qcom_add_ssr_subdev(rproc, &wcss->ssr_subdev, desc->ssr_name);
|
||||
|
||||
if (desc->ssctl_id)
|
||||
wcss->sysmon = qcom_add_sysmon_subdev(rproc,
|
||||
@@ -1198,7 +1198,7 @@ static const struct wcss_data wcss_ipq60
|
||||
@@ -1195,7 +1195,7 @@ static const struct wcss_data wcss_ipq60
|
||||
.aon_reset_required = true,
|
||||
.wcss_q6_reset_required = true,
|
||||
.bcr_reset_required = false,
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -818,6 +818,102 @@
|
||||
@@ -834,6 +834,102 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -1176,6 +1176,7 @@
|
||||
@@ -1186,6 +1186,7 @@
|
||||
|
||||
wcss_smp2p_out: master-kernel {
|
||||
qcom,entry-name = "master-kernel";
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
|
||||
--- a/drivers/soc/qcom/smp2p.c
|
||||
+++ b/drivers/soc/qcom/smp2p.c
|
||||
@@ -158,6 +158,8 @@ struct qcom_smp2p {
|
||||
@@ -159,6 +159,8 @@ struct qcom_smp2p {
|
||||
|
||||
struct list_head inbound;
|
||||
struct list_head outbound;
|
||||
|
@ -33,8 +33,8 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
+ bool need_ssr_ack;
|
||||
};
|
||||
|
||||
static void qcom_smp2p_kick(struct qcom_smp2p *smp2p)
|
||||
@@ -306,7 +308,7 @@ static irqreturn_t qcom_smp2p_intr(int i
|
||||
#define CREATE_TRACE_POINTS
|
||||
@@ -316,7 +318,7 @@ static irqreturn_t qcom_smp2p_intr(int i
|
||||
ack_restart = qcom_smp2p_check_ssr(smp2p);
|
||||
qcom_smp2p_notify_in(smp2p);
|
||||
|
||||
|
@ -43,7 +43,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
qcom_smp2p_do_ssr_ack(smp2p);
|
||||
}
|
||||
|
||||
@@ -427,6 +429,7 @@ static int qcom_smp2p_outbound_entry(str
|
||||
@@ -447,6 +449,7 @@ static int qcom_smp2p_outbound_entry(str
|
||||
|
||||
/* Make the logical entry reference the physical value */
|
||||
entry->value = &out->entries[out->valid_entries].value;
|
||||
|
|
|
@ -21,7 +21,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
struct regulator *cx_supply;
|
||||
struct qcom_sysmon *sysmon;
|
||||
|
||||
@@ -259,6 +260,9 @@ static int q6v5_wcss_start(struct rproc
|
||||
@@ -260,6 +261,9 @@ static int q6v5_wcss_start(struct rproc
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
qcom_q6v5_prepare(&wcss->q6v5);
|
||||
|
||||
if (wcss->need_mem_protection) {
|
||||
@@ -772,6 +776,8 @@ static int q6v5_wcss_stop(struct rproc *
|
||||
@@ -773,6 +777,8 @@ static int q6v5_wcss_stop(struct rproc *
|
||||
}
|
||||
|
||||
pas_done:
|
||||
|
@ -40,7 +40,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
clk_disable_unprepare(wcss->prng_clk);
|
||||
qcom_q6v5_unprepare(&wcss->q6v5);
|
||||
|
||||
@@ -980,6 +986,12 @@ static int ipq_init_clock(struct q6v5_wc
|
||||
@@ -981,6 +987,12 @@ static int ipq_init_clock(struct q6v5_wc
|
||||
dev_err(wcss->dev, "Failed to get prng clock\n");
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -939,8 +939,8 @@
|
||||
@@ -955,8 +955,8 @@
|
||||
"wcss_reset",
|
||||
"wcss_q6_reset";
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Signed-off-by: Qiyuan Zhang <zhang.github@outlook.com>
|
|||
|
||||
--- a/drivers/of/fdt.c
|
||||
+++ b/drivers/of/fdt.c
|
||||
@@ -1158,6 +1158,14 @@ int __init early_init_dt_scan_chosen(cha
|
||||
@@ -1021,6 +1021,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 <zhang.github@outlook.com>
|
|||
node = fdt_path_offset(fdt, "/chosen");
|
||||
if (node < 0)
|
||||
node = fdt_path_offset(fdt, "/chosen@0");
|
||||
@@ -1186,6 +1194,69 @@ int __init early_init_dt_scan_chosen(cha
|
||||
@@ -1049,6 +1057,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));
|
||||
|
|
Loading…
Reference in a new issue