a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 hardware_version, major_revision, product_code, rom_version;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync Bool recheck; /*reinitialization needed after channel change */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 c_standard; /*current state of standard register */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 c_source; /*current state of source register */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 c_matrix; /*current state of matrix register */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 c_fmmatrix; /*current state of fmmatrix register */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int c_mode; /* current state of mode for autoswitchimg */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define MSP3430_CONNECTOR_1 1 /* tuner on AIW cards */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define MSP3430_CONNECTOR_2 2 /* SVideo on AIW cards */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define MSP3430_CONNECTOR_3 3 /* composite on AIW cards */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* a handy volume transform function, -1000..1000 -> 0x01..0x7F */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define MSP3430_VOLUME(value) (0x01+(0x7F-0x01)*log(value+1001)/log(2001))
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*----------------------------------------------------------*/
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* MSP chip families */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* values for MSP standard */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* values for MSP format */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* values for MSP mode */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* automatic modes */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* forced modes */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*----------------------------------------------------------*/
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT MSP3430Ptr DetectMSP3430(I2CBusPtr b, I2CSlaveAddr addr);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT void MSP3430SetVolume(MSP3430Ptr m, CARD8 value);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT void MSP3430SetSAP(MSP3430Ptr m, int mode);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "InitMSP3430", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "DetectMSP3430", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "ResetMSP3430", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "MSP3430SetVolume", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "MSP3430SetSAP"