All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/6] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support
@ 2021-05-31 12:51 Robert Marko
  2021-05-31 12:51 ` [PATCH v3 2/6] gpio: Add Delta TN48M CPLD GPIO driver Robert Marko
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: Robert Marko @ 2021-05-31 12:51 UTC (permalink / raw)
  To: lee.jones, linux-kernel, linus.walleij, bgolaszewski, linux-gpio,
	p.zabel, robh+dt, devicetree
  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 b74efa469e90..2b5ad314125d 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] 16+ messages in thread

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

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-31 12:51 [PATCH v3 1/6] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support Robert Marko
2021-05-31 12:51 ` [PATCH v3 2/6] gpio: Add Delta TN48M CPLD GPIO driver Robert Marko
2021-05-31 12:51 ` [PATCH v3 3/6] dt-bindings: reset: Add Delta TN48M Robert Marko
2021-05-31 12:51 ` [PATCH v3 4/6] reset: Add Delta TN48M CPLD reset controller Robert Marko
2021-06-01 15:38   ` Philipp Zabel
2021-06-01 17:09     ` Robert Marko
2021-06-02  8:47       ` Philipp Zabel
2021-06-02 11:48         ` Robert Marko
2021-05-31 12:51 ` [PATCH v3 5/6] dt-bindings: mfd: Add Delta TN48M CPLD drivers bindings Robert Marko
2021-06-02 10:47   ` Lee Jones
2021-06-02 10:54     ` Robert Marko
2021-05-31 12:51 ` [PATCH v3 6/6] MAINTAINERS: Add Delta Networks TN48M CPLD drivers Robert Marko
2021-06-01  8:39 ` [PATCH v3 1/6] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support Lee Jones
2021-06-01  9:12   ` Robert Marko
2021-06-02 10:49 ` Lee Jones
2021-06-02 11:53   ` 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.