* [PATCH 0/3] gpio: pca953x: Add support for TCAL6408 TCAL6416
@ 2025-12-12 13:03 Jan Remmet
2025-12-12 13:03 ` [PATCH 1/3] " Jan Remmet
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Jan Remmet @ 2025-12-12 13:03 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Jonathan Corbet, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Levente Révész
Cc: linux-gpio, linux-doc, linux-kernel, Krzysztof Kozlowski,
devicetree, upstream
Add two compatible. They share register layout with nxp pcal6408 and
pcal6416
Signed-off-by: Jan Remmet <j.remmet@phytec.de>
---
Jan Remmet (3):
gpio: pca953x: Add support for TCAL6408 TCAL6416
Documentation: gpio: add TCAL6408 and TCAL6416
dt-bindings: gpio: gpio-pca95xx: Add tcal6408 and tcal6416
Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml | 2 ++
Documentation/driver-api/gpio/pca953x.rst | 12 ++++++++++++
drivers/gpio/Kconfig | 4 ++--
drivers/gpio/gpio-pca953x.c | 6 ++++++
4 files changed, 22 insertions(+), 2 deletions(-)
---
base-commit: d358e5254674b70f34c847715ca509e46eb81e6f
change-id: 20251211-wip-jremmet-tcal6416rtw-cd1db73b86e9
Best regards,
--
Jan Remmet <j.remmet@phytec.de>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] gpio: pca953x: Add support for TCAL6408 TCAL6416
2025-12-12 13:03 [PATCH 0/3] gpio: pca953x: Add support for TCAL6408 TCAL6416 Jan Remmet
@ 2025-12-12 13:03 ` Jan Remmet
2025-12-12 13:03 ` [PATCH 2/3] Documentation: gpio: add TCAL6408 and TCAL6416 Jan Remmet
2025-12-12 13:03 ` [PATCH 3/3] dt-bindings: gpio: gpio-pca95xx: Add tcal6408 and tcal6416 Jan Remmet
2 siblings, 0 replies; 5+ messages in thread
From: Jan Remmet @ 2025-12-12 13:03 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Jonathan Corbet, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Levente Révész
Cc: linux-gpio, linux-doc, linux-kernel, Krzysztof Kozlowski,
devicetree, upstream
TCAL6408 and TCAL6416 supports latchable inputs and maskable interrupt.
Tested on a TCAL6416, checked datasheets for the TCAL6408.
Datasheet: https://www.ti.com/lit/ds/symlink/tcal6408.pdf
Datasheet: https://www.ti.com/lit/ds/symlink/tcal6416.pdf
Signed-off-by: Jan Remmet <j.remmet@phytec.de>
---
drivers/gpio/Kconfig | 4 ++--
drivers/gpio/gpio-pca953x.c | 6 ++++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index c74da29253e810b51540684b1186e8f274066b69..2a0e8d007e8814d8c31b8b35c8ecc401056dcf90 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -1194,11 +1194,11 @@ config GPIO_PCA953X
8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
pca9556, pca9557, pca9574, tca6408, tca9554, xra1202,
- pcal6408, pcal9554b, tca9538
+ pcal6408, pcal9554b, tca9538, tcal6408
16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
tca6416, pca6416, pcal6416, pcal9535, pcal9555a, max7318,
- tca9539
+ tca9539, tcal6416
18 bits: tca6418
diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
index 0a3916cc2772a19de90c7683cb7dc7010524f71e..dd0e09961bc9dacfbd4d5d0a146b59edb218962a 100644
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
@@ -126,6 +126,9 @@ static const struct i2c_device_id pca953x_id[] = {
{ "tca9539", 16 | PCA953X_TYPE | PCA_INT, },
{ "tca9554", 8 | PCA953X_TYPE | PCA_INT, },
{ "xra1202", 8 | PCA953X_TYPE },
+
+ { "tcal6408", 8 | PCA953X_TYPE | PCA_LATCH_INT, },
+ { "tcal6416", 16 | PCA953X_TYPE | PCA_LATCH_INT, },
{ }
};
MODULE_DEVICE_TABLE(i2c, pca953x_id);
@@ -1444,6 +1447,9 @@ static const struct of_device_id pca953x_dt_ids[] = {
{ .compatible = "ti,tca9538", .data = OF_953X( 8, PCA_INT), },
{ .compatible = "ti,tca9539", .data = OF_953X(16, PCA_INT), },
+ { .compatible = "ti,tcal6408", .data = OF_953X( 8, PCA_LATCH_INT), },
+ { .compatible = "ti,tcal6416", .data = OF_953X(16, PCA_LATCH_INT), },
+
{ .compatible = "onnn,cat9554", .data = OF_953X( 8, PCA_INT), },
{ .compatible = "onnn,pca9654", .data = OF_953X( 8, PCA_INT), },
{ .compatible = "onnn,pca9655", .data = OF_953X(16, PCA_INT), },
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] Documentation: gpio: add TCAL6408 and TCAL6416
2025-12-12 13:03 [PATCH 0/3] gpio: pca953x: Add support for TCAL6408 TCAL6416 Jan Remmet
2025-12-12 13:03 ` [PATCH 1/3] " Jan Remmet
@ 2025-12-12 13:03 ` Jan Remmet
2025-12-12 13:03 ` [PATCH 3/3] dt-bindings: gpio: gpio-pca95xx: Add tcal6408 and tcal6416 Jan Remmet
2 siblings, 0 replies; 5+ messages in thread
From: Jan Remmet @ 2025-12-12 13:03 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Jonathan Corbet, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Levente Révész
Cc: linux-gpio, linux-doc, linux-kernel, Krzysztof Kozlowski,
devicetree, upstream
Checked datasheets, the offsets are identical to pcal6408 and pcal6416.
Signed-off-by: Jan Remmet <j.remmet@phytec.de>
---
Documentation/driver-api/gpio/pca953x.rst | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/Documentation/driver-api/gpio/pca953x.rst b/Documentation/driver-api/gpio/pca953x.rst
index 4bd7cf1120cbaccfaefc346195d87d927c3afcdf..53f25fa03072d95d47443e30c89720a98f8c5561 100644
--- a/Documentation/driver-api/gpio/pca953x.rst
+++ b/Documentation/driver-api/gpio/pca953x.rst
@@ -178,6 +178,8 @@ pcal9554b 8 yes 00 01 02 03
pcal6416 16 yes 00 02 04 06
pcal9535 16 yes 00 02 04 06
pcal9555a 16 yes 00 02 04 06
+tcal6408 8 yes 00 01 02 03
+tcal6416 16 yes 00 02 04 06
========== ===== ========= ===== ====== ====== =========
These chips have several additional features:
@@ -196,6 +198,8 @@ pcal9554b 40 42 43 44 45 46 4F
pcal6416 40 44 46 48 4A 4C 4F
pcal9535 40 44 46 48 4A 4C 4F
pcal9555a 40 44 46 48 4A 4C 4F
+tcal6408 40 42 43 44 45 46 4F
+tcal6416 40 44 46 48 4A 4C 4F
========== ============ ======== ======= ======== ======== ========== ========
Currently the driver has support for the input latch, pull-up/pull-down
@@ -332,6 +336,8 @@ Layouts:
- pcal9554b
- pcal9555a
- pcal6524
+ - tcal6408
+ - tcal6416
2. base offset 0x30, bank 5 and 6, closely packed banks
- pcal6534
@@ -390,6 +396,8 @@ enabled.
- pcal9554b
- pcal9555a
- pcal6524
+ - tcal6408
+ - tcal6416
2. base offset 0x30, bank 2, closely packed banks
- pcal6534
@@ -462,6 +470,8 @@ Layout:
- pcal9535
- pcal9554b
- pcal9555a
+ - tcal6408
+ - tcal6416
`PCAL chips with extended interrupt and output configuration functions`_
can set this for each line individually. They have the same per-port out_conf
@@ -505,6 +515,8 @@ bits drive strength
- pcal9554b
- pcal9555a
- pcal6524
+ - tcal6408
+ - tcal6416
2. base offset 0x30, bank 0 and 1, closely packed banks
- pcal6534
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] dt-bindings: gpio: gpio-pca95xx: Add tcal6408 and tcal6416
2025-12-12 13:03 [PATCH 0/3] gpio: pca953x: Add support for TCAL6408 TCAL6416 Jan Remmet
2025-12-12 13:03 ` [PATCH 1/3] " Jan Remmet
2025-12-12 13:03 ` [PATCH 2/3] Documentation: gpio: add TCAL6408 and TCAL6416 Jan Remmet
@ 2025-12-12 13:03 ` Jan Remmet
2025-12-16 6:33 ` Krzysztof Kozlowski
2 siblings, 1 reply; 5+ messages in thread
From: Jan Remmet @ 2025-12-12 13:03 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Jonathan Corbet, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Levente Révész
Cc: linux-gpio, linux-doc, linux-kernel, Krzysztof Kozlowski,
devicetree, upstream
TCAL6408 and TCAL6416 supports latchable inputs and maskable interrupt.
add compatibles ti,tcal6408 and ti,tcal6416
Signed-off-by: Jan Remmet <j.remmet@phytec.de>
---
Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml b/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
index 12134c737ad8fb85980ecee225b8bcf5d1bf6b41..4f955f855e1ab8ccfcce9f465727b1b095e80ec6 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
+++ b/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
@@ -74,6 +74,8 @@ properties:
- ti,tca9538
- ti,tca9539
- ti,tca9554
+ - ti,tcal6408
+ - ti,tcal6416
reg:
maxItems: 1
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] dt-bindings: gpio: gpio-pca95xx: Add tcal6408 and tcal6416
2025-12-12 13:03 ` [PATCH 3/3] dt-bindings: gpio: gpio-pca95xx: Add tcal6408 and tcal6416 Jan Remmet
@ 2025-12-16 6:33 ` Krzysztof Kozlowski
0 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-16 6:33 UTC (permalink / raw)
To: Jan Remmet
Cc: Linus Walleij, Bartosz Golaszewski, Jonathan Corbet, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Levente Révész,
linux-gpio, linux-doc, linux-kernel, devicetree, upstream
On Fri, Dec 12, 2025 at 02:03:18PM +0100, Jan Remmet wrote:
> TCAL6408 and TCAL6416 supports latchable inputs and maskable interrupt.
> add compatibles ti,tcal6408 and ti,tcal6416
And are not compatible with other variants? Explain here why.
>
> Signed-off-by: Jan Remmet <j.remmet@phytec.de>
> ---
> Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
Please organize the patch documenting the compatible (DT bindings) before the patch using that compatible.
See also: https://elixir.bootlin.com/linux/v6.14-rc6/source/Documentation/devicetree/bindings/submitting-patches.rst#L46
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-12-16 6:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-12 13:03 [PATCH 0/3] gpio: pca953x: Add support for TCAL6408 TCAL6416 Jan Remmet
2025-12-12 13:03 ` [PATCH 1/3] " Jan Remmet
2025-12-12 13:03 ` [PATCH 2/3] Documentation: gpio: add TCAL6408 and TCAL6416 Jan Remmet
2025-12-12 13:03 ` [PATCH 3/3] dt-bindings: gpio: gpio-pca95xx: Add tcal6408 and tcal6416 Jan Remmet
2025-12-16 6:33 ` Krzysztof Kozlowski
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).