aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/linux/bcm63xx/dts/bcm6348.dtsi9
-rw-r--r--target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch6
-rw-r--r--target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch29
3 files changed, 14 insertions, 30 deletions
diff --git a/target/linux/bcm63xx/dts/bcm6348.dtsi b/target/linux/bcm63xx/dts/bcm6348.dtsi
index 1e04486909..38bb71e53c 100644
--- a/target/linux/bcm63xx/dts/bcm6348.dtsi
+++ b/target/linux/bcm63xx/dts/bcm6348.dtsi
@@ -94,7 +94,7 @@
};
pinctrl_mii_snoop: mii_snoop {
- function = "ext_ephy";
+ function = "mii_snoop";
groups = "group1", "group4";
};
@@ -125,7 +125,12 @@
pinctrl_utopia: utopia {
function = "utopia";
- groups = "group0", "group1", "group3";
+ groups = "group1", "group3", "group4";
+ };
+
+ pinctrl_diag: diag {
+ function = "diag";
+ groups = "group0", "group1", "group2", "group3", "group4";
};
};
diff --git a/target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch b/target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch
index 6bac90373c..800f0540cc 100644
--- a/target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch
+++ b/target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch
@@ -41,9 +41,9 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+
+name pins functions
+-----------------------------------------------------------
-+group0 32-36 ext_mii, utopia, diag
++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
-+group4 0-7 ext_ephy, mii_snoop, legacy_led, diag
++group3 8-15 ext_mii, utopia, diag
++group4 0-7 ext_ephy, mii_snoop, legacy_led, utopia, diag
diff --git a/target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch b/target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch
index b48723c1b3..3b613fdca5 100644
--- a/target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch
+++ b/target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch
@@ -37,7 +37,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+obj-$(CONFIG_PINCTRL_BCM6348) += pinctrl-bcm6348.o
--- /dev/null
+++ b/drivers/pinctrl/bcm63xx/pinctrl-bcm6348.c
-@@ -0,0 +1,391 @@
+@@ -0,0 +1,370 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
@@ -225,15 +225,16 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+};
+
+static const char * const utopia_groups[] = {
-+ "group0",
+ "group1",
+ "group3",
++ "group4",
+};
+
+static const char * const diag_groups[] = {
+ "group0",
+ "group1",
+ "group2",
++ "group3",
+ "group4",
+};
+
@@ -335,27 +336,6 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+ return 0;
+}
+
-+static int bcm6348_gpio_request_enable(struct pinctrl_dev *pctldev,
-+ struct pinctrl_gpio_range *range,
-+ unsigned offset)
-+{
-+ struct bcm6348_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
-+ struct pin_desc *desc;
-+ u32 mask;
-+
-+ /* don't reconfigure if already muxed */
-+ desc = pin_desc_get(pctldev, offset);
-+ if (desc->mux_usecount)
-+ return 0;
-+
-+ mask = GROUP_MASK(offset);
-+
-+ /* disable all functions using this pin */
-+ bcm6348_rmw_mux(pctl, mask, 0);
-+
-+ return 0;
-+}
-+
+static struct pinctrl_ops bcm6348_pctl_ops = {
+ .get_groups_count = bcm6348_pinctrl_get_group_count,
+ .get_group_name = bcm6348_pinctrl_get_group_name,
@@ -371,8 +351,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+ .get_function_name = bcm6348_pinctrl_get_func_name,
+ .get_function_groups = bcm6348_pinctrl_get_groups,
+ .set_mux = bcm6348_pinctrl_set_mux,
-+ .gpio_request_enable = bcm6348_gpio_request_enable,
-+ .strict = true,
++ .strict = false,
+};
+
+static int bcm6348_pinctrl_probe(struct platform_device *pdev)