aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2014-01-24 17:36:45 -0500
committerSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2014-02-25 15:16:16 -0500
commit18e6f28e9c0db9ce0cbe0d3717235e8c7bc07b9c (patch)
treea6506cd9e17b67edb5a2cf4dbaea7d4ef1e3d25f /drivers/pinctrl
parent2c4b229bafcfb0bac1ae3489c2e541bddfba8455 (diff)
pinctrl: mvebu: dove: use remapped pmu_mpp registers
Now that we have ioremapped pmu_mpp registers, get rid of hardcoded physical addresses. While at it, also remove DOVE_ prefix from those macros. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/mvebu/pinctrl-dove.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/pinctrl/mvebu/pinctrl-dove.c b/drivers/pinctrl/mvebu/pinctrl-dove.c
index d48db53957e0..b1a2e5b828c1 100644
--- a/drivers/pinctrl/mvebu/pinctrl-dove.c
+++ b/drivers/pinctrl/mvebu/pinctrl-dove.c
@@ -31,8 +31,6 @@
31#define GC_REGS_OFFS 0xe802c 31#define GC_REGS_OFFS 0xe802c
32 32
33#define DOVE_SB_REGS_VIRT_BASE IOMEM(0xfde00000) 33#define DOVE_SB_REGS_VIRT_BASE IOMEM(0xfde00000)
34#define DOVE_PMU_SIGNAL_SELECT_0 (DOVE_SB_REGS_VIRT_BASE + 0xd802C)
35#define DOVE_PMU_SIGNAL_SELECT_1 (DOVE_SB_REGS_VIRT_BASE + 0xd8030)
36#define DOVE_GLOBAL_CONFIG_1 (DOVE_SB_REGS_VIRT_BASE + 0xe802C) 34#define DOVE_GLOBAL_CONFIG_1 (DOVE_SB_REGS_VIRT_BASE + 0xe802C)
37#define DOVE_GLOBAL_CONFIG_1 (DOVE_SB_REGS_VIRT_BASE + 0xe802C) 35#define DOVE_GLOBAL_CONFIG_1 (DOVE_SB_REGS_VIRT_BASE + 0xe802C)
38#define DOVE_TWSI_ENABLE_OPTION1 BIT(7) 36#define DOVE_TWSI_ENABLE_OPTION1 BIT(7)
@@ -59,6 +57,10 @@
59#define SD1_GPIO_SEL BIT(1) 57#define SD1_GPIO_SEL BIT(1)
60#define SD0_GPIO_SEL BIT(0) 58#define SD0_GPIO_SEL BIT(0)
61 59
60/* PMU Signal Select registers */
61#define PMU_SIGNAL_SELECT_0 0x00
62#define PMU_SIGNAL_SELECT_1 0x04
63
62#define CONFIG_PMU BIT(4) 64#define CONFIG_PMU BIT(4)
63 65
64static void __iomem *mpp_base; 66static void __iomem *mpp_base;
@@ -86,7 +88,7 @@ static int dove_pmu_mpp_ctrl_get(unsigned pid, unsigned long *config)
86 if ((pmu & BIT(pid)) == 0) 88 if ((pmu & BIT(pid)) == 0)
87 return default_mpp_ctrl_get(mpp_base, pid, config); 89 return default_mpp_ctrl_get(mpp_base, pid, config);
88 90
89 func = readl(DOVE_PMU_SIGNAL_SELECT_0 + off); 91 func = readl(pmu_base + PMU_SIGNAL_SELECT_0 + off);
90 *config = (func >> shift) & MVEBU_MPP_MASK; 92 *config = (func >> shift) & MVEBU_MPP_MASK;
91 *config |= CONFIG_PMU; 93 *config |= CONFIG_PMU;
92 94
@@ -106,10 +108,10 @@ static int dove_pmu_mpp_ctrl_set(unsigned pid, unsigned long config)
106 } 108 }
107 109
108 writel(pmu | BIT(pid), mpp_base + PMU_MPP_GENERAL_CTRL); 110 writel(pmu | BIT(pid), mpp_base + PMU_MPP_GENERAL_CTRL);
109 func = readl(DOVE_PMU_SIGNAL_SELECT_0 + off); 111 func = readl(pmu_base + PMU_SIGNAL_SELECT_0 + off);
110 func &= ~(MVEBU_MPP_MASK << shift); 112 func &= ~(MVEBU_MPP_MASK << shift);
111 func |= (config & MVEBU_MPP_MASK) << shift; 113 func |= (config & MVEBU_MPP_MASK) << shift;
112 writel(func, DOVE_PMU_SIGNAL_SELECT_0 + off); 114 writel(func, pmu_base + PMU_SIGNAL_SELECT_0 + off);
113 115
114 return 0; 116 return 0;
115} 117}