u-boot 1.3.4를 사용하고 있습니다.
u-boot에서 pci sata 3114/usb nec pci 컨터롤러를 사용 하고 있습니다.
pci host controller는 드라이버 비슷하게 작성해서 인식 시켰고 pci sata 3114는 u-boot에서 하드
를 잘 읽고 쓰여 집니다.
문제는 NEC PCI ohci controller입니다.
u-boot에서 해당 장치를 찾고 인식은 합니다.
usb info롤 쳐도 root hub까지는 인식을 합니다.
usb port에 usb stick을 꽃지 않고 usb start를 하면
(Re)start USB...
USB: OHCI pci controller (1033, 0035) found @(0:2:0)
OHCI regs address 0xa0040000
scanning bus for devices... 1 USB Device(s) found
scanning bus for storage devices...
0 Storage Device(s) found
이렇게 나오는데 usb stick을 꽃고 usb start를 하면
USB: OHCI pci controller (1033, 0035) found @(0:2:0)
OHCI regs address 0xa0040000
scanning bus for devices... ERROR: OHCI Unrecoverable Error, controller usb-Auto-Ohci disabled
2 USB Device(s) found
scanning bus for storage devices... i=0
0 Storage Device(s) found
이렇게 에러가 나옵니다.
hc_interrupt()에서 인터럽트 상태를 읽어서 Unrecoverable Error라고 나오면 이런 에러가 나옵니다.
817 if (ints & OHCI_INTR_UE) {
1818 ohci->disabled++;
1819 err("OHCI Unrecoverable Error, controller usb-%s disabled",
1820 ohci->slot_name);
1821 /* e.g. due to PCI Master/Target Abort */
대체 어느부분을 봐야 하는건가요..
ohci 찾아보니 Unrecoverable Error는 USB와 상관 없는 system error라는데..
커널에서는 잘 동작 합니다.
비슷한 경험 있으신분 조언좀^
CPU :ARM940T이면 pci Bridge 칩이 있습니다.