You should be right.
When I was testing that on Broadcom BLAST ref board: STAT and IDE doesn't work.
But on another MB (serverworks HT1000 based), IDE is working.
Maybe some magic bit in pci conf space need to set by option rom...
You could compare the pci conf dump between system bios and LinuxBIOS...
BTW, Can drop your funny signature in LinuxBIOS?
YH
Thank you very much!
If I find the solution, I'll submit a patch to you!
BTW, the funny signature is added by mail system, not controled by me. I hate it.
Jianwei
----- Original Message ----- From: "Lu, Yinghai" yinghai.lu@amd.com To: "Jia Jianwei" JJia@Fortinet.com; linuxbios@linuxbios.org Sent: Friday, March 31, 2006 10:40 AM Subject: RE: [LinuxBIOS] broadcom HT1000 SATA PHY initializing
You should be right.
When I was testing that on Broadcom BLAST ref board: STAT and IDE doesn't work.
But on another MB (serverworks HT1000 based), IDE is working.
Maybe some magic bit in pci conf space need to set by option rom...
You could compare the pci conf dump between system bios and LinuxBIOS...
BTW, Can drop your funny signature in LinuxBIOS?
YH
Sata should be working with the following initializing code. (verified on two boards). Thanks!
Jianwei
void HT1000_SATA_init( void ) { volatile unsigned int *mmio_reg; unsigned int mmio_base,val32; int i;
pcibios_write_config_byte( 1, HT1000_SATA, 0x70, 0x18); pcibios_write_config_byte( 1, HT1000_SATA, 0x78, 0x04);
pcibios_read_config_dword (1, HT1000_SATA, 0x24, &mmio_base);
mmio_base &= 0xfffffffc;
mmio_reg = (unsigned int *)( mmio_base + 0x10f0 );
* mmio_reg = 0x40000001;
mmio_reg = ( unsigned int *)( mmio_base + 0x8c ); * mmio_reg = 0x00ff2007; mdelay( 10 ); * mmio_reg = 0x78592009; mdelay( 10 ); * mmio_reg = 0x00082004; mdelay( 10 ); * mmio_reg = 0x00002004; mdelay( 10 );
for( i = 0; i < 4; i ++ ) { mmio_reg = ( unsigned int *)( mmio_base + 0x40 + i * 256 ); val32 = *mmio_reg ; if( val32 & 0x4 ) { mmio_reg = ( unsigned int *)( mmio_base + 0x48 + i * 256); val32 = *mmio_reg; val32 |= 1; *mmio_reg = val32; mdelay( 10 ); val32 &= ( ~1 ); *mmio_reg = val32; mdelay( 10 ); } }
}
----- Original Message ----- From: "Lu, Yinghai" yinghai.lu@amd.com To: "Jia Jianwei" JJia@Fortinet.com; linuxbios@linuxbios.org Sent: Friday, March 31, 2006 11:40 AM Subject: RE: [LinuxBIOS] broadcom HT1000 SATA PHY initializing
You should be right.
When I was testing that on Broadcom BLAST ref board: STAT and IDE doesn't work.
But on another MB (serverworks HT1000 based), IDE is working.
Maybe some magic bit in pci conf space need to set by option rom...
You could compare the pci conf dump between system bios and LinuxBIOS...
BTW, Can drop your funny signature in LinuxBIOS?
YH