twl_wrapsdk/build/libraries/spi/ARM7/include/tp_reg.h
kamikawa bfc9350270 libraries/snd/ARM7/src/snd_mic.c で定義されていたマイク関数を削除し、新規にlibralies/mic 関数を追加。
CODEC関連コードを更新。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@287 4ee2a332-4b2b-5046-8439-1ba90f034370
2007-09-28 10:35:18 +00:00

292 lines
9.3 KiB
C
Raw Permalink Blame History

/*---------------------------------------------------------------------------*
Project: CtrSDK - TP - include - tp
File: cdc_reg.h
Copyright 2006 Nintendo. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Log: $
$NoKeywords: $
*---------------------------------------------------------------------------*/
#ifndef CTR_TP_TP_REG_H_
#define CTR_TP_TP_REG_H_
//#include <ctr/misc.h>
//#include <ctr/types.h>
#ifdef __cplusplus
extern "C" {
#endif
//================================================================================
// CODEC Page Register
//================================================================================
#define REG_TP_PAGE_CTL_ADDR 0
#define REG_TP255_PAGE_CTL_ADDR 127
//================================================================================
// CODEC Version ..etc
//================================================================================
#define REG_TP0_VENDOR_ID_ADDR 2
#define REG_TP0_REV_ID_ADDR 3
#define TP0_REV_ID_MASK 0x70
#define TP0_REV_ID_SHIFT 4
//================================================================================
// Resolution / ADC Power
//================================================================================
#define REG_TP_RESOLUTION 2
typedef enum
{
TP_RESOLUTION_12 = 0x10,
TP_RESOLUTION_8 = 0x48,
TP_RESOLUTION_10 = 0x20
} TpResolution_t;
#define TP_RESOLUTION_MASK 0x78
#define TP_ADC_PWR_MASK 0x80
#define TP_ADC_PWRUP 0x00
#define TP_ADC_PWRDN 0x80
//================================================================================
// Sampling Conversion Mode
//================================================================================
#define REG_TP_CONVERSION_MODE 3
#define TP_CONVERSION_CONTROL_MASK 0x80
#define TP_CONVERSION_MODE_MASK 0x3c
#define TP_CONVERSION_PIN_MASK 0x03
typedef enum
{
TP_CONVERSION_CONTROL_HOST = 0x00,
TP_CONVERSION_CONTROL_SELF = 0x80
} TpCnversionControl_t;
typedef enum
{
TP_CONVERSION_MODE_NONE = 0x00,
TP_CONVERSION_MODE_XY = 0x04, // Self, /READREADY = ReadReady
TP_CONVERSION_MODE_XYZ = 0x08,
TP_CONVERSION_MODE_X = 0x0c,
TP_CONVERSION_MODE_Y = 0x10,
TP_CONVERSION_MODE_Z = 0x14,
TP_CONVERSION_MODE_AUX3 = 0x18,
TP_CONVERSION_MODE_AUX2 = 0x1c,
TP_CONVERSION_MODE_AUX1 = 0x20,
TP_CONVERSION_MODE_AUTO_AUX = 0x24,
TP_CONVERSION_MODE_AUX123 = 0x2c,
TP_CONVERSION_MODE_XP_XM = 0x34,
TP_CONVERSION_MODE_YP_YM = 0x38,
TP_CONVERSION_MODE_YP_XM = 0x3c
} TpConversionMode_t;
typedef enum
{
TP_CONVERSION_PIN_INTERRUPT = 0x00,
TP_CONVERSION_PIN_DATA_AVAILABLE = 0x01,
TP_CONVERSION_PIN_INTERRUPT_DATA_AVAILABLE = 0x02,
TP_CONVERSION_PIN_NBM = 0x03
} TpCnversionPin_t;
//================================================================================
// Precharge / Sense / Stability time
//================================================================================
#define REG_TP_PRECHARGE 4
typedef enum
{
TP_SETUP_TIME_0_1US = 0,
TP_SETUP_TIME_1US,
TP_SETUP_TIME_3US,
TP_SETUP_TIME_10US,
TP_SETUP_TIME_30US,
TP_SETUP_TIME_100US,
TP_SETUP_TIME_300US,
TP_SETUP_TIME_1MS
} TpSetupTime_t;
#define TP_PRECHARGE_SHIFT 4
#define TP_PRECHARGE_MASK 0x70
#define REG_TP_SENSE_TIME 4
#define TP_SENSE_TIME_SHIFT 0
#define TP_SENSE_TIME_MASK 0x07
#define REG_TP_STABILIZATION_TIME 5
#define TP_STABILIZATION_TIME_SHIFT 0
#define TP_STABILIZATION_TIME_MASK 0x07
//================================================================================
// IC Status
//================================================================================
/*
#define REG_TP_STATUS1 9
#define REG_TP_STATUS2 10
#define REG_TP_STATUS3 14
#define REG_TP_STATUS3_MASK 0x03
typedef enum
{
// reg 9
TP_CONVERTER_STATUS_TOUCH_DETECTED = 0x8000,
TP_CONVERTER_STATUS_ADC_NOT_BUSY = 0x4000,
TP_CONVERTER_STATUS_DATA_AVAILABLE = 0x2000,
TP_CONVERTER_STATUS_X_AVAILABLE = 0x0800,
TP_CONVERTER_STATUS_Y_AVAILABLE = 0x0400,
// reg 10
TP_CONVERTER_STATUS_AUX1_AVAILABLE = 0x0080,
TP_CONVERTER_STATUS_AUX2_AVAILABLE = 0x0040,
TP_CONVERTER_STATUS_AUX3_AVAILABLE = 0x0020,
// reg14
TP_CONVERTER_STATUS_TP_DATA_NOT_READY = 0x0002,
TP_CONVERTER_STATUS_FIFO_FLUSH_DONE = 0x0001
} tpConverterStatus_t;
*/
//================================================================================
// New Buffer Mode
//================================================================================
#define REG_TP_NEW_BUFFER_MODE 14
#define TP_NEW_BUFFER_MODE_E 0x80
#define TP_NEW_BUFFER_MODE_D 0x00
#define TP_NEW_BUFFER_MODE_MASK 0x80
#define TP_NEW_BUFFER_CONVERSION_MODE_CONTINUOUS 0x00
#define TP_NEW_BUFFER_CONVERSION_MODE_SINGLESHOT 0x40
#define TP_NEW_BUFFER_CONVERSION_MODE_MASK 0x40
#define TP_HOLDOFF_ENABLE 0x04
#define TP_HOLDOFF_DISABLE 0x00
#define TP_HOLDOFF_MASK 0x04
#define REG_TP_DATA_DEPTH 14
#define TP_DATA_DEPTH_SHIFT 3
#define TP_DATA_DEPTH_MASK 0x38
//================================================================================
// Interval
//================================================================================
#define REG_TP_INTERVAL 15
typedef enum
{
TP_INTERVAL_NONE = 0,
TP_AUX_INTERVAL_1_12M = 0x08,
TP_AUX_INTERVAL_3_36M,
TP_AUX_INTERVAL_5_59M,
TP_AUX_INTERVAL_7_83M,
TP_AUX_INTERVAL_10_01M,
TP_AUX_INTERVAL_12_30M,
TP_AUX_INTERVAL_14_54M,
TP_AUX_INTERVAL_16_78M,
TP_INTERVAL_8MS = 0x80,
TP_INTERVAL_1MS = 0x90,
TP_INTERVAL_2MS = 0xa0,
TP_INTERVAL_3MS = 0xb0,
TP_INTERVAL_4MS = 0xc0,
TP_INTERVAL_5MS = 0xd0,
TP_INTERVAL_6MS = 0xe0,
TP_INTERVAL_7MS = 0xf0
} tpInterval_t;
//================================================================================
// Clock Source
//================================================================================
#define REG_TP_INTERVAL_TIMER_SOURCE 16
#define TP_INTERVAL_TIMER_SOURCE_EXTERNAL 0x81
#define TP_INTERVAL_TIMER_SOURCE_INTERNAL 0x00
#define REG_TP_ADC_TIMER_SOURCE 17
#define TP_ADC_TIMER_SOURCE_EXTERNAL 0x81
#define TP_ADC_TIMER_SOURCE_INTERNAL 0x00
//================================================================================
// Debounce
//================================================================================
#define REG_TP_DEBOUNCE_TIME 18
#define TP_DEBOUNCE_TIME_SHIFT 0
#define TP_DEBOUNCE_TIME_MASK 0x07
typedef enum
{
TP_DEBOUNCE_0US = 0,
TP_DEBOUNCE_16US, // ADC Timer Source <20><> External <20>Ȃ<EFBFBD><C882>A8/12.19<EFBFBD>{<7B>̊<EFBFBD><CC8A>ԂɂȂ<C982>
TP_DEBOUNCE_32US,
TP_DEBOUNCE_64US,
TP_DEBOUNCE_128US,
TP_DEBOUNCE_256US,
TP_DEBOUNCE_512US,
TP_DEBOUNCE_1024US
} tpDebounce_t;
//================================================================================
// AUX Channel
//================================================================================
#define REG_TP_ENABLED_AUX_CHANNEL 19
#define TP_ENABLED_AUX_CHANNEL_SHIFT 5
#define TP_ENABLED_AUX_CHANNEL_MASK 0xe0
typedef enum
{
TP_ENABLED_AUX_CHANNEL_NONE = 0,
TP_ENABLED_AUX_CHANNEL_IN3,
TP_ENABLED_AUX_CHANNEL_IN2,
TP_ENABLED_AUX_CHANNEL_IN2_IN3,
TP_ENABLED_AUX_CHANNEL_IN1,
TP_ENABLED_AUX_CHANNEL_IN1_IN3,
TP_ENABLED_AUX_CHANNEL_IN1_IN2,
TP_ENABLED_AUX_CHANNEL_IN1_IN2_IN3
} tpEnabledAuxChannel_t;
//================================================================================
// Sampling Data Read
//================================================================================
#define REG_TP_SAMPLING_DATA_X 42
#define REG_TP_SAMPLING_DATA_Y 44
#define REG_TP_SAMPLING_DATA_IN1 54
#define REG_TP_SAMPLING_DATA_IN2 56
#define REG_TP_SAMPLING_DATA_IN3 58
typedef enum
{
TP_SAMPLING_DATA_X = 42,
TP_SAMPLING_DATA_Y = 44,
TP_SAMPLING_DATA_IN1 = 54,
TP_SAMPLING_DATA_IN2 = 56,
TP_SAMPLING_DATA_IN3 = 58
} tpSamplingDataChannel_t;
#define REG_TP_BUFFER 1
#define TP_READ_BUFFER_TIMEOUT 16
//================================================================================
// Sampling Data Format
//================================================================================
#define TP_NOT_TOUCH_MASK 0xf000
#ifdef __cplusplus
} /* extern "C" */
#endif
/* CTR_TP_TP_REG_H_ */
#endif