Thread (12 messages) 12 messages, 5 authors, 2021-08-09

Re: [RFC v2 0/4] power: supply: Add Support for RK817 Charger

From: Chris Morgan <hidden>
Date: 2021-07-28 14:18:31
Also in: linux-rockchip

On Wed, Jul 28, 2021 at 08:57:52AM -0400, Peter Geis wrote:
On Mon, Jul 26, 2021 at 3:02 PM Chris Morgan [off-list ref] wrote:
quoted
From: Chris Morgan <redacted>

As this is my first charger driver, I'm submitting it as an RFC so I
can get input from the community on what else is needed to make the
driver consistent with the quality upstream expects.

This series is to add support for the Rockchip rk817 battery charger
which is present in all Rockchip RK817 PMICs. The driver was written
as a joint effort by Maya Matuszczyk [off-list ref] and
myself Chris Morgan [off-list ref].

The driver requires some basic parameters be described about the
battery in the devicetree such as the maximum capacity, the minimum
and maximum voltage for the battery, the maximum charge current, the
maximum charge voltage, and the value of sample resistors and sleep
currents.

The hardware itself contains an ADC capable of measuring the voltage,
current, and temperature of the battery (though my implementation of an
Odroid Go Advance lacks a thermistor for temperature). It also contains
a columb counter, registers for tracking the measured voltage and
current at boot, and a few bytes of nvram for storing data.
Feel free to add my Tested-by: Peter Geis [off-list ref]
Thank you. Have you checked out the audio driver yet? Would be nice to
see how it works on a device other than the Odroid Go Advance.
Tested on the Pine64 Quartz64 Model A.
We can't go as low on the battery voltage, otherwise the SOC becomes
unstable before it can shut down.
<3625000 0> seems sufficient for us though (adding this for the
benefit of anyone else testing).

Voltages are accurate as measured at the battery.
Are there plans to expose the thermal sensor (if that's possible)?
Unfortunately it might be more than we are capable of. The output of
the thermal sensor from the ADC is stored in register 0x7c and 0x7d,
however the datasheet doesn't tell me the scale/how to translate it
to degrees. For the other ADC values there were coefficients in the
BSP kernel, but there is nothing for the temperature unfortunately.
Additionally, my hardware doesn't have a thermistor, so even if I
wanted to reverse engineer it some way I don't have the means. For
me those registers just read 0xff 0xff, which I assume is what it
reads when the values are not present.
quoted
Changes from V1:

 - Fixed a CLANG warning regarding an uninitalized variable.
 - Fixed a CLANG warning regarding a pointer as a bool value always
   returning as true.
 - Added Maya Matuszczyk to the Signed-off-by.

Chris Morgan (4):
  [RFC v2 1/4] dt-bindings: Add Rockchip rk817 battery charger support
  [RFC v2 2/4] mfd: Add Rockchip rk817 battery charger support
  [RFC v2 3/4] power: supply: Add charger driver for Rockchip RK817
  [RFC 4/4] arm64: dts: rockchip: add rk817 charger to Odroid Go Advance

 .../devicetree/bindings/mfd/rk808.txt         |  35 +-
 .../boot/dts/rockchip/rk3326-odroid-go2.dts   |  25 +
 drivers/mfd/rk808.c                           |  16 +-
 drivers/power/supply/Kconfig                  |   6 +
 drivers/power/supply/Makefile                 |   1 +
 drivers/power/supply/rk817_charger.c          | 932 ++++++++++++++++++
 include/linux/mfd/rk808.h                     |  87 ++
 7 files changed, 1099 insertions(+), 3 deletions(-)
 create mode 100644 drivers/power/supply/rk817_charger.c

--
2.25.1


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.infradead.org%2Fmailman%2Flistinfo%2Flinux-rockchip&amp;data=04%7C01%7C%7Ca5cf5e4a240e4f76b67508d951c75713%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637630738863903897%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=driHUKoWSfpQ5yV7E3Jo7pyQDwoxZ7wl56A8OB0XwyA%3D&amp;reserved=0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help