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. -----BEGIN PGP SIGNATURE----- iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmDHzwcbHGJqb3JuLmFu ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FGQQP/1LIahAfEFvu6UfbVIOJ 6cRsYCNv0UnqzGUqiV+4RehNkq9n/VTEvRKKk8bXrQoH75V4TVoCpKy22h2/13MF +2zts3dDdsTSLZqRaWJCt2AShkQwqF2W+3cpy9g9hcJaP/5L8rQGSsfmzIyZ/mwn fp2xHHF624Wf6o8GjMVk7TyeUJ+FTeZovoc9vOPdG0f+Zmb+JniSdl5LTd3h0bYr ZcFyDnd6/b3sU7jUy3x2tHEZwr8T3uPCN8T2tsrVc6NbjXF7QTnfhtkl8jOOmrZW MAHr8qC9hjhZDbJCYOvOHpUWXqwIybfsliAE3mEqA7k2AGgeVTr5qBGnGUiBmM1i OZ+AE34CP3p5L+GFz+ZaDeAa0NhaLMluHCvMb42xvf9iNdlnYoSgmo+CwSTloc4F hHvnmZtRdCC6A6hjR3pjMZw/gStH5a5HAchLIneAeP/fferoHox/7tb/IOYXcMuW pkjrXxvR4+0TtV/RSeqIOp2L5vq5UjJkN690UyFzZqltaWd312WPXRaO9L+GKVoc 9Tru3y9kx/oQvt36elB8SKWaiYMpYEie8pGKCWhNRLW/EAZCIPRWcu3aFgkXCP9g uDjRQEO3Q+h/A4qXrWKuhgbrM+wXwoqSsVyWsiNLu75swjPi11Yx97BQGbqvlC5c JZ14hDxM/uifaWsndnnPoRqk =EwKG -----END PGP SIGNATURE----- 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>
This commit is contained in:
Коммит
cda1138fcc
|
@ -12,6 +12,7 @@ Required properties:
|
|||
* "qcom,scm-ipq4019"
|
||||
* "qcom,scm-ipq806x"
|
||||
* "qcom,scm-ipq8074"
|
||||
* "qcom,scm-mdm9607"
|
||||
* "qcom,scm-msm8660"
|
||||
* "qcom,scm-msm8916"
|
||||
* "qcom,scm-msm8960"
|
||||
|
|
|
@ -16,6 +16,7 @@ description:
|
|||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,mdm9607-rpmpd
|
||||
- qcom,msm8916-rpmpd
|
||||
- qcom,msm8939-rpmpd
|
||||
- qcom,msm8976-rpmpd
|
||||
|
@ -26,6 +27,7 @@ properties:
|
|||
- qcom,sdm660-rpmpd
|
||||
- qcom,sc7180-rpmhpd
|
||||
- qcom,sc7280-rpmhpd
|
||||
- qcom,sc8180x-rpmhpd
|
||||
- qcom,sdm845-rpmhpd
|
||||
- qcom,sdx55-rpmhpd
|
||||
- qcom,sm8150-rpmhpd
|
||||
|
|
|
@ -32,12 +32,14 @@ properties:
|
|||
enum:
|
||||
- qcom,rpm-apq8084
|
||||
- qcom,rpm-ipq6018
|
||||
- qcom,rpm-msm8226
|
||||
- qcom,rpm-msm8916
|
||||
- qcom,rpm-msm8974
|
||||
- qcom,rpm-msm8976
|
||||
- qcom,rpm-msm8996
|
||||
- qcom,rpm-msm8998
|
||||
- qcom,rpm-sdm660
|
||||
- qcom,rpm-sm6125
|
||||
- qcom,rpm-qcs404
|
||||
|
||||
qcom,smd-channels:
|
||||
|
|
|
@ -102,8 +102,8 @@
|
|||
/**
|
||||
* struct cs_data - struct with info on a chipselect setting
|
||||
* @enable_mask: mask to enable the chipselect in the EBI2 config
|
||||
* @slow_cfg0: offset to XMEMC slow CS config
|
||||
* @fast_cfg1: offset to XMEMC fast CS config
|
||||
* @slow_cfg: offset to XMEMC slow CS config
|
||||
* @fast_cfg: offset to XMEMC fast CS config
|
||||
*/
|
||||
struct cs_data {
|
||||
u32 enable_mask;
|
||||
|
|
|
@ -1281,6 +1281,9 @@ static const struct of_device_id qcom_scm_dt_match[] = {
|
|||
SCM_HAS_BUS_CLK)
|
||||
},
|
||||
{ .compatible = "qcom,scm-ipq4019" },
|
||||
{ .compatible = "qcom,scm-mdm9607", .data = (void *)(SCM_HAS_CORE_CLK |
|
||||
SCM_HAS_IFACE_CLK |
|
||||
SCM_HAS_BUS_CLK) },
|
||||
{ .compatible = "qcom,scm-msm8660", .data = (void *) SCM_HAS_CORE_CLK },
|
||||
{ .compatible = "qcom,scm-msm8960", .data = (void *) SCM_HAS_CORE_CLK },
|
||||
{ .compatible = "qcom,scm-msm8916", .data = (void *)(SCM_HAS_CORE_CLK |
|
||||
|
|
|
@ -271,9 +271,30 @@ static const struct rpmhpd_desc sc7280_desc = {
|
|||
.num_pds = ARRAY_SIZE(sc7280_rpmhpds),
|
||||
};
|
||||
|
||||
/* SC8180x RPMH powerdomains */
|
||||
static struct rpmhpd *sc8180x_rpmhpds[] = {
|
||||
[SC8180X_CX] = &sdm845_cx,
|
||||
[SC8180X_CX_AO] = &sdm845_cx_ao,
|
||||
[SC8180X_EBI] = &sdm845_ebi,
|
||||
[SC8180X_GFX] = &sdm845_gfx,
|
||||
[SC8180X_LCX] = &sdm845_lcx,
|
||||
[SC8180X_LMX] = &sdm845_lmx,
|
||||
[SC8180X_MMCX] = &sm8150_mmcx,
|
||||
[SC8180X_MMCX_AO] = &sm8150_mmcx_ao,
|
||||
[SC8180X_MSS] = &sdm845_mss,
|
||||
[SC8180X_MX] = &sdm845_mx,
|
||||
[SC8180X_MX_AO] = &sdm845_mx_ao,
|
||||
};
|
||||
|
||||
static const struct rpmhpd_desc sc8180x_desc = {
|
||||
.rpmhpds = sc8180x_rpmhpds,
|
||||
.num_pds = ARRAY_SIZE(sc8180x_rpmhpds),
|
||||
};
|
||||
|
||||
static const struct of_device_id rpmhpd_match_table[] = {
|
||||
{ .compatible = "qcom,sc7180-rpmhpd", .data = &sc7180_desc },
|
||||
{ .compatible = "qcom,sc7280-rpmhpd", .data = &sc7280_desc },
|
||||
{ .compatible = "qcom,sc8180x-rpmhpd", .data = &sc8180x_desc },
|
||||
{ .compatible = "qcom,sdm845-rpmhpd", .data = &sdm845_desc },
|
||||
{ .compatible = "qcom,sdx55-rpmhpd", .data = &sdx55_desc},
|
||||
{ .compatible = "qcom,sm8150-rpmhpd", .data = &sm8150_desc },
|
||||
|
|
|
@ -118,6 +118,27 @@ struct rpmpd_desc {
|
|||
|
||||
static DEFINE_MUTEX(rpmpd_lock);
|
||||
|
||||
/* mdm9607 RPM Power Domains */
|
||||
DEFINE_RPMPD_PAIR(mdm9607, vddcx, vddcx_ao, SMPA, LEVEL, 3);
|
||||
DEFINE_RPMPD_VFL(mdm9607, vddcx_vfl, SMPA, 3);
|
||||
|
||||
DEFINE_RPMPD_PAIR(mdm9607, vddmx, vddmx_ao, LDOA, LEVEL, 12);
|
||||
DEFINE_RPMPD_VFL(mdm9607, vddmx_vfl, LDOA, 12);
|
||||
static struct rpmpd *mdm9607_rpmpds[] = {
|
||||
[MDM9607_VDDCX] = &mdm9607_vddcx,
|
||||
[MDM9607_VDDCX_AO] = &mdm9607_vddcx_ao,
|
||||
[MDM9607_VDDCX_VFL] = &mdm9607_vddcx_vfl,
|
||||
[MDM9607_VDDMX] = &mdm9607_vddmx,
|
||||
[MDM9607_VDDMX_AO] = &mdm9607_vddmx_ao,
|
||||
[MDM9607_VDDMX_VFL] = &mdm9607_vddmx_vfl,
|
||||
};
|
||||
|
||||
static const struct rpmpd_desc mdm9607_desc = {
|
||||
.rpmpds = mdm9607_rpmpds,
|
||||
.num_pds = ARRAY_SIZE(mdm9607_rpmpds),
|
||||
.max_state = RPM_SMD_LEVEL_TURBO,
|
||||
};
|
||||
|
||||
/* msm8939 RPM Power Domains */
|
||||
DEFINE_RPMPD_PAIR(msm8939, vddmd, vddmd_ao, SMPA, CORNER, 1);
|
||||
DEFINE_RPMPD_VFC(msm8939, vddmd_vfc, SMPA, 1);
|
||||
|
@ -326,6 +347,7 @@ static const struct rpmpd_desc sdm660_desc = {
|
|||
};
|
||||
|
||||
static const struct of_device_id rpmpd_match_table[] = {
|
||||
{ .compatible = "qcom,mdm9607-rpmpd", .data = &mdm9607_desc },
|
||||
{ .compatible = "qcom,msm8916-rpmpd", .data = &msm8916_desc },
|
||||
{ .compatible = "qcom,msm8939-rpmpd", .data = &msm8939_desc },
|
||||
{ .compatible = "qcom,msm8976-rpmpd", .data = &msm8976_desc },
|
||||
|
|
|
@ -233,6 +233,7 @@ static void qcom_smd_rpm_remove(struct rpmsg_device *rpdev)
|
|||
static const struct of_device_id qcom_smd_rpm_of_match[] = {
|
||||
{ .compatible = "qcom,rpm-apq8084" },
|
||||
{ .compatible = "qcom,rpm-ipq6018" },
|
||||
{ .compatible = "qcom,rpm-msm8226" },
|
||||
{ .compatible = "qcom,rpm-msm8916" },
|
||||
{ .compatible = "qcom,rpm-msm8936" },
|
||||
{ .compatible = "qcom,rpm-msm8974" },
|
||||
|
@ -241,6 +242,7 @@ static const struct of_device_id qcom_smd_rpm_of_match[] = {
|
|||
{ .compatible = "qcom,rpm-msm8996" },
|
||||
{ .compatible = "qcom,rpm-msm8998" },
|
||||
{ .compatible = "qcom,rpm-sdm660" },
|
||||
{ .compatible = "qcom,rpm-sm6125" },
|
||||
{ .compatible = "qcom,rpm-qcs404" },
|
||||
{}
|
||||
};
|
||||
|
|
|
@ -70,21 +70,33 @@ static const char *const socinfo_image_names[] = {
|
|||
|
||||
static const char *const pmic_models[] = {
|
||||
[0] = "Unknown PMIC model",
|
||||
[1] = "PM8941",
|
||||
[2] = "PM8841",
|
||||
[3] = "PM8019",
|
||||
[4] = "PM8226",
|
||||
[5] = "PM8110",
|
||||
[6] = "PMA8084",
|
||||
[7] = "PMI8962",
|
||||
[8] = "PMD9635",
|
||||
[9] = "PM8994",
|
||||
[10] = "PMI8994",
|
||||
[11] = "PM8916",
|
||||
[13] = "PM8058",
|
||||
[12] = "PM8004",
|
||||
[13] = "PM8909/PM8058",
|
||||
[14] = "PM8028",
|
||||
[15] = "PM8901",
|
||||
[16] = "PM8027",
|
||||
[17] = "ISL9519",
|
||||
[16] = "PM8950/PM8027",
|
||||
[17] = "PMI8950/ISL9519",
|
||||
[18] = "PM8921",
|
||||
[19] = "PM8018",
|
||||
[20] = "PM8015",
|
||||
[21] = "PM8014",
|
||||
[20] = "PM8998/PM8015",
|
||||
[21] = "PMI8998/PM8014",
|
||||
[22] = "PM8821",
|
||||
[23] = "PM8038",
|
||||
[24] = "PM8922",
|
||||
[24] = "PM8005/PM8922",
|
||||
[25] = "PM8917",
|
||||
[26] = "PM660L",
|
||||
[27] = "PM660",
|
||||
[30] = "PM8150",
|
||||
[31] = "PM8150L",
|
||||
[32] = "PM8150B",
|
||||
|
@ -195,11 +207,30 @@ static const struct soc_id soc_id[] = {
|
|||
{ 139, "APQ8060AB" },
|
||||
{ 140, "MSM8260AB" },
|
||||
{ 141, "MSM8660AB" },
|
||||
{ 145, "MSM8626" },
|
||||
{ 147, "MSM8610" },
|
||||
{ 153, "APQ8064AB" },
|
||||
{ 158, "MSM8226" },
|
||||
{ 159, "MSM8526" },
|
||||
{ 161, "MSM8110" },
|
||||
{ 162, "MSM8210" },
|
||||
{ 163, "MSM8810" },
|
||||
{ 164, "MSM8212" },
|
||||
{ 165, "MSM8612" },
|
||||
{ 166, "MSM8112" },
|
||||
{ 168, "MSM8225Q" },
|
||||
{ 169, "MSM8625Q" },
|
||||
{ 170, "MSM8125Q" },
|
||||
{ 172, "APQ8064AA" },
|
||||
{ 178, "APQ8084" },
|
||||
{ 184, "APQ8074" },
|
||||
{ 185, "MSM8274" },
|
||||
{ 186, "MSM8674" },
|
||||
{ 194, "MSM8974PRO" },
|
||||
{ 198, "MSM8126" },
|
||||
{ 199, "APQ8026" },
|
||||
{ 200, "MSM8926" },
|
||||
{ 205, "MSM8326" },
|
||||
{ 206, "MSM8916" },
|
||||
{ 207, "MSM8994" },
|
||||
{ 208, "APQ8074-AA" },
|
||||
|
@ -213,6 +244,14 @@ static const struct soc_id soc_id[] = {
|
|||
{ 216, "MSM8674PRO" },
|
||||
{ 217, "MSM8974-AA" },
|
||||
{ 218, "MSM8974-AB" },
|
||||
{ 219, "APQ8028" },
|
||||
{ 220, "MSM8128" },
|
||||
{ 221, "MSM8228" },
|
||||
{ 222, "MSM8528" },
|
||||
{ 223, "MSM8628" },
|
||||
{ 224, "MSM8928" },
|
||||
{ 225, "MSM8510" },
|
||||
{ 226, "MSM8512" },
|
||||
{ 233, "MSM8936" },
|
||||
{ 239, "MSM8939" },
|
||||
{ 240, "APQ8036" },
|
||||
|
@ -254,8 +293,13 @@ static const struct soc_id soc_id[] = {
|
|||
{ 350, "SDA632" },
|
||||
{ 351, "SDA450" },
|
||||
{ 356, "SM8250" },
|
||||
{ 394, "SM6125" },
|
||||
{ 402, "IPQ6018" },
|
||||
{ 403, "IPQ6028" },
|
||||
{ 421, "IPQ6000" },
|
||||
{ 422, "IPQ6010" },
|
||||
{ 425, "SC7180" },
|
||||
{ 453, "IPQ6005" },
|
||||
{ 455, "QRB5165" },
|
||||
};
|
||||
|
||||
|
|
|
@ -81,6 +81,19 @@
|
|||
#define SC7280_LCX 7
|
||||
#define SC7280_MSS 8
|
||||
|
||||
/* SC8180X Power Domain Indexes */
|
||||
#define SC8180X_CX 0
|
||||
#define SC8180X_CX_AO 1
|
||||
#define SC8180X_EBI 2
|
||||
#define SC8180X_GFX 3
|
||||
#define SC8180X_LCX 4
|
||||
#define SC8180X_LMX 5
|
||||
#define SC8180X_MMCX 6
|
||||
#define SC8180X_MMCX_AO 7
|
||||
#define SC8180X_MSS 8
|
||||
#define SC8180X_MX 9
|
||||
#define SC8180X_MX_AO 10
|
||||
|
||||
/* SDM845 Power Domain performance levels */
|
||||
#define RPMH_REGULATOR_LEVEL_RETENTION 16
|
||||
#define RPMH_REGULATOR_LEVEL_MIN_SVS 48
|
||||
|
@ -95,6 +108,14 @@
|
|||
#define RPMH_REGULATOR_LEVEL_TURBO 384
|
||||
#define RPMH_REGULATOR_LEVEL_TURBO_L1 416
|
||||
|
||||
/* MDM9607 Power Domains */
|
||||
#define MDM9607_VDDCX 0
|
||||
#define MDM9607_VDDCX_AO 1
|
||||
#define MDM9607_VDDCX_VFL 2
|
||||
#define MDM9607_VDDMX 3
|
||||
#define MDM9607_VDDMX_AO 4
|
||||
#define MDM9607_VDDMX_VFL 5
|
||||
|
||||
/* MSM8939 Power Domains */
|
||||
#define MSM8939_VDDMDCX 0
|
||||
#define MSM8939_VDDMDCX_AO 1
|
||||
|
|
Загрузка…
Ссылка в новой задаче