* [PATCH 0/2] gpio: mcp32s08: add support for mcp23018
@ 2017-10-05 1:23 Phil Reid
[not found] ` <1507166615-4530-1-git-send-email-preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Phil Reid @ 2017-10-05 1:23 UTC (permalink / raw)
To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO,
linux-gpio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA
This adds the required definitions for the mcp23018 which is the i2c
variant of the mcp23s18.
Phil Reid (2):
gpio: dt-bindings: add mcp23018 to mcp23s08 documentation
gpio: mcp32s08: add support for mcp23018
Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt | 1 +
drivers/gpio/gpio-mcp23s08.c | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread[parent not found: <1507166615-4530-1-git-send-email-preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO@public.gmane.org>]
* [PATCH 1/2] gpio: dt-bindings: add mcp23018 to mcp23s08 documentation [not found] ` <1507166615-4530-1-git-send-email-preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO@public.gmane.org> @ 2017-10-05 1:23 ` Phil Reid 2017-10-07 23:41 ` Linus Walleij 2017-10-05 1:23 ` [PATCH 2/2] gpio: mcp32s08: add support for mcp23018 Phil Reid 1 sibling, 1 reply; 6+ messages in thread From: Phil Reid @ 2017-10-05 1:23 UTC (permalink / raw) To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO, linux-gpio-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA This adds the required definitions for the mcp23018 which is the i2c variant of the mcp23s18. Signed-off-by: Phil Reid <preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO@public.gmane.org> --- Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt index c934106..c0f495e 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt @@ -13,6 +13,7 @@ Required properties: - "microchip,mcp23s18" for 16 GPIO SPI version - "microchip,mcp23008" for 8 GPIO I2C version or - "microchip,mcp23017" for 16 GPIO I2C version of the chip + - "microchip,mcp23018" for 16 GPIO SPI version NOTE: Do not use the old mcp prefix any more. It is deprecated and will be removed. - #gpio-cells : Should be two. -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] gpio: dt-bindings: add mcp23018 to mcp23s08 documentation 2017-10-05 1:23 ` [PATCH 1/2] gpio: dt-bindings: add mcp23018 to mcp23s08 documentation Phil Reid @ 2017-10-07 23:41 ` Linus Walleij 2017-10-08 10:20 ` Phil Reid 0 siblings, 1 reply; 6+ messages in thread From: Linus Walleij @ 2017-10-07 23:41 UTC (permalink / raw) To: Phil Reid Cc: Rob Herring, Mark Rutland, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org On Thu, Oct 5, 2017 at 3:23 AM, Phil Reid <preid@electromag.com.au> wrote: > This adds the required definitions for the mcp23018 which is the i2c > variant of the mcp23s18. Which is logical if "s" stands for "SPI", "0" is normal or I2C. > - "microchip,mcp23s18" for 16 GPIO SPI version So that is the SPI version > - "microchip,mcp23008" for 8 GPIO I2C version or > - "microchip,mcp23017" for 16 GPIO I2C version of the chip > + - "microchip,mcp23018" for 16 GPIO SPI version And right here you say that this is also the SPI version, but the commit message says it is the I2C version. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] gpio: dt-bindings: add mcp23018 to mcp23s08 documentation 2017-10-07 23:41 ` Linus Walleij @ 2017-10-08 10:20 ` Phil Reid 0 siblings, 0 replies; 6+ messages in thread From: Phil Reid @ 2017-10-08 10:20 UTC (permalink / raw) To: Linus Walleij Cc: Rob Herring, Mark Rutland, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org On 8/10/2017 07:41, Linus Walleij wrote: > On Thu, Oct 5, 2017 at 3:23 AM, Phil Reid <preid@electromag.com.au> wrote: > >> This adds the required definitions for the mcp23018 which is the i2c >> variant of the mcp23s18. > > Which is logical if "s" stands for "SPI", "0" is normal or I2C. > >> - "microchip,mcp23s18" for 16 GPIO SPI version > > So that is the SPI version > >> - "microchip,mcp23008" for 8 GPIO I2C version or >> - "microchip,mcp23017" for 16 GPIO I2C version of the chip >> + - "microchip,mcp23018" for 16 GPIO SPI version > > And right here you say that this is also the SPI version, but the > commit message says it is the I2C version. > G'day Linus, thanks for looking at this. Sorry, there's a v2 fixing that. Along with proposed patches for fixing the items raised in my RFI. Except for modelling the inverter. Not even sure how to approach that one. -- Regards Phil Reid ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] gpio: mcp32s08: add support for mcp23018 [not found] ` <1507166615-4530-1-git-send-email-preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO@public.gmane.org> 2017-10-05 1:23 ` [PATCH 1/2] gpio: dt-bindings: add mcp23018 to mcp23s08 documentation Phil Reid @ 2017-10-05 1:23 ` Phil Reid 2017-10-05 6:56 ` Phil Reid 1 sibling, 1 reply; 6+ messages in thread From: Phil Reid @ 2017-10-05 1:23 UTC (permalink / raw) To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO, linux-gpio-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA This adds the required definitions for the mcp23018 which is the i2c variant of the mcp23s18. Signed-off-by: Phil Reid <preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO@public.gmane.org> --- drivers/gpio/gpio-mcp23s08.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-mcp23s08.c b/drivers/gpio/gpio-mcp23s08.c index 2a57d024..92751e5 100644 --- a/drivers/gpio/gpio-mcp23s08.c +++ b/drivers/gpio/gpio-mcp23s08.c @@ -33,6 +33,7 @@ #define MCP_TYPE_008 2 #define MCP_TYPE_017 3 #define MCP_TYPE_S18 4 +#define MCP_TYPE_018 5 /* Registers are all 8 bits wide. * @@ -595,6 +596,13 @@ static int mcp23s08_probe_one(struct mcp23s08 *mcp, struct device *dev, mcp->chip.ngpio = 16; mcp->chip.label = "mcp23017"; break; + + case MCP_TYPE_018: + mcp->regmap = devm_regmap_init_i2c(data, &mcp23x17_regmap); + mcp->reg_shift = 1; + mcp->chip.ngpio = 16; + mcp->chip.label = "mcp23018"; + break; #endif /* CONFIG_I2C */ default: @@ -640,7 +648,7 @@ static int mcp23s08_probe_one(struct mcp23s08 *mcp, struct device *dev, if (mirror) status |= IOCON_MIRROR | (IOCON_MIRROR << 8); - if (type == MCP_TYPE_S18) + if (type == MCP_TYPE_S18 || type == MCP_TYPE_018) status |= IOCON_INTCC | (IOCON_INTCC << 8); ret = mcp_write(mcp, MCP_IOCON, status); @@ -729,6 +737,10 @@ static int mcp23s08_probe_one(struct mcp23s08 *mcp, struct device *dev, .compatible = "microchip,mcp23017", .data = (void *) MCP_TYPE_017, }, + { + .compatible = "microchip,mcp23018", + .data = (void *) MCP_TYPE_018, + }, /* NOTE: The use of the mcp prefix is deprecated and will be removed. */ { .compatible = "mcp,mcp23008", @@ -812,6 +824,7 @@ static int mcp230xx_remove(struct i2c_client *client) static const struct i2c_device_id mcp230xx_id[] = { { "mcp23008", MCP_TYPE_008 }, { "mcp23017", MCP_TYPE_017 }, + { "mcp23018", MCP_TYPE_018 }, { }, }; MODULE_DEVICE_TABLE(i2c, mcp230xx_id); -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] gpio: mcp32s08: add support for mcp23018 2017-10-05 1:23 ` [PATCH 2/2] gpio: mcp32s08: add support for mcp23018 Phil Reid @ 2017-10-05 6:56 ` Phil Reid 0 siblings, 0 replies; 6+ messages in thread From: Phil Reid @ 2017-10-05 6:56 UTC (permalink / raw) To: linus.walleij, robh+dt, mark.rutland, linux-gpio, devicetree On 5/10/2017 09:23, Phil Reid wrote: > This adds the required definitions for the mcp23018 which is the i2c > variant of the mcp23s18. > > Signed-off-by: Phil Reid <preid@electromag.com.au> > --- > drivers/gpio/gpio-mcp23s08.c | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) I've just noticed that this needs to be rebased as mcp23s08 driver has moved. Other that the new location the patch is the same so far. I have a couple of queries regarding the driver in another email, will wait for that first.. > > diff --git a/drivers/gpio/gpio-mcp23s08.c b/drivers/gpio/gpio-mcp23s08.c > index 2a57d024..92751e5 100644 > --- a/drivers/gpio/gpio-mcp23s08.c > +++ b/drivers/gpio/gpio-mcp23s08.c > @@ -33,6 +33,7 @@ > #define MCP_TYPE_008 2 > #define MCP_TYPE_017 3 > #define MCP_TYPE_S18 4 > +#define MCP_TYPE_018 5 > > /* Registers are all 8 bits wide. > * > @@ -595,6 +596,13 @@ static int mcp23s08_probe_one(struct mcp23s08 *mcp, struct device *dev, > mcp->chip.ngpio = 16; > mcp->chip.label = "mcp23017"; > break; > + > + case MCP_TYPE_018: > + mcp->regmap = devm_regmap_init_i2c(data, &mcp23x17_regmap); > + mcp->reg_shift = 1; > + mcp->chip.ngpio = 16; > + mcp->chip.label = "mcp23018"; > + break; > #endif /* CONFIG_I2C */ > > default: > @@ -640,7 +648,7 @@ static int mcp23s08_probe_one(struct mcp23s08 *mcp, struct device *dev, > if (mirror) > status |= IOCON_MIRROR | (IOCON_MIRROR << 8); > > - if (type == MCP_TYPE_S18) > + if (type == MCP_TYPE_S18 || type == MCP_TYPE_018) > status |= IOCON_INTCC | (IOCON_INTCC << 8); > > ret = mcp_write(mcp, MCP_IOCON, status); > @@ -729,6 +737,10 @@ static int mcp23s08_probe_one(struct mcp23s08 *mcp, struct device *dev, > .compatible = "microchip,mcp23017", > .data = (void *) MCP_TYPE_017, > }, > + { > + .compatible = "microchip,mcp23018", > + .data = (void *) MCP_TYPE_018, > + }, > /* NOTE: The use of the mcp prefix is deprecated and will be removed. */ > { > .compatible = "mcp,mcp23008", > @@ -812,6 +824,7 @@ static int mcp230xx_remove(struct i2c_client *client) > static const struct i2c_device_id mcp230xx_id[] = { > { "mcp23008", MCP_TYPE_008 }, > { "mcp23017", MCP_TYPE_017 }, > + { "mcp23018", MCP_TYPE_018 }, > { }, > }; > MODULE_DEVICE_TABLE(i2c, mcp230xx_id); > -- Regards Phil Reid ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-10-08 10:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-05 1:23 [PATCH 0/2] gpio: mcp32s08: add support for mcp23018 Phil Reid
[not found] ` <1507166615-4530-1-git-send-email-preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO@public.gmane.org>
2017-10-05 1:23 ` [PATCH 1/2] gpio: dt-bindings: add mcp23018 to mcp23s08 documentation Phil Reid
2017-10-07 23:41 ` Linus Walleij
2017-10-08 10:20 ` Phil Reid
2017-10-05 1:23 ` [PATCH 2/2] gpio: mcp32s08: add support for mcp23018 Phil Reid
2017-10-05 6:56 ` Phil Reid
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).