mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-06 13:09:58 +00:00

- Add support for Ampere Computing SMpro - Add support for TI TPS65219 PMIC - New Functionality - Add support for multiple devices of the same type; rk808 - Fix-ups - Convert a bunch of I2C class drivers over to .probe_new() - Remove superfluous includes; mc13xxx-*, palmas, timberdale - Use correct includes for GPIO handling; madera-core - Convert to GPIOD; twl6040 - Remove unused platform data handling; twl6040 - Device Tree changes; many - Remove unused drivers; dm355evm_msp, davinci_voicecodec, htc-i2cpld - Add support for modules; palmas - Enable COMPILE_TEST support; intel_soc_pmic* - Trivial: spelling / whitespace fixes; mc13xxx-spi - Replace old PM helpers with new ones; many - Convert deprecated mask_invert usage to unmask_base; many - Use devm_*() calls; qcom_rpm - MAINTAINER fix-ups - Make use of improved / replaced APIs; palmas, fsl-imx25-tsadc, stm32-lptimer, qcom_rpm, rohm-* - Bug Fixes - Add bounds / error checking; mt6360-core - No sleeping inside critical sections; axp20x - Fix missing dependencies; ROHM_BD957XMUF - Repair error paths; qcom-pm8008 -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmOhmWgACgkQUa+KL4f8 d2GEMA/+LQ+1Iv/MS8xh9a5SNs3lUJcHmNe8j1OhdD62usl1gQa9HegyL+h60Ajm r+MAxO3s0iTvPJFi9+i9S/BdO0XtdF1+0eIFm3Qih4A8NUDeK4wnr1J+5fswYvPG 5Nvut/sqIQhCoT64T7009pwdRx8S5b1Von7+hGfDoC3UN0cGqW8+/3K0lEE4I1FY RaDKwS4Wvs3zZdfs/EQ0ILqTJKp0Mw3qKEbS9rB2XaLwa/eteZAeZBuypJDH9XLY GkJDeX51jLynjA7mp10p7bf1v6/p8JXcBUaz/vvPwYIM2oV46PHw9dbtzuPzz9iD O12reYGhssuVRTN8fCm+T82Jo99TiWrhagJG3gTqtrFQrs19w341Vetb7wDn14+z rL88pCo7xHLYwPGKXfup2GaGVt5GP6zEr6REnelw9yGmuxbAWajwWK2x64TAReGV 8rOUt1VQyaY874dQ0iulrs+bKwaaPnpDgEzUeB6b4LG6zYoupQFD1+dfIzRq8k42 wnAg5QdzcWFWzBOH0neUkyq7iZvLL3S5pLRWTENV8rLvEiNIPzWAMPHGFeYO8xm2 lx+6B5XVfGd3oMze8mFwbrkLlpzbRS1j8bIV6kwlbcw44mw0w/EKtNW8Qlxw8HWA lvR9M/+NzniaCM8yJVZcB97k5r5ukZ6rSfQWCm9htIzdvLW09iM= =HT19 -----END PGP SIGNATURE----- Merge tag 'mfd-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "New Drivers: - Add support for Ampere Computing SMpro - Add support for TI TPS65219 PMIC New Functionality: - Add support for multiple devices of the same type; rk808 Fix-ups: - Convert a bunch of I2C class drivers over to .probe_new() - Remove superfluous includes; mc13xxx-*, palmas, timberdale - Use correct includes for GPIO handling; madera-core - Convert to GPIOD; twl6040 - Remove unused platform data handling; twl6040 - Device Tree changes; many - Remove unused drivers; dm355evm_msp, davinci_voicecodec, htc-i2cpld - Add support for modules; palmas - Enable COMPILE_TEST support; intel_soc_pmic* - Trivial: spelling / whitespace fixes; mc13xxx-spi - Replace old PM helpers with new ones; many - Convert deprecated mask_invert usage to unmask_base; many - Use devm_*() calls; qcom_rpm - MAINTAINER fix-ups - Make use of improved / replaced APIs; palmas, fsl-imx25-tsadc, stm32-lptimer, qcom_rpm, rohm-* Bug Fixes: - Add bounds / error checking; mt6360-core - No sleeping inside critical sections; axp20x - Fix missing dependencies; ROHM_BD957XMUF - Repair error paths; qcom-pm8008" * tag 'mfd-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (161 commits) dt-bindings: mfd: da9062: Correct file name for watchdog mfd: pm8008: Fix return value check in pm8008_probe() mfd: rohm: Use dev_err_probe() mfd: Drop obsolete dependencies on COMPILE_TEST dt-bindings: mfd: da9062: Move IRQ to optional properties mfd: qcom_rpm: Use devm_of_platform_populate() to simplify code mfd: qcom_rpm: Fix an error handling path in qcom_rpm_probe() mfd: stm32-lptimer: Use devm_platform_get_and_ioremap_resource() mfd: rohm-bd9576: Convert to i2c's .probe_new() mfd: fsl-imx25-tsadc: Use devm_platform_get_and_ioremap_resource() dt-bindings: Fix maintainer email for a few ROHM ICs mfd: palmas: Use device_get_match_data() to simplify the code Input: Add tps65219 interrupt driven powerbutton mfd: tps65219: Add driver for TI TPS65219 PMIC mfd: bd957x: Fix Kconfig dependency on REGMAP_IRQ mfd: wcd934x: Convert irq chip to config regs mfd: tps65090: Replace irqchip mask_invert with unmask_base mfd: sun4i-gpadc: Replace irqchip mask_invert with unmask_base mfd: stpmic1: Fix swapped mask/unmask in irq chip mfd: sprd-sc27xx-spi: Replace irqchip mask_invert with unmask_base ...
165 lines
6.1 KiB
YAML
165 lines
6.1 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/power/supply/rohm,bd99954.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ROHM BD99954 Battery charger
|
|
|
|
maintainers:
|
|
- Matti Vaittinen <mazziesaccount@gmail.com>
|
|
- Markus Laine <markus.laine@fi.rohmeurope.com>
|
|
- Mikko Mutanen <mikko.mutanen@fi.rohmeurope.com>
|
|
|
|
description: |
|
|
The ROHM BD99954 is a Battery Management LSI for 1-4 cell Lithium-Ion
|
|
secondary battery intended to be used in space-constraint equipment such
|
|
as Low profile Notebook PC, Tablets and other applications. BD99954
|
|
provides a Dual-source Battery Charger, two port BC1.2 detection and a
|
|
Battery Monitor.
|
|
|
|
$ref: power-supply.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
const: rohm,bd99954
|
|
#
|
|
# The battery charging profile of BD99954.
|
|
#
|
|
# Curve (1) represents charging current.
|
|
# Curve (2) represents battery voltage.
|
|
#
|
|
# The BD99954 data sheet divides charging to three phases.
|
|
# a) Trickle-charge with constant current (8).
|
|
# b) pre-charge with constant current (6)
|
|
# c) fast-charge with:
|
|
# First a constant current (5) phase (CC)
|
|
# Then constant voltage (CV) phase (after the battery voltage has reached
|
|
# target level - until charging current has dropped to termination
|
|
# level (7)
|
|
#
|
|
# V ^ ^ I
|
|
# . .
|
|
# . .
|
|
# (4)- -.- - - - - - - - - - - - - - +++++++++++++++++++++++++++.
|
|
# . / .
|
|
# . ++++++/++ - - - - - - - - - - - - -.- - (5)
|
|
# . + / + .
|
|
# . + - -- .
|
|
# . + - + .
|
|
# . +.- -: .
|
|
# . .+ +` .
|
|
# . .- + | `/ .
|
|
# . .." + .: .
|
|
# . -" + -- .
|
|
# . (2) ..." + | :- .
|
|
# . ..."" + -: .
|
|
# (3)- -.-.""- - - - -+++++++++ - - - - - - -.:- - - - - - - - - .- - (6)
|
|
# . + `:. .
|
|
# . + | -: .
|
|
# . + -: .
|
|
# . + .. .
|
|
# . (1) + | "+++- - - -.- - (7)
|
|
# -++++++++++++++- - - - - - - - - - - - - - - - - + - - - .- - (8)
|
|
# . + -
|
|
# -------------------------------------------------+++++++++-->
|
|
# | | | CC | CV |
|
|
# | --trickle-- | -pre- | ---------fast----------- |
|
|
#
|
|
# The charger uses the following battery properties
|
|
# - trickle-charge-current-microamp:
|
|
# Current used at trickle-charge phase (8 in above chart)
|
|
# minimum: 64000
|
|
# maximum: 1024000
|
|
# multipleOf: 64000
|
|
# - precharge-current-microamp:
|
|
# Current used at pre-charge phase (6 in above chart)
|
|
# minimum: 64000
|
|
# maximum: 1024000
|
|
# multipleOf: 64000
|
|
# - constant-charge-current-max-microamp
|
|
# Current used at fast charge constant current phase (5 in above chart)
|
|
# minimum: 64000
|
|
# maximum: 1024000
|
|
# multipleOf: 64000
|
|
# - constant-charge-voltage-max-microvolt
|
|
# The constant voltage used in fast charging phase (4 in above chart)
|
|
# minimum: 2560000
|
|
# maximum: 19200000
|
|
# multipleOf: 16000
|
|
# - precharge-upper-limit-microvolt
|
|
# charging mode is changed from trickle charging to pre-charging
|
|
# when battery voltage exceeds this limit voltage (3 in above chart)
|
|
# minimum: 2048000
|
|
# maximum: 19200000
|
|
# multipleOf: 64000
|
|
# - re-charge-voltage-microvolt
|
|
# minimum: 2560000
|
|
# maximum: 19200000
|
|
# multipleOf: 16000
|
|
# re-charging is automatically started when battry has been discharging
|
|
# to the point where the battery voltage drops below this limit
|
|
# - over-voltage-threshold-microvolt
|
|
# battery is expected to be faulty if battery voltage exceeds this limit.
|
|
# Charger will then enter to a "battery faulty" -state
|
|
# minimum: 2560000
|
|
# maximum: 19200000
|
|
# multipleOf: 16000
|
|
# - charge-term-current-microamp
|
|
# minimum: 0
|
|
# maximum: 1024000
|
|
# multipleOf: 64000
|
|
# a charge cycle terminates when the battery voltage is above recharge
|
|
# threshold, and the current is below this setting (7 in above chart)
|
|
# See also Documentation/devicetree/bindings/power/supply/battery.yaml
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
monitored-battery:
|
|
description:
|
|
phandle of battery characteristics devicetree node
|
|
|
|
rohm,vsys-regulation-microvolt:
|
|
description: system specific lower limit for system voltage.
|
|
minimum: 2560000
|
|
maximum: 19200000
|
|
multipleOf: 64000
|
|
|
|
rohm,vbus-input-current-limit-microamp:
|
|
description: system specific VBUS input current limit (in microamps).
|
|
minimum: 32000
|
|
maximum: 16352000
|
|
multipleOf: 32000
|
|
|
|
rohm,vcc-input-current-limit-microamp:
|
|
description: system specific VCC/VACP input current limit (in microamps).
|
|
minimum: 32000
|
|
maximum: 16352000
|
|
multipleOf: 32000
|
|
|
|
required:
|
|
- compatible
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
charger@9 {
|
|
compatible = "rohm,bd99954";
|
|
monitored-battery = <&battery>;
|
|
reg = <0x9>;
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <29 8>;
|
|
rohm,vsys-regulation-microvolt = <8960000>;
|
|
rohm,vbus-input-current-limit-microamp = <1472000>;
|
|
rohm,vcc-input-current-limit-microamp = <1472000>;
|
|
};
|
|
};
|