Home
last modified time | relevance | path

Searched full:stmpe (Results 1 – 25 of 61) sorted by relevance

123

/openbmc/linux/drivers/mfd/
H A Dstmpe.c3 * ST Microelectronics MFD: stmpe's driver
23 #include "stmpe.h"
26 * struct stmpe_platform_data - STMPE platform data
30 * @autosleep: bool to enable/disable stmpe autosleep
41 static int __stmpe_enable(struct stmpe *stmpe, unsigned int blocks) in __stmpe_enable() argument
43 return stmpe->variant->enable(stmpe, blocks, true); in __stmpe_enable()
46 static int __stmpe_disable(struct stmpe *stmpe, unsigned int blocks) in __stmpe_disable() argument
48 return stmpe->variant->enable(stmpe, blocks, false); in __stmpe_disable()
51 static int __stmpe_reg_read(struct stmpe *stmpe, u8 reg) in __stmpe_reg_read() argument
55 ret = stmpe->ci->read_byte(stmpe, reg); in __stmpe_reg_read()
[all …]
H A Dstmpe-spi.c3 * ST Microelectronics MFD: stmpe's spi client specific driver
16 #include "stmpe.h"
20 static int spi_reg_read(struct stmpe *stmpe, u8 reg) in spi_reg_read() argument
22 struct spi_device *spi = stmpe->client; in spi_reg_read()
28 static int spi_reg_write(struct stmpe *stmpe, u8 reg, u8 val) in spi_reg_write() argument
30 struct spi_device *spi = stmpe->client; in spi_reg_write()
36 static int spi_block_read(struct stmpe *stmpe, u8 reg, u8 length, u8 *values) in spi_block_read() argument
41 ret = spi_reg_read(stmpe, reg + i); in spi_block_read()
50 static int spi_block_write(struct stmpe *stmpe, u8 reg, u8 length, in spi_block_write() argument
56 ret = spi_reg_write(stmpe, reg, *(values + i - 1)); in spi_block_write()
[all …]
H A Dstmpe-i2c.c3 * ST Microelectronics MFD: stmpe's i2c client specific driver
18 #include "stmpe.h"
20 static int i2c_reg_read(struct stmpe *stmpe, u8 reg) in i2c_reg_read() argument
22 struct i2c_client *i2c = stmpe->client; in i2c_reg_read()
27 static int i2c_reg_write(struct stmpe *stmpe, u8 reg, u8 val) in i2c_reg_write() argument
29 struct i2c_client *i2c = stmpe->client; in i2c_reg_write()
34 static int i2c_block_read(struct stmpe *stmpe, u8 reg, u8 length, u8 *values) in i2c_block_read() argument
36 struct i2c_client *i2c = stmpe->client; in i2c_block_read()
41 static int i2c_block_write(struct stmpe *stmpe, u8 reg, u8 length, in i2c_block_write() argument
44 struct i2c_client *i2c = stmpe->client; in i2c_block_write()
[all …]
H A Dstmpe.h13 #include <linux/mfd/stmpe.h>
73 int (*enable)(struct stmpe *stmpe, unsigned int blocks, bool enable);
74 int (*get_altfunc)(struct stmpe *stmpe, enum stmpe_block block);
75 int (*enable_autosleep)(struct stmpe *stmpe, int autosleep_timeout);
92 int (*read_byte)(struct stmpe *stmpe, u8 reg);
93 int (*write_byte)(struct stmpe *stmpe, u8 reg, u8 val);
94 int (*read_block)(struct stmpe *stmpe, u8 reg, u8 len, u8 *values);
95 int (*write_block)(struct stmpe *stmpe, u8 reg, u8 len,
97 void (*init)(struct stmpe *stmpe);
101 void stmpe_remove(struct stmpe *stmpe);
H A DKconfig1420 bool "STMicroelectronics STMPE"
1425 Support for the STMPE family of I/O Expanders from
1440 GPIO: stmpe-gpio
1441 Keypad: stmpe-keypad
1442 Touchscreen: stmpe-ts
1443 ADC: stmpe-adc
1445 menu "STMicroelectronics STMPE Interface Drivers"
1449 bool "STMicroelectronics STMPE I2C Interface"
1453 This is used to enable I2C interface of STMPE
1456 bool "STMicroelectronics STMPE SPI Interface"
[all …]
/openbmc/linux/drivers/gpio/
H A Dgpio-stmpe.c14 #include <linux/mfd/stmpe.h>
32 struct stmpe *stmpe; member
44 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_get() local
45 u8 reg = stmpe->regs[STMPE_IDX_GPMR_LSB + (offset / 8)]; in stmpe_gpio_get()
49 ret = stmpe_reg_read(stmpe, reg); in stmpe_gpio_get()
59 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_set() local
61 u8 reg = stmpe->regs[which + (offset / 8)]; in stmpe_gpio_set()
68 if (stmpe->regs[STMPE_IDX_GPSR_LSB] == stmpe->regs[STMPE_IDX_GPCR_LSB]) in stmpe_gpio_set()
69 stmpe_set_bits(stmpe, reg, mask, val ? mask : 0); in stmpe_gpio_set()
71 stmpe_reg_write(stmpe, reg, mask); in stmpe_gpio_set()
[all …]
/openbmc/linux/include/linux/mfd/
H A Dstmpe.h53 * obtained by indexing stmpe->regs with one of the following.
103 * struct stmpe - STMPE MFD structure
113 * @variant: the detected STMPE model number
116 * @irq: irq number for stmpe
122 struct stmpe { struct
148 extern int stmpe_reg_write(struct stmpe *stmpe, u8 reg, u8 data); argument
149 extern int stmpe_reg_read(struct stmpe *stmpe, u8 reg);
150 extern int stmpe_block_read(struct stmpe *stmpe, u8 reg, u8 length,
152 extern int stmpe_block_write(struct stmpe *stmpe, u8 reg, u8 length,
154 extern int stmpe_set_bits(struct stmpe *stmpe, u8 reg, u8 mask, u8 val);
[all …]
/openbmc/linux/drivers/input/touchscreen/
H A Dstmpe-ts.c23 #include <linux/mfd/stmpe.h>
46 #define STMPE_TS_NAME "stmpe-ts"
51 * @stmpe: pointer back to STMPE MFD container
73 struct stmpe *stmpe; member
85 static int __stmpe_reset_fifo(struct stmpe *stmpe) in __stmpe_reset_fifo() argument
89 ret = stmpe_set_bits(stmpe, STMPE_REG_FIFO_STA, in __stmpe_reset_fifo()
94 return stmpe_set_bits(stmpe, STMPE_REG_FIFO_STA, in __stmpe_reset_fifo()
106 int_sta = stmpe_reg_read(ts->stmpe, STMPE_REG_INT_STA); in stmpe_work()
117 int_sta = stmpe_reg_read(ts->stmpe, STMPE_REG_INT_STA); in stmpe_work()
122 __stmpe_reset_fifo(ts->stmpe); in stmpe_work()
[all …]
/openbmc/linux/drivers/input/keyboard/
H A Dstmpe-keypad.c15 #include <linux/mfd/stmpe.h>
17 /* These are at the same addresses in all STMPE variants */
116 * struct stmpe_keypad - STMPE keypad state container
117 * @stmpe: pointer to parent STMPE device
119 * @variant: STMPE variant
130 struct stmpe *stmpe; member
144 struct stmpe *stmpe = keypad->stmpe; in stmpe_keypad_read_data() local
149 return stmpe_block_read(stmpe, STMPE_KPC_DATA_BYTE0, in stmpe_keypad_read_data()
153 ret = stmpe_reg_read(stmpe, STMPE_KPC_DATA_BYTE0 + i); in stmpe_keypad_read_data()
200 struct stmpe *stmpe = keypad->stmpe; in stmpe_keypad_altfunc_init() local
[all …]
/openbmc/linux/drivers/pwm/
H A Dpwm-stmpe.c11 #include <linux/mfd/stmpe.h>
29 struct stmpe *stmpe; member
45 ret = stmpe_reg_read(stmpe_pwm->stmpe, STMPE24XX_PWMCS); in stmpe_24xx_pwm_enable()
54 ret = stmpe_reg_write(stmpe_pwm->stmpe, STMPE24XX_PWMCS, value); in stmpe_24xx_pwm_enable()
71 ret = stmpe_reg_read(stmpe_pwm->stmpe, STMPE24XX_PWMCS); in stmpe_24xx_pwm_disable()
80 ret = stmpe_reg_write(stmpe_pwm->stmpe, STMPE24XX_PWMCS, value); in stmpe_24xx_pwm_disable()
87 /* STMPE 24xx PWM instructions */
121 if (stmpe_pwm->stmpe->partnum == STMPE2401 || in stmpe_24xx_pwm_config()
122 stmpe_pwm->stmpe->partnum == STMPE2403) in stmpe_24xx_pwm_config()
125 ret = stmpe_set_altfunc(stmpe_pwm->stmpe, BIT(pin), in stmpe_24xx_pwm_config()
[all …]
/openbmc/linux/drivers/iio/adc/
H A Dstmpe-adc.c15 #include <linux/mfd/stmpe.h>
47 struct stmpe *stmpe; member
77 stmpe_reg_write(info->stmpe, STMPE_REG_ADC_CAPT, in stmpe_read_voltage()
83 stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_STA, in stmpe_read_voltage()
112 stmpe_reg_write(info->stmpe, STMPE_REG_TEMP_CTRL, in stmpe_read_temp()
165 *val2 = info->stmpe->mod_12b ? 12 : 10; in stmpe_read_raw()
183 int_sta = stmpe_reg_read(info->stmpe, STMPE_REG_ADC_INT_STA); in stmpe_adc_isr()
190 stmpe_block_read(info->stmpe, in stmpe_adc_isr()
193 stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_STA, int_sta); in stmpe_adc_isr()
196 stmpe_block_read(info->stmpe, STMPE_REG_TEMP_DATA, 2, in stmpe_adc_isr()
[all …]
/openbmc/linux/Documentation/devicetree/bindings/iio/adc/
H A Dst,stmpe-adc.yaml4 $id: http://devicetree.org/schemas/iio/adc/st,stmpe-adc.yaml#
7 title: ADC on an STMPE multifunction device.
13 This ADC forms part of an ST microelectronics STMPE multifunction device .
14 The ADC is shared with the STMPE touchscreen. As a result some ADC related
16 The node should be a child node of the stmpe node to which it belongs.
20 const: st,stmpe-adc
39 compatible = "st,stmpe-adc";
/openbmc/linux/Documentation/devicetree/bindings/mfd/
H A Dst,stmpe.yaml4 $id: http://devicetree.org/schemas/mfd/st,stmpe.yaml#
7 title: STMicroelectonics Port Expander (STMPE)
9 description: STMicroelectronics Port Expander (STMPE) is a series of slow
85 $ref: /schemas/iio/adc/st,stmpe-adc.yaml#
89 $ref: /schemas/gpio/st,stmpe-gpio.yaml#
99 const: st,stmpe-keypad
125 const: st,stmpe-pwm
138 const: st,stmpe-ts
223 compatible = "st,stmpe-gpio";
232 compatible = "st,stmpe-keypad";
[all …]
/openbmc/linux/Documentation/devicetree/bindings/pwm/
H A Dst,stmpe-pwm.txt1 == ST STMPE PWM controller ==
3 This is a PWM block embedded in the ST Microelectronics STMPE
5 subdevices of the STMPE MFD device.
9 - "st,stmpe-pwm"
16 compatible = "st,stmpe-pwm";
/openbmc/linux/Documentation/devicetree/bindings/gpio/
H A Dst,stmpe-gpio.yaml4 $id: http://devicetree.org/schemas/gpio/st,stmpe-gpio.yaml#
7 title: STMicroelectonics Port Expander (STMPE) GPIO Block
10 STMicroelectronics Port Expander (STMPE) is a series of slow
21 const: st,stmpe-gpio
/openbmc/linux/arch/arm/boot/dts/st/
H A Dste-nomadik-nhk15.dts22 stmpe-i2c0 = &stmpe0;
23 stmpe-i2c1 = &stmpe1;
112 compatible = "st,stmpe-gpio";
121 compatible = "st,stmpe-keypad";
143 compatible = "st,stmpe-pwm";
157 compatible = "st,stmpe-gpio";
H A Dspear320-hmi.dts243 stmpegpio: stmpe-gpio {
244 compatible = "st,stmpe-gpio";
252 compatible = "stmpe,ts";
H A Dste-href-stuib.dtsi47 compatible = "st,stmpe-keypad";
131 stmpe {
H A Dstm32f429-disco.dts132 compatible = "st,stmpe-ts";
149 compatible = "st,stmpe-adc";
/openbmc/linux/arch/arm/boot/dts/intel/socfpga/
H A Dsocfpga_cyclone5_mcvevk.dts14 stmpe-i2c0 = &stmpe1;
61 compatible = "st,stmpe-ts";
/openbmc/linux/arch/arm/boot/dts/nxp/imx/
H A Dimx6q-dmo-edmqmx6.dts22 stmpe-i2c0 = &stmpe1;
23 stmpe-i2c1 = &stmpe2;
241 compatible = "st,stmpe-gpio";
255 compatible = "st,stmpe-gpio";
H A Dimx6ul-phytec-segin-peb-av-02.dtsi54 stmpe: touchscreen@44 { label
65 compatible = "st,stmpe-ts";
/openbmc/openbmc/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/
H A D99-calibration.conf3 MatchProduct "stmpe-ts"
/openbmc/linux/arch/arm/boot/dts/ti/omap/
H A Dam5729-beagleboneai.dts427 compatible = "st,stmpe-adc";
439 compatible = "st,stmpe-ts";
456 compatible = "st,stmpe-gpio";
460 compatible = "st,stmpe-pwm";
/openbmc/openbmc/meta-raspberrypi/recipes-kernel/linux/
H A Dlinux-raspberrypi.inc40 KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "stmpe-ts", "", d)}"

123