[Isisalsa-devel] isis isis.h,1.11,1.12 es1968.c,1.40,1.41
Status: Inactive
Brought to you by:
jeanseb
|
From: Jean-Sébastien V. <je...@us...> - 2005-06-29 18:54:25
|
Update of /cvsroot/isisalsa/isis In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24190 Modified Files: isis.h es1968.c Log Message: "cat firmware /proc/asound/card0/firmeware " works now Index: isis.h =================================================================== RCS file: /cvsroot/isisalsa/isis/isis.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** isis.h 28 Jun 2005 16:34:14 -0000 1.11 --- isis.h 29 Jun 2005 18:54:03 -0000 1.12 *************** *** 72,75 **** --- 72,76 ---- #define SAM_ECH_TIM 0x29 #define SAM_ECH_FEED 0x2a + #define SAM_UNK_3 0x2c #define SAM_SUR_VOL 0x30 #define SAM_SUR_DEL 0x31 Index: es1968.c =================================================================== RCS file: /cvsroot/isisalsa/isis/es1968.c,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** es1968.c 28 Jun 2005 16:34:14 -0000 1.40 --- es1968.c 29 Jun 2005 18:54:03 -0000 1.41 *************** *** 808,811 **** --- 808,812 ---- int tmp; + outw(SAM9707_STATUS, chip->parent->io_port + ISIS_ADDRESS); while(tmploop-- && ( (tmp = inw(chip->parent->io_port+ISIS_DATA)) & 0x40)); *************** *** 1188,1192 **** if((err = snd_isis_setup_card(chip))) return err; ! /* * Reset the sam chip --- 1189,1193 ---- if((err = snd_isis_setup_card(chip))) return err; ! /* * Reset the sam chip *************** *** 1195,1206 **** snd_isis_write_control(chip,SAM_CMD_HOT_RES); snd_isis_write_data8(chip,0x11); ! mdelay(20); - snd_printk("read status : %2x\n",snd_isis_read(chip, SAM9707_STATUS)); loop = SAM_READ_LOOP_COUNTER; ! while(((snd_isis_read(chip, SAM9707_STATUS) & ( 1 << 7)) == 1) & --loop) { } snd_printk("read data8 : %2x\n",snd_isis_read(chip, SAM9707_DATA8)); snd_printk("read status : %2x\n",snd_isis_read(chip, SAM9707_STATUS)); --- 1196,1209 ---- snd_isis_write_control(chip,SAM_CMD_HOT_RES); snd_isis_write_data8(chip,0x11); ! mdelay(50); loop = SAM_READ_LOOP_COUNTER; ! while((snd_isis_read(chip, SAM9707_STATUS) != 0xa0) & --loop) { + snd_printk("read data8 : %2x\n",snd_isis_read(chip, SAM9707_DATA8)); } + snd_printk("read status : %2x\n",snd_isis_read(chip, SAM9707_STATUS)); + snd_printk("read data8 : %2x\n",snd_isis_read(chip, SAM9707_DATA8)); snd_printk("read status : %2x\n",snd_isis_read(chip, SAM9707_STATUS)); *************** *** 1213,1217 **** snd_printk("read status : %2x\n",snd_isis_read(chip, SAM9707_STATUS)); ! mdelay(10); snd_printk("Booting SAM\n"); loop = SAM_READ_LOOP_COUNTER; --- 1216,1220 ---- snd_printk("read status : %2x\n",snd_isis_read(chip, SAM9707_STATUS)); ! mdelay(50); snd_printk("Booting SAM\n"); loop = SAM_READ_LOOP_COUNTER; *************** *** 1366,1377 **** while(((snd_isis_read(chip, SAM9707_STATUS) & ( 1 << 7))== 1) & --loop) { - snd_printk("%x\n",snd_isis_read(chip, SAM9707_DATA8)); } if((tmp = snd_isis_read(chip, SAM9707_DATA8)) != 0xFE) snd_printk("WRONG UART MODE ACK %x!!! loop=%x \n", tmp, loop); - if(inw(chip->parent->io_port + 0x1A) & (SAM_INTERRUPT)) - snd_printk("SAM raised interrupt\n"); /* Enable sam interrupt cascading */ --- 1369,1380 ---- while(((snd_isis_read(chip, SAM9707_STATUS) & ( 1 << 7))== 1) & --loop) { } + if(inw(chip->parent->io_port + 0x1A) & (SAM_INTERRUPT)) + snd_printk("SAM raised interrupt\n"); + if((tmp = snd_isis_read(chip, SAM9707_DATA8)) != 0xFE) snd_printk("WRONG UART MODE ACK %x!!! loop=%x \n", tmp, loop); /* Enable sam interrupt cascading */ *************** *** 1397,1400 **** --- 1400,1439 ---- chip->mmt_address |= snd_isis_read_data8(chip) << 24; snd_printk("MMT adress is %4x\n", chip->mmt_address); + + snd_printk("writting 0x5 to control\n"); + loop = SAM_READ_LOOP_COUNTER; + while(((snd_isis_read(chip, SAM9707_STATUS) & ( 1 << 7)) == 0x00) & --loop) + { + snd_printk("read data8 : %2x\n",snd_isis_read(chip, SAM9707_DATA8)); + } + snd_isis_write_control(chip, SAM_UNK_2); + loop = SAM_READ_LOOP_COUNTER; + while(((snd_isis_read(chip, SAM9707_STATUS) & ( 1 << 7)) == 0x00) & --loop) + { + snd_printk("read data8 : %2x\n",snd_isis_read(chip, SAM9707_DATA8)); + } + snd_isis_write_data8(chip, 1); + + + snd_printk("writting 0x2c to control\n"); + loop = SAM_READ_LOOP_COUNTER; + while(((snd_isis_read(chip, SAM9707_STATUS) & ( 1 << 7)) == 0x00) & --loop) + { + snd_printk("read data8 : %2x\n",snd_isis_read(chip, SAM9707_DATA8)); + } + snd_isis_write_control(chip, SAM_UNK_3); + loop = SAM_READ_LOOP_COUNTER; + while(((snd_isis_read(chip, SAM9707_STATUS) & ( 1 << 7)) == 0x00) & --loop) + { + snd_printk("read data8 : %2x\n",snd_isis_read(chip, SAM9707_DATA8)); + } + snd_isis_write_data8(chip, 0); + + snd_printk("unluting channlels\n"); + outw(0x07ff,chip->parent->io_port + 0x64); // set GPIO mask + tmp = inw(chip->parent->io_port + 0x60 ); //read the GPIO + tmp |= 0x0800; + outw(tmp, chip->parent->io_port + 0x60); // write new valueto GPIO + return 0; } |