From e3ae68476ce0636554b5d95a33777f80ba407dc0 Mon Sep 17 00:00:00 2001 From: Michael Hennerich Date: Mon, 24 May 2010 14:33:15 -0700 Subject: ad525x_dpot: add support for AD524x pots New parts supported: AD5241, AD5242, AD5243, AD5245, AD5246, AD5247, AD5248 Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/misc/ad525x_dpot.h | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'drivers/misc/ad525x_dpot.h') diff --git a/drivers/misc/ad525x_dpot.h b/drivers/misc/ad525x_dpot.h index 99b388e12f5f..849c5d0782b2 100644 --- a/drivers/misc/ad525x_dpot.h +++ b/drivers/misc/ad525x_dpot.h @@ -29,13 +29,14 @@ #define F_CMD_INC (1 << 0) /* Features INC/DEC ALL, 6dB */ #define F_CMD_EEP (1 << 1) /* Features EEPROM */ -#define F_CMD_TOL (1 << 2) /* RDACS are Read/Write + Tolerance REG */ -#define F_RDACS_RW (1 << 3) /* RDACS are Read/Write + Tolerance REG */ -#define F_RDACS_WONLY (1 << 4) /* RDACS are Write only */ -#define F_AD_APPDATA (1 << 5) /* RDAC Address append to data */ -#define F_SPI_8BIT (1 << 6) /* All SPI XFERS are 8-bit */ -#define F_SPI_16BIT (1 << 7) /* All SPI XFERS are 16-bit */ -#define F_SPI_24BIT (1 << 8) /* All SPI XFERS are 24-bit */ +#define F_CMD_OTP (1 << 2) /* Features OTP */ +#define F_CMD_TOL (1 << 3) /* RDACS feature Tolerance REG */ +#define F_RDACS_RW (1 << 4) /* RDACS are Read/Write */ +#define F_RDACS_WONLY (1 << 5) /* RDACS are Write only */ +#define F_AD_APPDATA (1 << 6) /* RDAC Address append to data */ +#define F_SPI_8BIT (1 << 7) /* All SPI XFERS are 8-bit */ +#define F_SPI_16BIT (1 << 8) /* All SPI XFERS are 16-bit */ +#define F_SPI_24BIT (1 << 9) /* All SPI XFERS are 24-bit */ #define F_RDACS_RW_TOL (F_RDACS_RW | F_CMD_EEP | F_CMD_TOL) #define F_RDACS_RW_EEP (F_RDACS_RW | F_CMD_EEP) @@ -104,6 +105,15 @@ enum dpot_devid { BRDAC0 | BRDAC1 | BRDAC2, 8, 31), ADN2850_ID = DPOT_CONF(F_RDACS_RW_EEP | F_CMD_INC | F_SPI_24BIT, BRDAC0 | BRDAC1, 10, 32), + AD5241_ID = DPOT_CONF(F_RDACS_RW, BRDAC0, 8, 33), + AD5242_ID = DPOT_CONF(F_RDACS_RW, BRDAC0 | BRDAC1, 8, 34), + AD5243_ID = DPOT_CONF(F_RDACS_RW, BRDAC0 | BRDAC1, 8, 35), + AD5245_ID = DPOT_CONF(F_RDACS_RW, BRDAC0, 8, 36), + AD5246_ID = DPOT_CONF(F_RDACS_RW, BRDAC0, 7, 37), + AD5247_ID = DPOT_CONF(F_RDACS_RW, BRDAC0, 7, 38), + AD5248_ID = DPOT_CONF(F_RDACS_RW, BRDAC0 | BRDAC1, 8, 39), + + }; #define DPOT_RDAC0 0 @@ -146,6 +156,9 @@ enum dpot_devid { #define DPOT_AD5291_RDAC 0x01 #define DPOT_AD5291_READ_RDAC 0x02 +/* AD524x use special commands */ +#define DPOT_AD5291_RDAC_AB 0x80 + struct dpot_data; struct ad_dpot_bus_ops { -- cgit v1.2.3