linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 1/6] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support
@ 2021-11-09 11:32 Robert Marko
  2021-11-09 11:32 ` [PATCH v9 2/6] gpio: Add Delta TN48M CPLD GPIO driver Robert Marko
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Robert Marko @ 2021-11-09 11:32 UTC (permalink / raw)
  To: linus.walleij, bgolaszewski, robh+dt, lee.jones, p.zabel,
	linux-gpio, devicetree, andy.shevchenko, michael, andrew
  Cc: luka.perkov, bruno.banelli, Robert Marko

Delta TN48M switches have a Lattice CPLD that serves
multiple purposes including being a GPIO expander.

So, lets use the simple I2C MFD driver to provide the MFD core.

Also add a virtual symbol which pulls in the simple-mfd-i2c driver and
provide a common symbol on which the subdevice drivers can depend on.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
---
Changes in v9:
* Depend on ARCH_MVEBU or COMPILE_TEST

Changes in v2:
* Drop the custom MFD driver and header
* Use simple I2C MFD driver
---
 drivers/mfd/Kconfig          | 11 +++++++++++
 drivers/mfd/simple-mfd-i2c.c |  1 +
 2 files changed, 12 insertions(+)

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index ad15be6b86bc..35b917e583b0 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -297,6 +297,17 @@ config MFD_ASIC3
 	  This driver supports the ASIC3 multifunction chip found on many
 	  PDAs (mainly iPAQ and HTC based ones)
 
+config MFD_TN48M_CPLD
+	tristate "Delta Networks TN48M switch CPLD driver"
+	depends on I2C
+	depends on ARCH_MVEBU || COMPILE_TEST
+	select MFD_SIMPLE_MFD_I2C
+	help
+	  Select this option to enable support for Delta Networks TN48M switch
+	  CPLD. It consists of reset and GPIO drivers. CPLD provides GPIOS-s
+	  for the SFP slots as well as power supply related information.
+	  SFP support depends on the GPIO driver being selected.
+
 config PMIC_DA903X
 	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
 	depends on I2C=y
diff --git a/drivers/mfd/simple-mfd-i2c.c b/drivers/mfd/simple-mfd-i2c.c
index 87f684cff9a1..af8e91781417 100644
--- a/drivers/mfd/simple-mfd-i2c.c
+++ b/drivers/mfd/simple-mfd-i2c.c
@@ -39,6 +39,7 @@ static int simple_mfd_i2c_probe(struct i2c_client *i2c)
 
 static const struct of_device_id simple_mfd_i2c_of_match[] = {
 	{ .compatible = "kontron,sl28cpld" },
+	{ .compatible = "delta,tn48m-cpld" },
 	{}
 };
 MODULE_DEVICE_TABLE(of, simple_mfd_i2c_of_match);
-- 
2.33.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-01-18 19:28 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-09 11:32 [PATCH v9 1/6] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support Robert Marko
2021-11-09 11:32 ` [PATCH v9 2/6] gpio: Add Delta TN48M CPLD GPIO driver Robert Marko
2021-11-19 20:30   ` Robert Marko
2021-11-22  0:10   ` Linus Walleij
2021-11-09 11:32 ` [PATCH v9 3/6] dt-bindings: reset: Add Delta TN48M Robert Marko
2021-12-01 21:28   ` Robert Marko
2021-12-09  9:40     ` Philipp Zabel
2021-12-09  9:43       ` Robert Marko
2021-12-10  7:08         ` Lee Jones
2022-01-12 17:29           ` Robert Marko
2022-01-18 19:28             ` Robert Marko
2021-11-09 11:32 ` [PATCH v9 4/6] reset: Add Delta TN48M CPLD reset controller Robert Marko
2021-11-09 11:32 ` [PATCH v9 5/6] dt-bindings: mfd: Add Delta TN48M CPLD drivers bindings Robert Marko
2021-12-01 21:33   ` Robert Marko
2021-12-08 17:57   ` Robert Marko
2021-11-09 11:32 ` [PATCH v9 6/6] MAINTAINERS: Add Delta Networks TN48M CPLD drivers Robert Marko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).