Commit 805f64e8 authored by Sebastian Reichel's avatar Sebastian Reichel Committed by Sebastian Reichel
Browse files

dt-bindings: power: sbs-battery: Convert to yaml



Convert sbs-battery bindings to YAML.

Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent 68956dbe
Loading
Loading
Loading
Loading
+83 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/sbs,sbs-battery.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: SBS compliant battery

maintainers:
  - Sebastian Reichel <sre@kernel.org>

description: |
  Battery compatible with the smart battery system specifications

properties:

  compatible:
    oneOf:
      - items:
          - enum:
              - ti,bq20z65
              - ti,bq20z75
          - enum:
              - sbs,sbs-battery
      - items:
          - const: sbs,sbs-battery

  reg:
    maxItems: 1

  sbs,i2c-retry-count:
    description:
      The number of times to retry I2C transactions on I2C IO failure.
    default: 0
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32

  sbs,poll-retry-count:
    description:
      The number of times to try looking for new status after an external
      change notification.
    default: 0
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32

  sbs,battery-detect-gpios:
    description:
      GPIO which signals battery detection. If this is not supplied, the bus
      needs to be polled to detect the battery.
    maxItems: 1

  sbs,disable-charger-broadcasts:
    description:
      SBS batteries by default send broadcast messages to SBS compliant chargers to
      configure max. charge current/voltage. If your hardware does not have an SBS
      compliant charger it should be disabled via this property to avoid blocking
      the bus. Also some SBS battery fuel gauges are known to have a buggy multi-
      master implementation.
    type: boolean

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        battery@b {
            compatible = "ti,bq20z75", "sbs,sbs-battery";
            reg = <0xb>;
            sbs,i2c-retry-count = <2>;
            sbs,poll-retry-count = <10>;
            sbs,battery-detect-gpios = <&gpio 122 GPIO_ACTIVE_HIGH>;
            sbs,disable-charger-broadcasts;
       };
    };
+0 −30
Original line number Diff line number Diff line
SBS sbs-battery
~~~~~~~~~~

Required properties :
 - compatible: "<vendor>,<part-number>", "sbs,sbs-battery" as fallback. The
     part number compatible string might be used in order to take care of
     vendor specific registers.
     Known <vendor>,<part-number>:
       ti,bq20z65
       ti,bq20z75

Optional properties :
 - sbs,i2c-retry-count : The number of times to retry i2c transactions on i2c
   IO failure.
 - sbs,poll-retry-count : The number of times to try looking for new status
   after an external change notification.
 - sbs,battery-detect-gpios : The gpio which signals battery detection and
   a flag specifying its polarity.
 - sbs,disable-charger-broadcasts: for systems without sbs compliant chargers

Example:

	battery@b {
		compatible = "ti,bq20z75", "sbs,sbs-battery";
		reg = <0xb>;
		sbs,i2c-retry-count = <2>;
		sbs,poll-retry-count = <10>;
		sbs,battery-detect-gpios = <&gpio-controller 122 1>;
		sbs,disable-charger-broadcasts;
	}