From b5a6c94a0380071600dc5b8be1853164f62af146 Mon Sep 17 00:00:00 2001 From: Ken Ma Date: Thu, 22 Jun 2017 17:13:35 +0800 Subject: pinctrl: a3700: Fix uart2 group selection register mask If north bridge selection register bit1 is clear, pins [10:8] are for SDIO0 Resetn, Wakeup, and PDN while if bit1 is set, pins [10:8]are for GPIO; when bit1 is clear, pin 9 and pin 10 can be used for uart2 RTSn and CTSn, so bit1 should be added to uart2 group and it must be set for both "gpio" and "uart" functions of uart2 group. Signed-off-by: Ken Ma Cc: Stefan Roese Cc: Kostya Porotchkin Cc: Gregory CLEMENT Cc: Nadav Haklai Cc: Wilson Ding Reviewed-by: Stefan Roese Signed-off-by: Stefan Roese diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c index 3bb4c43..2ac66ec 100644 --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c @@ -159,8 +159,9 @@ static struct armada_37xx_pin_group armada_37xx_nb_groups[] = { PIN_GRP_GPIO("onewire", 4, 1, BIT(16), "onewire"), PIN_GRP_GPIO("uart1", 25, 2, BIT(17), "uart"), PIN_GRP_GPIO("spi_quad", 15, 2, BIT(18), "spi"), - PIN_GRP_EXTRA("uart2", 9, 2, BIT(13) | BIT(14) | BIT(19), - BIT(13) | BIT(14), BIT(19), 18, 2, "gpio", "uart"), + PIN_GRP_EXTRA("uart2", 9, 2, BIT(1) | BIT(13) | BIT(14) | BIT(19), + BIT(1) | BIT(13) | BIT(14), BIT(1) | BIT(19), + 18, 2, "gpio", "uart"), PIN_GRP_GPIO("led0_od", 11, 1, BIT(20), "led"), PIN_GRP_GPIO("led1_od", 12, 1, BIT(21), "led"), PIN_GRP_GPIO("led2_od", 13, 1, BIT(22), "led"), -- cgit v0.10.2 From ae118b6855a7d003a7d024129e686c8a4a400141 Mon Sep 17 00:00:00 2001 From: Ken Ma Date: Thu, 22 Jun 2017 17:13:36 +0800 Subject: pinctrl: a3700: Fix the issue that gpio controller is registered with wrong node id In armada_37xx_gpiochip_register, the return value of fdtdec_get_bool should be true when gpio-controller is found; current codes makes a wrong inverse return value judgement, this patch fixes it. Signed-off-by: Ken Ma Cc: Stefan Roese Cc: Kostya Porotchkin Cc: Gregory CLEMENT Cc: Nadav Haklai Cc: Wilson Ding Reviewed-by: Stefan Roese Signed-off-by: Stefan Roese diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c index 2ac66ec..27165b0 100644 --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c @@ -539,7 +539,7 @@ static int armada_37xx_gpiochip_register(struct udevice *parent, } fdt_for_each_subnode(subnode, blob, node) { - if (!fdtdec_get_bool(blob, subnode, "gpio-controller")) { + if (fdtdec_get_bool(blob, subnode, "gpio-controller")) { ret = 0; break; } -- cgit v0.10.2