2009-10-29 00:54:01     where is the "IDE support on Blackfin CPU" choice in uClinux 2009R1

Document created by Aaronwu Employee on Aug 19, 2013
Version 1Show Document
  • View in full screen mode

2009-10-29 00:54:01     where is the "IDE support on Blackfin CPU" choice in uClinux 2009R1

Nicole Otsuka (CHINA)

Message: 81838   

 

hi,

 

i'm wanna port uClinux to my board based on bf533-customed,and there is a ide hdisk connected to the asm2. so i should config the ide driver to support it.

 

 

 

i've already read this doc   docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:ide-blackfin

 

but i cant find the "IDE support on Blackfin CPU" choice in the newer version(i'm now using uClinux 2009r1)

 

 

 

so where can i find it in newer versoin?help me,thanks a lot

 

 

 

Best regards,

 

Nicole

QuoteReplyEditDelete

 

 

2009-10-29 01:25:22     Re: where is the "IDE support on Blackfin CPU" choice in uClinux 2009R1

Mike Frysinger (UNITED STATES)

Message: 81839   

 

please read the documentation on that page.  it already tells you what to do.

 

  docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:ide-blackfin#configuring_the_kernel_for_ide_ata_support

QuoteReplyEditDelete

 

 

2009-10-29 01:43:18     Re: where is the "IDE support on Blackfin CPU" choice in uClinux 2009R1

Nicole Otsuka (CHINA)

Message: 81840   

 

hi mike,thank you for your reply again!

 

but...i said i've read it....

 

and...i counldt find (this:)

 

<*> IDE support on Blackfin CPU

    IDE Interface Address Mapping (see help) (16-bit mapping for multimode CF Interface)  --->

  (0x2031C020) IDE register base address

  (0x2031C01C) IDE register alternate address

  (54)         IDE IRQ_PFx number

  (13)         Blackfin A[x] used as CF A0

  (0x20311802) Address for enabling CF TRUE IDE MODE (ATASEL)

  (0x20311800) Address for disabling CF TRUE IDE MODE (ATASEL)

 

 

in my menuconfig....i also searched in the Kconfig...but got nothing.....

 

so i asked where is it now.....

 

could u do me a favour to find it for me??? thank you very much!

 

 

 

Nicole

QuoteReplyEditDelete

 

 

2009-10-29 01:59:14     Re: where is the "IDE support on Blackfin CPU" choice in uClinux 2009R1

Mike Frysinger (UNITED STATES)

Message: 81841   

 

you still didnt read the text that is clearly in the red box

QuoteReplyEditDelete

 

 

2009-10-29 02:07:23     Re: where is the "IDE support on Blackfin CPU" choice in uClinux 2009R1

Nicole Otsuka (CHINA)

Message: 81842   

 

you still didnt read the text that is clearly in the red box

 

---

 

i'm so sorry.....it's my fault...i only saw the quote box....

 

i' ll  tried it again....and if i have another problem....i'll ask u for help...

 

thank you mike!thank you very much....

QuoteReplyEditDelete

 

 

2009-11-12 04:04:48     new problem.....

Nicole Otsuka (CHINA)

Message: 82303   

 

hi, i need up this thread to ask more question....

 

recently, i followed that docs and added the support for the IDE disk....but it seemed to have some problem..

 

At first, i may tell u another infomation about my hardware:

 

1) i connect PF4 to the ATA_IRQ, which raising HIGH by interrupt..

 

2) i'm using PIO mode, because there is no connection between DMA PIN and the ATA disk

 

3) my ide disk is an ATA FLASH DISK...

 

 

 

i did some change in the ezkit .c:

 

static struct pata_platform_info bfin_pata_platform_data = {

.ioport_shift = 1,

};

static struct resource bfin_pata_resources[] = {

{

  .start = 0x20280000,

  .end = 0x2028001F,

  .flags = IORESOURCE_MEM,

},

{

  .start = 0x20240000, /* Device Ctl */

  .end = 0x20240004,

  .flags = IORESOURCE_MEM,

},

{

  .start = IRQ_PF4,

  .end = IRQ_PF4,

  .flags = (IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL),

},

};

static struct platform_device bfin_pata_device = {

.name = "pata_platform",

.id = -1,

.num_resources = ARRAY_SIZE(bfin_pata_resources),

.resource = bfin_pata_resources,

.dev = {

  .platform_data = &bfin_pata_platform_data,

}

};

 

 

 

when i used Serail ATA (prod) and Parallel ATA (experimental) drivers support, the console show some info.

 

**The detials of info is uploaded as a attachment

 

it seamed to be something wrong with the driver?

 

 

 

AND...when i change to use ATA/ATAPI/MFM/RLL support ,it'll report "Lost interrupt" info like this:

 

[17179569.868000] Uniform Multi-Platform E-IDE driver

[17179569.872000] ide-gd driver 1.18

[17179570.056000] hda: probing with STATUS(0x50) instead of ALTSTATUS(0x00)

[17179570.172000] hda: 8192MB ATA Flash Disk, CFA DISK drive

[17179570.848000] ide0 at 0x20280000-0x2028000e,0x20240000 on irq 39

[17179570.852000] hda: max request size: 128KiB

[17179570.856000] hda: 15628032 sectors (8001 MB) w/1KiB Cache, CHS=15504/16/63

[17179570.860000] hda: cache flushes not supported

[17179570.864000]  hda:<4>hda: lost interrupt

[17179630.868000] hda: lost interrupt

[17179660.868000] hda: lost interrupt

[17179690.868000] hda: lost interrupt

[17179720.868000] hda: lost interrupt

[17179750.868000] hda: lost interrupt

[17179780.868000] hda: lost interrupt

[17179810.868000] hda: lost interrupt

[17179840.868000] hda: lost interrupt

[    1.684000] hda: lost interrupt

[    1.684000]  hda1

[    1.692000] Driver 'sd' needs updating - please use bus_type methods

 

 

after bootting the system, i cat some info about IRQ and GPIO , but i cant find  GPIO_PF4 in the /proc/gpio:

 

root:/> cat /proc/gpio

GPIO_2:         gpio-irq35              GPIO INPUT

root:/> cat /proc/interrupts

  6:      84381      CORE  Blackfin CoreTimer

14:          1      INTN  rtc-bfin

21:          0      INTN  BFIN_UART_RX

22:       4750      INTN  BFIN_UART_TX

35:         42      GPIO  eth0

39:          0      GPIO  ide0

NMI:          0      CORE  Non Maskable Interrupt

root:/> ls /dev/hda*

/dev/hda   /dev/hda1

root:/> mount /dev/hda1 /mnt

[  207.544000] hda: lost interrupt

[  237.544000] hda: lost interrupt

[  267.544000] hda: lost interrupt

 

Actually, i also used an osclloscope to confirm the GPIO interrupt  when "lost interrupt" was being printed, but it showed that PF4 was HIGHLEVEL which meaned the PF4 should receive an interrupt....

 

 

 

so i dont know why it couldnt work.....is there something wrong in my hardware or in my kernel configuration?

 

 

 

please help me again,

 

thank you!

 

Nicole

 

ata

QuoteReplyEditDelete

 

 

2009-11-12 04:45:34     new problem.....

Michael Hennerich (GERMANY)

Message: 82305    I bet there is something bad with your IRQ signal wiring -

But -

 

The latest pata platform driver doesn't require an interrupt specified.

Since CF cards are fast - and there a almost no delays it's ok to leave the

Irq resource unspecified.

 

 

static struct resource bfin_pata_resources[] = {

{

.start = 0x20280000,

.end = 0x2028001F,

.flags = IORESOURCE_MEM,

},

{

.start = 0x20240000, /* Device Ctl */

.end = 0x20240004,

.flags = IORESOURCE_MEM,

},

};

 

-Michael

QuoteReplyEditDelete

 

 

2009-11-12 20:15:29     Re: new problem.....

Nicole Otsuka (CHINA)

Message: 82332   

 

it works!! thank you very much, Michael~

 

but..i have a question

 

since the irq resource is unspecified, it means that it works without interrupt? by a polling?

 

may be i should read the code of pata_platform :-)

 

 

 

Cheers,

 

Nicole

Attachments

Outcomes