* [PATCH 1/6] mfd: rn5t568: rename to rn5t618
@ 2026-06-11 11:21 Lucas Stach
2026-06-11 11:21 ` [PATCH 2/6] mfd: rn5t618: use defined compatibles Lucas Stach
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Lucas Stach @ 2026-06-11 11:21 UTC (permalink / raw)
To: barebox
For unclear reasons the driver is based on the Linux rn5t618 driver,
but has been added to Barebox under a different name. To avoid
confusion sync the name with the Linux driver.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
drivers/mfd/Kconfig | 6 +-
drivers/mfd/Makefile | 2 +-
drivers/mfd/{rn5t568.c => rn5t618.c} | 76 +++++++--------
drivers/watchdog/Kconfig | 2 +-
include/mfd/rn5t568.h | 134 ---------------------------
include/mfd/rn5t618.h | 134 +++++++++++++++++++++++++++
6 files changed, 177 insertions(+), 177 deletions(-)
rename drivers/mfd/{rn5t568.c => rn5t618.c} (53%)
delete mode 100644 include/mfd/rn5t568.h
create mode 100644 include/mfd/rn5t618.h
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 22b57eee1669..305a79baca46 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -81,12 +81,12 @@ config MFD_PCA9450
help
Select this to support communication with the PCA9450 PMIC.
-config MFD_RN568PMIC
+config MFD_RN5T618
depends on I2C
select REGMAP_I2C
- bool "Ricoh RN5T568 MFD driver"
+ bool "Ricoh RN5T567/618 MFD driver"
help
- Select this to support communication with the Ricoh RN5T568 PMIC.
+ Select this to support communication with the Ricoh RN5T567/618 PMIC.
config MFD_SUPERIO
bool
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index 9d27b0bc336a..ae36d40d51be 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -15,7 +15,7 @@ obj-$(CONFIG_MFD_TWL4030) += twl4030.o
obj-$(CONFIG_MFD_TWL6030) += twl6030.o
obj-$(CONFIG_RAVE_SP_CORE) += rave-sp.o
obj-$(CONFIG_MFD_STPMIC1) += stpmic1.o
-obj-$(CONFIG_MFD_RN568PMIC) += rn5t568.o
+obj-$(CONFIG_MFD_RN5T618) += rn5t618.o
obj-$(CONFIG_MFD_SUPERIO) += superio.o
obj-$(CONFIG_FINTEK_SUPERIO) += fintek-superio.o
obj-$(CONFIG_SMSC_SUPERIO) += smsc-superio.o
diff --git a/drivers/mfd/rn5t568.c b/drivers/mfd/rn5t618.c
similarity index 53%
rename from drivers/mfd/rn5t568.c
rename to drivers/mfd/rn5t618.c
index 5a0cec464a07..3af3e6e3e039 100644
--- a/drivers/mfd/rn5t568.c
+++ b/drivers/mfd/rn5t618.c
@@ -16,29 +16,29 @@
#include <linux/regmap.h>
#include <reset_source.h>
#include <restart.h>
-#include <mfd/rn5t568.h>
+#include <mfd/rn5t618.h>
-struct rn5t568 {
+struct rn5t618 {
struct restart_handler restart;
struct regmap *regmap;
};
-static void rn5t568_restart(struct restart_handler *rst,
+static void rn5t618_restart(struct restart_handler *rst,
unsigned long flags)
{
- struct rn5t568 *rn5t568 = container_of(rst, struct rn5t568, restart);
+ struct rn5t618 *rn5t618 = container_of(rst, struct rn5t618, restart);
- regmap_write(rn5t568->regmap, RN5T568_SLPCNT, RN5T568_SLPCNT_SWPPWROFF);
+ regmap_write(rn5t618->regmap, RN5T618_SLPCNT, RN5T618_SLPCNT_SWPPWROFF);
}
-static int rn5t568_reset_reason_detect(struct device *dev,
+static int rn5t618_reset_reason_detect(struct device *dev,
struct regmap *regmap)
{
enum reset_src_type type;
unsigned int reg;
int ret;
- ret = regmap_read(regmap, RN5T568_PONHIS, ®);
+ ret = regmap_read(regmap, RN5T618_PONHIS, ®);
if (ret)
return ret;
@@ -49,32 +49,32 @@ static int rn5t568_reset_reason_detect(struct device *dev,
return 0;
}
- if (reg & (RN5T568_PONHIS_ON_EXTINPON | RN5T568_PONHIS_ON_PWRONPON)) {
+ if (reg & (RN5T618_PONHIS_ON_EXTINPON | RN5T618_PONHIS_ON_PWRONPON)) {
type = RESET_POR;
- } else if (!(reg & RN5T568_PONHIS_ON_REPWRPON)) {
+ } else if (!(reg & RN5T618_PONHIS_ON_REPWRPON)) {
return -EINVAL;
} else {
- ret = regmap_read(regmap, RN5T568_POFFHIS, ®);
+ ret = regmap_read(regmap, RN5T618_POFFHIS, ®);
if (ret)
return ret;
dev_dbg(dev, "Power-off history: %x\n", reg);
- if (reg & RN5T568_POFFHIS_PWRONPOFF)
+ if (reg & RN5T618_POFFHIS_PWRONPOFF)
type = RESET_POR;
- else if (reg & RN5T568_POFFHIS_TSHUTPOFF)
+ else if (reg & RN5T618_POFFHIS_TSHUTPOFF)
type = RESET_THERM;
- else if (reg & RN5T568_POFFHIS_VINDETPOFF)
+ else if (reg & RN5T618_POFFHIS_VINDETPOFF)
type = RESET_BROWNOUT;
- else if (reg & RN5T568_POFFHIS_IODETPOFF)
+ else if (reg & RN5T618_POFFHIS_IODETPOFF)
type = RESET_UKWN;
- else if (reg & RN5T568_POFFHIS_CPUPOFF)
+ else if (reg & RN5T618_POFFHIS_CPUPOFF)
type = RESET_RST;
- else if (reg & RN5T568_POFFHIS_WDGPOFF)
+ else if (reg & RN5T618_POFFHIS_WDGPOFF)
type = RESET_WDG;
- else if (reg & RN5T568_POFFHIS_DCLIMPOFF)
+ else if (reg & RN5T618_POFFHIS_DCLIMPOFF)
type = RESET_BROWNOUT;
- else if (reg & RN5T568_POFFHIS_N_OEPOFF)
+ else if (reg & RN5T618_POFFHIS_N_OEPOFF)
type = RESET_EXT;
else
return -EINVAL;
@@ -84,20 +84,20 @@ static int rn5t568_reset_reason_detect(struct device *dev,
return 0;
}
-static const struct regmap_config rn5t568_regmap_config = {
+static const struct regmap_config rn5t618_regmap_config = {
.reg_bits = 8,
.val_bits = 8,
- .max_register = RN5T568_MAX_REG,
+ .max_register = RN5T618_MAX_REG,
};
-static int __init rn5t568_i2c_probe(struct device *dev)
+static int __init rn5t618_i2c_probe(struct device *dev)
{
- struct rn5t568 *pmic_instance;
+ struct rn5t618 *pmic_instance;
unsigned char reg[2];
int ret;
- pmic_instance = xzalloc(sizeof(struct rn5t568));
- pmic_instance->regmap = regmap_init_i2c(to_i2c_client(dev), &rn5t568_regmap_config);
+ pmic_instance = xzalloc(sizeof(struct rn5t618));
+ pmic_instance->regmap = regmap_init_i2c(to_i2c_client(dev), &rn5t618_regmap_config);
if (IS_ERR(pmic_instance->regmap))
return PTR_ERR(pmic_instance->regmap);
@@ -105,41 +105,41 @@ static int __init rn5t568_i2c_probe(struct device *dev)
if (ret)
return ret;
- ret = regmap_bulk_read(pmic_instance->regmap, RN5T568_LSIVER, ®, 2);
+ ret = regmap_bulk_read(pmic_instance->regmap, RN5T618_LSIVER, ®, 2);
if (ret) {
dev_err(dev, "Failed to read PMIC version via I2C\n");
return ret;
}
- dev_info(dev, "Found NMD RN5T568 LSI %x, OTP: %x\n", reg[0], reg[1]);
+ dev_info(dev, "Found NMD RN5T567/618 LSI %x, OTP: %x\n", reg[0], reg[1]);
/* Settings used to trigger software reset and by a watchdog trigger */
- regmap_write(pmic_instance->regmap, RN5T568_REPCNT, RN5T568_REPCNT_OFF_RESETO_16MS |
- RN5T568_REPCNT_OFF_REPWRTIM_1000MS | RN5T568_REPCNT_OFF_REPWRON);
+ regmap_write(pmic_instance->regmap, RN5T618_REPCNT, RN5T618_REPCNT_OFF_RESETO_16MS |
+ RN5T618_REPCNT_OFF_REPWRTIM_1000MS | RN5T618_REPCNT_OFF_REPWRON);
pmic_instance->restart.of_node = dev->of_node;
- pmic_instance->restart.name = "RN5T568";
- pmic_instance->restart.restart = &rn5t568_restart;
+ pmic_instance->restart.name = "RN5T618";
+ pmic_instance->restart.restart = &rn5t618_restart;
restart_handler_register(&pmic_instance->restart);
dev_dbg(dev, "RN5t: Restart handler with priority %d registered\n", pmic_instance->restart.priority);
- ret = rn5t568_reset_reason_detect(dev, pmic_instance->regmap);
+ ret = rn5t618_reset_reason_detect(dev, pmic_instance->regmap);
if (ret)
dev_warn(dev, "Failed to query reset reason\n");
return of_platform_populate(dev->of_node, NULL, dev);
}
-static __maybe_unused const struct of_device_id rn5t568_of_match[] = {
+static __maybe_unused const struct of_device_id rn5t618_of_match[] = {
{ .compatible = "ricoh,rn5t568", .data = NULL, },
{ }
};
-MODULE_DEVICE_TABLE(of, rn5t568_of_match);
+MODULE_DEVICE_TABLE(of, rn5t618_of_match);
-static struct driver rn5t568_i2c_driver = {
- .name = "rn5t568-i2c",
- .probe = rn5t568_i2c_probe,
- .of_compatible = DRV_OF_COMPAT(rn5t568_of_match),
+static struct driver rn5t618_i2c_driver = {
+ .name = "rn5t618-i2c",
+ .probe = rn5t618_i2c_probe,
+ .of_compatible = DRV_OF_COMPAT(rn5t618_of_match),
};
-coredevice_i2c_driver(rn5t568_i2c_driver);
+coredevice_i2c_driver(rn5t618_i2c_driver);
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index c962e8f22e5a..97a305c164dc 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -128,7 +128,7 @@ config STPMIC1_WATCHDOG
config RN568_WATCHDOG
bool "Ricoh RN5t568 PMIC based Watchdog"
- depends on MFD_RN568PMIC
+ depends on MFD_RN5T618
help
Enable to support system control via the PMIC based watchdog.
diff --git a/include/mfd/rn5t568.h b/include/mfd/rn5t568.h
deleted file mode 100644
index 04b6c832a5d5..000000000000
--- a/include/mfd/rn5t568.h
+++ /dev/null
@@ -1,134 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright (C) 2014 Beniamino Galvani <b.galvani@gmail.com>
- * Copyright (C) 2016 Toradex AG
- */
-
-#ifndef __MFD_RN5T568_H
-#define __MFD_RN5T568_H
-
-#include <linux/bits.h>
-
-/* RN5T568 registers */
-enum {
- RN5T568_LSIVER = 0x00,
- RN5T568_OTPVER = 0x01,
- RN5T568_IODAC = 0x02,
- RN5T568_VINDAC = 0x03,
- RN5T568_OUT32KEN = 0x05,
-
- RN5T568_CPUCNT = 0x06,
-
- RN5T568_PSWR = 0x07,
- RN5T568_PONHIS = 0x09,
- RN5T568_POFFHIS = 0x0A,
- RN5T568_WATCHDOG = 0x0B,
- RN5T568_WATCHDOGCNT = 0x0C,
- RN5T568_PWRFUNC = 0x0D,
- RN5T568_SLPCNT = 0x0E,
- RN5T568_REPCNT = 0x0F,
- RN5T568_PWRONTIMSET = 0x10,
- RN5T568_NOETIMSETCNT = 0x11,
- RN5T568_PWRIREN = 0x12,
- RN5T568_PWRIRQ = 0x13,
- RN5T568_PWRMON = 0x14,
- RN5T568_PWRIRSEL = 0x15,
-
- RN5T568_DC1_SLOT = 0x16,
- RN5T568_DC2_SLOT = 0x17,
- RN5T568_DC3_SLOT = 0x18,
- RN5T568_DC4_SLOT = 0x19,
-
- RN5T568_LDO1_SLOT = 0x1B,
- RN5T568_LDO2_SLOT = 0x1C,
- RN5T568_LDO3_SLOT = 0x1D,
- RN5T568_LDO4_SLOT = 0x1E,
- RN5T568_LDO5_SLOT = 0x1F,
-
- RN5T568_PSO0_SLOT = 0x25,
- RN5T568_PSO1_SLOT = 0x26,
- RN5T568_PSO2_SLOT = 0x27,
- RN5T568_PSO3_SLOT = 0x28,
-
- RN5T568_LDORTC1_SLOT = 0x2A,
-
- RN5T568_DC1CTL = 0x2C,
- RN5T568_DC1CTL2 = 0x2D,
- RN5T568_DC2CTL = 0x2E,
- RN5T568_DC2CTL2 = 0x2F,
- RN5T568_DC3CTL = 0x30,
- RN5T568_DC3CTL2 = 0x31,
- RN5T568_DC4CTL = 0x32,
- RN5T568_DC4CTL2 = 0x33,
-
- RN5T568_DC1DAC = 0x36,
- RN5T568_DC2DAC = 0x37,
- RN5T568_DC3DAC = 0x38,
- RN5T568_DC4DAC = 0x39,
-
- RN5T568_DC1DAC_SLP = 0x3B,
- RN5T568_DC2DAC_SLP = 0x3C,
- RN5T568_DC3DAC_SLP = 0x3D,
- RN5T568_DC4DAC_SLP = 0x3E,
-
- RN5T568_DCIREN = 0x40,
- RN5T568_DCIRQ = 0x41,
- RN5T568_DCIRMON = 0x42,
-
- RN5T568_LDOEN1 = 0x44,
- RN5T568_LDOEN2 = 0x45,
- RN5T568_LDODIS1 = 0x46,
-
- RN5T568_LDO1DAC = 0x4C,
- RN5T568_LDO2DAC = 0x4D,
- RN5T568_LDO3DAC = 0x4E,
- RN5T568_LDO4DAC = 0x4F,
- RN5T568_LDO5DAC = 0x50,
-
- RN5T568_LDORTC1DAC = 0x56,
- RN5T568_LDORTC2DAC = 0x57,
-
- RN5T568_LDO1DAC_SLP = 0x58,
- RN5T568_LDO2DAC_SLP = 0x59,
- RN5T568_LDO3DAC_SLP = 0x5A,
- RN5T568_LDO4DAC_SLP = 0x5B,
- RN5T568_LDO5DAC_SLP = 0x5C,
-
- RN5T568_IOSEL = 0x90,
- RN5T568_IOOUT = 0x91,
- RN5T568_GPEDGE1 = 0x92,
- RN5T568_EN_GPIR = 0x94,
- RN5T568_IR_GPR = 0x95,
- RN5T568_IR_GPF = 0x96,
- RN5T568_MON_IOIN = 0x97,
- RN5T568_GPLED_FUNC = 0x98,
- RN5T568_INTPOL = 0x9C,
- RN5T568_INTEN = 0x9D,
- RN5T568_INTMON = 0x9E,
-
- RN5T568_PREVINDAC = 0xB0,
- RN5T568_OVTEMP = 0xBC,
-
- RN5T568_MAX_REG = 0xBC,
-};
-
-#define RN5T568_PONHIS_ON_EXTINPON BIT(3)
-#define RN5T568_PONHIS_ON_REPWRPON BIT(1)
-#define RN5T568_PONHIS_ON_PWRONPON BIT(0)
-
-#define RN5T568_POFFHIS_N_OEPOFF BIT(7)
-#define RN5T568_POFFHIS_DCLIMPOFF BIT(6)
-#define RN5T568_POFFHIS_WDGPOFF BIT(5)
-#define RN5T568_POFFHIS_CPUPOFF BIT(4)
-#define RN5T568_POFFHIS_IODETPOFF BIT(3)
-#define RN5T568_POFFHIS_VINDETPOFF BIT(2)
-#define RN5T568_POFFHIS_TSHUTPOFF BIT(1)
-#define RN5T568_POFFHIS_PWRONPOFF BIT(0)
-
-#define RN5T568_SLPCNT_SWPPWROFF BIT(0)
-
-#define RN5T568_REPCNT_OFF_RESETO_16MS 0x30
-#define RN5T568_REPCNT_OFF_REPWRTIM_1000MS 0x06
-#define RN5T568_REPCNT_OFF_REPWRON BIT(0)
-
-#endif
diff --git a/include/mfd/rn5t618.h b/include/mfd/rn5t618.h
new file mode 100644
index 000000000000..196ae00fb5b1
--- /dev/null
+++ b/include/mfd/rn5t618.h
@@ -0,0 +1,134 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (C) 2014 Beniamino Galvani <b.galvani@gmail.com>
+ * Copyright (C) 2016 Toradex AG
+ */
+
+#ifndef __MFD_RN5T618_H
+#define __MFD_RN5T618_H
+
+#include <linux/bits.h>
+
+/* RN5T618 registers */
+enum {
+ RN5T618_LSIVER = 0x00,
+ RN5T618_OTPVER = 0x01,
+ RN5T618_IODAC = 0x02,
+ RN5T618_VINDAC = 0x03,
+ RN5T618_OUT32KEN = 0x05,
+
+ RN5T618_CPUCNT = 0x06,
+
+ RN5T618_PSWR = 0x07,
+ RN5T618_PONHIS = 0x09,
+ RN5T618_POFFHIS = 0x0A,
+ RN5T618_WATCHDOG = 0x0B,
+ RN5T618_WATCHDOGCNT = 0x0C,
+ RN5T618_PWRFUNC = 0x0D,
+ RN5T618_SLPCNT = 0x0E,
+ RN5T618_REPCNT = 0x0F,
+ RN5T618_PWRONTIMSET = 0x10,
+ RN5T618_NOETIMSETCNT = 0x11,
+ RN5T618_PWRIREN = 0x12,
+ RN5T618_PWRIRQ = 0x13,
+ RN5T618_PWRMON = 0x14,
+ RN5T618_PWRIRSEL = 0x15,
+
+ RN5T618_DC1_SLOT = 0x16,
+ RN5T618_DC2_SLOT = 0x17,
+ RN5T618_DC3_SLOT = 0x18,
+ RN5T618_DC4_SLOT = 0x19,
+
+ RN5T618_LDO1_SLOT = 0x1B,
+ RN5T618_LDO2_SLOT = 0x1C,
+ RN5T618_LDO3_SLOT = 0x1D,
+ RN5T618_LDO4_SLOT = 0x1E,
+ RN5T618_LDO5_SLOT = 0x1F,
+
+ RN5T618_PSO0_SLOT = 0x25,
+ RN5T618_PSO1_SLOT = 0x26,
+ RN5T618_PSO2_SLOT = 0x27,
+ RN5T618_PSO3_SLOT = 0x28,
+
+ RN5T618_LDORTC1_SLOT = 0x2A,
+
+ RN5T618_DC1CTL = 0x2C,
+ RN5T618_DC1CTL2 = 0x2D,
+ RN5T618_DC2CTL = 0x2E,
+ RN5T618_DC2CTL2 = 0x2F,
+ RN5T618_DC3CTL = 0x30,
+ RN5T618_DC3CTL2 = 0x31,
+ RN5T618_DC4CTL = 0x32,
+ RN5T618_DC4CTL2 = 0x33,
+
+ RN5T618_DC1DAC = 0x36,
+ RN5T618_DC2DAC = 0x37,
+ RN5T618_DC3DAC = 0x38,
+ RN5T618_DC4DAC = 0x39,
+
+ RN5T618_DC1DAC_SLP = 0x3B,
+ RN5T618_DC2DAC_SLP = 0x3C,
+ RN5T618_DC3DAC_SLP = 0x3D,
+ RN5T618_DC4DAC_SLP = 0x3E,
+
+ RN5T618_DCIREN = 0x40,
+ RN5T618_DCIRQ = 0x41,
+ RN5T618_DCIRMON = 0x42,
+
+ RN5T618_LDOEN1 = 0x44,
+ RN5T618_LDOEN2 = 0x45,
+ RN5T618_LDODIS1 = 0x46,
+
+ RN5T618_LDO1DAC = 0x4C,
+ RN5T618_LDO2DAC = 0x4D,
+ RN5T618_LDO3DAC = 0x4E,
+ RN5T618_LDO4DAC = 0x4F,
+ RN5T618_LDO5DAC = 0x50,
+
+ RN5T618_LDORTC1DAC = 0x56,
+ RN5T618_LDORTC2DAC = 0x57,
+
+ RN5T618_LDO1DAC_SLP = 0x58,
+ RN5T618_LDO2DAC_SLP = 0x59,
+ RN5T618_LDO3DAC_SLP = 0x5A,
+ RN5T618_LDO4DAC_SLP = 0x5B,
+ RN5T618_LDO5DAC_SLP = 0x5C,
+
+ RN5T618_IOSEL = 0x90,
+ RN5T618_IOOUT = 0x91,
+ RN5T618_GPEDGE1 = 0x92,
+ RN5T618_EN_GPIR = 0x94,
+ RN5T618_IR_GPR = 0x95,
+ RN5T618_IR_GPF = 0x96,
+ RN5T618_MON_IOIN = 0x97,
+ RN5T618_GPLED_FUNC = 0x98,
+ RN5T618_INTPOL = 0x9C,
+ RN5T618_INTEN = 0x9D,
+ RN5T618_INTMON = 0x9E,
+
+ RN5T618_PREVINDAC = 0xB0,
+ RN5T618_OVTEMP = 0xBC,
+
+ RN5T618_MAX_REG = 0xBC,
+};
+
+#define RN5T618_PONHIS_ON_EXTINPON BIT(3)
+#define RN5T618_PONHIS_ON_REPWRPON BIT(1)
+#define RN5T618_PONHIS_ON_PWRONPON BIT(0)
+
+#define RN5T618_POFFHIS_N_OEPOFF BIT(7)
+#define RN5T618_POFFHIS_DCLIMPOFF BIT(6)
+#define RN5T618_POFFHIS_WDGPOFF BIT(5)
+#define RN5T618_POFFHIS_CPUPOFF BIT(4)
+#define RN5T618_POFFHIS_IODETPOFF BIT(3)
+#define RN5T618_POFFHIS_VINDETPOFF BIT(2)
+#define RN5T618_POFFHIS_TSHUTPOFF BIT(1)
+#define RN5T618_POFFHIS_PWRONPOFF BIT(0)
+
+#define RN5T618_SLPCNT_SWPPWROFF BIT(0)
+
+#define RN5T618_REPCNT_OFF_RESETO_16MS 0x30
+#define RN5T618_REPCNT_OFF_REPWRTIM_1000MS 0x06
+#define RN5T618_REPCNT_OFF_REPWRON BIT(0)
+
+#endif
base-commit: 6c70fb327d486376c1f2e37dfff2212cb9eebb1b
--
2.47.3
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 2/6] mfd: rn5t618: use defined compatibles
2026-06-11 11:21 [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Lucas Stach
@ 2026-06-11 11:21 ` Lucas Stach
2026-06-11 11:21 ` [PATCH 3/6] mfd: rn5t618: demote probe message to debug level Lucas Stach
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Lucas Stach @ 2026-06-11 11:21 UTC (permalink / raw)
To: barebox
Match to the compatibles defined in the ricoh,rn5t618.yaml DT schema.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
drivers/mfd/rn5t618.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/mfd/rn5t618.c b/drivers/mfd/rn5t618.c
index 3af3e6e3e039..2cecdac49b5f 100644
--- a/drivers/mfd/rn5t618.c
+++ b/drivers/mfd/rn5t618.c
@@ -131,7 +131,9 @@ static int __init rn5t618_i2c_probe(struct device *dev)
}
static __maybe_unused const struct of_device_id rn5t618_of_match[] = {
- { .compatible = "ricoh,rn5t568", .data = NULL, },
+ { .compatible = "ricoh,rn5t567" },
+ { .compatible = "ricoh,rn5t618" },
+ { .compatible = "ricoh,rc5t619" },
{ }
};
MODULE_DEVICE_TABLE(of, rn5t618_of_match);
--
2.47.3
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 3/6] mfd: rn5t618: demote probe message to debug level
2026-06-11 11:21 [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Lucas Stach
2026-06-11 11:21 ` [PATCH 2/6] mfd: rn5t618: use defined compatibles Lucas Stach
@ 2026-06-11 11:21 ` Lucas Stach
2026-06-11 11:21 ` [PATCH 4/6] mfd: rn5t618: wait a bit after triggering restart Lucas Stach
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Lucas Stach @ 2026-06-11 11:21 UTC (permalink / raw)
To: barebox
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
drivers/mfd/rn5t618.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/rn5t618.c b/drivers/mfd/rn5t618.c
index 2cecdac49b5f..d0c8824489a1 100644
--- a/drivers/mfd/rn5t618.c
+++ b/drivers/mfd/rn5t618.c
@@ -111,7 +111,7 @@ static int __init rn5t618_i2c_probe(struct device *dev)
return ret;
}
- dev_info(dev, "Found NMD RN5T567/618 LSI %x, OTP: %x\n", reg[0], reg[1]);
+ dev_dbg(dev, "Found NMD RN5T567/618 LSI %x, OTP: %x\n", reg[0], reg[1]);
/* Settings used to trigger software reset and by a watchdog trigger */
regmap_write(pmic_instance->regmap, RN5T618_REPCNT, RN5T618_REPCNT_OFF_RESETO_16MS |
--
2.47.3
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 4/6] mfd: rn5t618: wait a bit after triggering restart
2026-06-11 11:21 [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Lucas Stach
2026-06-11 11:21 ` [PATCH 2/6] mfd: rn5t618: use defined compatibles Lucas Stach
2026-06-11 11:21 ` [PATCH 3/6] mfd: rn5t618: demote probe message to debug level Lucas Stach
@ 2026-06-11 11:21 ` Lucas Stach
2026-06-11 11:21 ` [PATCH 5/6] watchdog: RN568: rename to rn5t618 Lucas Stach
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Lucas Stach @ 2026-06-11 11:21 UTC (permalink / raw)
To: barebox
The shutdown sequence performed by the PMIC after the
restart is triggered isn't instantaneous. Wait a bit
to allow the PMIC to act on our request.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
drivers/mfd/rn5t618.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/mfd/rn5t618.c b/drivers/mfd/rn5t618.c
index d0c8824489a1..d757802b5363 100644
--- a/drivers/mfd/rn5t618.c
+++ b/drivers/mfd/rn5t618.c
@@ -29,6 +29,8 @@ static void rn5t618_restart(struct restart_handler *rst,
struct rn5t618 *rn5t618 = container_of(rst, struct rn5t618, restart);
regmap_write(rn5t618->regmap, RN5T618_SLPCNT, RN5T618_SLPCNT_SWPPWROFF);
+
+ mdelay(100);
}
static int rn5t618_reset_reason_detect(struct device *dev,
--
2.47.3
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 5/6] watchdog: RN568: rename to rn5t618
2026-06-11 11:21 [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Lucas Stach
` (2 preceding siblings ...)
2026-06-11 11:21 ` [PATCH 4/6] mfd: rn5t618: wait a bit after triggering restart Lucas Stach
@ 2026-06-11 11:21 ` Lucas Stach
2026-06-11 11:21 ` [PATCH 6/6] rn5t618: mfd/watchdog: switch to mfd device population Lucas Stach
2026-06-15 7:50 ` [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Sascha Hauer
5 siblings, 0 replies; 7+ messages in thread
From: Lucas Stach @ 2026-06-11 11:21 UTC (permalink / raw)
To: barebox
Align driver name with the Linux driver.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
drivers/watchdog/Kconfig | 4 +-
drivers/watchdog/Makefile | 2 +-
drivers/watchdog/rn5t568_wdt.c | 147 ---------------------------------
drivers/watchdog/rn5t618_wdt.c | 140 +++++++++++++++++++++++++++++++
include/mfd/rn5t618.h | 6 ++
5 files changed, 149 insertions(+), 150 deletions(-)
delete mode 100644 drivers/watchdog/rn5t568_wdt.c
create mode 100644 drivers/watchdog/rn5t618_wdt.c
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 97a305c164dc..14fdb7cf68f3 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -126,8 +126,8 @@ config STPMIC1_WATCHDOG
help
Enable to support configuration of the stpmic1's built-in watchdog.
-config RN568_WATCHDOG
- bool "Ricoh RN5t568 PMIC based Watchdog"
+config RN5T618_WATCHDOG
+ bool "Ricoh RN5T618/567 PMIC based Watchdog"
depends on MFD_RN5T618
help
Enable to support system control via the PMIC based watchdog.
diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
index 187ab247ddcf..c49d090f8d7c 100644
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
@@ -17,7 +17,7 @@ obj-$(CONFIG_ARCH_BCM283X) += bcm2835_wdt.o
obj-$(CONFIG_RAVE_SP_WATCHDOG) += rave-sp-wdt.o
obj-$(CONFIG_STM32_IWDG_WATCHDOG) += stm32_iwdg.o
obj-$(CONFIG_STPMIC1_WATCHDOG) += stpmic1_wdt.o
-obj-$(CONFIG_RN568_WATCHDOG) += rn5t568_wdt.o
+obj-$(CONFIG_RN5T618_WATCHDOG) += rn5t618_wdt.o
obj-$(CONFIG_F71808E_WDT) += f71808e_wdt.o
obj-$(CONFIG_GPIO_WATCHDOG) += gpio_wdt.o
obj-$(CONFIG_ITCO_WDT) += itco_wdt.o
diff --git a/drivers/watchdog/rn5t568_wdt.c b/drivers/watchdog/rn5t568_wdt.c
deleted file mode 100644
index 8c3e4175f9c0..000000000000
--- a/drivers/watchdog/rn5t568_wdt.c
+++ /dev/null
@@ -1,147 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Watchdog driver for Ricoh RN5T618 PMIC
- *
- * Copyright (C) 2014 Beniamino Galvani <b.galvani@gmail.com>
- */
-
-#include <common.h>
-#include <init.h>
-#include <watchdog.h>
-#include <linux/regmap.h>
-#include <of.h>
-
-#define RN5T568_WATCHDOG 0x0b
-# define RN5T568_WATCHDOG_WDPWROFFEN BIT(2)
-# define RN5T568_WATCHDOG_WDOGTIM_M (BIT(0) | BIT(1))
-#define RN5T568_PWRIREN 0x12
-# define RN5T568_PWRIREN_EN_WDOG BIT(6)
-#define RN5T568_PWRIRQ 0x13
-# define RN5T568_PWRIRQ_IR_WDOG BIT(6)
-
-struct rn5t568_wdt {
- struct watchdog wdd;
- struct regmap *regmap;
- unsigned int timeout;
-};
-
-struct rn5t568_wdt_tim {
- u8 reg_val;
- u8 time;
-};
-
-static const struct rn5t568_wdt_tim rn5t568_wdt_timeout[] = {
- { .reg_val = 0, .time = 1, },
- { .reg_val = 1, .time = 8, },
- { .reg_val = 2, .time = 32, },
- { .reg_val = 3, .time = 128, },
-};
-
-#define PMIC_WDT_MAX_TIMEOUT 128
-
-static int rn5t568_wdt_start(struct regmap *regmap, int idx)
-{
- int ret;
-
- ret = regmap_update_bits(regmap, RN5T568_WATCHDOG, RN5T568_WATCHDOG_WDOGTIM_M,
- rn5t568_wdt_timeout[idx].reg_val);
- if (ret)
- return ret;
-
- regmap_clear_bits(regmap, RN5T568_PWRIRQ, RN5T568_PWRIRQ_IR_WDOG);
- regmap_set_bits(regmap, RN5T568_PWRIREN, RN5T568_PWRIREN_EN_WDOG);
-
- pr_debug("RN5t: Starting the watchdog with %u seconds\n", rn5t568_wdt_timeout[idx].time);
-
- return regmap_set_bits(regmap, RN5T568_WATCHDOG, RN5T568_WATCHDOG_WDPWROFFEN);
-}
-
-static int rn5t568_wdt_stop(struct regmap *regmap)
-{
- int ret;
-
- ret = regmap_clear_bits(regmap, RN5T568_PWRIREN, RN5T568_PWRIREN_EN_WDOG);
- if (ret)
- return ret;
-
- return regmap_clear_bits(regmap, RN5T568_WATCHDOG, RN5T568_WATCHDOG_WDPWROFFEN);
-}
-
-static int rn5t568_wdt_ping(struct regmap *regmap)
-{
- unsigned int val;
- int ret;
-
- ret = regmap_read(regmap, RN5T568_WATCHDOG, &val);
- if (ret)
- return ret;
-
- return regmap_write(regmap, RN5T568_WATCHDOG, val);
-}
-
-static int rn5t568_wdt_set_timeout(struct watchdog *wdd, unsigned int timeout)
-{
- struct rn5t568_wdt *wdt = container_of(wdd, struct rn5t568_wdt, wdd);
- int ret, i;
-
- if (!timeout)
- return rn5t568_wdt_stop(wdt->regmap);
-
- for (i = 0; i < ARRAY_SIZE(rn5t568_wdt_timeout); i++) {
- if (timeout < rn5t568_wdt_timeout[i].time)
- break;
- }
-
- if (i == ARRAY_SIZE(rn5t568_wdt_timeout))
- return -EINVAL;
-
- if (wdt->timeout == timeout)
- return rn5t568_wdt_ping(wdt->regmap);
-
- ret = rn5t568_wdt_start(wdt->regmap, i);
- if (ret)
- return ret;
-
- wdt->timeout = rn5t568_wdt_timeout[i].time;
-
- return ret;
-}
-
-static int rn5t568_wdt_probe(struct device *dev)
-{
- struct rn5t568_wdt *wdt;
- struct watchdog *wdd;
- unsigned int val;
- int ret;
-
- wdt = xzalloc(sizeof(*wdt));
-
- wdt->regmap = dev_get_regmap(dev->parent, NULL);
- if (!wdt->regmap)
- return -ENOENT;
-
- wdd = &wdt->wdd;
- wdd->hwdev = dev;
- wdd->set_timeout = rn5t568_wdt_set_timeout;
- wdd->timeout_max = PMIC_WDT_MAX_TIMEOUT;
-
- ret = regmap_read(wdt->regmap, RN5T568_WATCHDOG, &val);
- if (ret == 0)
- wdd->running = val & RN5T568_WATCHDOG_WDPWROFFEN ?
- WDOG_HW_RUNNING : WDOG_HW_NOT_RUNNING;
-
- return watchdog_register(wdd);
-}
-
-static __maybe_unused const struct of_device_id rn5t568_wdt_of_match[] = {
- { .compatible = "ricoh,rn5t568-wdt" },
- { /* sentinel */ }
-};
-MODULE_DEVICE_TABLE(of, rn5t568_wdt_of_match);
-
-static struct driver rn5t568_wdt_driver = {
- .name = "rn5t568-wdt",
- .probe = rn5t568_wdt_probe,
- .of_compatible = DRV_OF_COMPAT(rn5t568_wdt_of_match),
-};
-device_platform_driver(rn5t568_wdt_driver);
diff --git a/drivers/watchdog/rn5t618_wdt.c b/drivers/watchdog/rn5t618_wdt.c
new file mode 100644
index 000000000000..95089ac7c885
--- /dev/null
+++ b/drivers/watchdog/rn5t618_wdt.c
@@ -0,0 +1,140 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Watchdog driver for Ricoh RN5T618 PMIC
+ *
+ * Copyright (C) 2014 Beniamino Galvani <b.galvani@gmail.com>
+ */
+
+#include <common.h>
+#include <init.h>
+#include <watchdog.h>
+#include <linux/regmap.h>
+#include <of.h>
+#include <mfd/rn5t618.h>
+
+struct rn5t618_wdt {
+ struct watchdog wdd;
+ struct regmap *regmap;
+ unsigned int timeout;
+};
+
+struct rn5t618_wdt_tim {
+ u8 reg_val;
+ u8 time;
+};
+
+static const struct rn5t618_wdt_tim rn5t618_wdt_timeout[] = {
+ { .reg_val = 0, .time = 1, },
+ { .reg_val = 1, .time = 8, },
+ { .reg_val = 2, .time = 32, },
+ { .reg_val = 3, .time = 128, },
+};
+
+#define PMIC_WDT_MAX_TIMEOUT 128
+
+static int rn5t618_wdt_start(struct regmap *regmap, int idx)
+{
+ int ret;
+
+ ret = regmap_update_bits(regmap, RN5T618_WATCHDOG, RN5T618_WATCHDOG_WDOGTIM_M,
+ rn5t618_wdt_timeout[idx].reg_val);
+ if (ret)
+ return ret;
+
+ regmap_clear_bits(regmap, RN5T618_PWRIRQ, RN5T618_PWRIRQ_IR_WDOG);
+ regmap_set_bits(regmap, RN5T618_PWRIREN, RN5T618_PWRIREN_EN_WDOG);
+
+ pr_debug("RN5t: Starting the watchdog with %u seconds\n", rn5t618_wdt_timeout[idx].time);
+
+ return regmap_set_bits(regmap, RN5T618_WATCHDOG, RN5T618_WATCHDOG_WDPWROFFEN);
+}
+
+static int rn5t618_wdt_stop(struct regmap *regmap)
+{
+ int ret;
+
+ ret = regmap_clear_bits(regmap, RN5T618_PWRIREN, RN5T618_PWRIREN_EN_WDOG);
+ if (ret)
+ return ret;
+
+ return regmap_clear_bits(regmap, RN5T618_WATCHDOG, RN5T618_WATCHDOG_WDPWROFFEN);
+}
+
+static int rn5t618_wdt_ping(struct regmap *regmap)
+{
+ unsigned int val;
+ int ret;
+
+ ret = regmap_read(regmap, RN5T618_WATCHDOG, &val);
+ if (ret)
+ return ret;
+
+ return regmap_write(regmap, RN5T618_WATCHDOG, val);
+}
+
+static int rn5t618_wdt_set_timeout(struct watchdog *wdd, unsigned int timeout)
+{
+ struct rn5t618_wdt *wdt = container_of(wdd, struct rn5t618_wdt, wdd);
+ int ret, i;
+
+ if (!timeout)
+ return rn5t618_wdt_stop(wdt->regmap);
+
+ for (i = 0; i < ARRAY_SIZE(rn5t618_wdt_timeout); i++) {
+ if (timeout < rn5t618_wdt_timeout[i].time)
+ break;
+ }
+
+ if (i == ARRAY_SIZE(rn5t618_wdt_timeout))
+ return -EINVAL;
+
+ if (wdt->timeout == timeout)
+ return rn5t618_wdt_ping(wdt->regmap);
+
+ ret = rn5t618_wdt_start(wdt->regmap, i);
+ if (ret)
+ return ret;
+
+ wdt->timeout = rn5t618_wdt_timeout[i].time;
+
+ return ret;
+}
+
+static int rn5t618_wdt_probe(struct device *dev)
+{
+ struct rn5t618_wdt *wdt;
+ struct watchdog *wdd;
+ unsigned int val;
+ int ret;
+
+ wdt = xzalloc(sizeof(*wdt));
+
+ wdt->regmap = dev_get_regmap(dev->parent, NULL);
+ if (!wdt->regmap)
+ return -ENOENT;
+
+ wdd = &wdt->wdd;
+ wdd->hwdev = dev;
+ wdd->set_timeout = rn5t618_wdt_set_timeout;
+ wdd->timeout_max = PMIC_WDT_MAX_TIMEOUT;
+
+ ret = regmap_read(wdt->regmap, RN5T618_WATCHDOG, &val);
+ if (ret == 0)
+ wdd->running = val & RN5T618_WATCHDOG_WDPWROFFEN ?
+ WDOG_HW_RUNNING : WDOG_HW_NOT_RUNNING;
+
+ return watchdog_register(wdd);
+}
+
+static __maybe_unused const struct of_device_id rn5t618_wdt_of_match[] = {
+ { .compatible = "ricoh,rn5t568-wdt" },
+ { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, rn5t618_wdt_of_match);
+
+static struct driver rn5t618_wdt_driver = {
+ .name = "rn5t618-wdt",
+ .probe = rn5t618_wdt_probe,
+ .of_compatible = DRV_OF_COMPAT(rn5t618_wdt_of_match),
+};
+device_platform_driver(rn5t618_wdt_driver);
diff --git a/include/mfd/rn5t618.h b/include/mfd/rn5t618.h
index 196ae00fb5b1..0bf1417d98d3 100644
--- a/include/mfd/rn5t618.h
+++ b/include/mfd/rn5t618.h
@@ -131,4 +131,10 @@ enum {
#define RN5T618_REPCNT_OFF_REPWRTIM_1000MS 0x06
#define RN5T618_REPCNT_OFF_REPWRON BIT(0)
+#define RN5T618_WATCHDOG_WDPWROFFEN BIT(2)
+#define RN5T618_WATCHDOG_WDOGTIM_M (BIT(0) | BIT(1))
+
+#define RN5T618_PWRIREN_EN_WDOG BIT(6)
+#define RN5T618_PWRIRQ_IR_WDOG BIT(6)
+
#endif
--
2.47.3
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 6/6] rn5t618: mfd/watchdog: switch to mfd device population
2026-06-11 11:21 [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Lucas Stach
` (3 preceding siblings ...)
2026-06-11 11:21 ` [PATCH 5/6] watchdog: RN568: rename to rn5t618 Lucas Stach
@ 2026-06-11 11:21 ` Lucas Stach
2026-06-15 7:50 ` [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Sascha Hauer
5 siblings, 0 replies; 7+ messages in thread
From: Lucas Stach @ 2026-06-11 11:21 UTC (permalink / raw)
To: barebox
The upstream binding for the rn5t618 does not describe a
separate watchdog node. Switch to MFD device population to
probe the watchdog without DT matching.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
drivers/mfd/rn5t618.c | 8 +++++++-
drivers/watchdog/rn5t618_wdt.c | 5 -----
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/mfd/rn5t618.c b/drivers/mfd/rn5t618.c
index d757802b5363..5fd9fe6e6ac2 100644
--- a/drivers/mfd/rn5t618.c
+++ b/drivers/mfd/rn5t618.c
@@ -13,11 +13,17 @@
#include <i2c/i2c.h>
#include <init.h>
#include <of.h>
+#include <linux/mfd/core.h>
#include <linux/regmap.h>
#include <reset_source.h>
#include <restart.h>
#include <mfd/rn5t618.h>
+static const struct mfd_cell rn5t618_cells[] = {
+ { .name = "rn5t618-regulator" },
+ { .name = "rn5t618-wdt" },
+};
+
struct rn5t618 {
struct restart_handler restart;
struct regmap *regmap;
@@ -129,7 +135,7 @@ static int __init rn5t618_i2c_probe(struct device *dev)
if (ret)
dev_warn(dev, "Failed to query reset reason\n");
- return of_platform_populate(dev->of_node, NULL, dev);
+ return mfd_add_devices(dev, rn5t618_cells, ARRAY_SIZE(rn5t618_cells));
}
static __maybe_unused const struct of_device_id rn5t618_of_match[] = {
diff --git a/drivers/watchdog/rn5t618_wdt.c b/drivers/watchdog/rn5t618_wdt.c
index 95089ac7c885..53da358d451e 100644
--- a/drivers/watchdog/rn5t618_wdt.c
+++ b/drivers/watchdog/rn5t618_wdt.c
@@ -126,15 +126,10 @@ static int rn5t618_wdt_probe(struct device *dev)
return watchdog_register(wdd);
}
-static __maybe_unused const struct of_device_id rn5t618_wdt_of_match[] = {
- { .compatible = "ricoh,rn5t568-wdt" },
- { /* sentinel */ }
-};
MODULE_DEVICE_TABLE(of, rn5t618_wdt_of_match);
static struct driver rn5t618_wdt_driver = {
.name = "rn5t618-wdt",
.probe = rn5t618_wdt_probe,
- .of_compatible = DRV_OF_COMPAT(rn5t618_wdt_of_match),
};
device_platform_driver(rn5t618_wdt_driver);
--
2.47.3
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 1/6] mfd: rn5t568: rename to rn5t618
2026-06-11 11:21 [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Lucas Stach
` (4 preceding siblings ...)
2026-06-11 11:21 ` [PATCH 6/6] rn5t618: mfd/watchdog: switch to mfd device population Lucas Stach
@ 2026-06-15 7:50 ` Sascha Hauer
5 siblings, 0 replies; 7+ messages in thread
From: Sascha Hauer @ 2026-06-15 7:50 UTC (permalink / raw)
To: barebox, Lucas Stach
On Thu, 11 Jun 2026 13:21:10 +0200, Lucas Stach wrote:
> For unclear reasons the driver is based on the Linux rn5t618 driver,
> but has been added to Barebox under a different name. To avoid
> confusion sync the name with the Linux driver.
>
>
Applied, thanks!
[1/6] mfd: rn5t568: rename to rn5t618
https://git.pengutronix.de/cgit/barebox/commit/?id=01bfade80406 (link may not be stable)
[2/6] mfd: rn5t618: use defined compatibles
https://git.pengutronix.de/cgit/barebox/commit/?id=950031d3915d (link may not be stable)
[3/6] mfd: rn5t618: demote probe message to debug level
https://git.pengutronix.de/cgit/barebox/commit/?id=a41b38a880f4 (link may not be stable)
[4/6] mfd: rn5t618: wait a bit after triggering restart
https://git.pengutronix.de/cgit/barebox/commit/?id=8436a10f415d (link may not be stable)
[5/6] watchdog: RN568: rename to rn5t618
https://git.pengutronix.de/cgit/barebox/commit/?id=79db4ccfa736 (link may not be stable)
[6/6] rn5t618: mfd/watchdog: switch to mfd device population
https://git.pengutronix.de/cgit/barebox/commit/?id=3e562fe2cac8 (link may not be stable)
Best regards,
--
Sascha Hauer <s.hauer@pengutronix.de>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-06-15 7:52 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-11 11:21 [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Lucas Stach
2026-06-11 11:21 ` [PATCH 2/6] mfd: rn5t618: use defined compatibles Lucas Stach
2026-06-11 11:21 ` [PATCH 3/6] mfd: rn5t618: demote probe message to debug level Lucas Stach
2026-06-11 11:21 ` [PATCH 4/6] mfd: rn5t618: wait a bit after triggering restart Lucas Stach
2026-06-11 11:21 ` [PATCH 5/6] watchdog: RN568: rename to rn5t618 Lucas Stach
2026-06-11 11:21 ` [PATCH 6/6] rn5t618: mfd/watchdog: switch to mfd device population Lucas Stach
2026-06-15 7:50 ` [PATCH 1/6] mfd: rn5t568: rename to rn5t618 Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox