mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
8f7a905ffb
The current driver has some troubles:
- Some groupings are wrong.
- The pinctrl group0 owns pins never used (at least in Openwrt) for any
pinmux. The driver hijacks all the pins on the group avoiding any other
use, spite they're free. I.e. for buttons, causing this kernel error:
[ 4.735928] gpio-keys-polled keys: unable to claim gpio 479, err=-22
[ 4.742642] gpio-keys-polled: probe of keys failed with error -22
- Minor errors about groupings on the documentation
- Missing "diag" grouping in dtsi
- Wrong groupings in dtsi
Fix it by setting the correct groups.
And relax the pin capturing, letting the gpios belonging to any group to
be used for other purposes like buttons. This was the behavior with stock
firmwares and old OpenWrt versions which never caused any trouble.
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
(Cherry-picked from commit 50cb3a750f
)
50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
From 962c46bf7f43df730e2d3698930e77958cc6b191 Mon Sep 17 00:00:00 2001
|
|
From: Jonas Gorski <jonas.gorski@gmail.com>
|
|
Date: Wed, 27 Jul 2016 11:35:45 +0200
|
|
Subject: [PATCH 04/16] Documentation: add BCM6348 pincontroller binding
|
|
documentation
|
|
|
|
Add binding documentation for the pincontrol core found in BCM6348 SoCs.
|
|
|
|
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
|
---
|
|
.../bindings/pinctrl/brcm,bcm6348-pinctrl.txt | 32 ++++++++++++++++++++++
|
|
1 file changed, 32 insertions(+)
|
|
create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,bcm6348-pinctrl.txt
|
|
|
|
--- /dev/null
|
|
+++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6348-pinctrl.txt
|
|
@@ -0,0 +1,32 @@
|
|
+* Broadcom BCM6348 pin controller
|
|
+
|
|
+Required properties:
|
|
+- compatible: Must be "brcm,bcm6348-pinctrl".
|
|
+- reg: register Specifiers of dirout, dat, mode registers.
|
|
+- reg-names: Must be "dirout", "dat", "mode".
|
|
+- gpio-controller: Identifies this node as a GPIO controller.
|
|
+- #gpio-cells: Must be <2>.
|
|
+
|
|
+Example:
|
|
+
|
|
+pinctrl: pin-controller@fffe0080 {
|
|
+ compatible = "brcm,bcm6348-pinctrl";
|
|
+ reg = <0xfffe0080 0x8>,
|
|
+ <0xfffe0088 0x8>,
|
|
+ <0xfffe0098 0x4>;
|
|
+ reg-names = "dirout", "dat", "mode";
|
|
+
|
|
+ gpio-controller;
|
|
+ #gpio-cells = <2>;
|
|
+};
|
|
+
|
|
+Available pins/groups and functions:
|
|
+
|
|
+name pins functions
|
|
+-----------------------------------------------------------
|
|
+group0 32-36 ext_mii, diag
|
|
+group1 22-31 ext_ephy, mii_snoop, mii_pccard,
|
|
+ spi_master_uart, utopia, diag
|
|
+group2 16-21 pci, diag
|
|
+group3 8-15 ext_mii, utopia, diag
|
|
+group4 0-7 ext_ephy, mii_snoop, legacy_led, utopia, diag
|