All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marco Stornelli <marco.stornelli@coritel.it>
To: Kevin Dockan <Kevin.Dockan@plexus.com>
Cc: Linuxppc-embedded@ozlabs.org
Subject: Re: U-Boot 1.3.0 with Linux 2.6.25-11 on MPC8641D - Machine checkexception
Date: Tue, 16 Sep 2008 09:02:13 +0200	[thread overview]
Message-ID: <48CF59F5.10700@coritel.it> (raw)
In-Reply-To: <C23D99018D2D774E8BF7B052C0009F1F0297BAA6@CO-MAIL-001.ms1.plexus.com>

Try to check out the configuration of the outbound and inbound windows.

Regards.

Kevin Dockan ha scritto:
> Hello everybody, 
>
> I am trying to put into operation a proprietary board using a freescale MPC8641D. I use U-boot 1.3.0 and Linux kernel 2.6.25-11. 
> On one PCIe-bus I have a PEX8518 followed by a PEX8114. A USB-controller is connected to the 8114. 
>
>
>     +--------------------------+ 
>     |                          | 
>     |       MPC 8641 D         | 
>     |                          | 
>     +--------------------------+ 
>                   | 
>                PEX8518 <----------------- PCIe switch 
>                   | 
>                PEX8114 <----------------- PCIe to PCI bridge 
>                   | 
>                ISP1562 <----------------- USB controller 
>
> The PCIe-components are scanned correctly, resources (mem and IO) are assigned (correctly as far as I understand), 
> but on the first read access to a control register of the usb-device the kernel generates "Oops: Machine check, sig: 7 [#1]". 
> Writing to the same register does not produce an "Oops". 
>
> The PCIe bus is defined in dts file as follows (dump from U-boot): 
>
>     pcie@d4008000 { 
>         cell-index = <0>; 
>         compatible = "fsl,mpc8641-pcie"; 
>         device_type = "pci"; 
>         #interrupt-cells = <1>; 
>         #size-cells = <2>; 
>         #address-cells = <3>; 
>         reg = <1000>; 
>         bus-range = <4>; 
>         ranges = [02 00 00 00 00 00 00 00 40 00 00 00 40 00 00 00 00 00 00 00 40 00 00 00 01 00 00 00 00 00 00 00 c0 00 00 00 c0 00 00 00 00 00 00 00 00 10 00 00]; 
>         clock-frequency = <1fca055>; 
>         interrupt-parent = <40000>; 
>         interrupts = <2>; 
>         interrupt-map-mask = [00 00 ff 00 00 00 00 00 00 00 00 00 00 00 00 07]; 
>         interrupt-map = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 04 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 04 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 04 00 00 00 00 00 03 00 00 00 01]; 
>         pcie@0 { 
>             reg = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]; 
>             #size-cells = <2>; 
>             #address-cells = <3>; 
>             device_type = "pci"; 
>             ranges = [02 00 00 00 00 00 00 00 40 00 00 00 02 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 40 00 00 00 01 00 00 00 00 00 00 00 c0 00 00 00 01 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 00 10 00 00]; 
>         }; 
>     }; 
>     pcie@d4009000 { 
>         cell-index = <1>; 
>         compatible = "fsl,mpc8641-pcie"; 
>         device_type = "pci"; 
>         #interrupt-cells = <1>; 
>         #size-cells = <2>; 
>         #address-cells = <3>; 
>         reg = <1000>; 
>         bus-range = <6>; 
>         ranges = [02 00 00 00 00 00 00 00 80 00 00 00 80 00 00 00 00 00 00 00 40 00 00 00 01 00 00 00 00 00 00 00 c0 10 00 00 c0 10 00 00 00 00 00 00 00 10 00 00]; 
>         clock-frequency = <1fca055>; 
>         interrupt-parent = <40000>; 
>         interrupts = <2>; 
>         interrupt-map-mask = [00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00 07]; 
>         interrupt-map = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 00 00 00 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 04 00 00 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 04 00 00 00 00 00 06 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 04 00 00 00 00 00 07 00 00 00 01]; 
>         pcie@0 { 
>             reg = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]; 
>             #size-cells = <2>; 
>             #address-cells = <3>; 
>             device_type = "pci"; 
>             ranges = [02 00 00 00 00 00 00 00 80 00 00 00 02 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 40 00 00 00 01 00 00 00 00 00 00 00 c0 10 00 00 01 00 00 00 00 00 00 00 c0 10 00 00 00 00 00 00 00 10 00 00]; 
>         }; 
>     }; 
>
> and here the output from kernel: 
>
> quirk_usb_handoff_ohci: resource start = 0x80000000, len = 0x00001000 
> quirk_usb_handoff_ohci: base = 0xe1056000, offset = 0x00000004 
> Machine check in kernel mode. 
> Caused by (from SRR1=149030): Transfer error ack signal 
> Oops: Machine check, sig: 7 [#1] 
> TAURUS 
> NIP: c0297f4c LR: c0297f44 CTR: c00115d0 
> REGS: df821e60 TRAP: 0200   Not tainted  (2.6.25.11) 
> MSR: 00149030 <EE,ME,IR,DR>  CR: 24000022  XER: 00000000 
> TASK = df805410[1] 'swapper' THREAD: df820000 
> GPR00: c0297f44 df821f10 df805410 00000042 00000001 00000001 00000000 00020000 
> GPR08: 00000036 c0333fe4 00006b61 c0360000 44000028 f7fbfffc 0fffac00 ffffffff 
> GPR16: 00800000 007fff00 df821f78 c02d0000 c0330000 c0330000 00000000 0fff5464 
> GPR24: c0330000 c02d0000 00000000 00000000 e1056000 df841218 df841218 e1056004 
> NIP [c0297f4c] 0xc0297f4c 
> LR [c0297f44] 0xc0297f44 
> Call Trace: 
> [df821f10] [c0297f44] 0xc0297f44 (unreliable) 
> [df821f40] [c01617dc] pci_fixup_device+0xec/0x140 
> [df821f60] [c0295ae0] 0xc0295ae0 
> [df821f70] [c030c198] kernel_init+0x9c/0x290 
> [df821ff0] [c0010a6c] kernel_thread+0x44/0x60 
> Instruction dump: 
> XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 
> XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 
> ---[ end trace 97996e90be8a1237 ]--- 
> Kernel panic - not syncing: Attempted to kill init! 
> Rebooting in 180 seconds.. 
>
> where resource start = 0x80000000 is the physical address of the USB controller, base = 0xe1056000 is the virtual address. 
>
> Does anyone know this kind of problem and can give me a hint. 
>
> Kind Regards, 
> Joachim 
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded

-- 
Marco Stornelli
Embedded Software Engineer
CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
http://www.coritel.it

marco.stornelli@coritel.it
+39 06 72582838

      reply	other threads:[~2008-09-16  7:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-16  5:01 U-Boot 1.3.0 with Linux 2.6.25-11 on MPC8641D - Machine checkexception Kevin Dockan
2008-09-16  7:02 ` Marco Stornelli [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48CF59F5.10700@coritel.it \
    --to=marco.stornelli@coritel.it \
    --cc=Kevin.Dockan@plexus.com \
    --cc=Linuxppc-embedded@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.