Home
last modified time | relevance | path

Searched refs:stmpe (Results 1 – 25 of 39) sorted by relevance

12

/Linux-v4.19/drivers/mfd/
Dstmpe.c47 static int __stmpe_enable(struct stmpe *stmpe, unsigned int blocks) in __stmpe_enable() argument
49 return stmpe->variant->enable(stmpe, blocks, true); in __stmpe_enable()
52 static int __stmpe_disable(struct stmpe *stmpe, unsigned int blocks) in __stmpe_disable() argument
54 return stmpe->variant->enable(stmpe, blocks, false); in __stmpe_disable()
57 static int __stmpe_reg_read(struct stmpe *stmpe, u8 reg) in __stmpe_reg_read() argument
61 ret = stmpe->ci->read_byte(stmpe, reg); in __stmpe_reg_read()
63 dev_err(stmpe->dev, "failed to read reg %#x: %d\n", reg, ret); in __stmpe_reg_read()
65 dev_vdbg(stmpe->dev, "rd: reg %#x => data %#x\n", reg, ret); in __stmpe_reg_read()
70 static int __stmpe_reg_write(struct stmpe *stmpe, u8 reg, u8 val) in __stmpe_reg_write() argument
74 dev_vdbg(stmpe->dev, "wr: reg %#x <= %#x\n", reg, val); in __stmpe_reg_write()
[all …]
Dstmpe-spi.c20 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()
64 static void spi_init(struct stmpe *stmpe) in spi_init() argument
66 struct spi_device *spi = stmpe->client; in spi_init()
[all …]
Dstmpe-i2c.c20 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()
96 struct stmpe *stmpe = dev_get_drvdata(&i2c->dev); in stmpe_i2c_remove() local
98 return stmpe_remove(stmpe); in stmpe_i2c_remove()
Dstmpe.h73 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 int stmpe_remove(struct stmpe *stmpe);
DMakefile31 obj-$(CONFIG_MFD_STMPE) += stmpe.o
32 obj-$(CONFIG_STMPE_I2C) += stmpe-i2c.o
33 obj-$(CONFIG_STMPE_SPI) += stmpe-spi.o
/Linux-v4.19/drivers/gpio/
Dgpio-stmpe.c32 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()
78 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_get_direction() local
[all …]
/Linux-v4.19/include/linux/mfd/
Dstmpe.h108 struct stmpe { struct
128 extern int stmpe_reg_write(struct stmpe *stmpe, u8 reg, u8 data); argument
129 extern int stmpe_reg_read(struct stmpe *stmpe, u8 reg);
130 extern int stmpe_block_read(struct stmpe *stmpe, u8 reg, u8 length,
132 extern int stmpe_block_write(struct stmpe *stmpe, u8 reg, u8 length,
134 extern int stmpe_set_bits(struct stmpe *stmpe, u8 reg, u8 mask, u8 val);
135 extern int stmpe_set_altfunc(struct stmpe *stmpe, u32 pins,
137 extern int stmpe_enable(struct stmpe *stmpe, unsigned int blocks);
138 extern int stmpe_disable(struct stmpe *stmpe, unsigned int blocks);
/Linux-v4.19/drivers/input/touchscreen/
Dstmpe-ts.c98 struct stmpe *stmpe; member
113 static int __stmpe_reset_fifo(struct stmpe *stmpe) in __stmpe_reset_fifo() argument
117 ret = stmpe_set_bits(stmpe, STMPE_REG_FIFO_STA, in __stmpe_reset_fifo()
122 return stmpe_set_bits(stmpe, STMPE_REG_FIFO_STA, in __stmpe_reset_fifo()
134 int_sta = stmpe_reg_read(ts->stmpe, STMPE_REG_INT_STA); in stmpe_work()
145 int_sta = stmpe_reg_read(ts->stmpe, STMPE_REG_INT_STA); in stmpe_work()
150 __stmpe_reset_fifo(ts->stmpe); in stmpe_work()
175 stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL, in stmpe_ts_handler()
178 stmpe_block_read(ts->stmpe, STMPE_REG_TSC_DATA_XYZ, 4, data_set); in stmpe_ts_handler()
191 __stmpe_reset_fifo(ts->stmpe); in stmpe_ts_handler()
[all …]
/Linux-v4.19/drivers/pwm/
Dpwm-stmpe.c33 struct stmpe *stmpe; member
49 ret = stmpe_reg_read(stmpe_pwm->stmpe, STMPE24XX_PWMCS); in stmpe_24xx_pwm_enable()
58 ret = stmpe_reg_write(stmpe_pwm->stmpe, STMPE24XX_PWMCS, value); in stmpe_24xx_pwm_enable()
75 ret = stmpe_reg_read(stmpe_pwm->stmpe, STMPE24XX_PWMCS); in stmpe_24xx_pwm_disable()
84 ret = stmpe_reg_write(stmpe_pwm->stmpe, STMPE24XX_PWMCS, value); in stmpe_24xx_pwm_disable()
124 if (stmpe_pwm->stmpe->partnum == STMPE2401 || in stmpe_24xx_pwm_config()
125 stmpe_pwm->stmpe->partnum == STMPE2403) in stmpe_24xx_pwm_config()
128 ret = stmpe_set_altfunc(stmpe_pwm->stmpe, BIT(pin), in stmpe_24xx_pwm_config()
160 if (stmpe_pwm->stmpe->partnum == STMPE2401) in stmpe_24xx_pwm_config()
163 if (stmpe_pwm->stmpe->partnum == STMPE2403) in stmpe_24xx_pwm_config()
[all …]
DMakefile44 obj-$(CONFIG_PWM_STMPE) += pwm-stmpe.o
/Linux-v4.19/drivers/input/keyboard/
Dstmpe-keypad.c129 struct stmpe *stmpe; member
143 struct stmpe *stmpe = keypad->stmpe; in stmpe_keypad_read_data() local
148 return stmpe_block_read(stmpe, STMPE_KPC_DATA_BYTE0, in stmpe_keypad_read_data()
152 ret = stmpe_reg_read(stmpe, STMPE_KPC_DATA_BYTE0 + i); in stmpe_keypad_read_data()
199 struct stmpe *stmpe = keypad->stmpe; in stmpe_keypad_altfunc_init() local
200 u8 pureg = stmpe->regs[STMPE_IDX_GPPUR_LSB]; in stmpe_keypad_altfunc_init()
237 ret = stmpe_set_altfunc(stmpe, pins, STMPE_BLOCK_KEYPAD); in stmpe_keypad_altfunc_init()
250 ret = stmpe_reg_read(stmpe, pureg); in stmpe_keypad_altfunc_init()
258 ret = stmpe_reg_write(stmpe, pureg, val); in stmpe_keypad_altfunc_init()
267 struct stmpe *stmpe = keypad->stmpe; in stmpe_keypad_chip_init() local
[all …]
DMakefile59 obj-$(CONFIG_KEYBOARD_STMPE) += stmpe-keypad.o
/Linux-v4.19/Documentation/devicetree/bindings/gpio/
Dgpio-stmpe.txt5 - compatible: "st,stmpe-gpio"
11 Node name must be stmpe_gpio and should be child node of stmpe node to which it
16 compatible = "st,stmpe-gpio";
/Linux-v4.19/arch/arm/boot/dts/
Dste-nomadik-nhk15.dts23 stmpe-i2c0 = &stmpe0;
24 stmpe-i2c1 = &stmpe1;
114 compatible = "st,stmpe-gpio";
123 compatible = "st,stmpe-keypad";
145 compatible = "st,stmpe-pwm";
160 compatible = "st,stmpe-gpio";
Dsocfpga_cyclone5_mcvevk.dts26 stmpe-i2c0 = &stmpe1;
73 compatible = "st,stmpe-ts";
Dspear320-hmi.dts250 stmpegpio: stmpe-gpio {
251 compatible = "stmpe,gpio";
259 compatible = "stmpe,ts";
Dimx6q-dmo-edmqmx6.dts28 stmpe-i2c0 = &stmpe1;
29 stmpe-i2c1 = &stmpe2;
255 compatible = "st,stmpe-gpio";
269 compatible = "st,stmpe-gpio";
Dimx6qdl-phytec-mira.dtsi153 stmpe: touchctrl@44 { label
163 compatible = "st,stmpe-ts";
Dimx53-m53.dtsi64 compatible = "st,stmpe-ts";
Dimx6ul-isiot.dtsi163 stmpe: touchscreen { label
164 compatible = "st,stmpe-ts";
Dimx6qdl-phytec-pbab01.dtsi131 stmpe@41 {
/Linux-v4.19/Documentation/devicetree/bindings/input/touchscreen/
Dstmpe.txt5 - compatible: "st,stmpe-ts"
27 Node name must be stmpe_touchscreen and should be child node of stmpe node to
33 compatible = "st,stmpe-ts";
/Linux-v4.19/Documentation/devicetree/bindings/pwm/
Dst,stmpe-pwm.txt9 - "st,stmpe-pwm"
16 compatible = "st,stmpe-pwm";
/Linux-v4.19/Documentation/devicetree/bindings/input/
Dstmpe-keypad.txt4 - compatible : "st,stmpe-keypad"
17 compatible = "st,stmpe-keypad";
/Linux-v4.19/Documentation/devicetree/bindings/mfd/
Dstmpe.txt7 - compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]"

12