[LinuxBIOS] broadcom HT1000 SATA PHY initializing

Lu, Yinghai yinghai.lu at amd.com
Mon Apr 17 20:30:38 CEST 2006


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:JJia at Fortinet.com] 
Sent: Monday, April 17, 2006 11:23 AM
To: Lu, Yinghai; linuxbios at linuxbios.org
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" <yinghai.lu at amd.com>
To: "Jia Jianwei" <JJia at Fortinet.com>; <linuxbios at 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
>
>
>







More information about the coreboot mailing list