diff options
author | Barry Song <Baohua.Song@csr.com> | 2015-01-11 08:56:41 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-01-14 08:21:54 -0500 |
commit | a17272a46ce1133d1b2232d6584d947565b720ee (patch) | |
tree | 6c9d8259374cdadb323d27efc9617f1d8ba2e497 /drivers/pinctrl/sirf | |
parent | 63b5aed37b769d6b9f5b322e1e29f31c18da5d17 (diff) |
pinctrl: sirf: drop marco support
marco chip has been dropped, clear its support.
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/sirf')
-rw-r--r-- | drivers/pinctrl/sirf/pinctrl-sirf.c | 51 | ||||
-rw-r--r-- | drivers/pinctrl/sirf/pinctrl-sirf.h | 1 |
2 files changed, 13 insertions, 39 deletions
diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c index 4871647c7f85..2a1f07249b2f 100644 --- a/drivers/pinctrl/sirf/pinctrl-sirf.c +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c | |||
@@ -38,7 +38,6 @@ struct sirfsoc_gpio_bank { | |||
38 | 38 | ||
39 | struct sirfsoc_gpio_chip { | 39 | struct sirfsoc_gpio_chip { |
40 | struct of_mm_gpio_chip chip; | 40 | struct of_mm_gpio_chip chip; |
41 | bool is_marco; /* for marco, some registers are different with prima2 */ | ||
42 | struct sirfsoc_gpio_bank sgpio_bank[SIRFSOC_GPIO_NO_OF_BANKS]; | 41 | struct sirfsoc_gpio_bank sgpio_bank[SIRFSOC_GPIO_NO_OF_BANKS]; |
43 | }; | 42 | }; |
44 | 43 | ||
@@ -149,23 +148,14 @@ static void sirfsoc_pinmux_endisable(struct sirfsoc_pmx *spmx, | |||
149 | 148 | ||
150 | for (i = 0; i < mux->muxmask_counts; i++) { | 149 | for (i = 0; i < mux->muxmask_counts; i++) { |
151 | u32 muxval; | 150 | u32 muxval; |
152 | if (!spmx->is_marco) { | 151 | muxval = readl(spmx->gpio_virtbase + |
153 | muxval = readl(spmx->gpio_virtbase + | 152 | SIRFSOC_GPIO_PAD_EN(mask[i].group)); |
154 | SIRFSOC_GPIO_PAD_EN(mask[i].group)); | 153 | if (enable) |
155 | if (enable) | 154 | muxval = muxval & ~mask[i].mask; |
156 | muxval = muxval & ~mask[i].mask; | 155 | else |
157 | else | 156 | muxval = muxval | mask[i].mask; |
158 | muxval = muxval | mask[i].mask; | 157 | writel(muxval, spmx->gpio_virtbase + |
159 | writel(muxval, spmx->gpio_virtbase + | 158 | SIRFSOC_GPIO_PAD_EN(mask[i].group)); |
160 | SIRFSOC_GPIO_PAD_EN(mask[i].group)); | ||
161 | } else { | ||
162 | if (enable) | ||
163 | writel(mask[i].mask, spmx->gpio_virtbase + | ||
164 | SIRFSOC_GPIO_PAD_EN_CLR(mask[i].group)); | ||
165 | else | ||
166 | writel(mask[i].mask, spmx->gpio_virtbase + | ||
167 | SIRFSOC_GPIO_PAD_EN(mask[i].group)); | ||
168 | } | ||
169 | } | 159 | } |
170 | 160 | ||
171 | if (mux->funcmask && enable) { | 161 | if (mux->funcmask && enable) { |
@@ -223,16 +213,11 @@ static int sirfsoc_pinmux_request_gpio(struct pinctrl_dev *pmxdev, | |||
223 | 213 | ||
224 | spmx = pinctrl_dev_get_drvdata(pmxdev); | 214 | spmx = pinctrl_dev_get_drvdata(pmxdev); |
225 | 215 | ||
226 | if (!spmx->is_marco) { | 216 | muxval = readl(spmx->gpio_virtbase + |
227 | muxval = readl(spmx->gpio_virtbase + | 217 | SIRFSOC_GPIO_PAD_EN(group)); |
228 | SIRFSOC_GPIO_PAD_EN(group)); | 218 | muxval = muxval | (1 << (offset - range->pin_base)); |
229 | muxval = muxval | (1 << (offset - range->pin_base)); | 219 | writel(muxval, spmx->gpio_virtbase + |
230 | writel(muxval, spmx->gpio_virtbase + | 220 | SIRFSOC_GPIO_PAD_EN(group)); |
231 | SIRFSOC_GPIO_PAD_EN(group)); | ||
232 | } else { | ||
233 | writel(1 << (offset - range->pin_base), spmx->gpio_virtbase + | ||
234 | SIRFSOC_GPIO_PAD_EN(group)); | ||
235 | } | ||
236 | 221 | ||
237 | return 0; | 222 | return 0; |
238 | } | 223 | } |
@@ -256,7 +241,6 @@ static void __iomem *sirfsoc_rsc_of_iomap(void) | |||
256 | { | 241 | { |
257 | const struct of_device_id rsc_ids[] = { | 242 | const struct of_device_id rsc_ids[] = { |
258 | { .compatible = "sirf,prima2-rsc" }, | 243 | { .compatible = "sirf,prima2-rsc" }, |
259 | { .compatible = "sirf,marco-rsc" }, | ||
260 | {} | 244 | {} |
261 | }; | 245 | }; |
262 | struct device_node *np; | 246 | struct device_node *np; |
@@ -284,7 +268,6 @@ static int sirfsoc_gpio_of_xlate(struct gpio_chip *gc, | |||
284 | static const struct of_device_id pinmux_ids[] = { | 268 | static const struct of_device_id pinmux_ids[] = { |
285 | { .compatible = "sirf,prima2-pinctrl", .data = &prima2_pinctrl_data, }, | 269 | { .compatible = "sirf,prima2-pinctrl", .data = &prima2_pinctrl_data, }, |
286 | { .compatible = "sirf,atlas6-pinctrl", .data = &atlas6_pinctrl_data, }, | 270 | { .compatible = "sirf,atlas6-pinctrl", .data = &atlas6_pinctrl_data, }, |
287 | { .compatible = "sirf,marco-pinctrl", .data = &prima2_pinctrl_data, }, | ||
288 | {} | 271 | {} |
289 | }; | 272 | }; |
290 | 273 | ||
@@ -317,9 +300,6 @@ static int sirfsoc_pinmux_probe(struct platform_device *pdev) | |||
317 | goto out_no_rsc_remap; | 300 | goto out_no_rsc_remap; |
318 | } | 301 | } |
319 | 302 | ||
320 | if (of_device_is_compatible(np, "sirf,marco-pinctrl")) | ||
321 | spmx->is_marco = 1; | ||
322 | |||
323 | pdata = of_match_node(pinmux_ids, np)->data; | 303 | pdata = of_match_node(pinmux_ids, np)->data; |
324 | sirfsoc_pin_groups = pdata->grps; | 304 | sirfsoc_pin_groups = pdata->grps; |
325 | sirfsoc_pingrp_cnt = pdata->grps_cnt; | 305 | sirfsoc_pingrp_cnt = pdata->grps_cnt; |
@@ -803,7 +783,6 @@ static int sirfsoc_gpio_probe(struct device_node *np) | |||
803 | struct sirfsoc_gpio_bank *bank; | 783 | struct sirfsoc_gpio_bank *bank; |
804 | void __iomem *regs; | 784 | void __iomem *regs; |
805 | struct platform_device *pdev; | 785 | struct platform_device *pdev; |
806 | bool is_marco = false; | ||
807 | 786 | ||
808 | u32 pullups[SIRFSOC_GPIO_NO_OF_BANKS], pulldowns[SIRFSOC_GPIO_NO_OF_BANKS]; | 787 | u32 pullups[SIRFSOC_GPIO_NO_OF_BANKS], pulldowns[SIRFSOC_GPIO_NO_OF_BANKS]; |
809 | 788 | ||
@@ -819,9 +798,6 @@ static int sirfsoc_gpio_probe(struct device_node *np) | |||
819 | if (!regs) | 798 | if (!regs) |
820 | return -ENOMEM; | 799 | return -ENOMEM; |
821 | 800 | ||
822 | if (of_device_is_compatible(np, "sirf,marco-pinctrl")) | ||
823 | is_marco = 1; | ||
824 | |||
825 | sgpio->chip.gc.request = sirfsoc_gpio_request; | 801 | sgpio->chip.gc.request = sirfsoc_gpio_request; |
826 | sgpio->chip.gc.free = sirfsoc_gpio_free; | 802 | sgpio->chip.gc.free = sirfsoc_gpio_free; |
827 | sgpio->chip.gc.direction_input = sirfsoc_gpio_direction_input; | 803 | sgpio->chip.gc.direction_input = sirfsoc_gpio_direction_input; |
@@ -836,7 +812,6 @@ static int sirfsoc_gpio_probe(struct device_node *np) | |||
836 | sgpio->chip.gc.of_gpio_n_cells = 2; | 812 | sgpio->chip.gc.of_gpio_n_cells = 2; |
837 | sgpio->chip.gc.dev = &pdev->dev; | 813 | sgpio->chip.gc.dev = &pdev->dev; |
838 | sgpio->chip.regs = regs; | 814 | sgpio->chip.regs = regs; |
839 | sgpio->is_marco = is_marco; | ||
840 | 815 | ||
841 | err = gpiochip_add(&sgpio->chip.gc); | 816 | err = gpiochip_add(&sgpio->chip.gc); |
842 | if (err) { | 817 | if (err) { |
diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.h b/drivers/pinctrl/sirf/pinctrl-sirf.h index d7f16b499ad9..9550335fe57a 100644 --- a/drivers/pinctrl/sirf/pinctrl-sirf.h +++ b/drivers/pinctrl/sirf/pinctrl-sirf.h | |||
@@ -49,7 +49,6 @@ struct sirfsoc_pmx { | |||
49 | u32 paden_regs[SIRFSOC_GPIO_NO_OF_BANKS]; | 49 | u32 paden_regs[SIRFSOC_GPIO_NO_OF_BANKS]; |
50 | u32 dspen_regs; | 50 | u32 dspen_regs; |
51 | u32 rsc_regs[3]; | 51 | u32 rsc_regs[3]; |
52 | bool is_marco; | ||
53 | }; | 52 | }; |
54 | 53 | ||
55 | /* SIRFSOC_GPIO_PAD_EN set */ | 54 | /* SIRFSOC_GPIO_PAD_EN set */ |