Message ID | 20230314225535.1321736-1-sre@kernel.org |
---|---|
Headers | show |
Series | Add DT support for generic ADC battery | expand |
On 3/15/23 00:55, Sebastian Reichel wrote: > Add binding for a battery that is only monitored via ADC > channels and simple status GPIOs. > > Signed-off-by: Sebastian Reichel <sre@kernel.org> > --- > .../bindings/power/supply/adc-battery.yaml | 70 +++++++++++++++++++ > 1 file changed, 70 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/supply/adc-battery.yaml > > diff --git a/Documentation/devicetree/bindings/power/supply/adc-battery.yaml b/Documentation/devicetree/bindings/power/supply/adc-battery.yaml > new file mode 100644 > index 000000000000..ed9702caedff > --- /dev/null > +++ b/Documentation/devicetree/bindings/power/supply/adc-battery.yaml > @@ -0,0 +1,70 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/power/supply/adc-battery.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ADC battery > + > +maintainers: > + - Sebastian Reichel <sre@kernel.org> > + > +description: > + Basic battery capacity meter, which only reports basic battery data > + via ADC channels and optionally indicate that the battery is full by > + polling a GPIO line. > + > + The voltage is expected to be measured between the battery terminals > + and mandatory. The optional current/power channel is expected to > + monitor the current/power flowing out of the battery. Last but not > + least the temperature channel is supposed to measure the battery > + temperature. This looks very good to me. Even I fell under the illusion I know what these bindings mean and how the hardware looks like ;) I am terrible with the bindings syntax so this is not worth much but: Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com> Yours, -- Matti
On 14/03/2023 23:55, Sebastian Reichel wrote: > Add binding for a battery that is only monitored via ADC > channels and simple status GPIOs. > > Signed-off-by: Sebastian Reichel <sre@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On 3/15/23 00:55, Sebastian Reichel wrote: > From: Sebastian Reichel <sebastian.reichel@collabora.com> > > Another typical thing to monitor via an ADC line is > the battery temperature. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com> > --- > drivers/power/supply/generic-adc-battery.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c > index 4811e72df8cd..0124d8d51af7 100644 > --- a/drivers/power/supply/generic-adc-battery.c > +++ b/drivers/power/supply/generic-adc-battery.c > @@ -30,6 +30,7 @@ enum gab_chan_type { > GAB_VOLTAGE = 0, > GAB_CURRENT, > GAB_POWER, > + GAB_TEMP, > GAB_MAX_CHAN_TYPE > }; > > @@ -40,7 +41,8 @@ enum gab_chan_type { > static const char *const gab_chan_name[] = { > [GAB_VOLTAGE] = "voltage", > [GAB_CURRENT] = "current", > - [GAB_POWER] = "power", > + [GAB_POWER] = "power", > + [GAB_TEMP] = "temperature", > }; > > struct gab { > @@ -77,6 +79,7 @@ static const enum power_supply_property gab_dyn_props[] = { > POWER_SUPPLY_PROP_VOLTAGE_NOW, > POWER_SUPPLY_PROP_CURRENT_NOW, > POWER_SUPPLY_PROP_POWER_NOW, > + POWER_SUPPLY_PROP_TEMP, > }; > > static bool gab_charge_finished(struct gab *adc_bat) > @@ -115,6 +118,8 @@ static int gab_get_property(struct power_supply *psy, > return read_channel(adc_bat, GAB_CURRENT, &val->intval); > case POWER_SUPPLY_PROP_POWER_NOW: > return read_channel(adc_bat, GAB_POWER, &val->intval); > + case POWER_SUPPLY_PROP_TEMP: > + return read_channel(adc_bat, GAB_TEMP, &val->intval); > default: > return -EINVAL; > }
On Tue, Mar 14, 2023 at 11:55 PM Sebastian Reichel <sre@kernel.org> wrote: > Add binding for a battery that is only monitored via ADC > channels and simple status GPIOs. > > Signed-off-by: Sebastian Reichel <sre@kernel.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij