diff options
Diffstat (limited to 'board/trab/tsc2000.h')
-rw-r--r-- | board/trab/tsc2000.h | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/board/trab/tsc2000.h b/board/trab/tsc2000.h deleted file mode 100644 index f3cecb9..0000000 --- a/board/trab/tsc2000.h +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Functions to access the TSC2000 controller on TRAB board (used for scanning - * thermo sensors) - * - * Copyright (C) 2003 Martin Krause, TQ-Systems GmbH, martin.krause@tqs.de - * - * Copyright (C) 2002 DENX Software Engineering, Wolfgang Denk, wd@denx.de - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#ifndef _TSC2000_H_ -#define _TSC2000_H_ - -/* temperature channel multiplexer definitions */ -#define CON_MUX0 (gpio->pccon = (gpio->pccon & 0x0FFFFFCFF) | 0x00000100) -#define CLR_MUX0 (gpio->pcdat &= 0x0FFEF) -#define SET_MUX0 (gpio->pcdat |= 0x00010) - -#define CON_MUX1 (gpio->pccon = (gpio->pccon & 0x0FFFFF3FF) | 0x00000400) -#define CLR_MUX1 (gpio->pcdat &= 0x0FFDF) -#define SET_MUX1 (gpio->pcdat |= 0x00020) - -#define CON_MUX1_ENABLE (gpio->pccon = (gpio->pccon & 0x0FFFFCFFF) | 0x00001000) -#define CLR_MUX1_ENABLE (gpio->pcdat |= 0x00040) -#define SET_MUX1_ENABLE (gpio->pcdat &= 0x0FFBF) - -#define CON_MUX2_ENABLE (gpio->pccon = (gpio->pccon & 0x0FFFF3FFF) | 0x00004000) -#define CLR_MUX2_ENABLE (gpio->pcdat |= 0x00080) -#define SET_MUX2_ENABLE (gpio->pcdat &= 0x0FF7F) - -#define CON_MUX3_ENABLE (gpio->pccon = (gpio->pccon & 0x0FFFCFFFF) | 0x00010000) -#define CLR_MUX3_ENABLE (gpio->pcdat |= 0x00100) -#define SET_MUX3_ENABLE (gpio->pcdat &= 0x0FEFF) - -#define CON_MUX4_ENABLE (gpio->pccon = (gpio->pccon & 0x0FFF3FFFF) | 0x00040000) -#define CLR_MUX4_ENABLE (gpio->pcdat |= 0x00200) -#define SET_MUX4_ENABLE (gpio->pcdat &= 0x0FDFF) - -#define CON_SEL_TEMP_V_0 (gpio->pccon = (gpio->pccon & 0x0FFCFFFFF) | \ - 0x00100000) -#define CLR_SEL_TEMP_V_0 (gpio->pcdat &= 0x0FBFF) -#define SET_SEL_TEMP_V_0 (gpio->pcdat |= 0x00400) - -#define CON_SEL_TEMP_V_1 (gpio->pccon = (gpio->pccon & 0x0FF3FFFFF) | \ - 0x00400000) -#define CLR_SEL_TEMP_V_1 (gpio->pcdat &= 0x0F7FF) -#define SET_SEL_TEMP_V_1 (gpio->pcdat |= 0x00800) - -#define CON_SEL_TEMP_V_2 (gpio->pccon = (gpio->pccon & 0x0FCFFFFFF) | \ - 0x01000000) -#define CLR_SEL_TEMP_V_2 (gpio->pcdat &= 0x0EFFF) -#define SET_SEL_TEMP_V_2 (gpio->pcdat |= 0x01000) - -#define CON_SEL_TEMP_V_3 (gpio->pccon = (gpio->pccon & 0x0F3FFFFFF) | \ - 0x04000000) -#define CLR_SEL_TEMP_V_3 (gpio->pcdat &= 0x0DFFF) -#define SET_SEL_TEMP_V_3 (gpio->pcdat |= 0x02000) - -/* TSC2000 register definition */ -#define TSC2000_REG_X ((0 << 11) | (0 << 5)) -#define TSC2000_REG_Y ((0 << 11) | (1 << 5)) -#define TSC2000_REG_Z1 ((0 << 11) | (2 << 5)) -#define TSC2000_REG_Z2 ((0 << 11) | (3 << 5)) -#define TSC2000_REG_BAT1 ((0 << 11) | (5 << 5)) -#define TSC2000_REG_BAT2 ((0 << 11) | (6 << 5)) -#define TSC2000_REG_AUX1 ((0 << 11) | (7 << 5)) -#define TSC2000_REG_AUX2 ((0 << 11) | (8 << 5)) -#define TSC2000_REG_TEMP1 ((0 << 11) | (9 << 5)) -#define TSC2000_REG_TEMP2 ((0 << 11) | (0xA << 5)) -#define TSC2000_REG_DAC ((0 << 11) | (0xB << 5)) -#define TSC2000_REG_ZERO ((0 << 11) | (0x10 << 5)) -#define TSC2000_REG_ADC ((1 << 11) | (0 << 5)) -#define TSC2000_REG_DACCTL ((1 << 11) | (2 << 5)) -#define TSC2000_REG_REF ((1 << 11) | (3 << 5)) -#define TSC2000_REG_RESET ((1 << 11) | (4 << 5)) -#define TSC2000_REG_CONFIG ((1 << 11) | (5 << 5)) - -/* bit definition of TSC2000 ADC register */ -#define TC_PSM (1 << 15) -#define TC_STS (1 << 14) -#define TC_AD3 (1 << 13) -#define TC_AD2 (1 << 12) -#define TC_AD1 (1 << 11) -#define TC_AD0 (1 << 10) -#define TC_RS1 (1 << 9) -#define TC_RS0 (1 << 8) -#define TC_AV1 (1 << 7) -#define TC_AV0 (1 << 6) -#define TC_CL1 (1 << 5) -#define TC_CL0 (1 << 4) -#define TC_PV2 (1 << 3) -#define TC_PV1 (1 << 2) -#define TC_PV0 (1 << 1) - -/* default value for TSC2000 ADC register for use with touch functions */ -#define DEFAULT_ADC (TC_PV1 | TC_AV0 | TC_AV1 | TC_RS0) - -#define TSC2000_DELAY_BASE 500 -#define TSC2000_NO_SENSOR -0x10000 - -#define ERROR_BATTERY 220 /* must be adjusted, if R68 is changed on TRAB */ - -void tsc2000_write(unsigned short, unsigned short); -unsigned short tsc2000_read (unsigned short); -u16 tsc2000_read_channel (unsigned int); -void tsc2000_set_mux (unsigned int); -void tsc2000_set_range (unsigned int); -void tsc2000_reg_init (void); -s32 tsc2000_contact_temp (void); -void spi_wait_transmit_done (void); -void tsc2000_spi_init(void); -int tsc2000_interpolate(long value, long data[][2], long *result); -void adc_wait_conversion_done(void); - - -static inline void SET_CS_TOUCH(void) -{ - struct s3c24x0_gpio * const gpio = s3c24x0_get_base_gpio(); - - gpio->pddat &= 0x5FF; -} - - -static inline void CLR_CS_TOUCH(void) -{ - struct s3c24x0_gpio * const gpio = s3c24x0_get_base_gpio(); - - gpio->pddat |= 0x200; -} - -#endif /* _TSC2000_H_ */ |