|
|
@@ -12,8 +12,8 @@ Signed-off-by: Jonas Gorski <[email protected]>
|
|
|
---
|
|
|
drivers/pinctrl/bcm63xx/Kconfig | 7 +
|
|
|
drivers/pinctrl/bcm63xx/Makefile | 1 +
|
|
|
- drivers/pinctrl/bcm63xx/pinctrl-bcm6348.c | 392 ++++++++++++++++++++++++++++++
|
|
|
- 3 files changed, 400 insertions(+)
|
|
|
+ drivers/pinctrl/bcm63xx/pinctrl-bcm6348.c | 391 ++++++++++++++++++++++++++++++
|
|
|
+ 3 files changed, 399 insertions(+)
|
|
|
create mode 100644 drivers/pinctrl/bcm63xx/pinctrl-bcm6348.c
|
|
|
|
|
|
--- a/drivers/pinctrl/bcm63xx/Kconfig
|
|
|
@@ -37,7 +37,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
|
|
|
+obj-$(CONFIG_PINCTRL_BCM6348) += pinctrl-bcm6348.o
|
|
|
--- /dev/null
|
|
|
+++ b/drivers/pinctrl/bcm63xx/pinctrl-bcm6348.c
|
|
|
-@@ -0,0 +1,392 @@
|
|
|
+@@ -0,0 +1,391 @@
|
|
|
+/*
|
|
|
+ * 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
|
|
|
@@ -321,15 +321,14 @@ Signed-off-by: Jonas Gorski <[email protected]>
|
|
|
+ struct bcm6348_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
|
|
|
+ const struct bcm6348_pingroup *grp = &bcm6348_groups[group];
|
|
|
+ const struct bcm6348_function *f = &bcm6348_funcs[selector];
|
|
|
-+ u32 group_num, mask, val;
|
|
|
++ u32 mask, val;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * pins n..(n+7) share the same group, so we only need to look at
|
|
|
+ * the first pin.
|
|
|
+ */
|
|
|
-+ group_num = (unsigned long)bcm6348_pins[grp->pins[0]].drv_data;
|
|
|
-+ mask = GROUP_MASK(group_num);
|
|
|
-+ val = f->value << GROUP_SHIFT(group_num);
|
|
|
++ mask = GROUP_MASK(grp->pins[0]);
|
|
|
++ val = f->value << GROUP_SHIFT(grp->pins[0]);
|
|
|
+
|
|
|
+ bcm6348_rmw_mux(pctl, mask, val);
|
|
|
+
|