aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2016-05-12 20:45:04 -0400
committerLinus Walleij <linus.walleij@linaro.org>2016-05-12 20:45:04 -0400
commit0d5358330c20d50e52e3e65ff07a5db8007041fc (patch)
tree1b38f89d8b75e52828644ab4398adcaa52fb9f6f
parentd6d5c125350dae960a22b45a4ffad46c4abb3ecc (diff)
Revert "pinctrl: tegra: avoid parked_reg and parked_bank"
This reverts commit 1d18a3f0f0809f6c71f1f6e9e268ee904ce0b588.
-rw-r--r--drivers/pinctrl/tegra/pinctrl-tegra.c8
-rw-r--r--drivers/pinctrl/tegra/pinctrl-tegra.h6
-rw-r--r--drivers/pinctrl/tegra/pinctrl-tegra114.c4
-rw-r--r--drivers/pinctrl/tegra/pinctrl-tegra124.c4
-rw-r--r--drivers/pinctrl/tegra/pinctrl-tegra20.c4
-rw-r--r--drivers/pinctrl/tegra/pinctrl-tegra210.c4
-rw-r--r--drivers/pinctrl/tegra/pinctrl-tegra30.c4
7 files changed, 20 insertions, 14 deletions
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.c b/drivers/pinctrl/tegra/pinctrl-tegra.c
index 277622b4b6fb..6e82b290cb4f 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra.c
@@ -632,11 +632,11 @@ static void tegra_pinctrl_clear_parked_bits(struct tegra_pmx *pmx)
632 u32 val; 632 u32 val;
633 633
634 for (i = 0; i < pmx->soc->ngroups; ++i) { 634 for (i = 0; i < pmx->soc->ngroups; ++i) {
635 g = &pmx->soc->groups[i]; 635 if (pmx->soc->groups[i].parked_reg >= 0) {
636 if (g->parked_bit >= 0) { 636 g = &pmx->soc->groups[i];
637 val = pmx_readl(pmx, g->mux_bank, g->mux_reg); 637 val = pmx_readl(pmx, g->parked_bank, g->parked_reg);
638 val &= ~(1 << g->parked_bit); 638 val &= ~(1 << g->parked_bit);
639 pmx_writel(pmx, val, g->mux_bank, g->mux_reg); 639 pmx_writel(pmx, val, g->parked_bank, g->parked_reg);
640 } 640 }
641 } 641 }
642} 642}
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.h b/drivers/pinctrl/tegra/pinctrl-tegra.h
index 33b17cb1471e..d2ced17382b5 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra.h
+++ b/drivers/pinctrl/tegra/pinctrl-tegra.h
@@ -93,7 +93,9 @@ struct tegra_function {
93 * @tri_reg: Tri-state register offset. 93 * @tri_reg: Tri-state register offset.
94 * @tri_bank: Tri-state register bank. 94 * @tri_bank: Tri-state register bank.
95 * @tri_bit: Tri-state register bit. 95 * @tri_bit: Tri-state register bit.
96 * @parked_bit: Parked register bit. -1 if unsupported. 96 * @parked_reg: Parked register offset. -1 if unsupported.
97 * @parked_bank: Parked register bank. 0 if unsupported.
98 * @parked_bit: Parked register bit. 0 if unsupported.
97 * @einput_bit: Enable-input register bit. 99 * @einput_bit: Enable-input register bit.
98 * @odrain_bit: Open-drain register bit. 100 * @odrain_bit: Open-drain register bit.
99 * @lock_bit: Lock register bit. 101 * @lock_bit: Lock register bit.
@@ -136,10 +138,12 @@ struct tegra_pingroup {
136 s16 pupd_reg; 138 s16 pupd_reg;
137 s16 tri_reg; 139 s16 tri_reg;
138 s16 drv_reg; 140 s16 drv_reg;
141 s16 parked_reg;
139 u32 mux_bank:2; 142 u32 mux_bank:2;
140 u32 pupd_bank:2; 143 u32 pupd_bank:2;
141 u32 tri_bank:2; 144 u32 tri_bank:2;
142 u32 drv_bank:2; 145 u32 drv_bank:2;
146 u32 parked_bank:2;
143 s32 mux_bit:6; 147 s32 mux_bit:6;
144 s32 pupd_bit:6; 148 s32 pupd_bit:6;
145 s32 tri_bit:6; 149 s32 tri_bit:6;
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra114.c b/drivers/pinctrl/tegra/pinctrl-tegra114.c
index 952132ce5ea0..4851d169f4c7 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra114.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra114.c
@@ -1578,7 +1578,7 @@ static struct tegra_function tegra114_functions[] = {
1578 .lock_bit = 7, \ 1578 .lock_bit = 7, \
1579 .ioreset_bit = PINGROUP_BIT_##ior(8), \ 1579 .ioreset_bit = PINGROUP_BIT_##ior(8), \
1580 .rcv_sel_bit = PINGROUP_BIT_##rcv_sel(9), \ 1580 .rcv_sel_bit = PINGROUP_BIT_##rcv_sel(9), \
1581 .parked_bit = -1, \ 1581 .parked_reg = -1, \
1582 .drv_reg = -1, \ 1582 .drv_reg = -1, \
1583 } 1583 }
1584 1584
@@ -1599,7 +1599,7 @@ static struct tegra_function tegra114_functions[] = {
1599 .rcv_sel_bit = -1, \ 1599 .rcv_sel_bit = -1, \
1600 .drv_reg = DRV_PINGROUP_REG(r), \ 1600 .drv_reg = DRV_PINGROUP_REG(r), \
1601 .drv_bank = 0, \ 1601 .drv_bank = 0, \
1602 .parked_bit = -1, \ 1602 .parked_reg = -1, \
1603 .hsm_bit = hsm_b, \ 1603 .hsm_bit = hsm_b, \
1604 .schmitt_bit = schmitt_b, \ 1604 .schmitt_bit = schmitt_b, \
1605 .lpmd_bit = lpmd_b, \ 1605 .lpmd_bit = lpmd_b, \
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra124.c b/drivers/pinctrl/tegra/pinctrl-tegra124.c
index bca239e3ae50..a0ce723a9482 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra124.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra124.c
@@ -1747,7 +1747,7 @@ static struct tegra_function tegra124_functions[] = {
1747 .lock_bit = 7, \ 1747 .lock_bit = 7, \
1748 .ioreset_bit = PINGROUP_BIT_##ior(8), \ 1748 .ioreset_bit = PINGROUP_BIT_##ior(8), \
1749 .rcv_sel_bit = PINGROUP_BIT_##rcv_sel(9), \ 1749 .rcv_sel_bit = PINGROUP_BIT_##rcv_sel(9), \
1750 .parked_bit = -1, \ 1750 .parked_reg = -1, \
1751 .drv_reg = -1, \ 1751 .drv_reg = -1, \
1752 } 1752 }
1753 1753
@@ -1768,7 +1768,7 @@ static struct tegra_function tegra124_functions[] = {
1768 .rcv_sel_bit = -1, \ 1768 .rcv_sel_bit = -1, \
1769 .drv_reg = DRV_PINGROUP_REG(r), \ 1769 .drv_reg = DRV_PINGROUP_REG(r), \
1770 .drv_bank = 0, \ 1770 .drv_bank = 0, \
1771 .parked_bit = -1, \ 1771 .parked_reg = -1, \
1772 .hsm_bit = hsm_b, \ 1772 .hsm_bit = hsm_b, \
1773 .schmitt_bit = schmitt_b, \ 1773 .schmitt_bit = schmitt_b, \
1774 .lpmd_bit = lpmd_b, \ 1774 .lpmd_bit = lpmd_b, \
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra20.c b/drivers/pinctrl/tegra/pinctrl-tegra20.c
index 91254d04c64f..09bad6980ad1 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra20.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra20.c
@@ -1994,7 +1994,7 @@ static struct tegra_function tegra20_functions[] = {
1994 .tri_reg = ((tri_r) - TRISTATE_REG_A), \ 1994 .tri_reg = ((tri_r) - TRISTATE_REG_A), \
1995 .tri_bank = 0, \ 1995 .tri_bank = 0, \
1996 .tri_bit = tri_b, \ 1996 .tri_bit = tri_b, \
1997 .parked_bit = -1, \ 1997 .parked_reg = -1, \
1998 .einput_bit = -1, \ 1998 .einput_bit = -1, \
1999 .odrain_bit = -1, \ 1999 .odrain_bit = -1, \
2000 .lock_bit = -1, \ 2000 .lock_bit = -1, \
@@ -2014,7 +2014,7 @@ static struct tegra_function tegra20_functions[] = {
2014 .pupd_bank = 2, \ 2014 .pupd_bank = 2, \
2015 .pupd_bit = pupd_b, \ 2015 .pupd_bit = pupd_b, \
2016 .drv_reg = -1, \ 2016 .drv_reg = -1, \
2017 .parked_bit = -1, \ 2017 .parked_reg = -1, \
2018 } 2018 }
2019 2019
2020/* Pin groups for drive strength registers (configurable version) */ 2020/* Pin groups for drive strength registers (configurable version) */
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra210.c b/drivers/pinctrl/tegra/pinctrl-tegra210.c
index 2b70e93da9db..2d856af389ef 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra210.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra210.c
@@ -1310,6 +1310,8 @@ static struct tegra_function tegra210_functions[] = {
1310 .lock_bit = 7, \ 1310 .lock_bit = 7, \
1311 .ioreset_bit = -1, \ 1311 .ioreset_bit = -1, \
1312 .rcv_sel_bit = PINGROUP_BIT_##e_io_hv(10), \ 1312 .rcv_sel_bit = PINGROUP_BIT_##e_io_hv(10), \
1313 .parked_reg = PINGROUP_REG(r), \
1314 .parked_bank = 1, \
1313 .parked_bit = 5, \ 1315 .parked_bit = 5, \
1314 .hsm_bit = PINGROUP_BIT_##hsm(9), \ 1316 .hsm_bit = PINGROUP_BIT_##hsm(9), \
1315 .schmitt_bit = 12, \ 1317 .schmitt_bit = 12, \
@@ -1343,7 +1345,7 @@ static struct tegra_function tegra210_functions[] = {
1343 .rcv_sel_bit = -1, \ 1345 .rcv_sel_bit = -1, \
1344 .drv_reg = DRV_PINGROUP_REG(r), \ 1346 .drv_reg = DRV_PINGROUP_REG(r), \
1345 .drv_bank = 0, \ 1347 .drv_bank = 0, \
1346 .parked_bit = -1, \ 1348 .parked_reg = -1, \
1347 .hsm_bit = -1, \ 1349 .hsm_bit = -1, \
1348 .schmitt_bit = -1, \ 1350 .schmitt_bit = -1, \
1349 .lpmd_bit = -1, \ 1351 .lpmd_bit = -1, \
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra30.c b/drivers/pinctrl/tegra/pinctrl-tegra30.c
index 474ac6daf513..fb7817fea2d9 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra30.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra30.c
@@ -2139,7 +2139,7 @@ static struct tegra_function tegra30_functions[] = {
2139 .lock_bit = 7, \ 2139 .lock_bit = 7, \
2140 .ioreset_bit = PINGROUP_BIT_##ior(8), \ 2140 .ioreset_bit = PINGROUP_BIT_##ior(8), \
2141 .rcv_sel_bit = -1, \ 2141 .rcv_sel_bit = -1, \
2142 .parked_bit = -1, \ 2142 .parked_reg = -1, \
2143 .drv_reg = -1, \ 2143 .drv_reg = -1, \
2144 } 2144 }
2145 2145
@@ -2160,7 +2160,7 @@ static struct tegra_function tegra30_functions[] = {
2160 .rcv_sel_bit = -1, \ 2160 .rcv_sel_bit = -1, \
2161 .drv_reg = DRV_PINGROUP_REG(r), \ 2161 .drv_reg = DRV_PINGROUP_REG(r), \
2162 .drv_bank = 0, \ 2162 .drv_bank = 0, \
2163 .parked_bit = -1, \ 2163 .parked_reg = -1, \
2164 .hsm_bit = hsm_b, \ 2164 .hsm_bit = hsm_b, \
2165 .schmitt_bit = schmitt_b, \ 2165 .schmitt_bit = schmitt_b, \
2166 .lpmd_bit = lpmd_b, \ 2166 .lpmd_bit = lpmd_b, \