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: > 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: > 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 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>; >>> >