All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/4] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support
@ 2021-05-24 12:05 Robert Marko
  2021-05-24 12:05 ` [PATCH v2 2/4] gpio: Add Delta TN48M CPLD GPIO driver Robert Marko
                   ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: Robert Marko @ 2021-05-24 12:05 UTC (permalink / raw)
  To: linus.walleij, bgolaszewski, robh+dt, lee.jones, linux-gpio,
	devicetree, linux-kernel
  Cc: luka.perkov, jmp, pmenzel, buczek, 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>
---
Changes in v2:
* Drop the custom MFD driver and header
* Use simple I2C MFD driver

 drivers/mfd/Kconfig          | 10 ++++++++++
 drivers/mfd/simple-mfd-i2c.c |  1 +
 2 files changed, 11 insertions(+)

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 5c7f2b100191..1042424c5678 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -297,6 +297,16 @@ 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
+	select MFD_SIMPLE_MFD_I2C
+	help
+	  Select this option to enable support for Delta Networks TN48M switch
+	  CPLD. It consists of MFD 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.31.1


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

end of thread, other threads:[~2021-06-02 10:44 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-24 12:05 [PATCH v2 1/4] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support Robert Marko
2021-05-24 12:05 ` [PATCH v2 2/4] gpio: Add Delta TN48M CPLD GPIO driver Robert Marko
2021-05-24 12:44   ` Andy Shevchenko
2021-05-25 14:41   ` Bartosz Golaszewski
2021-05-28  0:37   ` Linus Walleij
2021-05-24 12:05 ` [PATCH v2 3/4] dt-bindings: mfd: Add Delta TN48M CPLD drivers bindings Robert Marko
2021-05-24 23:09   ` Rob Herring
2021-05-25  7:46     ` Lee Jones
2021-05-25  9:34       ` Robert Marko
2021-05-26  7:52         ` Lee Jones
2021-05-31  8:42           ` Robert Marko
2021-06-01  8:19             ` Lee Jones
2021-06-01  8:22               ` Lee Jones
2021-06-01  9:10                 ` Robert Marko
2021-06-01  9:31                   ` Lee Jones
2021-06-01 10:09                     ` Robert Marko
2021-06-01  9:06               ` Robert Marko
2021-06-01  9:12                 ` Lee Jones
2021-06-01 13:54               ` Michael Walle
2021-06-01 13:57                 ` Robert Marko
2021-06-01 13:58                 ` Lee Jones
2021-06-01 14:48                   ` Lee Jones
2021-06-02  9:12                     ` Robert Marko
2021-06-02 10:03                       ` Lee Jones
2021-06-02 10:22                     ` Michael Walle
2021-06-02 10:44                       ` Lee Jones
2021-05-25  9:46     ` Robert Marko
2021-05-25 21:43       ` Rob Herring
2021-05-31 13:08         ` Robert Marko
2021-05-24 12:05 ` [PATCH v2 4/4] MAINTAINERS: Add Delta Networks TN48M CPLD drivers Robert Marko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.