diff options
| author | Patrice Chotard <patrice.chotard@st.com> | 2016-08-10 03:39:11 -0400 |
|---|---|---|
| committer | Lee Jones <lee.jones@linaro.org> | 2016-08-10 04:24:39 -0400 |
| commit | 897ac6674c64ca94df5b70ea5c6815a296e1d32a (patch) | |
| tree | 37892782c76bc796df4187061e4396fc3ff362cd /include/linux/mfd | |
| parent | c16bee7897bffc3814390c9279bf01137a6bd595 (diff) | |
mfd: stmpe: Rework registers access
this update allows to use registers map as following :
regs[reg_index + offset] instead of
regs[reg_index] + offset
This makes code clearer and will facilitate the addition of STMPE1600
on which LSB and MSB registers are respectively located at addr and addr + 1.
Despite for all others STMPE variant, LSB and MSB registers are respectively
located in reverse order at addr + 1 and addr.
For variant which have 3 registers's bank, we use LSB,CSB and MSB indexes
which contains respectively LSB (or LOW), CSB (or MID) and MSB (or HIGH)
register addresses (STMPE1801/STMPE24xx).
For variant which have 2 registers's bank, we use LSB and CSB indexes only.
In this case the CSB index contains the MSB regs address (STMPE 1601).
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'include/linux/mfd')
| -rw-r--r-- | include/linux/mfd/stmpe.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/mfd/stmpe.h b/include/linux/mfd/stmpe.h index eb8b73bd139f..6b26661a640e 100644 --- a/include/linux/mfd/stmpe.h +++ b/include/linux/mfd/stmpe.h | |||
| @@ -43,20 +43,38 @@ enum { | |||
| 43 | STMPE_IDX_SYS_CTRL2, | 43 | STMPE_IDX_SYS_CTRL2, |
| 44 | STMPE_IDX_ICR_LSB, | 44 | STMPE_IDX_ICR_LSB, |
| 45 | STMPE_IDX_IER_LSB, | 45 | STMPE_IDX_IER_LSB, |
| 46 | STMPE_IDX_IER_MSB, | ||
| 46 | STMPE_IDX_ISR_LSB, | 47 | STMPE_IDX_ISR_LSB, |
| 47 | STMPE_IDX_ISR_MSB, | 48 | STMPE_IDX_ISR_MSB, |
| 48 | STMPE_IDX_GPMR_LSB, | 49 | STMPE_IDX_GPMR_LSB, |
| 50 | STMPE_IDX_GPMR_CSB, | ||
| 51 | STMPE_IDX_GPMR_MSB, | ||
| 49 | STMPE_IDX_GPSR_LSB, | 52 | STMPE_IDX_GPSR_LSB, |
| 53 | STMPE_IDX_GPSR_CSB, | ||
| 54 | STMPE_IDX_GPSR_MSB, | ||
| 50 | STMPE_IDX_GPCR_LSB, | 55 | STMPE_IDX_GPCR_LSB, |
| 56 | STMPE_IDX_GPCR_CSB, | ||
| 57 | STMPE_IDX_GPCR_MSB, | ||
| 51 | STMPE_IDX_GPDR_LSB, | 58 | STMPE_IDX_GPDR_LSB, |
| 59 | STMPE_IDX_GPDR_CSB, | ||
| 60 | STMPE_IDX_GPDR_MSB, | ||
| 61 | STMPE_IDX_GPEDR_LSB, | ||
| 62 | STMPE_IDX_GPEDR_CSB, | ||
| 52 | STMPE_IDX_GPEDR_MSB, | 63 | STMPE_IDX_GPEDR_MSB, |
| 53 | STMPE_IDX_GPRER_LSB, | 64 | STMPE_IDX_GPRER_LSB, |
| 65 | STMPE_IDX_GPRER_CSB, | ||
| 66 | STMPE_IDX_GPRER_MSB, | ||
| 54 | STMPE_IDX_GPFER_LSB, | 67 | STMPE_IDX_GPFER_LSB, |
| 68 | STMPE_IDX_GPFER_CSB, | ||
| 69 | STMPE_IDX_GPFER_MSB, | ||
| 55 | STMPE_IDX_GPPUR_LSB, | 70 | STMPE_IDX_GPPUR_LSB, |
| 56 | STMPE_IDX_GPPDR_LSB, | 71 | STMPE_IDX_GPPDR_LSB, |
| 57 | STMPE_IDX_GPAFR_U_MSB, | 72 | STMPE_IDX_GPAFR_U_MSB, |
| 58 | STMPE_IDX_IEGPIOR_LSB, | 73 | STMPE_IDX_IEGPIOR_LSB, |
| 74 | STMPE_IDX_IEGPIOR_CSB, | ||
| 75 | STMPE_IDX_IEGPIOR_MSB, | ||
| 59 | STMPE_IDX_ISGPIOR_LSB, | 76 | STMPE_IDX_ISGPIOR_LSB, |
| 77 | STMPE_IDX_ISGPIOR_CSB, | ||
| 60 | STMPE_IDX_ISGPIOR_MSB, | 78 | STMPE_IDX_ISGPIOR_MSB, |
| 61 | STMPE_IDX_MAX, | 79 | STMPE_IDX_MAX, |
| 62 | }; | 80 | }; |
