.../bindings/mfd/rockchip,rk816.yaml | 274 ++++++++++++++++++ drivers/mfd/Kconfig | 4 +- drivers/mfd/rk8xx-core.c | 104 +++++++ drivers/mfd/rk8xx-i2c.c | 45 ++- drivers/pinctrl/pinctrl-rk805.c | 69 +++++ drivers/regulator/rk808-regulator.c | 218 +++++++++++++- include/linux/mfd/rk808.h | 144 +++++++++ 7 files changed, 851 insertions(+), 7 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/rockchip,rk816.yaml
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, 3 buck- and 6 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 be enabled if no battery charging is
happening, but it will be enabled automatically if a battery is attached
and an external power source is connected. Thus that needs 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 `#define`s 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 a RK3126 board.
I'd like to gently ping pinctrl and regulator maintainers: please have a
look at this series. I've now added Sebastian Reichel to the recipients, as
he recently added RK806 support and re-worked parts of the rk8xx drivers.
changes since v1:
- integrated Krzysztof's feedback for the bindings and the resulting
driver changes
- fixed a sparse warning
link to v1:
https://lore.kernel.org/lkml/20240321143911.90210-2-knaerzche@gmail.com/
changes since v2:
- integrated Krzysztof's feedback to v2 of the bindings and the resulting
driver changes
link to v2:
https://lore.kernel.org/lkml/20240323085852.116756-1-knaerzche@gmail.com/
changes since v3:
- integrated Krzysztof's feedback to the bindings of v3
- integrated Lee's feedback to the mfd part of v3
link to v3:
https://lore.kernel.org/lkml/20240323132757.141861-2-knaerzche@gmail.com/
Please see individual patches for details about the changes.
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 | 274 ++++++++++++++++++
drivers/mfd/Kconfig | 4 +-
drivers/mfd/rk8xx-core.c | 104 +++++++
drivers/mfd/rk8xx-i2c.c | 45 ++-
drivers/pinctrl/pinctrl-rk805.c | 69 +++++
drivers/regulator/rk808-regulator.c | 218 +++++++++++++-
include/linux/mfd/rk808.h | 144 +++++++++
7 files changed, 851 insertions(+), 7 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/rockchip,rk816.yaml
--
2.43.2
On Tue, 16 Apr 2024 18:12:32 +0200, 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, 3 buck- and 6 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 be enabled if no battery charging is
> happening, but it will be enabled automatically if a battery is attached
> and an external power source is connected. Thus that needs 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 `#define`s I tried to re-use existing
> ones wherever possible.
>
> [...]
Applied, thanks!
[1/5] dt-bindings: mfd: Add rk816 binding
commit: 06dfb41b1cf8d64327e5c4391e165f466506c4f0
[2/5] mfd: rk8xx: Add RK816 support
commit: e9006f81faf8e438ea83626db578610e49f31576
[3/5] pinctrl: rk805: Add rk816 pinctrl support
commit: 1bd97d64b5f0c01d03ecc9473ccfcf180dbbf54a
[4/5] regulator: rk808: Support apply_bit for rk808_set_suspend_voltage_range
commit: 9f4e899c286b5127e2443d50e37ee2112efbfa2c
[5/5] regulator: rk808: Add RK816 support
commit: 5eb068da74a0b443fb99a89d9e5062691649c470
--
Lee Jones [李琼斯]
On Fri, 03 May 2024, Lee Jones wrote: > On Tue, 16 Apr 2024 18:12:32 +0200, 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, 3 buck- and 6 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 be enabled if no battery charging is > > happening, but it will be enabled automatically if a battery is attached > > and an external power source is connected. Thus that needs 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 `#define`s I tried to re-use existing > > ones wherever possible. > > > > [...] > > Applied, thanks! > > [1/5] dt-bindings: mfd: Add rk816 binding > commit: 06dfb41b1cf8d64327e5c4391e165f466506c4f0 > [2/5] mfd: rk8xx: Add RK816 support > commit: e9006f81faf8e438ea83626db578610e49f31576 > [3/5] pinctrl: rk805: Add rk816 pinctrl support > commit: 1bd97d64b5f0c01d03ecc9473ccfcf180dbbf54a > [4/5] regulator: rk808: Support apply_bit for rk808_set_suspend_voltage_range > commit: 9f4e899c286b5127e2443d50e37ee2112efbfa2c > [5/5] regulator: rk808: Add RK816 support > commit: 5eb068da74a0b443fb99a89d9e5062691649c470 Submitted for build testing. If successful, I'll follow-up with a PR. -- Lee Jones [李琼斯]
Am 03.05.24 um 10:18 schrieb Lee Jones: > On Fri, 03 May 2024, Lee Jones wrote: > >> On Tue, 16 Apr 2024 18:12:32 +0200, 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, 3 buck- and 6 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 be enabled if no battery charging is >>> happening, but it will be enabled automatically if a battery is attached >>> and an external power source is connected. Thus that needs 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 `#define`s I tried to re-use existing >>> ones wherever possible. >>> >>> [...] >> Applied, thanks! >> >> [1/5] dt-bindings: mfd: Add rk816 binding >> commit: 06dfb41b1cf8d64327e5c4391e165f466506c4f0 >> [2/5] mfd: rk8xx: Add RK816 support >> commit: e9006f81faf8e438ea83626db578610e49f31576 >> [3/5] pinctrl: rk805: Add rk816 pinctrl support >> commit: 1bd97d64b5f0c01d03ecc9473ccfcf180dbbf54a >> [4/5] regulator: rk808: Support apply_bit for rk808_set_suspend_voltage_range >> commit: 9f4e899c286b5127e2443d50e37ee2112efbfa2c >> [5/5] regulator: rk808: Add RK816 support >> commit: 5eb068da74a0b443fb99a89d9e5062691649c470 > Submitted for build testing. > > If successful, I'll follow-up with a PR. Great, thanks a lot. Alex
Hi Lee, it looks like all patches except the MFD ones have been reviewed/acked by now. I hope I integrated your feedback to v3 [0] in a way you were expecting. Also I was hoping this whole series could be go though the MFD tree, since all the none-MFD patches depend on the changes mfd-header. Please let me know if there is anything left for me to do. Thanks, Alex [0] https://lore.kernel.org/lkml/20240323132757.141861-2-knaerzche@gmail.com/T/#m1bb23196c192289f898aebc64ccf62edb9ef5b5a Am 16.04.24 um 18:12 schrieb Alex Bee: > 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, 3 buck- and 6 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 be enabled if no battery charging is > happening, but it will be enabled automatically if a battery is attached > and an external power source is connected. Thus that needs 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 `#define`s 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 a RK3126 board. > > I'd like to gently ping pinctrl and regulator maintainers: please have a > look at this series. I've now added Sebastian Reichel to the recipients, as > he recently added RK806 support and re-worked parts of the rk8xx drivers. > > changes since v1: > - integrated Krzysztof's feedback for the bindings and the resulting > driver changes > - fixed a sparse warning > > link to v1: > https://lore.kernel.org/lkml/20240321143911.90210-2-knaerzche@gmail.com/ > > changes since v2: > - integrated Krzysztof's feedback to v2 of the bindings and the resulting > driver changes > > link to v2: > https://lore.kernel.org/lkml/20240323085852.116756-1-knaerzche@gmail.com/ > > changes since v3: > - integrated Krzysztof's feedback to the bindings of v3 > - integrated Lee's feedback to the mfd part of v3 > > link to v3: > https://lore.kernel.org/lkml/20240323132757.141861-2-knaerzche@gmail.com/ > > Please see individual patches for details about the changes. > > 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 | 274 ++++++++++++++++++ > drivers/mfd/Kconfig | 4 +- > drivers/mfd/rk8xx-core.c | 104 +++++++ > drivers/mfd/rk8xx-i2c.c | 45 ++- > drivers/pinctrl/pinctrl-rk805.c | 69 +++++ > drivers/regulator/rk808-regulator.c | 218 +++++++++++++- > include/linux/mfd/rk808.h | 144 +++++++++ > 7 files changed, 851 insertions(+), 7 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/rockchip,rk816.yaml >
On Fri, 03 May 2024, Alex Bee wrote: > Hi Lee, > > it looks like all patches except the MFD ones have been reviewed/acked by > now. I hope I integrated your feedback to v3 [0] in a way you were > expecting. Also I was hoping this whole series could be go though the MFD > tree, since all the none-MFD patches depend on the changes mfd-header. > > Please let me know if there is anything left for me to do. I have the patch open 'right now', please bear with me. -- Lee Jones [李琼斯]
Enjoy!
The following changes since commit 4cece764965020c22cff7665b18a012006359095:
Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-pinctrl-regulator-v6.10
for you to fetch changes up to 5eb068da74a0b443fb99a89d9e5062691649c470:
regulator: rk808: Add RK816 support (2024-05-03 09:15:38 +0100)
----------------------------------------------------------------
Immutable branch between MFD, Pinctrl and Regulator due for the v6.10 merge window
----------------------------------------------------------------
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
.../devicetree/bindings/mfd/rockchip,rk816.yaml | 274 +++++++++++++++++++++
drivers/mfd/Kconfig | 4 +-
drivers/mfd/rk8xx-core.c | 104 ++++++++
drivers/mfd/rk8xx-i2c.c | 45 +++-
drivers/pinctrl/pinctrl-rk805.c | 69 ++++++
drivers/regulator/rk808-regulator.c | 218 +++++++++++++++-
include/linux/mfd/rk808.h | 144 +++++++++++
7 files changed, 851 insertions(+), 7 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/rockchip,rk816.yaml
--
Lee Jones [李琼斯]
© 2016 - 2025 Red Hat, Inc.