Commit a7dcf5f2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull power supply and reset updates from Sebastian Reichel:
 "Battery/charger driver changes:
   - acer_a500: new fuel gauge driver for Acer Iconia Tab A500
   - bq256xx: new charger driver
   - bq27xxx: Support CHARGE_NOW for bq27z561/bq28z610/bq34z100
   - bq27xxx: Fix inverted CURRENT_NOW sign
   - cpcap: rework fuel gauge and charger drivers
   - ltc4162l: new charger driver
   - max8997-charger: add extcon based current limit configuration
   - max8903, wm97xx, z2: convert to GPIO descriptors (incl. ARM board files)
   - misc cleanup and fixes

  Reset drivers:
   - new poweroff driver for ATC260x
   - at91-sama5d2_shdwc: add support for sama7g5
   - drop zte zx driver (SoC support is removed from kernel)"

* tag 'for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (55 commits)
  power-supply: use kobj_to_dev()
  power: supply: charger-manager: fix typo
  power/reset: remove zte zx driver
  power: supply: bq25980: Fix repetive bq25975 with bq25960
  power: supply: smb347-charger: Fix interrupt usage if interrupt is unavailable
  power: supply: axp20x_usb_power: Init work before enabling IRQs
  power: supply: fix sbs-charger build, needs REGMAP_I2C
  power: supply: bq27xxx: fix polarity of current_now
  power: supply: charger-manager: fix incorrect health status
  power: reset: at91-sama5d2_shdwc: add support for sama7g5
  dt-bindings: atmel-sysreg: add microchip,sama7g5-shdwc
  power: reset: at91-sama5d2_shdwc: fix wkupdbc mask
  dt-bindings: power/supply: Add ltc4162-l-charger
  power: supply: bq24190_charger: convert comma to semicolon
  power: supply: ab8500_fg: convert comma to semicolon
  power: supply: ds2780: Switch to using the new API kobj_to_dev()
  power: supply: bq27xxx: Support CHARGE_NOW for bq27z561/bq28z610/bq34z100
  power: supply: cpcap-charger: Fix power_supply_put on null battery pointer
  power: supply: cpcap-battery: constify psy_desc
  power: supply: cpcap-battery: Fix typo
  ...
parents 28b9aaac a72acc56
Loading
Loading
Loading
Loading
+82 −0
Original line number Diff line number Diff line
What:		/sys/class/power_supply/ltc4162-l/charge_status
Date:		Januari 2021
KernelVersion:	5.11
Description:
		Detailed charge status information as reported by the chip.

		Access: Read

		Valid values:
			ilim_reg_active
			thermal_reg_active
			vin_uvcl_active
			iin_limit_active
			constant_current
			constant_voltage
			charger_off

What:		/sys/class/power_supply/ltc4162-l/ibat
Date:		Januari 2021
KernelVersion:	5.11
Description:
		Battery input current as measured by the charger. Negative value
		means that the battery is discharging.

		Access: Read

		Valid values: Signed value in microamps

What:		/sys/class/power_supply/ltc4162-l/vbat
Date:		Januari 2021
KernelVersion:	5.11
Description:
		Battery voltage as measured by the charger.

		Access: Read

		Valid values: In microvolts

What:		/sys/class/power_supply/ltc4162-l/vbat_avg
Date:		Januari 2021
KernelVersion:	5.11
Description:
		Battery voltage, averaged over time, as measured by the charger.

		Access: Read

		Valid values: In microvolts

What:		/sys/class/power_supply/ltc4162-l/force_telemetry
Date:		Januari 2021
KernelVersion:	5.11
Description:
		To save battery current, the measurement system is disabled if
		the battery is the only source of power. This affects all
		voltage, current and temperature measurements.
		Write a "1" to this to keep performing telemetry once every few
		seconds, even when running on battery (as reported by the online
		property, which is "1" when external power is available and "0"
		when the system runs on battery).

		Access: Read, Write

		Valid values: 0 (disabled) or 1 (enabled)

What:		/sys/class/power_supply/ltc4162-l/arm_ship_mode
Date:		Januari 2021
KernelVersion:	5.11
Description:
		The charger will normally drain the battery while inactive,
		typically drawing about 54 microamps. Write a "1" to this
		property to arm a special "ship" mode that extends shelf life
		by reducing the leakage to about 2.8 microamps. The chip will
		remain in this mode (and no longer respond to I2C commands)
		until some external power-supply is attached raising the input
		voltage above 1V. It will then automatically revert to "0".
		Writing a "0" to the property cancels the "ship" mode request.
		The ship mode, when armed, activates once the input voltage
		drops below 1V.

		Access: Read, Write

		Valid values: 0 (disable) or 1 (enable)
+3 −2
Original line number Diff line number Diff line
@@ -91,7 +91,8 @@ SHDWC SAMA5D2-Compatible Shutdown Controller
1) shdwc node

required properties:
- compatible: should be "atmel,sama5d2-shdwc" or "microchip,sam9x60-shdwc".
- compatible: should be "atmel,sama5d2-shdwc", "microchip,sam9x60-shdwc" or
  "microchip,sama7g5-shdwc"
- reg: should contain registers location and length
- clocks: phandle to input clock.
- #address-cells: should be one. The cell is the wake-up input index.
@@ -103,7 +104,7 @@ optional properties:
  microseconds. It's usually a board-related property.
- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.

optional microchip,sam9x60-shdwc properties:
optional microchip,sam9x60-shdwc or microchip,sama7g5-shdwc properties:
- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up.

The node contains child nodes for each wake-up input that the platform uses.
+110 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
# Copyright (C) 2020 Texas Instruments Incorporated
%YAML 1.2
---
$id: "http://devicetree.org/schemas/power/supply/bq256xx.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: TI bq256xx Switch Mode Buck Charger

maintainers:
  - Ricardo Rivera-Matos <r-rivera-matos@ti.com>

description: |
  The bq256xx devices are a family of highly-integrated battery charge
  management and system power management ICs for single cell Li-ion and Li-
  polymer batteries.

  Datasheets:
    - https://www.ti.com/lit/ds/symlink/bq25600.pdf
    - https://www.ti.com/lit/ds/symlink/bq25601.pdf
    - https://www.ti.com/lit/ds/symlink/bq25600d.pdf
    - https://www.ti.com/lit/ds/symlink/bq25601d.pdf
    - https://www.ti.com/lit/ds/symlink/bq25611d.pdf
    - https://www.ti.com/lit/ds/symlink/bq25618.pdf
    - https://www.ti.com/lit/ds/symlink/bq25619.pdf

properties:
  compatible:
    enum:
      - ti,bq25600
      - ti,bq25601
      - ti,bq25600d
      - ti,bq25601d
      - ti,bq25611d
      - ti,bq25618
      - ti,bq25619

  reg:
    maxItems: 1

  ti,watchdog-timeout-ms:
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 0
    description: |
      Watchdog timer in ms. 0 (default) disables the watchdog
    minimum: 0
    maximum: 160000
    enum: [ 0, 40000, 80000, 160000]

  input-voltage-limit-microvolt:
    description: |
       Minimum input voltage limit in µV with a 100000 µV step
    minimum: 3900000
    maximum: 5400000

  input-current-limit-microamp:
    description: |
       Maximum input current limit in µA with a 100000 µA step
    minimum: 100000
    maximum: 3200000

  monitored-battery:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: phandle to the battery node being monitored

  interrupts:
    maxItems: 1
    description: |
      Interrupt sends an active low, 256 μs pulse to host to report the charger
      device status and faults.

required:
  - compatible
  - reg
  - monitored-battery

additionalProperties: false

examples:
  - |
    bat: battery {
      compatible = "simple-battery";
      constant-charge-current-max-microamp = <2040000>;
      constant-charge-voltage-max-microvolt = <4352000>;
      precharge-current-microamp = <180000>;
      charge-term-current-microamp = <180000>;
    };
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {

      clock-frequency = <400000>;

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

      charger@6b {
        compatible = "ti,bq25601";
        reg = <0x6b>;
        monitored-battery = <&bat>;

        interrupt-parent = <&gpio1>;
        interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
        ti,watchdog-timeout-ms = <40000>;

        input-voltage-limit-microvolt = <4500000>;
        input-current-limit-microamp = <2400000>;
       };
    };
...
+69 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (C) 2020 Topic Embedded Products
%YAML 1.2
---
$id: "http://devicetree.org/schemas/power/supply/ltc4162-l.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Linear Technology (Analog Devices) LTC4162-L Charger

maintainers:
  - Mike Looijmans <mike.looijmans@topic.nl>

description: |
  The LTC ® 4162-L is an advanced monolithic synchronous step-down switching
  battery charger and PowerPath (TM) manager that seamlessly manages power
  distribution between input sources such as wall adapters, backplanes, solar
  panels, etc., and a rechargeable Lithium-Ion/Polymer battery.

  Specifications about the charger can be found at:
    https://www.analog.com/en/products/ltc4162-s.html

properties:
  compatible:
    enum:
      - lltc,ltc4162-l

  reg:
    maxItems: 1
    description: I2C address of the charger.

  lltc,rsnsb-micro-ohms:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Battery sense resistor in microohm.
    minimum: 1000

  lltc,rsnsi-micro-ohms:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Input current sense resistor in microohm.
    minimum: 1000

  lltc,cell-count:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      Number of battery cells. If not provided, will be obtained from the chip
      once the external power is applied. Omit this when the number of cells
      is somewhat dynamic. Without it, several measurements will return 0 until
      the charger is connected to an external supply.

required:
  - compatible
  - reg
  - lltc,rsnsb-micro-ohms
  - lltc,rsnsi-micro-ohms

additionalProperties: false

examples:
  - |
    i2c0 {
      #address-cells = <1>;
      #size-cells = <0>;
      charger: battery-charger@68 {
              compatible = "lltc,ltc4162-l";
              reg = <0x68>;
              lltc,rsnsb-micro-ohms = <10000>;
              lltc,rsnsi-micro-ohms = <16000>;
              lltc,cell-count = <2>;
      };
    };
+0 −1
Original line number Diff line number Diff line
@@ -577,7 +577,6 @@ static struct platform_device power_dev = {
static struct wm97xx_batt_pdata mioa701_battery_data = {
	.batt_aux	= WM97XX_AUX_ID1,
	.temp_aux	= -1,
	.charge_gpio	= -1,
	.min_voltage	= 0xc00,
	.max_voltage	= 0xfc0,
	.batt_tech	= POWER_SUPPLY_TECHNOLOGY_LION,
Loading