gpio: rcar: Add GPIO hole support
GPIO hole is present in RZ/G1C SoC. Valid GPIO pins on bank3 are in the range GP3_0 to GP3_16 and GP3_27 to GP3_29. The GPIO pins between GP3_17 to GP3_26 are unused. Add support for handling unused GPIO's. Signed-off-by: Biju Das <biju.das@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
a419a3d92a
commit
496069b87e
|
@ -321,6 +321,9 @@ static void gpio_rcar_set_multiple(struct gpio_chip *chip, unsigned long *mask,
|
|||
u32 val, bankmask;
|
||||
|
||||
bankmask = mask[0] & GENMASK(chip->ngpio - 1, 0);
|
||||
if (chip->valid_mask)
|
||||
bankmask &= chip->valid_mask[0];
|
||||
|
||||
if (!bankmask)
|
||||
return;
|
||||
|
||||
|
@ -558,6 +561,9 @@ static int gpio_rcar_resume(struct device *dev)
|
|||
u32 mask;
|
||||
|
||||
for (offset = 0; offset < p->gpio_chip.ngpio; offset++) {
|
||||
if (!gpiochip_line_is_valid(&p->gpio_chip, offset))
|
||||
continue;
|
||||
|
||||
mask = BIT(offset);
|
||||
/* I/O pin */
|
||||
if (!(p->bank_info.iointsel & mask)) {
|
||||
|
|
Loading…
Reference in New Issue