diff options
-rw-r--r-- | drivers/pinctrl/mvebu/pinctrl-dove.c | 12 |
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 | ||
64 | static void __iomem *mpp_base; | 66 | static 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 | } |