MPC8572: Graphic Card problem

Isaac Gomez Morales isaac.gomez.morales at gmail.com
Fri Nov 7 22:57:38 EST 2008


Hi,

I have MPC8572DS Board with

> uname -a
Linux mpc8572ds 2.6.23 #3 SMP

and u-boot 1.3.0.

I have an ATI Radeon 3650 graphics card in the PCIe Slot1 as you can see in
the following charts

> lspci -v
...
0001:03:00.0 Non-VGA unclassified device: Freescale Semiconductor Inc
MPC8572E (rev 10)
        !!! Invalid class 0000 for header type 01
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
        I/O behind bridge: 00000000-00000fff
        Memory behind bridge: a0000000-bfffffff
        Capabilities: [44] Power Management version 2
        Capabilities: [4c] Express Root Port (Slot-) IRQ 0
        Capabilities: [100] Advanced Error Reporting

0001:04:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon
HD 3600 Series (prog-if 00 [VGA controller])
        Subsystem: ATI Technologies Inc Unknown device 0b42
        Flags: bus master, fast devsel, latency 0, IRQ 18
        Memory at a0000000 (64-bit, prefetchable) [size=256M]
        Memory at b0000000 (64-bit, non-prefetchable) [size=64K]
        I/O ports at 1000 [size=256]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint IRQ 0
        Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+
Queue=0/0 Enable-
        Capabilities: [100] Unknown (11)

The first problem is that the kernel does not seem to know that there is a
kind of pci bridge.

Doing..

> dmesg
...
Found 0001:03:00.0 [1957/0040] 000b20 01
PCI: Calling quirk c045aa60 for 0001:03:00.0
PCI: 0001:03:00.0: class b20 doesn't match header type 01. Ignoring class.
...
PCI: Fixups for bus 0001:03
PCI: Scanning behind PCI bridge 0001:03:00.0, config 010100, pass 0
PCI: Scanning behind PCI bridge 0001:03:00.0, config 000000, pass 1
...
PCI: Cannot allocate resource region 0 of device 0001:04:00.0
  got res [a0000000:afffffff] bus [a0000000:afffffff] flags 120c for BAR 0
of 0001:04:00.0
...
vga16fb: initializing
vga16fb: mapped to 0x000a0000
fb0: VGA16 VGA frame buffer device
...

The system cannot allocate de region 0, i believe that is an IO region.

Trying to read de framebuffer

> cat /dev/fb0

__ioremap(): phys addr 0xa0000 is RAM lr c018e838
Unable to handle kernel paging request for data at address 0x000a0000
Faulting instruction address: 0xc0191538
Oops: Kernel access of bad area, sig: 11 [#1]
SMP NR_CPUS=2 MPC8572 DS
NIP: c0191538 LR: c01914d4 CTR: 00000400
REGS: e0415e10 TRAP: 0300   Not tainted  (2.6.23)
MSR: 00029000 <EE,ME>  CR: 40002242  XER: 00000000
DEAR: 000a0000, ESR: 00000000
TASK = efe64530[1085] 'cat' THREAD: e0414000 CPU: 1
GPR00: 00000400 e0415ec0 efe64530 fffffff4 c07635dc 00000000 efffa530
00000000
GPR08: 00000001 e0433000 00000000 000a0000 20002222 1001c648 0ffea000
10090000
GPR16: 10010000 00000002 fffff000 00001000 00000000 00000000 100bbb28
100bec08
GPR24: 00000000 e0433000 00001000 000a0000 00001000 efd8d400 10016000
e0415f20
NIP [c0191538] fb_read+0x148/0x260
LR [c01914d4] fb_read+0xe4/0x260
Call Trace:
[e0415ec0] [c01914d4] fb_read+0xe4/0x260 (unreliable)
[e0415ef0] [c008bf24] vfs_read+0xc4/0x168
[e0415f10] [c008c50c] sys_read+0x4c/0x90
[e0415f40] [c000ffb8] ret_from_syscall+0x0/0x3c
Instruction dump:
7f7be214 3b000000 2b9a1000 39201000 7f9a4f1e 7f2bcb78 7f801671 7c0903a6
41820034 7f6bdb78 7f29cb78 39400000 <800b0000> 394a0001 396b0004 90090000
Segmentation fault

> cat /proc/ioports

00000000-0000ffff : /pcie at ffe08000
  00000000-0000ffff : PCI Bus #01
    00000020-00000021 : 8259 (master)
    000000a0-000000a1 : 8259 (slave)
    000004d0-000004d1 : 8259 edge control
    00001000-00001fff : PCI Bus #02
      00001000-000010ff : 0000:02:1d.0
      00001200-00001207 : 0000:02:1f.0
        00001200-00001207 : libata
      00001208-0000120b : 0000:02:1f.0
        00001208-0000120b : libata
      00001210-00001217 : 0000:02:1f.0
        00001210-00001217 : libata
      00001218-0000121b : 0000:02:1f.0
        00001218-0000121b : libata
      00001220-0000122f : 0000:02:1f.0
        00001220-0000122f : libata
      00001230-00001237 : 0000:02:1f.1
      00001238-0000123b : 0000:02:1f.1
      00001240-00001247 : 0000:02:1f.1
      00001248-0000124b : 0000:02:1f.1
      00001250-0000125f : 0000:02:1f.1
fffdc000-fffebfff : /pcie at ffe0a000
fffee000-ffffdfff : /pcie at ffe09000
  fffee000-ffffdfff : PCI Bus #04
    fffef000-fffef0ff : 0001:04:00.0

I cant see anything, i have tried differents the lastest version of u-boot
(u-boot-2008) and linux kernel (2.6.27.4) but it dont solve this problem.

All comments will be good.

Thanks in advance and sorry for my english.

Isaac.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20081107/7e8a9a2f/attachment.htm>


More information about the Linuxppc-embedded mailing list