The PCAL_PINCTRL_MASK is too large. The extended register block on
PCAL6524, which is the largest chip with this block, has the block
limited to address range 0x40..0x7f. This is because the bit 7 in
the command register is used for the Address Increment functionality.

Trim the mask to 0x60 to match the datasheet and to prevent accidental
overwrite of the AI bit.

Signed-off-by: Marek Vasut <[email protected]>
Cc: Linus Walleij <[email protected]>
Cc: Bartosz Golaszewski <[email protected]>
Reviewed-by: Bartosz Golaszewski <[email protected]>
---
V2: Add RB from Bart
V3: No change
---
 drivers/gpio/gpio-pca953x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
index afe6de4c48c4..ec9fd11cd21c 100644
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
@@ -58,7 +58,7 @@
 #define PCA_GPIO_MASK          0x00FF
 
 #define PCAL_GPIO_MASK         0x1f
-#define PCAL_PINCTRL_MASK      0xe0
+#define PCAL_PINCTRL_MASK      0x60
 
 #define PCA_INT                        0x0100
 #define PCA_PCAL               0x0200
-- 
2.18.0

Reply via email to