Re: libata support for JMicron JMB360 ?
From: Prakash Punnoor
Date: Fri Jan 27 2006 - 04:04:07 EST
Am Samstag Dezember 31 2005 10:47 schrieb Prakash Punnoor:
> Am Freitag Dezember 30 2005 15:41 schrieb Prakash Punnoor:
> > Hi,
> >
> > I read in an old thread that this question was asked once and you replied
> > you never heard of this chip. Maybe now the situation has changed? If
> > not, please take a look here:
> >
> > http://www.jmicron.com/product/jmb360.htm
> >
> > It claims the chip is ahci compatible, but the libata ahci driver can't
> > detect it (tried 2.6.14.2 and 2.6.15-rc7).
> >
> > Maybe just adding some ids or such is enough for supporting it?
> > Following lspci -vvv -xxx regrading the Jmicron stuff:
>
> [...]
>
> Well, I tried adding the ids into ahci.c, but this wasn't enough:
>
> --- linux-2.6.15-rc7/drivers/scsi/ahci.c.old 2005-12-31 10:36:35.000000000
> +0100
> +++ linux-2.6.15-rc7/drivers/scsi/ahci.c 2005-12-31 10:36:45.000000000
> +0100 @@ -277,6 +277,8 @@
> board_ahci }, /* ESB2 */
> { PCI_VENDOR_ID_INTEL, 0x27c6, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
> board_ahci }, /* ICH7-M DH */
> + { 0x197b, 0x2360, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
> + board_ahci }, /* JMicron JMB360 */
> { } /* terminate list */
> };
>
> dmesg gives:
> libata version 1.20 loaded.
> ahci 0000:03:00.0: version 1.2
> ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 35 (level, low) -> IRQ 50
> PCI: Setting latency timer of device 0000:03:00.0 to 64
> ahci 0000:03:00.0: AHCI 0001.0000 32 slots 1 ports 3 Gbps 0x1 impl SATA
> mode ahci 0000:03:00.0: flags: 64bit ncq pm led clo pmp pio slum part
> ata1: SATA max UDMA/133 cmd 0xF8804100 ctl 0x0 bmdma 0x0 irq 50
> ata1 is slow to respond, please be patient
> ata1 failed to respond (30 secs)
> scsi0 : ahci
Hi Jeff,
I still haven't got a reply from lkml, but an JMicron employee contacted me
and told me how to get this working:
> //=======================================
> Root Cause:
> Although AsRock reserves AHCI/IDE mode for JMB360, AsRock sets JMB360 in
> IDE mode actually when boot.
> JMB360 needs a Reset mechanism to switch to AHCI mode on AsRock MB for
> your Linux driver porting.
>
> Reset Mechanism:
> 1. At PCI Configuration Address h'41, write value h'a1 (default is h'f1)
> 2. At AHCI Base address+offset h'04, write 1'b1 at bit 0 location. It is
> "HBA Reset" bit.
> 3. And then JMB360 come back to AHCI mode
> //=======================================
Unfortunately my kernel knowledge is next to none, so I cannot implement this.
But I guess it should be easy for you or anyone else having done similar. The
employee actually told me that he mailed above to you, so was it just lack of
time, you didn't made a quirk or any other reason?
Cheers,
--
(Â= =Â)
//\ Prakash Punnoor /\\
V_/ \_V
Attachment:
pgp00000.pgp
Description: PGP signature