Message ID | 20230524-pmi8998-charger-dts-v1-0-f9334afc4505@linaro.org |
---|---|
Headers | show |
Series | Enable PMI8998 charger on supported devices | expand |
On 24.05.2023 19:38, Caleb Connolly wrote: > There is no need for the RRADC to be disabled by default, > lets just enable it by default and not clutter up DT. > > Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> > --- Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > arch/arm64/boot/dts/qcom/msm8998-oneplus-common.dtsi | 4 ---- > arch/arm64/boot/dts/qcom/pmi8998.dtsi | 2 -- > arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 ---- > arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 4 ---- > arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi | 4 ---- > 5 files changed, 18 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/msm8998-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/msm8998-oneplus-common.dtsi > index 062d56c42385..68e634f8212c 100644 > --- a/arch/arm64/boot/dts/qcom/msm8998-oneplus-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8998-oneplus-common.dtsi > @@ -279,10 +279,6 @@ vol_keys_default: vol-keys-state { > }; > }; > > -&pmi8998_rradc { > - status = "okay"; > -}; > - > &qusb2phy { > status = "okay"; > > diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi > index ffe587f281d8..be6f60bfc26c 100644 > --- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi > +++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi > @@ -23,8 +23,6 @@ pmi8998_rradc: adc@4500 { > compatible = "qcom,pmi8998-rradc"; > reg = <0x4500>; > #io-channel-cells = <1>; > - > - status = "disabled"; > }; > }; > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > index e14fe9bbb386..66087af02d74 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > @@ -649,10 +649,6 @@ led@5 { > }; > }; > > -&pmi8998_rradc { > - status = "okay"; > -}; > - > /* QUAT I2S Uses 4 I2S SD Lines for audio on LT9611 HDMI Bridge */ > &q6afedai { > dai@22 { > diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi > index 5c384345c05d..55ee8dcf27c3 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi > @@ -480,10 +480,6 @@ pinconf { > }; > }; > > -&pmi8998_rradc { > - status = "okay"; > -}; > - > &q6afedai { > qi2s@22 { > reg = <22>; > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > index 5ed975cc6ecb..1915643f1c49 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > @@ -346,10 +346,6 @@ &pm8998_resin { > status = "okay"; > }; > > -&pmi8998_rradc { > - status = "okay"; > -}; > - > /* QUAT I2S Uses 1 I2S SD Line for audio on TAS2559/60 amplifiers */ > &q6afedai { > dai@22 { >
On 24.05.2023 19:38, Caleb Connolly wrote: > Add a node for the smb2 charger hardware found on the pmi8998 pmic > following the DT bindings. > > Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> > --- > arch/arm64/boot/dts/qcom/pmi8998.dtsi | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi > index be6f60bfc26c..73f51451d21d 100644 > --- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi > +++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi > @@ -9,6 +9,26 @@ pmi8998_lsid0: pmic@2 { > #address-cells = <1>; > #size-cells = <0>; > > + pmi8998_charger: charger@1000 { > + compatible = "qcom,pmi8998-charger"; > + reg = <0x1000>; > + > + interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>, > + <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>, > + <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>, > + <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>; > + interrupt-names = "usb-plugin", > + "bat-ov", > + "wdog-bark", > + "usbin-icl-change"; > + > + io-channels = <&pmi8998_rradc 3>, > + <&pmi8998_rradc 4>; > + io-channel-names = "usbin_i", "usbin_v"; Are these hard-wired internally? Konrad > + > + status = "disabled"; > + }; > + > pmi8998_gpios: gpio@c000 { > compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio"; > reg = <0xc000>; >
On 24.05.2023 19:38, Caleb Connolly wrote: > Enable the PMI8998/smb2 charger, and denote the secondary SMB1355 > charger which is used for parallel charging. > > Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> > --- > arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > index 0ad891348e0c..bb0f55c52a95 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > @@ -494,6 +494,10 @@ touchscreen@38 { > }; > }; > > +&i2c10 { > + /* SMB1355@0x0C */ > +}; > + > &ipa { > qcom,gsi-loader = "self"; > memory-region = <&ipa_fw_mem>; > @@ -522,6 +526,11 @@ pinconf { > }; > }; > > +&pmi8998_charger { > + status = "okay"; > + monitored-battery = <&battery>; Status last, please Konrad > +}; > + > &pm8998_resin { > linux,code = <KEY_VOLUMEDOWN>; > status = "okay"; >
On 24.05.2023 19:38, Caleb Connolly wrote: > From: Joel Selvaraj <joelselvaraj.oss@gmail.com> > > Enable the pmi8998 charger and define some basic battery properties. > > Signed-off-by: Joel Selvaraj <joelselvaraj.oss@gmail.com> > Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> > --- > .../arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > index 1915643f1c49..2060b31648fc 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > @@ -115,6 +115,14 @@ rmtfs_mem: memory@f6301000 { > }; > }; > > + battery: battery { > + compatible = "simple-battery"; > + > + charge-full-design-microamp-hours = <4000000>; > + voltage-min-design-microvolt = <3400000>; > + voltage-max-design-microvolt = <4400000>; > + }; > + > vreg_s4a_1p8: vreg-s4a-1p8 { > compatible = "regulator-fixed"; > regulator-name = "vreg_s4a_1p8"; > @@ -341,6 +349,11 @@ &pmi8998_wled { > qcom,cabc; > }; > > +&pmi8998_charger { > + status = "okay"; > + monitored-battery = <&battery>; status last, please Konrad > +}; > + > &pm8998_resin { > linux,code = <KEY_VOLUMEDOWN>; > status = "okay"; >
On 26/05/2023 20:46, Konrad Dybcio wrote: > > > On 24.05.2023 19:38, Caleb Connolly wrote: >> Add a node for the smb2 charger hardware found on the pmi8998 pmic >> following the DT bindings. >> >> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> >> --- >> arch/arm64/boot/dts/qcom/pmi8998.dtsi | 20 ++++++++++++++++++++ >> 1 file changed, 20 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi >> index be6f60bfc26c..73f51451d21d 100644 >> --- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi >> +++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi >> @@ -9,6 +9,26 @@ pmi8998_lsid0: pmic@2 { >> #address-cells = <1>; >> #size-cells = <0>; >> >> + pmi8998_charger: charger@1000 { >> + compatible = "qcom,pmi8998-charger"; >> + reg = <0x1000>; >> + >> + interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>, >> + <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>, >> + <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>, >> + <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>; >> + interrupt-names = "usb-plugin", >> + "bat-ov", >> + "wdog-bark", >> + "usbin-icl-change"; >> + >> + io-channels = <&pmi8998_rradc 3>, >> + <&pmi8998_rradc 4>; >> + io-channel-names = "usbin_i", "usbin_v"; > Are these hard-wired internally? Yes, features like AICL (automatic input current limiting - where the device pulls more and more current until the input voltage drops) are run autonomously and dont rely on the driver to tell the charger block what the readings are. This is only used to expose the voltage/current values to userspace via the standard psy interface. > > Konrad >> + >> + status = "disabled"; >> + }; >> + >> pmi8998_gpios: gpio@c000 { >> compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio"; >> reg = <0xc000>; >>
On 26.05.2023 23:39, Caleb Connolly wrote: > > > On 26/05/2023 20:46, Konrad Dybcio wrote: >> >> >> On 24.05.2023 19:38, Caleb Connolly wrote: >>> Add a node for the smb2 charger hardware found on the pmi8998 pmic >>> following the DT bindings. >>> >>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> >>> --- >>> arch/arm64/boot/dts/qcom/pmi8998.dtsi | 20 ++++++++++++++++++++ >>> 1 file changed, 20 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi >>> index be6f60bfc26c..73f51451d21d 100644 >>> --- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi >>> +++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi >>> @@ -9,6 +9,26 @@ pmi8998_lsid0: pmic@2 { >>> #address-cells = <1>; >>> #size-cells = <0>; >>> >>> + pmi8998_charger: charger@1000 { >>> + compatible = "qcom,pmi8998-charger"; >>> + reg = <0x1000>; >>> + >>> + interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>, >>> + <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>, >>> + <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>, >>> + <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>; >>> + interrupt-names = "usb-plugin", >>> + "bat-ov", >>> + "wdog-bark", >>> + "usbin-icl-change"; >>> + >>> + io-channels = <&pmi8998_rradc 3>, >>> + <&pmi8998_rradc 4>; >>> + io-channel-names = "usbin_i", "usbin_v"; >> Are these hard-wired internally? > > Yes, features like AICL (automatic input current limiting - where the > device pulls more and more current until the input voltage drops) are > run autonomously and dont rely on the driver to tell the charger block > what the readings are. > > This is only used to expose the voltage/current values to userspace via > the standard psy interface. OK cool Konrad >> >> Konrad >>> + >>> + status = "disabled"; >>> + }; >>> + >>> pmi8998_gpios: gpio@c000 { >>> compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio"; >>> reg = <0xc000>; >>> >