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;
}
|