summaryrefslogtreecommitdiff
path: root/drivers/gpio
diff options
context:
space:
mode:
authorXiang Wang <wangx@marvell.com>2015-03-23 17:56:58 -0500
committerTom Rini <trini@konsulko.com>2015-04-23 13:59:18 -0400
commitee4303cffa52216c4d12c6182eb41480713f439a (patch)
treed6e1a84ae56bea8c2e907bcc8bc02f833b11dcb9 /drivers/gpio
parenta868e44333ebac080dd6ed81e5ae580691f7fd18 (diff)
downloadu-boot-imx-ee4303cffa52216c4d12c6182eb41480713f439a.zip
u-boot-imx-ee4303cffa52216c4d12c6182eb41480713f439a.tar.gz
u-boot-imx-ee4303cffa52216c4d12c6182eb41480713f439a.tar.bz2
gpio: mvmfp: support newer MFP bit definitions
1. The bits 11..10 for mfp driver strength is only valid for aspen and old xscale family, for newer Marvell chip, this range has been moved to 12..11. 2. add sleep bit support Signed-off-by: Xiang Wang <wangx@marvell.com> [robh: rebase to current mainline] Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/mvmfp.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/drivers/gpio/mvmfp.c b/drivers/gpio/mvmfp.c
index 97bbe99..43ecf66 100644
--- a/drivers/gpio/mvmfp.c
+++ b/drivers/gpio/mvmfp.c
@@ -43,18 +43,8 @@ void mfp_config(u32 *mfp_cfgs)
/* Write a mfg register as per configuration */
val = 0;
- if (cfg_val & MFP_AF_FLAG)
- /* Abstract and program Afternate-Func Selection */
- val |= cfg_val & MFP_AF_MASK;
- if (cfg_val & MFP_EDGE_FLAG)
- /* Abstract and program Edge configuration */
- val |= cfg_val & MFP_LPM_EDGE_MASK;
- if (cfg_val & MFP_DRIVE_FLAG)
- /* Abstract and program Drive configuration */
- val |= cfg_val & MFP_DRIVE_MASK;
- if (cfg_val & MFP_PULL_FLAG)
- /* Abstract and program Pullup/down configuration */
- val |= cfg_val & MFP_PULL_MASK;
+ if (cfg_val & MFP_VALUE_MASK)
+ val |= cfg_val & MFP_VALUE_MASK;
writel(val, p_mfpr);
} while (1);