Re: [PATCH 1/2] arm64: dts: qcom: sm8250-xiaomi-elish: Add pm8008 PMIC

From: Xin Xu

Date: Mon Jun 22 2026 - 14:09:02 EST


On Mon, 2026-06-22 at 13:40 +0200, Konrad Dybcio wrote:
> On 6/19/26 6:07 PM, Xin Xu wrote:
> > Add the pm8008 PMIC node on i2c15 with seven LDOs,
> > using GPIO84 as interrupt and GPIO76 as reset.
> >
> > Signed-off-by: Xin Xu <xxsemail@xxxxxx>
> > ---
> >  .../dts/qcom/sm8250-xiaomi-elish-common.dtsi  | 94
> > +++++++++++++++++++
> >  1 file changed, 94 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-
> > common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-
> > common.dtsi
> > index 51b57c697a75..2687a2a8dda4 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> > @@ -599,6 +599,82 @@ fuel-gauge@55 {
> >   };
> >  };
> >  
> > +&i2c15 {
> > + clock-frequency = <400000>;
> > + status = "okay";
>
> nit: please add an \n before status
>
> > +
> > + pm8008: pmic@8 {
> > + compatible = "qcom,pm8008";
> > + reg = <0x8>;
> > +
> > + interrupt-parent = <&tlmm>;
> > + interrupts = <84 IRQ_TYPE_EDGE_RISING>;
>
> interrupts-extended = <&tlmm 84 IRQ_TYPE_EDGE_RISING>;
>
>
> > + reset-gpios = <&tlmm 76 GPIO_ACTIVE_LOW>;
> > +
> > + vdd-l1-l2-supply = <&vreg_s8c_1p35>;
> > + vdd-l3-l4-supply = <&vreg_bob>;
> > + vdd-l5-supply = <&vreg_bob>;
> > + vdd-l6-supply = <&vreg_bob>;
> > + vdd-l7-supply = <&vreg_bob>;
> > +
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pm8008_default>;
>
> property-n
> property-names
>
> in this order, please
>
> [...]
>
> > + regulators {
> > + vreg_l1p: ldo1 {
> > + regulator-name = "vreg_l1p";
> > + regulator-min-microvolt =
> > <1152000>;
> > + regulator-max-microvolt =
> > <1152000>;
>
> Make sure you verified all of the voltage ranges vs downstream,
> as incorrect values may lead to hw damage
>
> [...]
>
> > + pm8008_default: pm8008-default-state {
> > + int-pins {
> > + pins = "gpio84";
> > + function = "gpio";
> > + bias-disable;
> > + drive-strength = <2>;
> > + input-enable;
> > + };
> > +
> > + reset-pins {
> > + pins = "gpio76";
> > + function = "gpio";
> > + bias-pull-up;
> > + drive-strength = <2>;
> > + output-high;
>
> Drop output-high, the driver will take care of setting the output
> state
>
> Konrad

Thank you for your review!

I will fix the coding style issues (blank line before status,
interrupts-extended, property order, and dropping output-high)
in the next version.

I have verified all LDO voltages against the downstream device tree:
https://github.com/MiCode/kernel_devicetree/tree/elish-r-oss/
The definitions can be found around lines 209–244 in
qcom/elish-sm8250-camera-board.dtsi

The voltage constraints for ldo1 and ldo2 were incorrect in my
previous patch; this will be corrected in v2.

Best regards,
Xin Xu