Good. Where to call it? Auto stage or called by hardwaremain driver?
Need to be effective after soft_reset? YH -----Original Message----- From: Jia Jianwei [mailto:[EMAIL PROTECTED] Sent: Monday, April 17, 2006 11:23 AM To: Lu, Yinghai; [email protected] Subject: Re: [LinuxBIOS] broadcom HT1000 SATA PHY initializing 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" <[EMAIL PROTECTED]> To: "Jia Jianwei" <[EMAIL PROTECTED]>; <[email protected]> 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 > > > -- linuxbios mailing list [email protected] http://www.openbios.org/mailman/listinfo/linuxbios
