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 | |
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>
-rw-r--r-- | drivers/mfd/stmpe.c | 48 | ||||
-rw-r--r-- | drivers/mfd/stmpe.h | 49 | ||||
-rw-r--r-- | include/linux/mfd/stmpe.h | 18 |
3 files changed, 105 insertions, 10 deletions
diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c index a0704767a050..1877d1ea2e7c 100644 --- a/drivers/mfd/stmpe.c +++ b/drivers/mfd/stmpe.c | |||
@@ -483,7 +483,7 @@ static const u8 stmpe811_regs[] = { | |||
483 | [STMPE_IDX_GPAFR_U_MSB] = STMPE811_REG_GPIO_AF, | 483 | [STMPE_IDX_GPAFR_U_MSB] = STMPE811_REG_GPIO_AF, |
484 | [STMPE_IDX_IEGPIOR_LSB] = STMPE811_REG_GPIO_INT_EN, | 484 | [STMPE_IDX_IEGPIOR_LSB] = STMPE811_REG_GPIO_INT_EN, |
485 | [STMPE_IDX_ISGPIOR_MSB] = STMPE811_REG_GPIO_INT_STA, | 485 | [STMPE_IDX_ISGPIOR_MSB] = STMPE811_REG_GPIO_INT_STA, |
486 | [STMPE_IDX_GPEDR_MSB] = STMPE811_REG_GPIO_ED, | 486 | [STMPE_IDX_GPEDR_LSB] = STMPE811_REG_GPIO_ED, |
487 | }; | 487 | }; |
488 | 488 | ||
489 | static struct stmpe_variant_block stmpe811_blocks[] = { | 489 | static struct stmpe_variant_block stmpe811_blocks[] = { |
@@ -561,19 +561,28 @@ static const u8 stmpe1601_regs[] = { | |||
561 | [STMPE_IDX_SYS_CTRL] = STMPE1601_REG_SYS_CTRL, | 561 | [STMPE_IDX_SYS_CTRL] = STMPE1601_REG_SYS_CTRL, |
562 | [STMPE_IDX_SYS_CTRL2] = STMPE1601_REG_SYS_CTRL2, | 562 | [STMPE_IDX_SYS_CTRL2] = STMPE1601_REG_SYS_CTRL2, |
563 | [STMPE_IDX_ICR_LSB] = STMPE1601_REG_ICR_LSB, | 563 | [STMPE_IDX_ICR_LSB] = STMPE1601_REG_ICR_LSB, |
564 | [STMPE_IDX_IER_MSB] = STMPE1601_REG_IER_MSB, | ||
564 | [STMPE_IDX_IER_LSB] = STMPE1601_REG_IER_LSB, | 565 | [STMPE_IDX_IER_LSB] = STMPE1601_REG_IER_LSB, |
565 | [STMPE_IDX_ISR_MSB] = STMPE1601_REG_ISR_MSB, | 566 | [STMPE_IDX_ISR_MSB] = STMPE1601_REG_ISR_MSB, |
566 | [STMPE_IDX_GPMR_LSB] = STMPE1601_REG_GPIO_MP_LSB, | 567 | [STMPE_IDX_GPMR_LSB] = STMPE1601_REG_GPIO_MP_LSB, |
568 | [STMPE_IDX_GPMR_CSB] = STMPE1601_REG_GPIO_MP_MSB, | ||
567 | [STMPE_IDX_GPSR_LSB] = STMPE1601_REG_GPIO_SET_LSB, | 569 | [STMPE_IDX_GPSR_LSB] = STMPE1601_REG_GPIO_SET_LSB, |
570 | [STMPE_IDX_GPSR_CSB] = STMPE1601_REG_GPIO_SET_MSB, | ||
568 | [STMPE_IDX_GPCR_LSB] = STMPE1601_REG_GPIO_CLR_LSB, | 571 | [STMPE_IDX_GPCR_LSB] = STMPE1601_REG_GPIO_CLR_LSB, |
572 | [STMPE_IDX_GPCR_CSB] = STMPE1601_REG_GPIO_CLR_MSB, | ||
569 | [STMPE_IDX_GPDR_LSB] = STMPE1601_REG_GPIO_SET_DIR_LSB, | 573 | [STMPE_IDX_GPDR_LSB] = STMPE1601_REG_GPIO_SET_DIR_LSB, |
574 | [STMPE_IDX_GPDR_CSB] = STMPE1601_REG_GPIO_SET_DIR_MSB, | ||
575 | [STMPE_IDX_GPEDR_LSB] = STMPE1601_REG_GPIO_ED_LSB, | ||
576 | [STMPE_IDX_GPEDR_CSB] = STMPE1601_REG_GPIO_ED_MSB, | ||
570 | [STMPE_IDX_GPRER_LSB] = STMPE1601_REG_GPIO_RE_LSB, | 577 | [STMPE_IDX_GPRER_LSB] = STMPE1601_REG_GPIO_RE_LSB, |
578 | [STMPE_IDX_GPRER_CSB] = STMPE1601_REG_GPIO_RE_MSB, | ||
571 | [STMPE_IDX_GPFER_LSB] = STMPE1601_REG_GPIO_FE_LSB, | 579 | [STMPE_IDX_GPFER_LSB] = STMPE1601_REG_GPIO_FE_LSB, |
580 | [STMPE_IDX_GPFER_CSB] = STMPE1601_REG_GPIO_FE_MSB, | ||
572 | [STMPE_IDX_GPPUR_LSB] = STMPE1601_REG_GPIO_PU_LSB, | 581 | [STMPE_IDX_GPPUR_LSB] = STMPE1601_REG_GPIO_PU_LSB, |
573 | [STMPE_IDX_GPAFR_U_MSB] = STMPE1601_REG_GPIO_AF_U_MSB, | 582 | [STMPE_IDX_GPAFR_U_MSB] = STMPE1601_REG_GPIO_AF_U_MSB, |
574 | [STMPE_IDX_IEGPIOR_LSB] = STMPE1601_REG_INT_EN_GPIO_MASK_LSB, | 583 | [STMPE_IDX_IEGPIOR_LSB] = STMPE1601_REG_INT_EN_GPIO_MASK_LSB, |
584 | [STMPE_IDX_IEGPIOR_CSB] = STMPE1601_REG_INT_EN_GPIO_MASK_MSB, | ||
575 | [STMPE_IDX_ISGPIOR_MSB] = STMPE1601_REG_INT_STA_GPIO_MSB, | 585 | [STMPE_IDX_ISGPIOR_MSB] = STMPE1601_REG_INT_STA_GPIO_MSB, |
576 | [STMPE_IDX_GPEDR_MSB] = STMPE1601_REG_GPIO_ED_MSB, | ||
577 | }; | 586 | }; |
578 | 587 | ||
579 | static struct stmpe_variant_block stmpe1601_blocks[] = { | 588 | static struct stmpe_variant_block stmpe1601_blocks[] = { |
@@ -719,14 +728,28 @@ static const u8 stmpe1801_regs[] = { | |||
719 | [STMPE_IDX_IER_LSB] = STMPE1801_REG_INT_EN_MASK_LOW, | 728 | [STMPE_IDX_IER_LSB] = STMPE1801_REG_INT_EN_MASK_LOW, |
720 | [STMPE_IDX_ISR_LSB] = STMPE1801_REG_INT_STA_LOW, | 729 | [STMPE_IDX_ISR_LSB] = STMPE1801_REG_INT_STA_LOW, |
721 | [STMPE_IDX_GPMR_LSB] = STMPE1801_REG_GPIO_MP_LOW, | 730 | [STMPE_IDX_GPMR_LSB] = STMPE1801_REG_GPIO_MP_LOW, |
731 | [STMPE_IDX_GPMR_CSB] = STMPE1801_REG_GPIO_MP_MID, | ||
732 | [STMPE_IDX_GPMR_MSB] = STMPE1801_REG_GPIO_MP_HIGH, | ||
722 | [STMPE_IDX_GPSR_LSB] = STMPE1801_REG_GPIO_SET_LOW, | 733 | [STMPE_IDX_GPSR_LSB] = STMPE1801_REG_GPIO_SET_LOW, |
734 | [STMPE_IDX_GPSR_CSB] = STMPE1801_REG_GPIO_SET_MID, | ||
735 | [STMPE_IDX_GPSR_MSB] = STMPE1801_REG_GPIO_SET_HIGH, | ||
723 | [STMPE_IDX_GPCR_LSB] = STMPE1801_REG_GPIO_CLR_LOW, | 736 | [STMPE_IDX_GPCR_LSB] = STMPE1801_REG_GPIO_CLR_LOW, |
737 | [STMPE_IDX_GPCR_CSB] = STMPE1801_REG_GPIO_CLR_MID, | ||
738 | [STMPE_IDX_GPCR_MSB] = STMPE1801_REG_GPIO_CLR_HIGH, | ||
724 | [STMPE_IDX_GPDR_LSB] = STMPE1801_REG_GPIO_SET_DIR_LOW, | 739 | [STMPE_IDX_GPDR_LSB] = STMPE1801_REG_GPIO_SET_DIR_LOW, |
740 | [STMPE_IDX_GPDR_CSB] = STMPE1801_REG_GPIO_SET_DIR_MID, | ||
741 | [STMPE_IDX_GPDR_MSB] = STMPE1801_REG_GPIO_SET_DIR_HIGH, | ||
725 | [STMPE_IDX_GPRER_LSB] = STMPE1801_REG_GPIO_RE_LOW, | 742 | [STMPE_IDX_GPRER_LSB] = STMPE1801_REG_GPIO_RE_LOW, |
743 | [STMPE_IDX_GPRER_CSB] = STMPE1801_REG_GPIO_RE_MID, | ||
744 | [STMPE_IDX_GPRER_MSB] = STMPE1801_REG_GPIO_RE_HIGH, | ||
726 | [STMPE_IDX_GPFER_LSB] = STMPE1801_REG_GPIO_FE_LOW, | 745 | [STMPE_IDX_GPFER_LSB] = STMPE1801_REG_GPIO_FE_LOW, |
746 | [STMPE_IDX_GPFER_CSB] = STMPE1801_REG_GPIO_FE_MID, | ||
747 | [STMPE_IDX_GPFER_MSB] = STMPE1801_REG_GPIO_FE_HIGH, | ||
727 | [STMPE_IDX_GPPUR_LSB] = STMPE1801_REG_GPIO_PULL_UP_LOW, | 748 | [STMPE_IDX_GPPUR_LSB] = STMPE1801_REG_GPIO_PULL_UP_LOW, |
728 | [STMPE_IDX_IEGPIOR_LSB] = STMPE1801_REG_INT_EN_GPIO_MASK_LOW, | 749 | [STMPE_IDX_IEGPIOR_LSB] = STMPE1801_REG_INT_EN_GPIO_MASK_LOW, |
729 | [STMPE_IDX_ISGPIOR_LSB] = STMPE1801_REG_INT_STA_GPIO_LOW, | 750 | [STMPE_IDX_IEGPIOR_CSB] = STMPE1801_REG_INT_EN_GPIO_MASK_MID, |
751 | [STMPE_IDX_IEGPIOR_MSB] = STMPE1801_REG_INT_EN_GPIO_MASK_HIGH, | ||
752 | [STMPE_IDX_ISGPIOR_MSB] = STMPE1801_REG_INT_STA_GPIO_HIGH, | ||
730 | }; | 753 | }; |
731 | 754 | ||
732 | static struct stmpe_variant_block stmpe1801_blocks[] = { | 755 | static struct stmpe_variant_block stmpe1801_blocks[] = { |
@@ -811,19 +834,36 @@ static const u8 stmpe24xx_regs[] = { | |||
811 | [STMPE_IDX_SYS_CTRL] = STMPE24XX_REG_SYS_CTRL, | 834 | [STMPE_IDX_SYS_CTRL] = STMPE24XX_REG_SYS_CTRL, |
812 | [STMPE_IDX_SYS_CTRL2] = STMPE24XX_REG_SYS_CTRL2, | 835 | [STMPE_IDX_SYS_CTRL2] = STMPE24XX_REG_SYS_CTRL2, |
813 | [STMPE_IDX_ICR_LSB] = STMPE24XX_REG_ICR_LSB, | 836 | [STMPE_IDX_ICR_LSB] = STMPE24XX_REG_ICR_LSB, |
837 | [STMPE_IDX_IER_MSB] = STMPE24XX_REG_IER_MSB, | ||
814 | [STMPE_IDX_IER_LSB] = STMPE24XX_REG_IER_LSB, | 838 | [STMPE_IDX_IER_LSB] = STMPE24XX_REG_IER_LSB, |
815 | [STMPE_IDX_ISR_MSB] = STMPE24XX_REG_ISR_MSB, | 839 | [STMPE_IDX_ISR_MSB] = STMPE24XX_REG_ISR_MSB, |
816 | [STMPE_IDX_GPMR_LSB] = STMPE24XX_REG_GPMR_LSB, | 840 | [STMPE_IDX_GPMR_LSB] = STMPE24XX_REG_GPMR_LSB, |
841 | [STMPE_IDX_GPMR_CSB] = STMPE24XX_REG_GPMR_CSB, | ||
842 | [STMPE_IDX_GPMR_MSB] = STMPE24XX_REG_GPMR_MSB, | ||
817 | [STMPE_IDX_GPSR_LSB] = STMPE24XX_REG_GPSR_LSB, | 843 | [STMPE_IDX_GPSR_LSB] = STMPE24XX_REG_GPSR_LSB, |
844 | [STMPE_IDX_GPSR_CSB] = STMPE24XX_REG_GPSR_CSB, | ||
845 | [STMPE_IDX_GPSR_MSB] = STMPE24XX_REG_GPSR_MSB, | ||
818 | [STMPE_IDX_GPCR_LSB] = STMPE24XX_REG_GPCR_LSB, | 846 | [STMPE_IDX_GPCR_LSB] = STMPE24XX_REG_GPCR_LSB, |
847 | [STMPE_IDX_GPCR_CSB] = STMPE24XX_REG_GPCR_CSB, | ||
848 | [STMPE_IDX_GPCR_MSB] = STMPE24XX_REG_GPCR_MSB, | ||
819 | [STMPE_IDX_GPDR_LSB] = STMPE24XX_REG_GPDR_LSB, | 849 | [STMPE_IDX_GPDR_LSB] = STMPE24XX_REG_GPDR_LSB, |
850 | [STMPE_IDX_GPDR_CSB] = STMPE24XX_REG_GPDR_CSB, | ||
851 | [STMPE_IDX_GPDR_MSB] = STMPE24XX_REG_GPDR_MSB, | ||
820 | [STMPE_IDX_GPRER_LSB] = STMPE24XX_REG_GPRER_LSB, | 852 | [STMPE_IDX_GPRER_LSB] = STMPE24XX_REG_GPRER_LSB, |
853 | [STMPE_IDX_GPRER_CSB] = STMPE24XX_REG_GPRER_CSB, | ||
854 | [STMPE_IDX_GPRER_MSB] = STMPE24XX_REG_GPRER_MSB, | ||
821 | [STMPE_IDX_GPFER_LSB] = STMPE24XX_REG_GPFER_LSB, | 855 | [STMPE_IDX_GPFER_LSB] = STMPE24XX_REG_GPFER_LSB, |
856 | [STMPE_IDX_GPFER_CSB] = STMPE24XX_REG_GPFER_CSB, | ||
857 | [STMPE_IDX_GPFER_MSB] = STMPE24XX_REG_GPFER_MSB, | ||
822 | [STMPE_IDX_GPPUR_LSB] = STMPE24XX_REG_GPPUR_LSB, | 858 | [STMPE_IDX_GPPUR_LSB] = STMPE24XX_REG_GPPUR_LSB, |
823 | [STMPE_IDX_GPPDR_LSB] = STMPE24XX_REG_GPPDR_LSB, | 859 | [STMPE_IDX_GPPDR_LSB] = STMPE24XX_REG_GPPDR_LSB, |
824 | [STMPE_IDX_GPAFR_U_MSB] = STMPE24XX_REG_GPAFR_U_MSB, | 860 | [STMPE_IDX_GPAFR_U_MSB] = STMPE24XX_REG_GPAFR_U_MSB, |
825 | [STMPE_IDX_IEGPIOR_LSB] = STMPE24XX_REG_IEGPIOR_LSB, | 861 | [STMPE_IDX_IEGPIOR_LSB] = STMPE24XX_REG_IEGPIOR_LSB, |
862 | [STMPE_IDX_IEGPIOR_CSB] = STMPE24XX_REG_IEGPIOR_CSB, | ||
863 | [STMPE_IDX_IEGPIOR_MSB] = STMPE24XX_REG_IEGPIOR_MSB, | ||
826 | [STMPE_IDX_ISGPIOR_MSB] = STMPE24XX_REG_ISGPIOR_MSB, | 864 | [STMPE_IDX_ISGPIOR_MSB] = STMPE24XX_REG_ISGPIOR_MSB, |
865 | [STMPE_IDX_GPEDR_LSB] = STMPE24XX_REG_GPEDR_LSB, | ||
866 | [STMPE_IDX_GPEDR_CSB] = STMPE24XX_REG_GPEDR_CSB, | ||
827 | [STMPE_IDX_GPEDR_MSB] = STMPE24XX_REG_GPEDR_MSB, | 867 | [STMPE_IDX_GPEDR_MSB] = STMPE24XX_REG_GPEDR_MSB, |
828 | }; | 868 | }; |
829 | 869 | ||
@@ -998,7 +1038,7 @@ static void stmpe_irq_sync_unlock(struct irq_data *data) | |||
998 | continue; | 1038 | continue; |
999 | 1039 | ||
1000 | stmpe->oldier[i] = new; | 1040 | stmpe->oldier[i] = new; |
1001 | stmpe_reg_write(stmpe, stmpe->regs[STMPE_IDX_IER_LSB] - i, new); | 1041 | stmpe_reg_write(stmpe, stmpe->regs[STMPE_IDX_IER_LSB + i], new); |
1002 | } | 1042 | } |
1003 | 1043 | ||
1004 | mutex_unlock(&stmpe->irq_lock); | 1044 | mutex_unlock(&stmpe->irq_lock); |
diff --git a/drivers/mfd/stmpe.h b/drivers/mfd/stmpe.h index 4ba112362167..f1273420c8e8 100644 --- a/drivers/mfd/stmpe.h +++ b/drivers/mfd/stmpe.h | |||
@@ -179,19 +179,32 @@ int stmpe_remove(struct stmpe *stmpe); | |||
179 | 179 | ||
180 | #define STMPE1601_REG_SYS_CTRL 0x02 | 180 | #define STMPE1601_REG_SYS_CTRL 0x02 |
181 | #define STMPE1601_REG_SYS_CTRL2 0x03 | 181 | #define STMPE1601_REG_SYS_CTRL2 0x03 |
182 | #define STMPE1601_REG_ICR_MSB 0x10 | ||
182 | #define STMPE1601_REG_ICR_LSB 0x11 | 183 | #define STMPE1601_REG_ICR_LSB 0x11 |
184 | #define STMPE1601_REG_IER_MSB 0x12 | ||
183 | #define STMPE1601_REG_IER_LSB 0x13 | 185 | #define STMPE1601_REG_IER_LSB 0x13 |
184 | #define STMPE1601_REG_ISR_MSB 0x14 | 186 | #define STMPE1601_REG_ISR_MSB 0x14 |
185 | #define STMPE1601_REG_CHIP_ID 0x80 | 187 | #define STMPE1601_REG_ISR_LSB 0x15 |
188 | #define STMPE1601_REG_INT_EN_GPIO_MASK_MSB 0x16 | ||
186 | #define STMPE1601_REG_INT_EN_GPIO_MASK_LSB 0x17 | 189 | #define STMPE1601_REG_INT_EN_GPIO_MASK_LSB 0x17 |
187 | #define STMPE1601_REG_INT_STA_GPIO_MSB 0x18 | 190 | #define STMPE1601_REG_INT_STA_GPIO_MSB 0x18 |
188 | #define STMPE1601_REG_GPIO_MP_LSB 0x87 | 191 | #define STMPE1601_REG_INT_STA_GPIO_LSB 0x19 |
192 | #define STMPE1601_REG_CHIP_ID 0x80 | ||
193 | #define STMPE1601_REG_GPIO_SET_MSB 0x82 | ||
189 | #define STMPE1601_REG_GPIO_SET_LSB 0x83 | 194 | #define STMPE1601_REG_GPIO_SET_LSB 0x83 |
195 | #define STMPE1601_REG_GPIO_CLR_MSB 0x84 | ||
190 | #define STMPE1601_REG_GPIO_CLR_LSB 0x85 | 196 | #define STMPE1601_REG_GPIO_CLR_LSB 0x85 |
197 | #define STMPE1601_REG_GPIO_MP_MSB 0x86 | ||
198 | #define STMPE1601_REG_GPIO_MP_LSB 0x87 | ||
199 | #define STMPE1601_REG_GPIO_SET_DIR_MSB 0x88 | ||
191 | #define STMPE1601_REG_GPIO_SET_DIR_LSB 0x89 | 200 | #define STMPE1601_REG_GPIO_SET_DIR_LSB 0x89 |
192 | #define STMPE1601_REG_GPIO_ED_MSB 0x8A | 201 | #define STMPE1601_REG_GPIO_ED_MSB 0x8A |
202 | #define STMPE1601_REG_GPIO_ED_LSB 0x8B | ||
203 | #define STMPE1601_REG_GPIO_RE_MSB 0x8C | ||
193 | #define STMPE1601_REG_GPIO_RE_LSB 0x8D | 204 | #define STMPE1601_REG_GPIO_RE_LSB 0x8D |
205 | #define STMPE1601_REG_GPIO_FE_MSB 0x8E | ||
194 | #define STMPE1601_REG_GPIO_FE_LSB 0x8F | 206 | #define STMPE1601_REG_GPIO_FE_LSB 0x8F |
207 | #define STMPE1601_REG_GPIO_PU_MSB 0x90 | ||
195 | #define STMPE1601_REG_GPIO_PU_LSB 0x91 | 208 | #define STMPE1601_REG_GPIO_PU_LSB 0x91 |
196 | #define STMPE1601_REG_GPIO_AF_U_MSB 0x92 | 209 | #define STMPE1601_REG_GPIO_AF_U_MSB 0x92 |
197 | 210 | ||
@@ -267,23 +280,47 @@ int stmpe_remove(struct stmpe *stmpe); | |||
267 | 280 | ||
268 | #define STMPE24XX_REG_SYS_CTRL 0x02 | 281 | #define STMPE24XX_REG_SYS_CTRL 0x02 |
269 | #define STMPE24XX_REG_SYS_CTRL2 0x03 | 282 | #define STMPE24XX_REG_SYS_CTRL2 0x03 |
283 | #define STMPE24XX_REG_ICR_MSB 0x10 | ||
270 | #define STMPE24XX_REG_ICR_LSB 0x11 | 284 | #define STMPE24XX_REG_ICR_LSB 0x11 |
285 | #define STMPE24XX_REG_IER_MSB 0x12 | ||
271 | #define STMPE24XX_REG_IER_LSB 0x13 | 286 | #define STMPE24XX_REG_IER_LSB 0x13 |
272 | #define STMPE24XX_REG_ISR_MSB 0x14 | 287 | #define STMPE24XX_REG_ISR_MSB 0x14 |
273 | #define STMPE24XX_REG_CHIP_ID 0x80 | 288 | #define STMPE24XX_REG_ISR_LSB 0x15 |
289 | #define STMPE24XX_REG_IEGPIOR_MSB 0x16 | ||
290 | #define STMPE24XX_REG_IEGPIOR_CSB 0x17 | ||
274 | #define STMPE24XX_REG_IEGPIOR_LSB 0x18 | 291 | #define STMPE24XX_REG_IEGPIOR_LSB 0x18 |
275 | #define STMPE24XX_REG_ISGPIOR_MSB 0x19 | 292 | #define STMPE24XX_REG_ISGPIOR_MSB 0x19 |
276 | #define STMPE24XX_REG_GPMR_LSB 0xA4 | 293 | #define STMPE24XX_REG_ISGPIOR_CSB 0x1A |
294 | #define STMPE24XX_REG_ISGPIOR_LSB 0x1B | ||
295 | #define STMPE24XX_REG_CHIP_ID 0x80 | ||
296 | #define STMPE24XX_REG_GPSR_MSB 0x83 | ||
297 | #define STMPE24XX_REG_GPSR_CSB 0x84 | ||
277 | #define STMPE24XX_REG_GPSR_LSB 0x85 | 298 | #define STMPE24XX_REG_GPSR_LSB 0x85 |
299 | #define STMPE24XX_REG_GPCR_MSB 0x86 | ||
300 | #define STMPE24XX_REG_GPCR_CSB 0x87 | ||
278 | #define STMPE24XX_REG_GPCR_LSB 0x88 | 301 | #define STMPE24XX_REG_GPCR_LSB 0x88 |
302 | #define STMPE24XX_REG_GPDR_MSB 0x89 | ||
303 | #define STMPE24XX_REG_GPDR_CSB 0x8A | ||
279 | #define STMPE24XX_REG_GPDR_LSB 0x8B | 304 | #define STMPE24XX_REG_GPDR_LSB 0x8B |
280 | #define STMPE24XX_REG_GPEDR_MSB 0x8C | 305 | #define STMPE24XX_REG_GPEDR_MSB 0x8C |
306 | #define STMPE24XX_REG_GPEDR_CSB 0x8D | ||
307 | #define STMPE24XX_REG_GPEDR_LSB 0x8E | ||
308 | #define STMPE24XX_REG_GPRER_MSB 0x8F | ||
309 | #define STMPE24XX_REG_GPRER_CSB 0x90 | ||
281 | #define STMPE24XX_REG_GPRER_LSB 0x91 | 310 | #define STMPE24XX_REG_GPRER_LSB 0x91 |
311 | #define STMPE24XX_REG_GPFER_MSB 0x92 | ||
312 | #define STMPE24XX_REG_GPFER_CSB 0x93 | ||
282 | #define STMPE24XX_REG_GPFER_LSB 0x94 | 313 | #define STMPE24XX_REG_GPFER_LSB 0x94 |
314 | #define STMPE24XX_REG_GPPUR_MSB 0x95 | ||
315 | #define STMPE24XX_REG_GPPUR_CSB 0x96 | ||
283 | #define STMPE24XX_REG_GPPUR_LSB 0x97 | 316 | #define STMPE24XX_REG_GPPUR_LSB 0x97 |
284 | #define STMPE24XX_REG_GPPDR_LSB 0x9a | 317 | #define STMPE24XX_REG_GPPDR_MSB 0x98 |
318 | #define STMPE24XX_REG_GPPDR_CSB 0x99 | ||
319 | #define STMPE24XX_REG_GPPDR_LSB 0x9A | ||
285 | #define STMPE24XX_REG_GPAFR_U_MSB 0x9B | 320 | #define STMPE24XX_REG_GPAFR_U_MSB 0x9B |
286 | 321 | #define STMPE24XX_REG_GPMR_MSB 0xA2 | |
322 | #define STMPE24XX_REG_GPMR_CSB 0xA3 | ||
323 | #define STMPE24XX_REG_GPMR_LSB 0xA4 | ||
287 | #define STMPE24XX_SYS_CTRL_ENABLE_GPIO (1 << 3) | 324 | #define STMPE24XX_SYS_CTRL_ENABLE_GPIO (1 << 3) |
288 | #define STMPE24XX_SYSCON_ENABLE_PWM (1 << 2) | 325 | #define STMPE24XX_SYSCON_ENABLE_PWM (1 << 2) |
289 | #define STMPE24XX_SYS_CTRL_ENABLE_KPC (1 << 1) | 326 | #define STMPE24XX_SYS_CTRL_ENABLE_KPC (1 << 1) |
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 | }; |