Message ID | 20210531125143.257622-1-robert.marko@sartura.hr |
---|---|
State | New |
Headers | show |
Series | [v3,1/6] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support | expand |
On Mon, 31 May 2021, Robert Marko wrote: > 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(+) I responded to a previous version of this. The question still remains - why do you need one single Regmap encompassing all functionality. The register banks look separated to me at first glance.
On Tue, Jun 1, 2021 at 10:39 AM Lee Jones <lee.jones@linaro.org> wrote: > > On Mon, 31 May 2021, Robert Marko wrote: > > > 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(+) > > I responded to a previous version of this. > > The question still remains - why do you need one single Regmap > encompassing all functionality. The register banks look separated to > me at first glance. Hi Lee, In the end, I replied to your v2 comments as well. It's quite extensive so I don't want to copy the replies here again. Is that okay, or should I copy the answers here as well? Regards, Robert > > -- > Lee Jones [李琼斯] > Senior Technical Lead - Developer Services > Linaro.org │ Open source software for Arm SoCs > Follow Linaro: Facebook | Twitter | Blog
On Mon, 31 May 2021, Robert Marko wrote: 65;6200;1c > 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 Not entirely sure what MFD means in this context. Please replace the MFD mention with Reset. > + 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); Once fixed, please apply my: For my own reference (apply this as-is to your sign-off block): Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
On Wed, Jun 2, 2021 at 12:49 PM Lee Jones <lee.jones@linaro.org> wrote: > > On Mon, 31 May 2021, Robert Marko wrote: > 65;6200;1c > > 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 > > Not entirely sure what MFD means in this context. > > Please replace the MFD mention with Reset. Sure, that is a leftover from before. > > > + 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); > > Once fixed, please apply my: > > For my own reference (apply this as-is to your sign-off block): > > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> Sure, will do. Regards, Robert > > -- > Lee Jones [李琼斯] > Senior Technical Lead - Developer Services > Linaro.org │ Open source software for Arm SoCs > Follow Linaro: Facebook | Twitter | Blog
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);
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(+)