Re: AT91 IDE module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Stanislaw Gruszka napsal(a):
On Thu, Nov 25, 2010 at 09:53:19PM +0100, Radovan Vapeník wrote:
We do not detect any IDE device, registers do not contain status/data
that IDE layer expect. As far only two possible reasons of that
problem come in mind:
- board specific code does not reset CF device (with proper
 reset duration?). This is expected, there is rst_pin in
 struct at91_cf_data but driver does not use it
- CF 9 pin (ATA SEL) is not grounded or set to 0 if connected
 to controller (also in board specific initialization code)

To debug problem further, you can add your own code at the end of
at91_ide_probe(), which read/write IDE register to see if device
react properly and give some sensible status values.

Stanislaw

Seems problem is really on reset pin, i have analysed using
oscilloscope and on reset pin is still in logical "1", without
change during module loading. I will try to find out why is this
happening.

I was unclear. Driver does not change reset pin. Reset need to be
done in board initialization code. You have to add something like that

#define RST_PIN AT91_PIN_PC5
at91_set_gpio_output(RST_PIN, 1);
at91_set_gpio_value(RST_PIN,0);
mdelay(2);
at91_set_gpio_value(RST_PIN,1);

in your arch/arm/mach-at91/board-NAME.c (I'm not sure if 2ms is
correct IDE reset duration).

Stanislaw


On the data bus is something strange - I have scanned data bus using oscilloscope at the moment, when processor send CS signal to CompactFlash. The screenshot from oscilloscope is here - http://www.vapenik.com/files/cf_init.png. The yellow color is CFCS0, blue is one data pin on the data bus. The red arrow shows the possible problem - there is transient. And in 4. quadrant is some transient too, question is why it happens (but pc is working correctly, i boot linux without problem). This is on EBI0, there is connected NAND Flash + 2x SDRAM and Compact Flash. When I measured EBI0, the strange timing with transient is only on low 16 bits of EBI0 (http://www.vapenik.com/files/data-0-15.png , one random wire on data bus EBI0, low 16bits), high 16 bits are ok (http://www.vapenik.com/files/data-16-31.png , one random wire on EBI0, high 16 bits). But almost this same happens on Evaluation Board from Atmel, so I really don't know where is problem.

Radovan
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux