diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-28 20:06:51 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-28 20:06:51 -0400 |
| commit | d94ba9e7d8d5c821d0442f13b30b0140c1109c38 (patch) | |
| tree | db82a38b7341fc035228d6cd1270cf4468c229c3 /drivers/pinctrl/tegra | |
| parent | 1c88e19b0f6a8471ee50d5062721ba30b8fd4ba9 (diff) | |
| parent | 9573e7923007961799beff38bc5c5a7635634eef (diff) | |
Merge tag 'pinctrl-v4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij:
"This is the bulk of pin control changes for the v4.8 kernel cycle.
Nothing stands out as especially exiting: new drivers, new subdrivers,
lots of cleanups and incremental features.
Business as usual.
New drivers:
- New driver for Oxnas pin control and GPIO. This ARM-based chipset
is used in a few storage (NAS) type devices.
- New driver for the MAX77620/MAX20024 pin controller portions.
- New driver for the Intel Merrifield pin controller.
New subdrivers:
- New subdriver for the Qualcomm MDM9615
- New subdriver for the STM32F746 MCU
- New subdriver for the Broadcom NSP SoC.
Cleanups:
- Demodularization of bool compiled-in drivers.
Apart from this there is just regular incremental improvements to a
lot of drivers, especially Uniphier and PFC"
* tag 'pinctrl-v4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (131 commits)
pinctrl: fix pincontrol definition for marvell
pinctrl: xway: fix typo
Revert "pinctrl: amd: make it explicitly non-modular"
pinctrl: iproc: Add NSP and Stingray GPIO support
pinctrl: Update iProc GPIO DT bindings
pinctrl: bcm: add OF dependencies
pinctrl: ns2: remove redundant dev_err call in ns2_pinmux_probe()
pinctrl: Add STM32F746 MCU support
pinctrl: intel: Protect set wake flow by spin lock
pinctrl: nsp: remove redundant dev_err call in nsp_pinmux_probe()
pinctrl: uniphier: add Ethernet pin-mux settings
sh-pfc: Use PTR_ERR_OR_ZERO() to simplify the code
pinctrl: ns2: fix return value check in ns2_pinmux_probe()
pinctrl: qcom: update DT bindings with ebi2 groups
pinctrl: qcom: establish proper EBI2 pin groups
pinctrl: imx21: Remove the MODULE_DEVICE_TABLE() macro
Documentation: dt: Add new compatible to STM32 pinctrl driver bindings
includes: dt-bindings: Add STM32F746 pinctrl DT bindings
pinctrl: sunxi: fix nand0 function name for sun8i
pinctrl: uniphier: remove pointless pin-mux settings for PH1-LD11
...
Diffstat (limited to 'drivers/pinctrl/tegra')
| -rw-r--r-- | drivers/pinctrl/tegra/pinctrl-tegra.c | 8 | ||||
| -rw-r--r-- | drivers/pinctrl/tegra/pinctrl-tegra.h | 6 | ||||
| -rw-r--r-- | drivers/pinctrl/tegra/pinctrl-tegra114.c | 4 | ||||
| -rw-r--r-- | drivers/pinctrl/tegra/pinctrl-tegra124.c | 4 | ||||
| -rw-r--r-- | drivers/pinctrl/tegra/pinctrl-tegra20.c | 6 | ||||
| -rw-r--r-- | drivers/pinctrl/tegra/pinctrl-tegra210.c | 4 | ||||
| -rw-r--r-- | drivers/pinctrl/tegra/pinctrl-tegra30.c | 4 |
7 files changed, 15 insertions, 21 deletions
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.c b/drivers/pinctrl/tegra/pinctrl-tegra.c index 6e82b290cb4f..277622b4b6fb 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 | if (pmx->soc->groups[i].parked_reg >= 0) { | 635 | g = &pmx->soc->groups[i]; |
| 636 | g = &pmx->soc->groups[i]; | 636 | if (g->parked_bit >= 0) { |
| 637 | val = pmx_readl(pmx, g->parked_bank, g->parked_reg); | 637 | val = pmx_readl(pmx, g->mux_bank, g->mux_reg); |
| 638 | val &= ~(1 << g->parked_bit); | 638 | val &= ~(1 << g->parked_bit); |
| 639 | pmx_writel(pmx, val, g->parked_bank, g->parked_reg); | 639 | pmx_writel(pmx, val, g->mux_bank, g->mux_reg); |
| 640 | } | 640 | } |
| 641 | } | 641 | } |
| 642 | } | 642 | } |
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.h b/drivers/pinctrl/tegra/pinctrl-tegra.h index d2ced17382b5..33b17cb1471e 100644 --- a/drivers/pinctrl/tegra/pinctrl-tegra.h +++ b/drivers/pinctrl/tegra/pinctrl-tegra.h | |||
| @@ -93,9 +93,7 @@ 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_reg: Parked register offset. -1 if unsupported. | 96 | * @parked_bit: Parked register bit. -1 if unsupported. |
| 97 | * @parked_bank: Parked register bank. 0 if unsupported. | ||
| 98 | * @parked_bit: Parked register bit. 0 if unsupported. | ||
| 99 | * @einput_bit: Enable-input register bit. | 97 | * @einput_bit: Enable-input register bit. |
| 100 | * @odrain_bit: Open-drain register bit. | 98 | * @odrain_bit: Open-drain register bit. |
| 101 | * @lock_bit: Lock register bit. | 99 | * @lock_bit: Lock register bit. |
| @@ -138,12 +136,10 @@ struct tegra_pingroup { | |||
| 138 | s16 pupd_reg; | 136 | s16 pupd_reg; |
| 139 | s16 tri_reg; | 137 | s16 tri_reg; |
| 140 | s16 drv_reg; | 138 | s16 drv_reg; |
| 141 | s16 parked_reg; | ||
| 142 | u32 mux_bank:2; | 139 | u32 mux_bank:2; |
| 143 | u32 pupd_bank:2; | 140 | u32 pupd_bank:2; |
| 144 | u32 tri_bank:2; | 141 | u32 tri_bank:2; |
| 145 | u32 drv_bank:2; | 142 | u32 drv_bank:2; |
| 146 | u32 parked_bank:2; | ||
| 147 | s32 mux_bit:6; | 143 | s32 mux_bit:6; |
| 148 | s32 pupd_bit:6; | 144 | s32 pupd_bit:6; |
| 149 | s32 tri_bit:6; | 145 | s32 tri_bit:6; |
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra114.c b/drivers/pinctrl/tegra/pinctrl-tegra114.c index 4851d169f4c7..952132ce5ea0 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_reg = -1, \ | 1581 | .parked_bit = -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_reg = -1, \ | 1602 | .parked_bit = -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 a0ce723a9482..bca239e3ae50 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_reg = -1, \ | 1750 | .parked_bit = -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_reg = -1, \ | 1771 | .parked_bit = -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 09bad6980ad1..ad62451a5a9b 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_reg = -1, \ | 1997 | .parked_bit = -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_reg = -1, \ | 2017 | .parked_bit = -1, \ |
| 2018 | } | 2018 | } |
| 2019 | 2019 | ||
| 2020 | /* Pin groups for drive strength registers (configurable version) */ | 2020 | /* Pin groups for drive strength registers (configurable version) */ |
| @@ -2030,7 +2030,7 @@ static struct tegra_function tegra20_functions[] = { | |||
| 2030 | .tri_reg = -1, \ | 2030 | .tri_reg = -1, \ |
| 2031 | .drv_reg = ((r) - PINGROUP_REG_A), \ | 2031 | .drv_reg = ((r) - PINGROUP_REG_A), \ |
| 2032 | .drv_bank = 3, \ | 2032 | .drv_bank = 3, \ |
| 2033 | .parked_reg = -1, \ | 2033 | .parked_bit = -1, \ |
| 2034 | .hsm_bit = hsm_b, \ | 2034 | .hsm_bit = hsm_b, \ |
| 2035 | .schmitt_bit = schmitt_b, \ | 2035 | .schmitt_bit = schmitt_b, \ |
| 2036 | .lpmd_bit = lpmd_b, \ | 2036 | .lpmd_bit = lpmd_b, \ |
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra210.c b/drivers/pinctrl/tegra/pinctrl-tegra210.c index 2d856af389ef..2b70e93da9db 100644 --- a/drivers/pinctrl/tegra/pinctrl-tegra210.c +++ b/drivers/pinctrl/tegra/pinctrl-tegra210.c | |||
| @@ -1310,8 +1310,6 @@ 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, \ | ||
| 1315 | .parked_bit = 5, \ | 1313 | .parked_bit = 5, \ |
| 1316 | .hsm_bit = PINGROUP_BIT_##hsm(9), \ | 1314 | .hsm_bit = PINGROUP_BIT_##hsm(9), \ |
| 1317 | .schmitt_bit = 12, \ | 1315 | .schmitt_bit = 12, \ |
| @@ -1345,7 +1343,7 @@ static struct tegra_function tegra210_functions[] = { | |||
| 1345 | .rcv_sel_bit = -1, \ | 1343 | .rcv_sel_bit = -1, \ |
| 1346 | .drv_reg = DRV_PINGROUP_REG(r), \ | 1344 | .drv_reg = DRV_PINGROUP_REG(r), \ |
| 1347 | .drv_bank = 0, \ | 1345 | .drv_bank = 0, \ |
| 1348 | .parked_reg = -1, \ | 1346 | .parked_bit = -1, \ |
| 1349 | .hsm_bit = -1, \ | 1347 | .hsm_bit = -1, \ |
| 1350 | .schmitt_bit = -1, \ | 1348 | .schmitt_bit = -1, \ |
| 1351 | .lpmd_bit = -1, \ | 1349 | .lpmd_bit = -1, \ |
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra30.c b/drivers/pinctrl/tegra/pinctrl-tegra30.c index fb7817fea2d9..474ac6daf513 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_reg = -1, \ | 2142 | .parked_bit = -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_reg = -1, \ | 2163 | .parked_bit = -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, \ |
