On Wed, 21 Aug 2024, Chris Morgan wrote: > From: Chris Morgan <macromorgan@xxxxxxxxxxx> > > Add support for monitoring the USB charger and battery charger on the > AXP717 PMIC. This required some driver refactoring of the axp20x USB > and battery charger as the AXP717 is somewhat different but can still > benefit from some common elements. > > Note that as of now the charging current now value may be incorrect as > the scale and offsets were not documented in the datasheet. I suspect > the scale is 1 and the offset is somewhere around 450mA though. > > Changes from V3: > - Remove accidental AXP717_BOOST regulator in header file, as it is > not part of this patch series. > - Add an absolute min/max constraint for input-current-limit-microamp > in device tree documentation. > - Correct an issue found by kernel test robot <lkp@xxxxxxxxx> by > explicitly adding linux/bitfield.h include. Details here: > https://lore.kernel.org/oe-kbuild-all/202408201228.Hee4eSYl-lkp@xxxxxxxxx/ > > Changes from V2: > - Added constraints for input-current-limit-microamp constraints for > x-powers,axp20x-usb-power-supply.yaml. > - Used FIELD_GET() and removed unnecessary -EINVAL per comments from > Jonathan Cameron. > > Changes from V1: > - Refactored against mainline to remove BOOST pre-requisite. > - Corrected commit subjects for DT bindings. > - Split refactoring and AXP717 support into different patches. > - Added IRQ for VBUS over voltage. There appears to be a bug > with the VBUS fault IRQ because it is assigned IRQ num 0. > - Corrected battery driver to report POWER_SUPPLY_PROP_VOLTAGE_MIN > and POWER_SUPPLY_PROP_VOLTAGE_MAX instead of *_DESIGN. > > > Chris Morgan (15): > iio: adc: axp20x_adc: Add adc_en1 and adc_en2 to axp_data > power: supply: axp20x_battery: Remove design from min and max voltage > power: supply: axp20x_battery: Make iio and battery config per device > power: supply: axp20x_usb_power: Make VBUS and IIO config per device > dt-bindings: power: supply: axp20x: Add input-current-limit-microamp > power: supply: axp20x_usb_power: add input-current-limit-microamp > dt-bindings: power: supply: axp20x-battery: Add monitored-battery > dt-bindings: iio: adc: Add AXP717 compatible > dt-bindings: power: supply: axp20x: Add AXP717 compatible > dt-bindings: power: supply: axp20x: Add AXP717 compatible > mfd: axp20x: Add ADC, BAT, and USB cells for AXP717 > iio: adc: axp20x_adc: add support for AXP717 ADC > power: supply: axp20x_usb_power: Add support for AXP717 > power: supply: axp20x_battery: add support for AXP717 > arm64: dts: allwinner: h700: Add charger for Anbernic RG35XX > > .../bindings/iio/adc/x-powers,axp209-adc.yaml | 12 + > .../x-powers,axp20x-battery-power-supply.yaml | 7 + > .../x-powers,axp20x-usb-power-supply.yaml | 72 ++- > .../sun50i-h700-anbernic-rg35xx-2024.dts | 21 + > drivers/iio/adc/axp20x_adc.c | 182 +++++- > drivers/mfd/axp20x.c | 25 +- > drivers/power/supply/axp20x_battery.c | 591 ++++++++++++++++-- > drivers/power/supply/axp20x_usb_power.c | 353 ++++++++++- > include/linux/mfd/axp20x.h | 26 + > 9 files changed, 1188 insertions(+), 101 deletions(-) Note to self: Send ib-mfd-for-iio-power-6.12 once tested -- Lee Jones [李琼斯]