summaryrefslogtreecommitdiffstats
path: root/hal/gonk/tavarua.h
diff options
context:
space:
mode:
Diffstat (limited to 'hal/gonk/tavarua.h')
-rw-r--r--hal/gonk/tavarua.h484
1 files changed, 0 insertions, 484 deletions
diff --git a/hal/gonk/tavarua.h b/hal/gonk/tavarua.h
deleted file mode 100644
index 4eb3483a8..000000000
--- a/hal/gonk/tavarua.h
+++ /dev/null
@@ -1,484 +0,0 @@
-#ifndef __LINUX_TAVARUA_H
-#define __LINUX_TAVARUA_H
-
-/* This is a Linux header generated by "make headers_install" */
-
-#include <stdint.h>
-#include <linux/ioctl.h>
-#include <linux/videodev2.h>
-
-
-#undef FM_DEBUG
-
-/* constants */
-#define RDS_BLOCKS_NUM (4)
-#define BYTES_PER_BLOCK (3)
-#define MAX_PS_LENGTH (96)
-#define MAX_RT_LENGTH (64)
-
-#define XFRDAT0 (0x20)
-#define XFRDAT1 (0x21)
-#define XFRDAT2 (0x22)
-
-#define INTDET_PEEK_MSB (0x88)
-#define INTDET_PEEK_LSB (0x26)
-
-#define RMSSI_PEEK_MSB (0x88)
-#define RMSSI_PEEK_LSB (0xA8)
-
-#define MPX_DCC_BYPASS_POKE_MSB (0x88)
-#define MPX_DCC_BYPASS_POKE_LSB (0xC0)
-
-#define MPX_DCC_PEEK_MSB_REG1 (0x88)
-#define MPX_DCC_PEEK_LSB_REG1 (0xC2)
-
-#define MPX_DCC_PEEK_MSB_REG2 (0x88)
-#define MPX_DCC_PEEK_LSB_REG2 (0xC3)
-
-#define MPX_DCC_PEEK_MSB_REG3 (0x88)
-#define MPX_DCC_PEEK_LSB_REG3 (0xC4)
-
-#define ON_CHANNEL_TH_MSB (0x0B)
-#define ON_CHANNEL_TH_LSB (0xA8)
-
-#define OFF_CHANNEL_TH_MSB (0x0B)
-#define OFF_CHANNEL_TH_LSB (0xAC)
-
-#define ENF_200Khz (1)
-#define SRCH200KHZ_OFFSET (7)
-#define SRCH_MASK (1 << SRCH200KHZ_OFFSET)
-
-/* Standard buffer size */
-#define STD_BUF_SIZE (128)
-/* Search direction */
-#define SRCH_DIR_UP (0)
-#define SRCH_DIR_DOWN (1)
-
-/* control options */
-#define CTRL_ON (1)
-#define CTRL_OFF (0)
-
-#define US_LOW_BAND (87.5)
-#define US_HIGH_BAND (108)
-
-/* constant for Tx */
-
-#define MASK_PI (0x0000FFFF)
-#define MASK_PI_MSB (0x0000FF00)
-#define MASK_PI_LSB (0x000000FF)
-#define MASK_PTY (0x0000001F)
-#define MASK_TXREPCOUNT (0x0000000F)
-
-#undef FMDBG
-#ifdef FM_DEBUG
- #define FMDBG(fmt, args...) printk(KERN_INFO "tavarua_radio: " fmt, ##args)
-#else
- #define FMDBG(fmt, args...)
-#endif
-
-#undef FMDERR
-#define FMDERR(fmt, args...) printk(KERN_INFO "tavarua_radio: " fmt, ##args)
-
-#undef FMDBG_I2C
-#ifdef FM_DEBUG_I2C
- #define FMDBG_I2C(fmt, args...) printk(KERN_INFO "fm_i2c: " fmt, ##args)
-#else
- #define FMDBG_I2C(fmt, args...)
-#endif
-
-/* function declarations */
-/* FM Core audio paths. */
-#define TAVARUA_AUDIO_OUT_ANALOG_OFF (0)
-#define TAVARUA_AUDIO_OUT_ANALOG_ON (1)
-#define TAVARUA_AUDIO_OUT_DIGITAL_OFF (0)
-#define TAVARUA_AUDIO_OUT_DIGITAL_ON (1)
-
-int tavarua_set_audio_path(int digital_on, int analog_on);
-
-/* defines and enums*/
-
-#define MARIMBA_A0 0x01010013
-#define MARIMBA_2_1 0x02010204
-#define BAHAMA_1_0 0x0302010A
-#define BAHAMA_2_0 0x04020205
-#define WAIT_TIMEOUT 2000
-#define RADIO_INIT_TIME 15
-#define TAVARUA_DELAY 10
-/*
- * The frequency is set in units of 62.5 Hz when using V4L2_TUNER_CAP_LOW,
- * 62.5 kHz otherwise.
- * The tuner is able to have a channel spacing of 50, 100 or 200 kHz.
- * tuner->capability is therefore set to V4L2_TUNER_CAP_LOW
- * The FREQ_MUL is then: 1 MHz / 62.5 Hz = 16000
- */
-#define FREQ_MUL (1000000 / 62.5)
-
-enum v4l2_cid_private_tavarua_t {
- V4L2_CID_PRIVATE_TAVARUA_SRCHMODE = (V4L2_CID_PRIVATE_BASE + 1),
- V4L2_CID_PRIVATE_TAVARUA_SCANDWELL,
- V4L2_CID_PRIVATE_TAVARUA_SRCHON,
- V4L2_CID_PRIVATE_TAVARUA_STATE,
- V4L2_CID_PRIVATE_TAVARUA_TRANSMIT_MODE,
- V4L2_CID_PRIVATE_TAVARUA_RDSGROUP_MASK,
- V4L2_CID_PRIVATE_TAVARUA_REGION,
- V4L2_CID_PRIVATE_TAVARUA_SIGNAL_TH,
- V4L2_CID_PRIVATE_TAVARUA_SRCH_PTY,
- V4L2_CID_PRIVATE_TAVARUA_SRCH_PI,
- V4L2_CID_PRIVATE_TAVARUA_SRCH_CNT,
- V4L2_CID_PRIVATE_TAVARUA_EMPHASIS,
- V4L2_CID_PRIVATE_TAVARUA_RDS_STD,
- V4L2_CID_PRIVATE_TAVARUA_SPACING,
- V4L2_CID_PRIVATE_TAVARUA_RDSON,
- V4L2_CID_PRIVATE_TAVARUA_RDSGROUP_PROC,
- V4L2_CID_PRIVATE_TAVARUA_LP_MODE,
- V4L2_CID_PRIVATE_TAVARUA_ANTENNA,
- V4L2_CID_PRIVATE_TAVARUA_RDSD_BUF,
- V4L2_CID_PRIVATE_TAVARUA_PSALL,
- /*v4l2 Tx controls*/
- V4L2_CID_PRIVATE_TAVARUA_TX_SETPSREPEATCOUNT,
- V4L2_CID_PRIVATE_TAVARUA_STOP_RDS_TX_PS_NAME,
- V4L2_CID_PRIVATE_TAVARUA_STOP_RDS_TX_RT,
- V4L2_CID_PRIVATE_TAVARUA_IOVERC,
- V4L2_CID_PRIVATE_TAVARUA_INTDET,
- V4L2_CID_PRIVATE_TAVARUA_MPX_DCC,
- V4L2_CID_PRIVATE_TAVARUA_AF_JUMP,
- V4L2_CID_PRIVATE_TAVARUA_RSSI_DELTA,
- V4L2_CID_PRIVATE_TAVARUA_HLSI,
-
- /*
- * Here we have IOCTl's that are specific to IRIS
- * (V4L2_CID_PRIVATE_BASE + 0x1E to V4L2_CID_PRIVATE_BASE + 0x28)
- */
- V4L2_CID_PRIVATE_SOFT_MUTE,/* 0x800001E*/
- V4L2_CID_PRIVATE_RIVA_ACCS_ADDR,
- V4L2_CID_PRIVATE_RIVA_ACCS_LEN,
- V4L2_CID_PRIVATE_RIVA_PEEK,
- V4L2_CID_PRIVATE_RIVA_POKE,
- V4L2_CID_PRIVATE_SSBI_ACCS_ADDR,
- V4L2_CID_PRIVATE_SSBI_PEEK,
- V4L2_CID_PRIVATE_SSBI_POKE,
- V4L2_CID_PRIVATE_TX_TONE,
- V4L2_CID_PRIVATE_RDS_GRP_COUNTERS,
- V4L2_CID_PRIVATE_SET_NOTCH_FILTER,/* 0x8000028 */
-
- V4L2_CID_PRIVATE_TAVARUA_SET_AUDIO_PATH,/* 0x8000029 */
- V4L2_CID_PRIVATE_TAVARUA_DO_CALIBRATION,/* 0x800002A : IRIS */
- V4L2_CID_PRIVATE_TAVARUA_SRCH_ALGORITHM,/* 0x800002B */
- V4L2_CID_PRIVATE_IRIS_GET_SINR, /* 0x800002C : IRIS */
- V4L2_CID_PRIVATE_INTF_LOW_THRESHOLD, /* 0x800002D */
- V4L2_CID_PRIVATE_INTF_HIGH_THRESHOLD, /* 0x800002E */
- V4L2_CID_PRIVATE_SINR_THRESHOLD, /* 0x800002F : IRIS */
- V4L2_CID_PRIVATE_SINR_SAMPLES, /* 0x8000030 : IRIS */
-
-};
-
-enum tavarua_buf_t {
- TAVARUA_BUF_SRCH_LIST,
- TAVARUA_BUF_EVENTS,
- TAVARUA_BUF_RT_RDS,
- TAVARUA_BUF_PS_RDS,
- TAVARUA_BUF_RAW_RDS,
- TAVARUA_BUF_AF_LIST,
- TAVARUA_BUF_MAX
-};
-
-enum tavarua_xfr_t {
- TAVARUA_XFR_SYNC,
- TAVARUA_XFR_ERROR,
- TAVARUA_XFR_SRCH_LIST,
- TAVARUA_XFR_RT_RDS,
- TAVARUA_XFR_PS_RDS,
- TAVARUA_XFR_AF_LIST,
- TAVARUA_XFR_MAX
-};
-
-enum channel_spacing {
- FM_CH_SPACE_200KHZ,
- FM_CH_SPACE_100KHZ,
- FM_CH_SPACE_50KHZ
-};
-
-enum step_size {
- NO_SRCH200khz,
- ENF_SRCH200khz
-};
-
-enum emphasis {
- EMP_75,
- EMP_50
-};
-
-enum rds_std {
- RBDS_STD,
- RDS_STD
-};
-
-/* offsets */
-#define RAW_RDS 0x0F
-#define RDS_BLOCK 3
-
-/* registers*/
-#define MARIMBA_XO_BUFF_CNTRL 0x07
-#define RADIO_REGISTERS 0x30
-#define XFR_REG_NUM 16
-#define STATUS_REG_NUM 3
-
-/* TX constants */
-#define HEADER_SIZE 4
-#define TX_ON 0x80
-#define TAVARUA_TX_RT RDS_RT_0
-#define TAVARUA_TX_PS RDS_PS_0
-
-enum register_t {
- STATUS_REG1 = 0,
- STATUS_REG2,
- STATUS_REG3,
- RDCTRL,
- FREQ,
- TUNECTRL,
- SRCHRDS1,
- SRCHRDS2,
- SRCHCTRL,
- IOCTRL,
- RDSCTRL,
- ADVCTRL,
- AUDIOCTRL,
- RMSSI,
- IOVERC,
- AUDIOIND = 0x1E,
- XFRCTRL,
- FM_CTL0 = 0xFF,
- LEAKAGE_CNTRL = 0xFE,
-};
-#define BAHAMA_RBIAS_CTL1 0x07
-#define BAHAMA_FM_MODE_REG 0xFD
-#define BAHAMA_FM_CTL1_REG 0xFE
-#define BAHAMA_FM_CTL0_REG 0xFF
-#define BAHAMA_FM_MODE_NORMAL 0x00
-#define BAHAMA_LDO_DREG_CTL0 0xF0
-#define BAHAMA_LDO_AREG_CTL0 0xF4
-
-/* Radio Control */
-#define RDCTRL_STATE_OFFSET 0
-#define RDCTRL_STATE_MASK (3 << RDCTRL_STATE_OFFSET)
-#define RDCTRL_BAND_OFFSET 2
-#define RDCTRL_BAND_MASK (1 << RDCTRL_BAND_OFFSET)
-#define RDCTRL_CHSPACE_OFFSET 3
-#define RDCTRL_CHSPACE_MASK (3 << RDCTRL_CHSPACE_OFFSET)
-#define RDCTRL_DEEMPHASIS_OFFSET 5
-#define RDCTRL_DEEMPHASIS_MASK (1 << RDCTRL_DEEMPHASIS_OFFSET)
-#define RDCTRL_HLSI_OFFSET 6
-#define RDCTRL_HLSI_MASK (3 << RDCTRL_HLSI_OFFSET)
-#define RDSAF_OFFSET 6
-#define RDSAF_MASK (1 << RDSAF_OFFSET)
-
-/* Tune Control */
-#define TUNE_STATION 0x01
-#define ADD_OFFSET (1 << 1)
-#define SIGSTATE (1 << 5)
-#define MOSTSTATE (1 << 6)
-#define RDSSYNC (1 << 7)
-/* Search Control */
-#define SRCH_MODE_OFFSET 0
-#define SRCH_MODE_MASK (7 << SRCH_MODE_OFFSET)
-#define SRCH_DIR_OFFSET 3
-#define SRCH_DIR_MASK (1 << SRCH_DIR_OFFSET)
-#define SRCH_DWELL_OFFSET 4
-#define SRCH_DWELL_MASK (7 << SRCH_DWELL_OFFSET)
-#define SRCH_STATE_OFFSET 7
-#define SRCH_STATE_MASK (1 << SRCH_STATE_OFFSET)
-
-/* I/O Control */
-#define IOC_HRD_MUTE 0x03
-#define IOC_SFT_MUTE (1 << 2)
-#define IOC_MON_STR (1 << 3)
-#define IOC_SIG_BLND (1 << 4)
-#define IOC_INTF_BLND (1 << 5)
-#define IOC_ANTENNA (1 << 6)
-#define IOC_ANTENNA_OFFSET 6
-#define IOC_ANTENNA_MASK (1 << IOC_ANTENNA_OFFSET)
-
-/* RDS Control */
-#define RDS_ON 0x01
-#define RDSCTRL_STANDARD_OFFSET 1
-#define RDSCTRL_STANDARD_MASK (1 << RDSCTRL_STANDARD_OFFSET)
-
-/* Advanced features controls */
-#define RDSRTEN (1 << 3)
-#define RDSPSEN (1 << 4)
-
-/* Audio path control */
-#define AUDIORX_ANALOG_OFFSET 0
-#define AUDIORX_ANALOG_MASK (1 << AUDIORX_ANALOG_OFFSET)
-#define AUDIORX_DIGITAL_OFFSET 1
-#define AUDIORX_DIGITAL_MASK (1 << AUDIORX_DIGITAL_OFFSET)
-#define AUDIOTX_OFFSET 2
-#define AUDIOTX_MASK (1 << AUDIOTX_OFFSET)
-#define I2SCTRL_OFFSET 3
-#define I2SCTRL_MASK (1 << I2SCTRL_OFFSET)
-
-/* Search options */
-enum search_t {
- SEEK,
- SCAN,
- SCAN_FOR_STRONG,
- SCAN_FOR_WEAK,
- RDS_SEEK_PTY,
- RDS_SCAN_PTY,
- RDS_SEEK_PI,
- RDS_AF_JUMP,
-};
-
-enum audio_path {
- FM_DIGITAL_PATH,
- FM_ANALOG_PATH
-};
-#define SRCH_MODE 0x07
-#define SRCH_DIR 0x08 /* 0-up 1-down */
-#define SCAN_DWELL 0x70
-#define SRCH_ON 0x80
-
-/* RDS CONFIG */
-#define RDS_CONFIG_PSALL 0x01
-
-#define FM_ENABLE 0x22
-#define SET_REG_FIELD(reg, val, offset, mask) \
- (reg = (reg & ~mask) | (((val) << offset) & mask))
-#define GET_REG_FIELD(reg, offset, mask) ((reg & mask) >> offset)
-#define RSH_DATA(val, offset) ((val) >> (offset))
-#define LSH_DATA(val, offset) ((val) << (offset))
-#define GET_ABS_VAL(val) ((val) & (0xFF))
-
-enum radio_state_t {
- FM_OFF,
- FM_RECV,
- FM_TRANS,
- FM_RESET,
-};
-
-#define XFRCTRL_WRITE (1 << 7)
-
-/* Interrupt status */
-
-/* interrupt register 1 */
-#define READY (1 << 0) /* Radio ready after powerup or reset */
-#define TUNE (1 << 1) /* Tune completed */
-#define SEARCH (1 << 2) /* Search completed (read FREQ) */
-#define SCANNEXT (1 << 3) /* Scanning for next station */
-#define SIGNAL (1 << 4) /* Signal indicator change (read SIGSTATE) */
-#define INTF (1 << 5) /* Interference cnt has fallen outside range */
-#define SYNC (1 << 6) /* RDS sync state change (read RDSSYNC) */
-#define AUDIO (1 << 7) /* Audio Control indicator (read AUDIOIND) */
-
-/* interrupt register 2 */
-#define RDSDAT (1 << 0) /* New unread RDS data group available */
-#define BLOCKB (1 << 1) /* Block-B match condition exists */
-#define PROGID (1 << 2) /* Block-A or Block-C matched stored PI value*/
-#define RDSPS (1 << 3) /* New RDS Program Service Table available */
-#define RDSRT (1 << 4) /* New RDS Radio Text available */
-#define RDSAF (1 << 5) /* New RDS AF List available */
-#define TXRDSDAT (1 << 6) /* Transmitted an RDS group */
-#define TXRDSDONE (1 << 7) /* RDS raw group one-shot transmit completed */
-
-/* interrupt register 3 */
-#define TRANSFER (1 << 0) /* Data transfer (XFR) completed */
-#define RDSPROC (1 << 1) /* Dynamic RDS Processing complete */
-#define ERROR (1 << 7) /* Err occurred.Read code to determine cause */
-
-
-#define FM_TX_PWR_LVL_0 0 /* Lowest power lvl that can be set for Tx */
-#define FM_TX_PWR_LVL_MAX 7 /* Max power lvl for Tx */
-/* Transfer */
-enum tavarua_xfr_ctrl_t {
- RDS_PS_0 = 0x01,
- RDS_PS_1,
- RDS_PS_2,
- RDS_PS_3,
- RDS_PS_4,
- RDS_PS_5,
- RDS_PS_6,
- RDS_RT_0,
- RDS_RT_1,
- RDS_RT_2,
- RDS_RT_3,
- RDS_RT_4,
- RDS_AF_0,
- RDS_AF_1,
- RDS_CONFIG,
- RDS_TX_GROUPS,
- RDS_COUNT_0,
- RDS_COUNT_1,
- RDS_COUNT_2,
- RADIO_CONFIG,
- RX_CONFIG,
- RX_TIMERS,
- RX_STATIONS_0,
- RX_STATIONS_1,
- INT_CTRL,
- ERROR_CODE,
- CHIPID,
- CAL_DAT_0 = 0x20,
- CAL_DAT_1,
- CAL_DAT_2,
- CAL_DAT_3,
- CAL_CFG_0,
- CAL_CFG_1,
- DIG_INTF_0,
- DIG_INTF_1,
- DIG_AGC_0,
- DIG_AGC_1,
- DIG_AGC_2,
- DIG_AUDIO_0,
- DIG_AUDIO_1,
- DIG_AUDIO_2,
- DIG_AUDIO_3,
- DIG_AUDIO_4,
- DIG_RXRDS,
- DIG_DCC,
- DIG_SPUR,
- DIG_MPXDCC,
- DIG_PILOT,
- DIG_DEMOD,
- DIG_MOST,
- DIG_TX_0,
- DIG_TX_1,
- PHY_TXGAIN = 0x3B,
- PHY_CONFIG,
- PHY_TXBLOCK,
- PHY_TCB,
- XFR_PEEK_MODE = 0x40,
- XFR_POKE_MODE = 0xC0,
- TAVARUA_XFR_CTRL_MAX
-};
-
-enum tavarua_evt_t {
- TAVARUA_EVT_RADIO_READY,
- TAVARUA_EVT_TUNE_SUCC,
- TAVARUA_EVT_SEEK_COMPLETE,
- TAVARUA_EVT_SCAN_NEXT,
- TAVARUA_EVT_NEW_RAW_RDS,
- TAVARUA_EVT_NEW_RT_RDS,
- TAVARUA_EVT_NEW_PS_RDS,
- TAVARUA_EVT_ERROR,
- TAVARUA_EVT_BELOW_TH,
- TAVARUA_EVT_ABOVE_TH,
- TAVARUA_EVT_STEREO,
- TAVARUA_EVT_MONO,
- TAVARUA_EVT_RDS_AVAIL,
- TAVARUA_EVT_RDS_NOT_AVAIL,
- TAVARUA_EVT_NEW_SRCH_LIST,
- TAVARUA_EVT_NEW_AF_LIST,
- TAVARUA_EVT_TXRDSDAT,
- TAVARUA_EVT_TXRDSDONE,
- TAVARUA_EVT_RADIO_DISABLED
-};
-
-enum tavarua_region_t {
- TAVARUA_REGION_US,
- TAVARUA_REGION_EU,
- TAVARUA_REGION_JAPAN,
- TAVARUA_REGION_JAPAN_WIDE,
- TAVARUA_REGION_OTHER
-};
-
-#endif /* __LINUX_TAVARUA_H */