extern int ch700x_init(int format) { int ret=0,i; u8 buf; i2c_master_initialize(SQ_APB0_I2C0, SQ_INTC_I2C0); ch700x_client.addr = CH7007A_I2C_CLIENT_ADDR; buf=ch700x_read(CH700X_REG_PREFIX|CH700X_VID); if(buf != CH7007A_VID) { printf("!!!!! Error could not find the CH7007A verison ID !!!!! get VID = %x\n",buf); return -1; } printf("I2C Channel get CH7007A verison ID.\n"); printf(" CH7007A : Try initial!\n"); for(i=0;i<sizeof(ch7007a_initset);i=i+2) { ret |= ch700x_write(CH700X_REG_PREFIX|ch7007a_initset[i],ch7007a_initset[i+1]); #ifdef VOP_DBG printf("CH7007A Reg("); printf("%x",ch7007a_initset[i]); printf(") Set Data("); printf("%x",ch7007a_initset[i+1]); printf(")\n"); #endif } //for read back regs #ifdef VOP_DBG for(i=2;i<sizeof(ch7007a_initset);i=i+2) { printf("CH7007A Reg("); printf("%x",ch7007a_initset[i]); printf(") Read Back Data("); printf("%x",ch700x_read(ch7007a_initset[i])); printf(")\n"); } #endif if(format==FORMAT_PAL) ret |= ch700x_write(CH700X_REG_PREFIX|CH700X_DMR,CH700X_DMR_720x576_864x625_PAL); printf(" CH7007A : initial end!\n"); return ret; }
extern int cat6613_init(void) { int ret=0; u8 buf[3]; i2c_master_initialize(SOCLE_I2C0, SOCLE_INTC_I2C0); cat6613_client.addr = 0x4d; buf[0]=cat6613_read(0x00); buf[1]=cat6613_read(0x01); buf[2]=cat6613_read(0x02); buf[3]=cat6613_read(0x03); printf("vid=%x %x did=%x %x\n",buf[0],buf[1],buf[2],buf[3]); //reset cat6613_write( 0x0F , 0x00); cat6613_write( 0x04 , 0x3d); MSDELAY(2); cat6613_write( 0x04 , 0x1d); //set init int //cat6613_write(0x09,0xfc); //cat6613_write(0x0a,0xf8); //cat6613_write(0x0b,0xf7); //disable out cat6613_write(0xc0, 0x00); cat6613_write(0xc1, 0x03); cat6613_write( 0x04 , 0x14); MSDELAY(2); cat6613_write( 0x04 , 0x00); cat6613_write(0x61,0x03); cat6613_write(0x62,0x18); cat6613_write(0x63,0x10); cat6613_write(0x64,0x04); cat6613_write(0x90,0x6); cat6613_write(0x72,0x80); cat6613_write(0xc1,0); cat6613_write(0xc6,0x3); return ret; }
extern int uda1342ts_dac_initialize(void) { int ret; u16 val; printf("UDA1342TS Line Out initialize\n"); i2c_master_initialize(SQ_APB0_I2C0, SQ_INTC_I2C0); uda1342ts_client.addr = UDA1342TS_SLAVE_ADDR_DAC; /* Reset the audio codec first */ ret = uda1342ts_read(UDA1342TS_FUNC_SYSTEM); if (-1 == ret) { printf("Reading UDA1342TS is fail, reg: 0x%02x\n", UDA1342TS_FUNC_SYSTEM); } val = (u16)ret; val |= UDA1342TS_FUNC_SYSTEM_RST; ret = uda1342ts_write(UDA1342TS_FUNC_SYSTEM, val); if (-1 == ret) printf("Writing UDA1342TS is fail, reg: 0x%02x\n", UDA1342TS_FUNC_SYSTEM); else printf("Writing UDA1342TS is pass, reg: 0x%02x, val: 0x%02x\n", UDA1342TS_FUNC_SYSTEM, val); ret = uda1342ts_read(UDA1342TS_FUNC_SYSTEM); if (-1 == ret) { printf("Reading UDA1342TS is fail, reg: 0x%02x\n", UDA1342TS_FUNC_SYSTEM); } printf("UDA1342TS_FUNC_SYSTEM: 0x%04x\n", ret); /* Set the system clock frequency */ ret = uda1342ts_read(UDA1342TS_FUNC_SYSTEM); if (-1 == ret) { printf("Reading UDA1342TS is fail, reg: 0x%02x\n", UDA1342TS_FUNC_SYSTEM); } val = default_system_reg_val; val &= ~UDA1342TS_FUNC_SYSTEM_SYS_CLK_MASK; val |= UDA1342TS_FUNC_SYSTEM_768FS; ret = uda1342ts_write(UDA1342TS_FUNC_SYSTEM, val); if (-1 == ret) printf("Writing UDA1342TS is fail, reg: 0x%02x\n", UDA1342TS_FUNC_SYSTEM); else printf("Writing UDA1342TS is pass, reg: 0x%02x, value: 0x%02x\n", UDA1342TS_FUNC_SYSTEM, val); ret = uda1342ts_read(UDA1342TS_FUNC_SYSTEM); if (-1 == ret) { printf("Reading UDA1342TS is fail, reg: 0x%02x\n", UDA1342TS_FUNC_SYSTEM); } printf("UDA1342TS_FUNC_SYSTEM: 0x%04x\n", ret); #if 1 ret = uda1342ts_read(UDA1342TS_FUNC_SUB_SYSTEM); if (-1 == ret) { printf("Reading UDA1342TS is fail\n"); } printf("UDA1342TS_FUNC_SUB_SYSTEM: 0x%04x\n", ret); ret = uda1342ts_read(UDA1342TS_FUNC_DAC_FEATURES); if (-1 == ret) { printf("Reading UDA1342TS is fail\n"); } printf("UDA1342TS_FUNC_DAC_FEATURES: 0x%04x\n", ret); ret = uda1342ts_read(UDA1342TS_FUNC_DAC_MASTER_VOLUME); if (-1 == ret) { printf("Reading UDA1342TS is fail\n"); } printf("UDA1342TS_FUNC_DAC_MASTER_VOLUME: 0x%04x\n", ret); ret = uda1342ts_read(UDA1342TS_FUNC_DAC_MIXER_VOLUME); if (-1 == ret) { printf("Reading UDA1342TS is fail\n"); } printf("UDA1342TS_FUNC_DAC_MIXER_VOLUME: 0x%04x\n", ret); ret = uda1342ts_read(UDA1342TS_FUNC_ADC_INPUT_MIXER_GAIN_CH1); if (-1 == ret) { printf("Reading UDA1342TS is fail\n"); } printf("UDA1342TS_FUNC_ADC_INPUT_MIXER_GAIN_CH1: 0x%04x\n", ret); ret = uda1342ts_read(UDA1342TS_FUNC_ADC_INPUT_MIXER_GAIN_CH2); if (-1 == ret) { printf("Reading UDA1342TS is fail\n"); } printf("UDA1342TS_FUNC_ADC_INPUT_MIXER_GAIN_CH2: 0x%04x\n", ret); ret = uda1342ts_read(UDA1342TS_FUNC_EVALUATION); if (-1 == ret) { printf("Reading UDA1342TS is fail\n"); } printf("UDA1342TS_FUNC_EVALUATION: 0x%04x\n", ret); #endif return ret; }