~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/mfd/tc3589x.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/mfd/tc3589x.h (Version linux-6.12-rc7) and /include/linux/mfd/tc3589x.h (Version linux-6.6.60)


  1 /* SPDX-License-Identifier: GPL-2.0-only */         1 /* SPDX-License-Identifier: GPL-2.0-only */
  2 /*                                                  2 /*
  3  * Copyright (C) ST-Ericsson SA 2010                3  * Copyright (C) ST-Ericsson SA 2010
  4  */                                                 4  */
  5                                                     5 
  6 #ifndef __LINUX_MFD_TC3589x_H                       6 #ifndef __LINUX_MFD_TC3589x_H
  7 #define __LINUX_MFD_TC3589x_H                       7 #define __LINUX_MFD_TC3589x_H
  8                                                     8 
  9 struct device;                                      9 struct device;
 10                                                    10 
 11 enum tx3589x_block {                               11 enum tx3589x_block {
 12         TC3589x_BLOCK_GPIO        = 1 << 0,        12         TC3589x_BLOCK_GPIO        = 1 << 0,
 13         TC3589x_BLOCK_KEYPAD      = 1 << 1,        13         TC3589x_BLOCK_KEYPAD      = 1 << 1,
 14 };                                                 14 };
 15                                                    15 
 16 #define TC3589x_RSTCTRL_IRQRST  (1 << 4)           16 #define TC3589x_RSTCTRL_IRQRST  (1 << 4)
 17 #define TC3589x_RSTCTRL_TIMRST  (1 << 3)           17 #define TC3589x_RSTCTRL_TIMRST  (1 << 3)
 18 #define TC3589x_RSTCTRL_ROTRST  (1 << 2)           18 #define TC3589x_RSTCTRL_ROTRST  (1 << 2)
 19 #define TC3589x_RSTCTRL_KBDRST  (1 << 1)           19 #define TC3589x_RSTCTRL_KBDRST  (1 << 1)
 20 #define TC3589x_RSTCTRL_GPIRST  (1 << 0)           20 #define TC3589x_RSTCTRL_GPIRST  (1 << 0)
 21                                                    21 
 22 #define TC3589x_DKBDMSK_ELINT   (1 << 1)           22 #define TC3589x_DKBDMSK_ELINT   (1 << 1)
 23 #define TC3589x_DKBDMSK_EINT    (1 << 0)           23 #define TC3589x_DKBDMSK_EINT    (1 << 0)
 24                                                    24 
 25 /* Keyboard Configuration Registers */             25 /* Keyboard Configuration Registers */
 26 #define TC3589x_KBDSETTLE_REG   0x01               26 #define TC3589x_KBDSETTLE_REG   0x01
 27 #define TC3589x_KBDBOUNCE       0x02               27 #define TC3589x_KBDBOUNCE       0x02
 28 #define TC3589x_KBDSIZE         0x03               28 #define TC3589x_KBDSIZE         0x03
 29 #define TC3589x_KBCFG_LSB       0x04               29 #define TC3589x_KBCFG_LSB       0x04
 30 #define TC3589x_KBCFG_MSB       0x05               30 #define TC3589x_KBCFG_MSB       0x05
 31 #define TC3589x_KBDIC           0x08               31 #define TC3589x_KBDIC           0x08
 32 #define TC3589x_KBDMSK          0x09               32 #define TC3589x_KBDMSK          0x09
 33 #define TC3589x_EVTCODE_FIFO    0x10               33 #define TC3589x_EVTCODE_FIFO    0x10
 34 #define TC3589x_KBDMFS          0x8F               34 #define TC3589x_KBDMFS          0x8F
 35                                                    35 
 36 #define TC3589x_IRQST           0x91               36 #define TC3589x_IRQST           0x91
 37                                                    37 
 38 #define TC3589x_MANFCODE_MAGIC  0x03               38 #define TC3589x_MANFCODE_MAGIC  0x03
 39 #define TC3589x_MANFCODE        0x80               39 #define TC3589x_MANFCODE        0x80
 40 #define TC3589x_VERSION         0x81               40 #define TC3589x_VERSION         0x81
 41 #define TC3589x_IOCFG           0xA7               41 #define TC3589x_IOCFG           0xA7
 42                                                    42 
 43 #define TC3589x_CLKMODE         0x88               43 #define TC3589x_CLKMODE         0x88
 44 #define TC3589x_CLKCFG          0x89               44 #define TC3589x_CLKCFG          0x89
 45 #define TC3589x_CLKEN           0x8A               45 #define TC3589x_CLKEN           0x8A
 46                                                    46 
 47 #define TC3589x_RSTCTRL         0x82               47 #define TC3589x_RSTCTRL         0x82
 48 #define TC3589x_EXTRSTN         0x83               48 #define TC3589x_EXTRSTN         0x83
 49 #define TC3589x_RSTINTCLR       0x84               49 #define TC3589x_RSTINTCLR       0x84
 50                                                    50 
 51 /* Pull up/down configuration registers */         51 /* Pull up/down configuration registers */
 52 #define TC3589x_IOCFG           0xA7               52 #define TC3589x_IOCFG           0xA7
 53 #define TC3589x_IOPULLCFG0_LSB  0xAA               53 #define TC3589x_IOPULLCFG0_LSB  0xAA
 54 #define TC3589x_IOPULLCFG0_MSB  0xAB               54 #define TC3589x_IOPULLCFG0_MSB  0xAB
 55 #define TC3589x_IOPULLCFG1_LSB  0xAC               55 #define TC3589x_IOPULLCFG1_LSB  0xAC
 56 #define TC3589x_IOPULLCFG1_MSB  0xAD               56 #define TC3589x_IOPULLCFG1_MSB  0xAD
 57 #define TC3589x_IOPULLCFG2_LSB  0xAE               57 #define TC3589x_IOPULLCFG2_LSB  0xAE
 58                                                    58 
 59 #define TC3589x_GPIOIS0         0xC9               59 #define TC3589x_GPIOIS0         0xC9
 60 #define TC3589x_GPIOIS1         0xCA               60 #define TC3589x_GPIOIS1         0xCA
 61 #define TC3589x_GPIOIS2         0xCB               61 #define TC3589x_GPIOIS2         0xCB
 62 #define TC3589x_GPIOIBE0        0xCC               62 #define TC3589x_GPIOIBE0        0xCC
 63 #define TC3589x_GPIOIBE1        0xCD               63 #define TC3589x_GPIOIBE1        0xCD
 64 #define TC3589x_GPIOIBE2        0xCE               64 #define TC3589x_GPIOIBE2        0xCE
 65 #define TC3589x_GPIOIEV0        0xCF               65 #define TC3589x_GPIOIEV0        0xCF
 66 #define TC3589x_GPIOIEV1        0xD0               66 #define TC3589x_GPIOIEV1        0xD0
 67 #define TC3589x_GPIOIEV2        0xD1               67 #define TC3589x_GPIOIEV2        0xD1
 68 #define TC3589x_GPIOIE0         0xD2               68 #define TC3589x_GPIOIE0         0xD2
 69 #define TC3589x_GPIOIE1         0xD3               69 #define TC3589x_GPIOIE1         0xD3
 70 #define TC3589x_GPIOIE2         0xD4               70 #define TC3589x_GPIOIE2         0xD4
 71 #define TC3589x_GPIORIS0        0xD6               71 #define TC3589x_GPIORIS0        0xD6
 72 #define TC3589x_GPIORIS1        0xD7               72 #define TC3589x_GPIORIS1        0xD7
 73 #define TC3589x_GPIORIS2        0xD8               73 #define TC3589x_GPIORIS2        0xD8
 74 #define TC3589x_GPIOMIS0        0xD9               74 #define TC3589x_GPIOMIS0        0xD9
 75 #define TC3589x_GPIOMIS1        0xDA               75 #define TC3589x_GPIOMIS1        0xDA
 76 #define TC3589x_GPIOMIS2        0xDB               76 #define TC3589x_GPIOMIS2        0xDB
 77 #define TC3589x_GPIOIC0         0xDC               77 #define TC3589x_GPIOIC0         0xDC
 78 #define TC3589x_GPIOIC1         0xDD               78 #define TC3589x_GPIOIC1         0xDD
 79 #define TC3589x_GPIOIC2         0xDE               79 #define TC3589x_GPIOIC2         0xDE
 80                                                    80 
 81 #define TC3589x_GPIODATA0       0xC0               81 #define TC3589x_GPIODATA0       0xC0
 82 #define TC3589x_GPIOMASK0       0xc1               82 #define TC3589x_GPIOMASK0       0xc1
 83 #define TC3589x_GPIODATA1       0xC2               83 #define TC3589x_GPIODATA1       0xC2
 84 #define TC3589x_GPIOMASK1       0xc3               84 #define TC3589x_GPIOMASK1       0xc3
 85 #define TC3589x_GPIODATA2       0xC4               85 #define TC3589x_GPIODATA2       0xC4
 86 #define TC3589x_GPIOMASK2       0xC5               86 #define TC3589x_GPIOMASK2       0xC5
 87                                                    87 
 88 #define TC3589x_GPIODIR0        0xC6               88 #define TC3589x_GPIODIR0        0xC6
 89 #define TC3589x_GPIODIR1        0xC7               89 #define TC3589x_GPIODIR1        0xC7
 90 #define TC3589x_GPIODIR2        0xC8               90 #define TC3589x_GPIODIR2        0xC8
 91                                                    91 
 92 #define TC3589x_GPIOSYNC0       0xE6               92 #define TC3589x_GPIOSYNC0       0xE6
 93 #define TC3589x_GPIOSYNC1       0xE7               93 #define TC3589x_GPIOSYNC1       0xE7
 94 #define TC3589x_GPIOSYNC2       0xE8               94 #define TC3589x_GPIOSYNC2       0xE8
 95                                                    95 
 96 #define TC3589x_GPIOWAKE0       0xE9               96 #define TC3589x_GPIOWAKE0       0xE9
 97 #define TC3589x_GPIOWAKE1       0xEA               97 #define TC3589x_GPIOWAKE1       0xEA
 98 #define TC3589x_GPIOWAKE2       0xEB               98 #define TC3589x_GPIOWAKE2       0xEB
 99                                                    99 
100 #define TC3589x_GPIOODM0        0xE0              100 #define TC3589x_GPIOODM0        0xE0
101 #define TC3589x_GPIOODE0        0xE1              101 #define TC3589x_GPIOODE0        0xE1
102 #define TC3589x_GPIOODM1        0xE2              102 #define TC3589x_GPIOODM1        0xE2
103 #define TC3589x_GPIOODE1        0xE3              103 #define TC3589x_GPIOODE1        0xE3
104 #define TC3589x_GPIOODM2        0xE4              104 #define TC3589x_GPIOODM2        0xE4
105 #define TC3589x_GPIOODE2        0xE5              105 #define TC3589x_GPIOODE2        0xE5
106                                                   106 
107 #define TC3589x_DIRECT0         0xEC              107 #define TC3589x_DIRECT0         0xEC
108 #define TC3589x_DKBDMSK         0xF3              108 #define TC3589x_DKBDMSK         0xF3
109                                                   109 
110 #define TC3589x_INT_GPIIRQ      0                 110 #define TC3589x_INT_GPIIRQ      0
111 #define TC3589x_INT_TI0IRQ      1                 111 #define TC3589x_INT_TI0IRQ      1
112 #define TC3589x_INT_TI1IRQ      2                 112 #define TC3589x_INT_TI1IRQ      2
113 #define TC3589x_INT_TI2IRQ      3                 113 #define TC3589x_INT_TI2IRQ      3
114 #define TC3589x_INT_ROTIRQ      5                 114 #define TC3589x_INT_ROTIRQ      5
115 #define TC3589x_INT_KBDIRQ      6                 115 #define TC3589x_INT_KBDIRQ      6
116 #define TC3589x_INT_PORIRQ      7                 116 #define TC3589x_INT_PORIRQ      7
117                                                   117 
118 #define TC3589x_NR_INTERNAL_IRQS        8         118 #define TC3589x_NR_INTERNAL_IRQS        8
119                                                   119 
120 struct tc3589x {                                  120 struct tc3589x {
121         struct mutex lock;                        121         struct mutex lock;
122         struct device *dev;                       122         struct device *dev;
123         struct i2c_client *i2c;                   123         struct i2c_client *i2c;
124         struct irq_domain *domain;                124         struct irq_domain *domain;
125                                                   125 
126         int irq_base;                             126         int irq_base;
127         int num_gpio;                             127         int num_gpio;
128         struct tc3589x_platform_data *pdata;      128         struct tc3589x_platform_data *pdata;
129 };                                                129 };
130                                                   130 
131 extern int tc3589x_reg_write(struct tc3589x *t    131 extern int tc3589x_reg_write(struct tc3589x *tc3589x, u8 reg, u8 data);
132 extern int tc3589x_reg_read(struct tc3589x *tc    132 extern int tc3589x_reg_read(struct tc3589x *tc3589x, u8 reg);
133 extern int tc3589x_block_read(struct tc3589x *    133 extern int tc3589x_block_read(struct tc3589x *tc3589x, u8 reg, u8 length,
134                               u8 *values);        134                               u8 *values);
135 extern int tc3589x_block_write(struct tc3589x     135 extern int tc3589x_block_write(struct tc3589x *tc3589x, u8 reg, u8 length,
136                                const u8 *value    136                                const u8 *values);
137 extern int tc3589x_set_bits(struct tc3589x *tc    137 extern int tc3589x_set_bits(struct tc3589x *tc3589x, u8 reg, u8 mask, u8 val);
138                                                   138 
139 /*                                                139 /*
140  * Keypad related platform specific constants     140  * Keypad related platform specific constants
141  * These values may be modified for fine tunin    141  * These values may be modified for fine tuning
142  */                                               142  */
143 #define TC_KPD_ROWS             0x8               143 #define TC_KPD_ROWS             0x8
144 #define TC_KPD_COLUMNS          0x8               144 #define TC_KPD_COLUMNS          0x8
145 #define TC_KPD_DEBOUNCE_PERIOD  0xA3              145 #define TC_KPD_DEBOUNCE_PERIOD  0xA3
146 #define TC_KPD_SETTLE_TIME      0xA3              146 #define TC_KPD_SETTLE_TIME      0xA3
147                                                   147 
148                                                   148 
149 /**                                               149 /**
150  * struct tc3589x_platform_data - TC3589x plat    150  * struct tc3589x_platform_data - TC3589x platform data
151  * @block: bitmask of blocks to enable (use TC    151  * @block: bitmask of blocks to enable (use TC3589x_BLOCK_*)
152  */                                               152  */
153 struct tc3589x_platform_data {                    153 struct tc3589x_platform_data {
154         unsigned int block;                       154         unsigned int block;
155 };                                                155 };
156                                                   156 
157 #endif                                            157 #endif
158                                                   158 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php