mbox series

[0/5] Add RK816 PMIC support

Message ID 20240321143911.90210-2-knaerzche@gmail.com (mailing list archive)
Headers show
Series Add RK816 PMIC support | expand

Message

Alex Bee March 21, 2024, 2:39 p.m. UTC
This series aims to add support for Rockchip RK816 PMIC series. As per
datasheet it's targeted for RK3126/RK3128 (RK816-1), RK1108 (RK816-2) and
PX3-SE (RK816-3) but might be used for other SoCs as well. The mfd consists
of an integrated RTC, a GPIO controller, two 32k clock outputs, a power key
(output), 4 buck- and 5 ldo regulators, 3 regulator-switches, and charger
with integrated fuel gauge. Charger and fuel gauge are not part of this
series. Two of the switches (otg/boost) are part of the binding, but not of
the driver. They must only ever by enabled if no battery charging is
happening, but it will be enabled automatically if a battery is attached.
Thus they need some incorporation of a yet to be added charger driver.
Integration in the existing rk8xx-infrastructure was pretty straightforward
and only needed very little tweaking. In order to not further bloat the
driver(s) too much with additional definitions I tried to re-use existing
ones wherever possible.

The patches are loosely based on the vendor's implementation, verified
against the datasheet and tested/measured on RK3126 board. As they are
touching several subsystems I'm sending them (very) early for the
6.10-cycle.

Alex Bee (5):
  dt-bindings: mfd: Add rk816 binding
  mfd: rk8xx: Add RK816 support
  pinctrl: rk805: Add rk816 pinctrl support
  regulator: rk808: Support apply_bit for
    rk808_set_suspend_voltage_range
  regulator: rk808: Add RK816 support

 .../bindings/mfd/rockchip,rk816.yaml          | 259 ++++++++++++++++++
 drivers/mfd/Kconfig                           |   4 +-
 drivers/mfd/rk8xx-core.c                      | 103 +++++++
 drivers/mfd/rk8xx-i2c.c                       |  45 ++-
 drivers/pinctrl/pinctrl-rk805.c               |  68 +++++
 drivers/regulator/rk808-regulator.c           | 218 ++++++++++++++-
 include/linux/mfd/rk808.h                     | 141 ++++++++++
 7 files changed, 831 insertions(+), 7 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/rockchip,rk816.yaml

Comments

Dragan Simic March 21, 2024, 3:01 p.m. UTC | #1
Hello Alex,

On 2024-03-21 15:39, Alex Bee wrote:
> This series aims to add support for Rockchip RK816 PMIC series. As per
> datasheet it's targeted for RK3126/RK3128 (RK816-1), RK1108 (RK816-2) 
> and
> PX3-SE (RK816-3) but might be used for other SoCs as well. The mfd 
> consists
> of an integrated RTC, a GPIO controller, two 32k clock outputs, a power 
> key
> (output), 4 buck- and 5 ldo regulators, 3 regulator-switches, and 
> charger
> with integrated fuel gauge. Charger and fuel gauge are not part of this
> series. Two of the switches (otg/boost) are part of the binding, but 
> not of
> the driver. They must only ever by enabled if no battery charging is
> happening, but it will be enabled automatically if a battery is 
> attached.
> Thus they need some incorporation of a yet to be added charger driver.
> Integration in the existing rk8xx-infrastructure was pretty 
> straightforward
> and only needed very little tweaking. In order to not further bloat the
> driver(s) too much with additional definitions I tried to re-use 
> existing
> ones wherever possible.
> 
> The patches are loosely based on the vendor's implementation, verified
> against the datasheet and tested/measured on RK3126 board. As they are
> touching several subsystems I'm sending them (very) early for the
> 6.10-cycle.

I went quickly through all patches in the series except the one that 
adds
the bindings, and I've spotted no glaring issues.  My main focus was on
ensuring there should be no regressions.

Thus, not worth a Reviewed-by tag, but still counting as a review.

> Alex Bee (5):
>   dt-bindings: mfd: Add rk816 binding
>   mfd: rk8xx: Add RK816 support
>   pinctrl: rk805: Add rk816 pinctrl support
>   regulator: rk808: Support apply_bit for
>     rk808_set_suspend_voltage_range
>   regulator: rk808: Add RK816 support
> 
>  .../bindings/mfd/rockchip,rk816.yaml          | 259 ++++++++++++++++++
>  drivers/mfd/Kconfig                           |   4 +-
>  drivers/mfd/rk8xx-core.c                      | 103 +++++++
>  drivers/mfd/rk8xx-i2c.c                       |  45 ++-
>  drivers/pinctrl/pinctrl-rk805.c               |  68 +++++
>  drivers/regulator/rk808-regulator.c           | 218 ++++++++++++++-
>  include/linux/mfd/rk808.h                     | 141 ++++++++++
>  7 files changed, 831 insertions(+), 7 deletions(-)
>  create mode 100644 
> Documentation/devicetree/bindings/mfd/rockchip,rk816.yaml