Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'qcom-drivers-for-5.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers

Qualcomm driver updates for v5.14

In addition to fixing a kerneldoc issue in the qcom-ebi2 driver this
populates socinfo with a range of platforms and PMICs and extends a few
of the Qualcomm drivers bits of support for MSM8226, MDM9607, SM6125 and
SC8180X.

* tag 'qcom-drivers-for-5.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
firmware: qcom_scm: Add MDM9607 compatible
soc: qcom: rpmpd: Add MDM9607 RPM Power Domains
soc: qcom: smd-rpm: Add MSM8226 compatible
dt-bindings: soc: qcom: smd-rpm: Add MSM8226 compatible
soc: qcom: socinfo: import PMIC IDs from pmic-spmi
bus: qcom-ebi2: Fix incorrect documentation for '{slow,fast}_cfg'
soc: qcom: socinfo: Add more IDs
soc: qcom: rpmhpd: Add SC8180X
dt-bindings: power: rpmpd: Add SC8180X to rpmpd binding
dt-bindings: soc: qcom: smd-rpm: Document SM6125 compatible
soc: qcom: smd-rpm: Add SM6125 compatible
soc: qcom: socinfo: Add remaining IPQ6018 family ID-s
soc: qcom: socinfo: Add missing SoC ID for SM6125

Link: https://lore.kernel.org/r/20210614223727.393159-1-bjorn.andersson@linaro.org
Signed-off-by: Olof Johansson <olof@lixom.net>

+126 -8
+1
Documentation/devicetree/bindings/firmware/qcom,scm.txt
··· 12 12 * "qcom,scm-ipq4019" 13 13 * "qcom,scm-ipq806x" 14 14 * "qcom,scm-ipq8074" 15 + * "qcom,scm-mdm9607" 15 16 * "qcom,scm-msm8660" 16 17 * "qcom,scm-msm8916" 17 18 * "qcom,scm-msm8960"
+2
Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
··· 16 16 properties: 17 17 compatible: 18 18 enum: 19 + - qcom,mdm9607-rpmpd 19 20 - qcom,msm8916-rpmpd 20 21 - qcom,msm8939-rpmpd 21 22 - qcom,msm8976-rpmpd ··· 27 26 - qcom,sdm660-rpmpd 28 27 - qcom,sc7180-rpmhpd 29 28 - qcom,sc7280-rpmhpd 29 + - qcom,sc8180x-rpmhpd 30 30 - qcom,sdm845-rpmhpd 31 31 - qcom,sdx55-rpmhpd 32 32 - qcom,sm8150-rpmhpd
+2
Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
··· 32 32 enum: 33 33 - qcom,rpm-apq8084 34 34 - qcom,rpm-ipq6018 35 + - qcom,rpm-msm8226 35 36 - qcom,rpm-msm8916 36 37 - qcom,rpm-msm8974 37 38 - qcom,rpm-msm8976 38 39 - qcom,rpm-msm8996 39 40 - qcom,rpm-msm8998 40 41 - qcom,rpm-sdm660 42 + - qcom,rpm-sm6125 41 43 - qcom,rpm-qcs404 42 44 43 45 qcom,smd-channels:
+2 -2
drivers/bus/qcom-ebi2.c
··· 102 102 /** 103 103 * struct cs_data - struct with info on a chipselect setting 104 104 * @enable_mask: mask to enable the chipselect in the EBI2 config 105 - * @slow_cfg0: offset to XMEMC slow CS config 106 - * @fast_cfg1: offset to XMEMC fast CS config 105 + * @slow_cfg: offset to XMEMC slow CS config 106 + * @fast_cfg: offset to XMEMC fast CS config 107 107 */ 108 108 struct cs_data { 109 109 u32 enable_mask;
+3
drivers/firmware/qcom_scm.c
··· 1281 1281 SCM_HAS_BUS_CLK) 1282 1282 }, 1283 1283 { .compatible = "qcom,scm-ipq4019" }, 1284 + { .compatible = "qcom,scm-mdm9607", .data = (void *)(SCM_HAS_CORE_CLK | 1285 + SCM_HAS_IFACE_CLK | 1286 + SCM_HAS_BUS_CLK) }, 1284 1287 { .compatible = "qcom,scm-msm8660", .data = (void *) SCM_HAS_CORE_CLK }, 1285 1288 { .compatible = "qcom,scm-msm8960", .data = (void *) SCM_HAS_CORE_CLK }, 1286 1289 { .compatible = "qcom,scm-msm8916", .data = (void *)(SCM_HAS_CORE_CLK |
+21
drivers/soc/qcom/rpmhpd.c
··· 271 271 .num_pds = ARRAY_SIZE(sc7280_rpmhpds), 272 272 }; 273 273 274 + /* SC8180x RPMH powerdomains */ 275 + static struct rpmhpd *sc8180x_rpmhpds[] = { 276 + [SC8180X_CX] = &sdm845_cx, 277 + [SC8180X_CX_AO] = &sdm845_cx_ao, 278 + [SC8180X_EBI] = &sdm845_ebi, 279 + [SC8180X_GFX] = &sdm845_gfx, 280 + [SC8180X_LCX] = &sdm845_lcx, 281 + [SC8180X_LMX] = &sdm845_lmx, 282 + [SC8180X_MMCX] = &sm8150_mmcx, 283 + [SC8180X_MMCX_AO] = &sm8150_mmcx_ao, 284 + [SC8180X_MSS] = &sdm845_mss, 285 + [SC8180X_MX] = &sdm845_mx, 286 + [SC8180X_MX_AO] = &sdm845_mx_ao, 287 + }; 288 + 289 + static const struct rpmhpd_desc sc8180x_desc = { 290 + .rpmhpds = sc8180x_rpmhpds, 291 + .num_pds = ARRAY_SIZE(sc8180x_rpmhpds), 292 + }; 293 + 274 294 static const struct of_device_id rpmhpd_match_table[] = { 275 295 { .compatible = "qcom,sc7180-rpmhpd", .data = &sc7180_desc }, 276 296 { .compatible = "qcom,sc7280-rpmhpd", .data = &sc7280_desc }, 297 + { .compatible = "qcom,sc8180x-rpmhpd", .data = &sc8180x_desc }, 277 298 { .compatible = "qcom,sdm845-rpmhpd", .data = &sdm845_desc }, 278 299 { .compatible = "qcom,sdx55-rpmhpd", .data = &sdx55_desc}, 279 300 { .compatible = "qcom,sm8150-rpmhpd", .data = &sm8150_desc },
+22
drivers/soc/qcom/rpmpd.c
··· 118 118 119 119 static DEFINE_MUTEX(rpmpd_lock); 120 120 121 + /* mdm9607 RPM Power Domains */ 122 + DEFINE_RPMPD_PAIR(mdm9607, vddcx, vddcx_ao, SMPA, LEVEL, 3); 123 + DEFINE_RPMPD_VFL(mdm9607, vddcx_vfl, SMPA, 3); 124 + 125 + DEFINE_RPMPD_PAIR(mdm9607, vddmx, vddmx_ao, LDOA, LEVEL, 12); 126 + DEFINE_RPMPD_VFL(mdm9607, vddmx_vfl, LDOA, 12); 127 + static struct rpmpd *mdm9607_rpmpds[] = { 128 + [MDM9607_VDDCX] = &mdm9607_vddcx, 129 + [MDM9607_VDDCX_AO] = &mdm9607_vddcx_ao, 130 + [MDM9607_VDDCX_VFL] = &mdm9607_vddcx_vfl, 131 + [MDM9607_VDDMX] = &mdm9607_vddmx, 132 + [MDM9607_VDDMX_AO] = &mdm9607_vddmx_ao, 133 + [MDM9607_VDDMX_VFL] = &mdm9607_vddmx_vfl, 134 + }; 135 + 136 + static const struct rpmpd_desc mdm9607_desc = { 137 + .rpmpds = mdm9607_rpmpds, 138 + .num_pds = ARRAY_SIZE(mdm9607_rpmpds), 139 + .max_state = RPM_SMD_LEVEL_TURBO, 140 + }; 141 + 121 142 /* msm8939 RPM Power Domains */ 122 143 DEFINE_RPMPD_PAIR(msm8939, vddmd, vddmd_ao, SMPA, CORNER, 1); 123 144 DEFINE_RPMPD_VFC(msm8939, vddmd_vfc, SMPA, 1); ··· 347 326 }; 348 327 349 328 static const struct of_device_id rpmpd_match_table[] = { 329 + { .compatible = "qcom,mdm9607-rpmpd", .data = &mdm9607_desc }, 350 330 { .compatible = "qcom,msm8916-rpmpd", .data = &msm8916_desc }, 351 331 { .compatible = "qcom,msm8939-rpmpd", .data = &msm8939_desc }, 352 332 { .compatible = "qcom,msm8976-rpmpd", .data = &msm8976_desc },
+2
drivers/soc/qcom/smd-rpm.c
··· 233 233 static const struct of_device_id qcom_smd_rpm_of_match[] = { 234 234 { .compatible = "qcom,rpm-apq8084" }, 235 235 { .compatible = "qcom,rpm-ipq6018" }, 236 + { .compatible = "qcom,rpm-msm8226" }, 236 237 { .compatible = "qcom,rpm-msm8916" }, 237 238 { .compatible = "qcom,rpm-msm8936" }, 238 239 { .compatible = "qcom,rpm-msm8974" }, ··· 242 241 { .compatible = "qcom,rpm-msm8996" }, 243 242 { .compatible = "qcom,rpm-msm8998" }, 244 243 { .compatible = "qcom,rpm-sdm660" }, 244 + { .compatible = "qcom,rpm-sm6125" }, 245 245 { .compatible = "qcom,rpm-qcs404" }, 246 246 {} 247 247 };
+50 -6
drivers/soc/qcom/socinfo.c
··· 70 70 71 71 static const char *const pmic_models[] = { 72 72 [0] = "Unknown PMIC model", 73 + [1] = "PM8941", 74 + [2] = "PM8841", 75 + [3] = "PM8019", 76 + [4] = "PM8226", 77 + [5] = "PM8110", 78 + [6] = "PMA8084", 79 + [7] = "PMI8962", 80 + [8] = "PMD9635", 73 81 [9] = "PM8994", 82 + [10] = "PMI8994", 74 83 [11] = "PM8916", 75 - [13] = "PM8058", 84 + [12] = "PM8004", 85 + [13] = "PM8909/PM8058", 76 86 [14] = "PM8028", 77 87 [15] = "PM8901", 78 - [16] = "PM8027", 79 - [17] = "ISL9519", 88 + [16] = "PM8950/PM8027", 89 + [17] = "PMI8950/ISL9519", 80 90 [18] = "PM8921", 81 91 [19] = "PM8018", 82 - [20] = "PM8015", 83 - [21] = "PM8014", 92 + [20] = "PM8998/PM8015", 93 + [21] = "PMI8998/PM8014", 84 94 [22] = "PM8821", 85 95 [23] = "PM8038", 86 - [24] = "PM8922", 96 + [24] = "PM8005/PM8922", 87 97 [25] = "PM8917", 98 + [26] = "PM660L", 99 + [27] = "PM660", 88 100 [30] = "PM8150", 89 101 [31] = "PM8150L", 90 102 [32] = "PM8150B", ··· 207 195 { 139, "APQ8060AB" }, 208 196 { 140, "MSM8260AB" }, 209 197 { 141, "MSM8660AB" }, 198 + { 145, "MSM8626" }, 199 + { 147, "MSM8610" }, 200 + { 153, "APQ8064AB" }, 201 + { 158, "MSM8226" }, 202 + { 159, "MSM8526" }, 203 + { 161, "MSM8110" }, 204 + { 162, "MSM8210" }, 205 + { 163, "MSM8810" }, 206 + { 164, "MSM8212" }, 207 + { 165, "MSM8612" }, 208 + { 166, "MSM8112" }, 209 + { 168, "MSM8225Q" }, 210 + { 169, "MSM8625Q" }, 211 + { 170, "MSM8125Q" }, 212 + { 172, "APQ8064AA" }, 210 213 { 178, "APQ8084" }, 211 214 { 184, "APQ8074" }, 212 215 { 185, "MSM8274" }, 213 216 { 186, "MSM8674" }, 214 217 { 194, "MSM8974PRO" }, 218 + { 198, "MSM8126" }, 219 + { 199, "APQ8026" }, 220 + { 200, "MSM8926" }, 221 + { 205, "MSM8326" }, 215 222 { 206, "MSM8916" }, 216 223 { 207, "MSM8994" }, 217 224 { 208, "APQ8074-AA" }, ··· 244 213 { 216, "MSM8674PRO" }, 245 214 { 217, "MSM8974-AA" }, 246 215 { 218, "MSM8974-AB" }, 216 + { 219, "APQ8028" }, 217 + { 220, "MSM8128" }, 218 + { 221, "MSM8228" }, 219 + { 222, "MSM8528" }, 220 + { 223, "MSM8628" }, 221 + { 224, "MSM8928" }, 222 + { 225, "MSM8510" }, 223 + { 226, "MSM8512" }, 247 224 { 233, "MSM8936" }, 248 225 { 239, "MSM8939" }, 249 226 { 240, "APQ8036" }, ··· 293 254 { 350, "SDA632" }, 294 255 { 351, "SDA450" }, 295 256 { 356, "SM8250" }, 257 + { 394, "SM6125" }, 296 258 { 402, "IPQ6018" }, 259 + { 403, "IPQ6028" }, 260 + { 421, "IPQ6000" }, 261 + { 422, "IPQ6010" }, 297 262 { 425, "SC7180" }, 263 + { 453, "IPQ6005" }, 298 264 { 455, "QRB5165" }, 299 265 }; 300 266
+21
include/dt-bindings/power/qcom-rpmpd.h
··· 81 81 #define SC7280_LCX 7 82 82 #define SC7280_MSS 8 83 83 84 + /* SC8180X Power Domain Indexes */ 85 + #define SC8180X_CX 0 86 + #define SC8180X_CX_AO 1 87 + #define SC8180X_EBI 2 88 + #define SC8180X_GFX 3 89 + #define SC8180X_LCX 4 90 + #define SC8180X_LMX 5 91 + #define SC8180X_MMCX 6 92 + #define SC8180X_MMCX_AO 7 93 + #define SC8180X_MSS 8 94 + #define SC8180X_MX 9 95 + #define SC8180X_MX_AO 10 96 + 84 97 /* SDM845 Power Domain performance levels */ 85 98 #define RPMH_REGULATOR_LEVEL_RETENTION 16 86 99 #define RPMH_REGULATOR_LEVEL_MIN_SVS 48 ··· 107 94 #define RPMH_REGULATOR_LEVEL_NOM_L2 336 108 95 #define RPMH_REGULATOR_LEVEL_TURBO 384 109 96 #define RPMH_REGULATOR_LEVEL_TURBO_L1 416 97 + 98 + /* MDM9607 Power Domains */ 99 + #define MDM9607_VDDCX 0 100 + #define MDM9607_VDDCX_AO 1 101 + #define MDM9607_VDDCX_VFL 2 102 + #define MDM9607_VDDMX 3 103 + #define MDM9607_VDDMX_AO 4 104 + #define MDM9607_VDDMX_VFL 5 110 105 111 106 /* MSM8939 Power Domains */ 112 107 #define MSM8939_VDDMDCX 0