This series enables pm8226 SPMI regulators commonly used on msm8x26 platforms.
It is a v2 of this series : https://patchwork.kernel.org/project/linux-arm-msm/list/?series=584741
Changes since v1:
- Add spmi regulators node in qcom-pm8226.dtsi to enable probing them.
Dominik Kobinski (5):
pinctrl: qcom: spmi-gpio: Add pm8226 compatibility
dt-bindings: pinctrl: qcom: pmic-gpio: Document pm8226 compatible
dt-bindings: regulator: qcom: spmi-regulator: Document pm8226
compatible
regulator: qcom_spmi: Add pm8226 regulators
arm: dts: qcom: pm8226: Support SPMI regulators on PMIC sid 1
.../bindings/pinctrl/qcom,pmic-gpio.yaml | 1 +
.../regulator/qcom,spmi-regulator.txt | 1 +
arch/arm/boot/dts/qcom-pm8226.dtsi | 4 ++
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 1 +
drivers/regulator/qcom_spmi-regulator.c | 39 +++++++++++++++++++
5 files changed, 46 insertions(+)
--
2.34.0
Add support for pm8226 SPMI GPIOs. The PMIC features
8 GPIOs, with no holes inbetween.
Reviewed-by: Bjorn Andersson <[email protected]>
Suggested-by: Ivaylo Ivanov <[email protected]>
Signed-off-by: Dominik Kobinski <[email protected]>
---
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
index 5283d5e9e8bc..0f0102f38cbb 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
@@ -1159,6 +1159,7 @@ static const struct of_device_id pmic_gpio_of_match[] = {
/* pm8150l has 12 GPIOs with holes on 7 */
{ .compatible = "qcom,pm8150l-gpio", .data = (void *) 12 },
{ .compatible = "qcom,pmc8180c-gpio", .data = (void *) 12 },
+ { .compatible = "qcom,pm8226-gpio", .data = (void *) 8 },
{ .compatible = "qcom,pm8350-gpio", .data = (void *) 10 },
{ .compatible = "qcom,pm8350b-gpio", .data = (void *) 8 },
{ .compatible = "qcom,pm8350c-gpio", .data = (void *) 9 },
--
2.34.0
Suggested-by: Ivaylo Ivanov <[email protected]>
Signed-off-by: Dominik Kobinski <[email protected]>
---
Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
index 8952b4cc1262..293f480ad0b4 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
@@ -30,6 +30,7 @@ properties:
- qcom,pm8058-gpio
- qcom,pm8150-gpio
- qcom,pm8150b-gpio
+ - qcom,pm8226-gpio
- qcom,pm8350-gpio
- qcom,pm8350b-gpio
- qcom,pm8350c-gpio
--
2.34.0
Suggested-by: Ivaylo Ivanov <[email protected]>
Signed-off-by: Dominik Kobinski <[email protected]>
---
.../devicetree/bindings/regulator/qcom,spmi-regulator.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt b/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt
index 2b544059e029..c2a39b121b1b 100644
--- a/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt
@@ -6,6 +6,7 @@ Qualcomm SPMI Regulators
Definition: must be one of:
"qcom,pm8004-regulators"
"qcom,pm8005-regulators"
+ "qcom,pm8226-regulators"
"qcom,pm8841-regulators"
"qcom,pm8916-regulators"
"qcom,pm8941-regulators"
--
2.34.0
The PM8226 PMIC is very often seen on MSM8x26 boards.
Reviewed-by: Bjorn Andersson <[email protected]>
Suggested-by: Ivaylo Ivanov <[email protected]>
Signed-off-by: Dominik Kobinski <[email protected]>
---
drivers/regulator/qcom_spmi-regulator.c | 39 +++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/drivers/regulator/qcom_spmi-regulator.c b/drivers/regulator/qcom_spmi-regulator.c
index 41424a3366d0..02bfce981150 100644
--- a/drivers/regulator/qcom_spmi-regulator.c
+++ b/drivers/regulator/qcom_spmi-regulator.c
@@ -1895,6 +1895,44 @@ static const struct spmi_regulator_data pm8941_regulators[] = {
{ }
};
+static const struct spmi_regulator_data pm8226_regulators[] = {
+ { "s1", 0x1400, "vdd_s1", },
+ { "s2", 0x1700, "vdd_s2", },
+ { "s3", 0x1a00, "vdd_s3", },
+ { "s4", 0x1d00, "vdd_s4", },
+ { "s5", 0x2000, "vdd_s5", },
+ { "l1", 0x4000, "vdd_l1_l2_l4_l5", },
+ { "l2", 0x4100, "vdd_l1_l2_l4_l5", },
+ { "l3", 0x4200, "vdd_l3_l24_l26", },
+ { "l4", 0x4300, "vdd_l1_l2_l4_l5", },
+ { "l5", 0x4400, "vdd_l1_l2_l4_l5", },
+ { "l6", 0x4500, "vdd_l6_l7_l8_l9_l27", },
+ { "l7", 0x4600, "vdd_l6_l7_l8_l9_l27", },
+ { "l8", 0x4700, "vdd_l6_l7_l8_l9_l27", },
+ { "l9", 0x4800, "vdd_l6_l7_l8_l9_l27", },
+ { "l10", 0x4900, "vdd_l10_l11_l13", },
+ { "l11", 0x4a00, "vdd_l10_l11_l13", },
+ { "l12", 0x4b00, "vdd_l12_l14", },
+ { "l13", 0x4c00, "vdd_l10_l11_l13", },
+ { "l14", 0x4d00, "vdd_l12_l14", },
+ { "l15", 0x4e00, "vdd_l15_l16_l17_l18", },
+ { "l16", 0x4f00, "vdd_l15_l16_l17_l18", },
+ { "l17", 0x5000, "vdd_l15_l16_l17_l18", },
+ { "l18", 0x5100, "vdd_l15_l16_l17_l18", },
+ { "l19", 0x5200, "vdd_l19_l20_l21_l22_l23_l28", },
+ { "l20", 0x5300, "vdd_l19_l20_l21_l22_l23_l28", },
+ { "l21", 0x5400, "vdd_l19_l20_l21_l22_l23_l28", },
+ { "l22", 0x5500, "vdd_l19_l20_l21_l22_l23_l28", },
+ { "l23", 0x5600, "vdd_l19_l20_l21_l22_l23_l28", },
+ { "l24", 0x5700, "vdd_l3_l24_l26", },
+ { "l25", 0x5800, "vdd_l25", },
+ { "l26", 0x5900, "vdd_l3_l24_l26", },
+ { "l27", 0x5a00, "vdd_l6_l7_l8_l9_l27", },
+ { "l28", 0x5b00, "vdd_l19_l20_l21_l22_l23_l28", },
+ { "lvs1", 0x8000, "vdd_lvs1", },
+ { }
+};
+
static const struct spmi_regulator_data pm8841_regulators[] = {
{ "s1", 0x1400, "vdd_s1", },
{ "s2", 0x1700, "vdd_s2", NULL, 0x1c08 },
@@ -2095,6 +2133,7 @@ static const struct spmi_regulator_data pms405_regulators[] = {
static const struct of_device_id qcom_spmi_regulator_match[] = {
{ .compatible = "qcom,pm8004-regulators", .data = &pm8004_regulators },
{ .compatible = "qcom,pm8005-regulators", .data = &pm8005_regulators },
+ { .compatible = "qcom,pm8226-regulators", .data = &pm8226_regulators },
{ .compatible = "qcom,pm8841-regulators", .data = &pm8841_regulators },
{ .compatible = "qcom,pm8916-regulators", .data = &pm8916_regulators },
{ .compatible = "qcom,pm8941-regulators", .data = &pm8941_regulators },
--
2.34.0
The PM8226 PMIC has SPMI regulators on the PMIC SID 1:
add the spmi vregs compatible to probe them.
Suggested-by: Ivaylo Ivanov <[email protected]>
Signed-off-by: Dominik Kobinski <[email protected]>>
---
This patch is based on changes done in the following patches :
- https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/
- https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/
- https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/
arch/arm/boot/dts/qcom-pm8226.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/qcom-pm8226.dtsi b/arch/arm/boot/dts/qcom-pm8226.dtsi
index 25780c8fa2e9..49c2fac6f287 100644
--- a/arch/arm/boot/dts/qcom-pm8226.dtsi
+++ b/arch/arm/boot/dts/qcom-pm8226.dtsi
@@ -62,6 +62,10 @@ pm8226_1: pm8226@1 {
#address-cells = <1>;
#size-cells = <0>;
+ pm8226_spmi_regulators: pm8226-regulators {
+ compatible = "qcom,pm8226-regulators";
+ };
+
pm8226_vib: vibrator@c000 {
compatible = "qcom,pm8916-vib";
reg = <0xc000>;
--
2.34.0
On Thu, Nov 25, 2021 at 10:53 PM Dominik Kobinski
<[email protected]> wrote:
> Add support for pm8226 SPMI GPIOs. The PMIC features
> 8 GPIOs, with no holes inbetween.
>
> Reviewed-by: Bjorn Andersson <[email protected]>
> Suggested-by: Ivaylo Ivanov <[email protected]>
> Signed-off-by: Dominik Kobinski <[email protected]>
I applied this to the pinctrl tree.
Is there anything else I should be applying?
Yours,
Linus Walleij
From: Dominik Kobinski <[email protected]>
Thank you for applying the patch. I believe the second one in this series (https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/) should be also applied to the pinctrl tree.
Regards,
Dominik Kobinski
On Fri, Nov 26, 2021 at 5:37 PM Dominik Kobinski
<[email protected]> wrote:
> From: Dominik Kobinski <[email protected]>
>
> Thank you for applying the patch. I believe the second one in this series (https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/) should be also applied to the pinctrl tree.
Looks like the regulator tree should take this one?
It is a regulator binding...
Yours,
Linus Walleij
On Sat, Nov 27, 2021 at 2:37 AM Linus Walleij <[email protected]> wrote:
>
> On Fri, Nov 26, 2021 at 5:37 PM Dominik Kobinski
> <[email protected]> wrote:
>
> > From: Dominik Kobinski <[email protected]>
> >
> > Thank you for applying the patch. I believe the second one in this series (https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/) should be also applied to the pinctrl tree.
>
> Looks like the regulator tree should take this one?
> It is a regulator binding...
Oh no the one on the link, right :/
I have already applied that one?
Yours,
Linus Walleij
True. Sorry for the confusion and thank you for applying the patch.
Regards,
Dominik Kobinski
On Thu, 25 Nov 2021 23:02:44 +0100, Dominik Kobinski wrote:
> The PM8226 PMIC has SPMI regulators on the PMIC SID 1:
> add the spmi vregs compatible to probe them.
>
>
Applied, thanks!
[1/1] arm: dts: qcom: pm8226: Support SPMI regulators on PMIC sid 1
commit: 02964a7244bae61a60e0ab15526a51f9e974bb4e
Best regards,
--
Bjorn Andersson <[email protected]>
On 26.11.2021 2.49, Linus Walleij wrote:
> On Thu, Nov 25, 2021 at 10:53 PM Dominik Kobinski
> <[email protected]> wrote:
>
>> Add support for pm8226 SPMI GPIOs. The PMIC features
>> 8 GPIOs, with no holes inbetween.
>>
>> Reviewed-by: Bjorn Andersson <[email protected]>
>> Suggested-by: Ivaylo Ivanov <[email protected]>
>> Signed-off-by: Dominik Kobinski <[email protected]>
>
> I applied this to the pinctrl tree.
>
> Is there anything else I should be applying?
>
> Yours,
> Linus Walleij
I noticed that this patch was never applied into kernel while the other
patches such as the device tree documentation were applied. Maybe it was
missed accidentally? I checked also the pinctrl tree and didn't find the
commit there either in the branches for the upcoming releases.
-Matti
On Fri, Jul 8, 2022 at 9:43 PM Matti Lehtimäki
<[email protected]> wrote:
>
> On 26.11.2021 2.49, Linus Walleij wrote:
> > On Thu, Nov 25, 2021 at 10:53 PM Dominik Kobinski
> > <[email protected]> wrote:
> >
> >> Add support for pm8226 SPMI GPIOs. The PMIC features
> >> 8 GPIOs, with no holes inbetween.
> >>
> >> Reviewed-by: Bjorn Andersson <[email protected]>
> >> Suggested-by: Ivaylo Ivanov <[email protected]>
> >> Signed-off-by: Dominik Kobinski <[email protected]>
> >
> > I applied this to the pinctrl tree.
> >
> > Is there anything else I should be applying?
> >
> > Yours,
> > Linus Walleij
>
> I noticed that this patch was never applied into kernel while the other
> patches such as the device tree documentation were applied. Maybe it was
> missed accidentally? I checked also the pinctrl tree and didn't find the
> commit there either in the branches for the upcoming releases.
Weird I applied it now.
Yours,
Linus Walleij