Message ID | 20230524-pmi8998-charger-dts-v1-3-f9334afc4505@linaro.org (mailing list archive) |
---|---|
State | Superseded |
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 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>; >>> >
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"; + + status = "disabled"; + }; + pmi8998_gpios: gpio@c000 { compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio"; reg = <0xc000>;
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(+)