mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
pmic: Add Renesas RAA215300 PMIC driver
The RZ/G2L SMARC module is powered via a Renesas RAA215300 PMIC which provides several voltage converters, a real time clock (RTC) and reset control. A basic driver is implemented for this device so that we can read, write and dump the PMIC registers. The raa215300_bind() function is added as a stub, binding of the sysreset driver will be added in a later patch. Additional features of this PMIC (such as reset control) may be supported by future patches. Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
This commit is contained in:
parent
266e36f7ec
commit
af22872152
3 changed files with 51 additions and 0 deletions
|
@ -404,6 +404,15 @@ config PMIC_TPS65219
|
||||||
help
|
help
|
||||||
The TPS65219 is a PMIC containing a bunch of SMPS & LDOs.
|
The TPS65219 is a PMIC containing a bunch of SMPS & LDOs.
|
||||||
This driver binds the pmic children.
|
This driver binds the pmic children.
|
||||||
|
|
||||||
|
config PMIC_RAA215300
|
||||||
|
bool "Renesas RAA215300 PMIC driver"
|
||||||
|
depends on DM_PMIC
|
||||||
|
help
|
||||||
|
The Renesas RAA215300 PMIC driver includes RTC support, system reset
|
||||||
|
support and several voltage regulators. For now, this driver simply
|
||||||
|
allows register access and will bind the sysreset driver
|
||||||
|
(CONFIG_SYSRESET_RAA215300) if it is enabled.
|
||||||
endif
|
endif
|
||||||
|
|
||||||
config PMIC_TPS65217
|
config PMIC_TPS65217
|
||||||
|
|
|
@ -35,6 +35,7 @@ obj-$(CONFIG_PMIC_STPMIC1) += stpmic1.o
|
||||||
obj-$(CONFIG_PMIC_TPS65217) += pmic_tps65217.o
|
obj-$(CONFIG_PMIC_TPS65217) += pmic_tps65217.o
|
||||||
obj-$(CONFIG_PMIC_TPS65219) += tps65219.o
|
obj-$(CONFIG_PMIC_TPS65219) += tps65219.o
|
||||||
obj-$(CONFIG_PMIC_TPS65941) += tps65941.o
|
obj-$(CONFIG_PMIC_TPS65941) += tps65941.o
|
||||||
|
obj-$(CONFIG_PMIC_RAA215300) += raa215300.o
|
||||||
obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o
|
obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o
|
||||||
|
|
||||||
ifeq ($(CONFIG_$(SPL_)POWER_LEGACY),y)
|
ifeq ($(CONFIG_$(SPL_)POWER_LEGACY),y)
|
||||||
|
|
41
drivers/power/pmic/raa215300.c
Normal file
41
drivers/power/pmic/raa215300.c
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2023 Renesas Electronics Corporation
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dm.h>
|
||||||
|
#include <dm/device-internal.h>
|
||||||
|
#include <dm/lists.h>
|
||||||
|
#include <i2c.h>
|
||||||
|
#include <power/pmic.h>
|
||||||
|
|
||||||
|
#define RAA215300_REG_COUNT 0x80
|
||||||
|
|
||||||
|
static int raa215300_reg_count(struct udevice *dev)
|
||||||
|
{
|
||||||
|
return RAA215300_REG_COUNT;
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct dm_pmic_ops raa215300_ops = {
|
||||||
|
.reg_count = raa215300_reg_count,
|
||||||
|
.read = dm_i2c_read,
|
||||||
|
.write = dm_i2c_write,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct udevice_id raa215300_ids[] = {
|
||||||
|
{ .compatible = "renesas,raa215300" },
|
||||||
|
{ /* sentinel */ }
|
||||||
|
};
|
||||||
|
|
||||||
|
static int raa215300_bind(struct udevice *dev)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
U_BOOT_DRIVER(raa215300_pmic) = {
|
||||||
|
.name = "raa215300_pmic",
|
||||||
|
.id = UCLASS_PMIC,
|
||||||
|
.of_match = raa215300_ids,
|
||||||
|
.bind = raa215300_bind,
|
||||||
|
.ops = &raa215300_ops,
|
||||||
|
};
|
Loading…
Reference in a new issue