diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0316-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0316-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0316-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch b/target/linux/bcm27xx/patches-5.4/950-0316-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch new file mode 100644 index 0000000000..2ad17cb17c --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0316-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch @@ -0,0 +1,40 @@ +From cf658ebc86b3e22c0b77e136fbbf19b580c7c256 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren <wahrenst@gmx.net> +Date: Sun, 21 Jul 2019 16:01:36 +0200 +Subject: [PATCH] pinctrl: bcm2835: Add support for BCM2711 pull-up + functionality + +commit e38a9a437fb93ddafab5030165e4c6a3a5021669 upstream. + +The BCM2711 has a new way of selecting the pull-up/pull-down setting +for a GPIO pin. The registers used for the BCM2835, GP_PUD and +GP_PUDCLKn0, are no longer connected. A new set of registers, +GP_GPIO_PUP_PDN_CNTRL_REGx must be used. This commit will add +a new compatible string "brcm,bcm2711-gpio" and the kernel +driver will use it to select which method is used to select +pull-up/pull-down. + +This patch based on a patch by Al Cooper which was intended for the +BCM7211. This is a bugfixed and improved version. + +Signed-off-by: Stefan Wahren <wahrenst@gmx.net> +Acked-by: Eric Anholt <eric@anholt.net> +--- + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c ++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c +@@ -1168,6 +1168,12 @@ static int bcm2835_pinctrl_probe(struct + (const struct pinconf_ops *)match->data; + } + ++ match = of_match_node(bcm2835_pinctrl_match, pdev->dev.of_node); ++ if (match) { ++ bcm2835_pinctrl_desc.confops = ++ (const struct pinconf_ops *)match->data; ++ } ++ + pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc); + if (IS_ERR(pc->pctl_dev)) { + gpiochip_remove(&pc->gpio_chip); |