diff options
author | Mark Brown | 2021-10-22 01:51:35 +0100 |
---|---|---|
committer | Mark Brown | 2021-10-22 01:51:35 +0100 |
commit | 6aed787cf7461462eeb03edbcf56fa149ef6ea93 (patch) | |
tree | da0dca65e3594ac0eaf35990a6a1d10d1a3c604b | |
parent | 79738f1a5b8fe18a1a0123785960447a2150ed00 (diff) | |
parent | 12271ba94530e7476eff09e98a7de10c31f5d474 (diff) |
Merge series "Initial Fairphone 4 support" from Luca Weiss <luca@z3ntu.xyz>:
This series adds basic support for the recently announced Fairphone 4
smartphone, based on the Snapdragon 750G (sm7225).
This adds support for UART, power & volume buttons, screen based on
simple-framebuffer, regulators and USB.
v2 fixes some stylistic problems in dts and corrects the situation with
pm6350 regulator supplies.
Luca Weiss (11):
clk: qcom: add select QCOM_GDSC for SM6350
dt-bindings: regulator: qcom,rpmh: Add compatible for PM6350
regulator: qcom-rpmh: Add PM6350 regulators
dt-bindings: pinctrl: qcom,pmic-gpio: Add compatible for PM6350
pinctrl: qcom: spmi-gpio: Add compatible for PM6350
arm64: dts: qcom: Add PM6350 PMIC
arm64: dts: qcom: sm6350: add debug uart
dt-bindings: arm: cpus: Add Kryo 570 CPUs
dt-bindings: arm: qcom: Document sm7225 and fairphone,fp4 board
arm64: dts: qcom: Add SM7225 device tree
arm64: dts: qcom: sm7225: Add device tree for Fairphone 4
.../devicetree/bindings/arm/cpus.yaml | 1 +
.../devicetree/bindings/arm/qcom.yaml | 6 +
.../bindings/pinctrl/qcom,pmic-gpio.yaml | 2 +
.../regulator/qcom,rpmh-regulator.yaml | 2 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/pm6350.dtsi | 54 +++
arch/arm64/boot/dts/qcom/sm6350.dtsi | 31 ++
.../boot/dts/qcom/sm7225-fairphone-fp4.dts | 320 ++++++++++++++++++
arch/arm64/boot/dts/qcom/sm7225.dtsi | 16 +
drivers/clk/qcom/Kconfig | 1 +
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 1 +
drivers/regulator/qcom-rpmh-regulator.c | 32 ++
12 files changed, 467 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/pm6350.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
create mode 100644 arch/arm64/boot/dts/qcom/sm7225.dtsi
--
2.33.0
-rw-r--r-- | Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 2 | ||||
-rw-r--r-- | drivers/regulator/qcom-rpmh-regulator.c | 32 |
2 files changed, 34 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml index 34de38377aa6..b959504e0ea4 100644 --- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml +++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml @@ -35,6 +35,7 @@ description: | PMIC. Supported regulator node names are For PM6150, smps1 - smps5, ldo1 - ldo19 For PM6150L, smps1 - smps8, ldo1 - ldo11, bob + For PM6350, smps1 - smps5, ldo1 - ldo22 For PM7325, smps1 - smps8, ldo1 - ldo19 For PM8005, smps1 - smps4 For PM8009, smps1 - smps2, ldo1 - ldo7 @@ -52,6 +53,7 @@ properties: enum: - qcom,pm6150-rpmh-regulators - qcom,pm6150l-rpmh-regulators + - qcom,pm6350-rpmh-regulators - qcom,pm7325-rpmh-regulators - qcom,pm8005-rpmh-regulators - qcom,pm8009-rpmh-regulators diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c index 7f458d510483..12425f667c00 100644 --- a/drivers/regulator/qcom-rpmh-regulator.c +++ b/drivers/regulator/qcom-rpmh-regulator.c @@ -1047,6 +1047,34 @@ static const struct rpmh_vreg_init_data pm6150l_vreg_data[] = { {} }; +static const struct rpmh_vreg_init_data pm6350_vreg_data[] = { + RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps510, NULL), + RPMH_VREG("smps2", "smp%s2", &pmic5_hfsmps510, NULL), + /* smps3 - smps5 not configured */ + RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo, NULL), + RPMH_VREG("ldo2", "ldo%s2", &pmic5_pldo, NULL), + RPMH_VREG("ldo3", "ldo%s3", &pmic5_pldo, NULL), + RPMH_VREG("ldo4", "ldo%s4", &pmic5_nldo, NULL), + RPMH_VREG("ldo5", "ldo%s5", &pmic5_pldo, NULL), + RPMH_VREG("ldo6", "ldo%s6", &pmic5_pldo, NULL), + RPMH_VREG("ldo7", "ldo%s7", &pmic5_pldo, NULL), + RPMH_VREG("ldo8", "ldo%s8", &pmic5_pldo, NULL), + RPMH_VREG("ldo9", "ldo%s9", &pmic5_pldo, NULL), + RPMH_VREG("ldo10", "ldo%s10", &pmic5_pldo, NULL), + RPMH_VREG("ldo11", "ldo%s11", &pmic5_pldo, NULL), + RPMH_VREG("ldo12", "ldo%s12", &pmic5_pldo, NULL), + RPMH_VREG("ldo13", "ldo%s13", &pmic5_nldo, NULL), + RPMH_VREG("ldo14", "ldo%s14", &pmic5_pldo, NULL), + RPMH_VREG("ldo15", "ldo%s15", &pmic5_nldo, NULL), + RPMH_VREG("ldo16", "ldo%s16", &pmic5_nldo, NULL), + /* ldo17 not configured */ + RPMH_VREG("ldo18", "ldo%s18", &pmic5_nldo, NULL), + RPMH_VREG("ldo19", "ldo%s19", &pmic5_nldo, NULL), + RPMH_VREG("ldo20", "ldo%s20", &pmic5_nldo, NULL), + RPMH_VREG("ldo21", "ldo%s21", &pmic5_nldo, NULL), + RPMH_VREG("ldo22", "ldo%s22", &pmic5_nldo, NULL), +}; + static const struct rpmh_vreg_init_data pmx55_vreg_data[] = { RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps510, "vdd-s1"), RPMH_VREG("smps2", "smp%s2", &pmic5_hfsmps510, "vdd-s2"), @@ -1202,6 +1230,10 @@ static const struct of_device_id __maybe_unused rpmh_regulator_match_table[] = { .data = pm6150l_vreg_data, }, { + .compatible = "qcom,pm6350-rpmh-regulators", + .data = pm6350_vreg_data, + }, + { .compatible = "qcom,pmc8180-rpmh-regulators", .data = pm8150_vreg_data, }, |