<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7653.38">
<TITLE>U-Boot 1.3.0 with Linux 2.6.25-11 on MPC8641D - Machine checkexception</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<BR>

<P><FONT SIZE=2 FACE="Arial">Hello everybody, </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">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. </FONT></P>

<P><FONT SIZE=2 FACE="Arial">On one PCIe-bus I have a PEX8518 followed by a PEX8114. A USB-controller is connected to the 8114. </FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">    +--------------------------+ </FONT>

<BR><FONT SIZE=2 FACE="Arial">    |                          | </FONT>

<BR><FONT SIZE=2 FACE="Arial">    |       MPC 8641 D         | </FONT>

<BR><FONT SIZE=2 FACE="Arial">    |                          | </FONT>

<BR><FONT SIZE=2 FACE="Arial">    +--------------------------+ </FONT>

<BR><FONT SIZE=2 FACE="Arial">                  | </FONT>

<BR><FONT SIZE=2 FACE="Arial">               PEX8518 &lt;----------------- PCIe switch </FONT>

<BR><FONT SIZE=2 FACE="Arial">                  | </FONT>

<BR><FONT SIZE=2 FACE="Arial">               PEX8114 &lt;----------------- PCIe to PCI bridge </FONT>

<BR><FONT SIZE=2 FACE="Arial">                  | </FONT>

<BR><FONT SIZE=2 FACE="Arial">               ISP1562 &lt;----------------- USB controller </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">The PCIe-components are scanned correctly, resources (mem and IO) are assigned (correctly as far as I understand), </FONT>

<BR><FONT SIZE=2 FACE="Arial">but on the first read access to a control register of the usb-device the kernel generates &quot;Oops: Machine check, sig: 7 [#1]&quot;. </FONT></P>

<P><FONT SIZE=2 FACE="Arial">Writing to the same register does not produce an &quot;Oops&quot;. </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">The PCIe bus is defined in dts file as follows (dump from U-boot): </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">    pcie@d4008000 { </FONT>

<BR><FONT SIZE=2 FACE="Arial">        cell-index = &lt;0&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        compatible = &quot;fsl,mpc8641-pcie&quot;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        device_type = &quot;pci&quot;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        #interrupt-cells = &lt;1&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        #size-cells = &lt;2&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        #address-cells = &lt;3&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        reg = &lt;1000&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        bus-range = &lt;4&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        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]; </FONT></P>

<P><FONT SIZE=2 FACE="Arial">        clock-frequency = &lt;1fca055&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        interrupt-parent = &lt;40000&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        interrupts = &lt;2&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        interrupt-map-mask = [00 00 ff 00 00 00 00 00 00 00 00 00 00 00 00 07]; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        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]; </FONT></P>

<P><FONT SIZE=2 FACE="Arial">        pcie@0 { </FONT>

<BR><FONT SIZE=2 FACE="Arial">            reg = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]; </FONT>

<BR><FONT SIZE=2 FACE="Arial">            #size-cells = &lt;2&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">            #address-cells = &lt;3&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">            device_type = &quot;pci&quot;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">            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]; </FONT></P>

<P><FONT SIZE=2 FACE="Arial">        }; </FONT>

<BR><FONT SIZE=2 FACE="Arial">    }; </FONT>

<BR><FONT SIZE=2 FACE="Arial">    pcie@d4009000 { </FONT>

<BR><FONT SIZE=2 FACE="Arial">        cell-index = &lt;1&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        compatible = &quot;fsl,mpc8641-pcie&quot;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        device_type = &quot;pci&quot;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        #interrupt-cells = &lt;1&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        #size-cells = &lt;2&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        #address-cells = &lt;3&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        reg = &lt;1000&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        bus-range = &lt;6&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        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]; </FONT></P>

<P><FONT SIZE=2 FACE="Arial">        clock-frequency = &lt;1fca055&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        interrupt-parent = &lt;40000&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        interrupts = &lt;2&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        interrupt-map-mask = [00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00 07]; </FONT>

<BR><FONT SIZE=2 FACE="Arial">        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]; </FONT></P>

<P><FONT SIZE=2 FACE="Arial">        pcie@0 { </FONT>

<BR><FONT SIZE=2 FACE="Arial">            reg = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]; </FONT>

<BR><FONT SIZE=2 FACE="Arial">            #size-cells = &lt;2&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">            #address-cells = &lt;3&gt;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">            device_type = &quot;pci&quot;; </FONT>

<BR><FONT SIZE=2 FACE="Arial">            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]; </FONT></P>

<P><FONT SIZE=2 FACE="Arial">        }; </FONT>

<BR><FONT SIZE=2 FACE="Arial">    }; </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">and here the output from kernel: </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">quirk_usb_handoff_ohci: resource start = 0x80000000, len = 0x00001000 </FONT>

<BR><FONT SIZE=2 FACE="Arial">quirk_usb_handoff_ohci: base = 0xe1056000, offset = 0x00000004 </FONT>

<BR><FONT SIZE=2 FACE="Arial">Machine check in kernel mode. </FONT>

<BR><FONT SIZE=2 FACE="Arial">Caused by (from SRR1=149030): Transfer error ack signal </FONT>

<BR><FONT SIZE=2 FACE="Arial">Oops: Machine check, sig: 7 [#1] </FONT>

<BR><FONT SIZE=2 FACE="Arial">TAURUS </FONT>

<BR><FONT SIZE=2 FACE="Arial">NIP: c0297f4c LR: c0297f44 CTR: c00115d0 </FONT>

<BR><FONT SIZE=2 FACE="Arial">REGS: df821e60 TRAP: 0200   Not tainted  (2.6.25.11) </FONT>

<BR><FONT SIZE=2 FACE="Arial">MSR: 00149030 &lt;EE,ME,IR,DR&gt;  CR: 24000022  XER: 00000000 </FONT>

<BR><FONT SIZE=2 FACE="Arial">TASK = df805410[1] 'swapper' THREAD: df820000 </FONT>

<BR><FONT SIZE=2 FACE="Arial">GPR00: c0297f44 df821f10 df805410 00000042 00000001 00000001 00000000 00020000 </FONT>

<BR><FONT SIZE=2 FACE="Arial">GPR08: 00000036 c0333fe4 00006b61 c0360000 44000028 f7fbfffc 0fffac00 ffffffff </FONT>

<BR><FONT SIZE=2 FACE="Arial">GPR16: 00800000 007fff00 df821f78 c02d0000 c0330000 c0330000 00000000 0fff5464 </FONT>

<BR><FONT SIZE=2 FACE="Arial">GPR24: c0330000 c02d0000 00000000 00000000 e1056000 df841218 df841218 e1056004 </FONT>

<BR><FONT SIZE=2 FACE="Arial">NIP [c0297f4c] 0xc0297f4c </FONT>

<BR><FONT SIZE=2 FACE="Arial">LR [c0297f44] 0xc0297f44 </FONT>

<BR><FONT SIZE=2 FACE="Arial">Call Trace: </FONT>

<BR><FONT SIZE=2 FACE="Arial">[df821f10] [c0297f44] 0xc0297f44 (unreliable) </FONT>

<BR><FONT SIZE=2 FACE="Arial">[df821f40] [c01617dc] pci_fixup_device+0xec/0x140 </FONT>

<BR><FONT SIZE=2 FACE="Arial">[df821f60] [c0295ae0] 0xc0295ae0 </FONT>

<BR><FONT SIZE=2 FACE="Arial">[df821f70] [c030c198] kernel_init+0x9c/0x290 </FONT>

<BR><FONT SIZE=2 FACE="Arial">[df821ff0] [c0010a6c] kernel_thread+0x44/0x60 </FONT>

<BR><FONT SIZE=2 FACE="Arial">Instruction dump: </FONT>

<BR><FONT SIZE=2 FACE="Arial">XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX </FONT>

<BR><FONT SIZE=2 FACE="Arial">XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX </FONT>

<BR><FONT SIZE=2 FACE="Arial">---[ end trace 97996e90be8a1237 ]--- </FONT>

<BR><FONT SIZE=2 FACE="Arial">Kernel panic - not syncing: Attempted to kill init! </FONT>

<BR><FONT SIZE=2 FACE="Arial">Rebooting in 180 seconds.. </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">where resource start = 0x80000000 is the physical address of the USB controller, base = 0xe1056000 is the virtual address. </FONT></P>

<P><FONT SIZE=2 FACE="Arial">Does anyone know this kind of problem and can give me a hint. </FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Kind Regards, </FONT>

<BR><FONT SIZE=2 FACE="Arial">Joachim </FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">-- </FONT>

<BR><FONT SIZE=2 FACE="Arial">Dipl.-Ing. Joachim Bader</FONT>

<BR><FONT SIZE=2 FACE="Arial">Research &amp; Technology</FONT>

<BR><FONT SIZE=2 FACE="Arial">Cockpit and Display Systems</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Diehl Aerospace GmbH</FONT>

<BR><FONT SIZE=2 FACE="Arial">An der Sandelmuehle 13</FONT>

<BR><FONT SIZE=2 FACE="Arial">D-60439 Frankfurt</FONT>

<BR><FONT SIZE=2 FACE="Arial">Phone +49-69-5805-1270</FONT>

<BR><FONT SIZE=2 FACE="Arial">Fax       +49-69-5805-1400</FONT>

<BR><FONT SIZE=2 FACE="Arial">e-mail:  joachim.bader@diehl-aerospace.de</FONT>

<BR><FONT SIZE=2 FACE="Arial"><A HREF="http://www.diehl-aerospace.de">http://www.diehl-aerospace.de</A> </FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">_______________________________________________________________________________________________________________________</FONT>

<BR><FONT SIZE=2 FACE="Arial">Der Inhalt dieser E-Mail ist für den Absender rechtlich nicht verbindlich. </FONT>

<BR><FONT SIZE=2 FACE="Arial">Informieren Sie uns bitte, wenn Sie diese E-Mail fälschlicherweise erhalten haben (Fax: +49-69-5805-1399). Bitte löschen Sie in diesem Fall die Nachricht. Jede Form der weiteren Benutzung ist untersagt.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">The content of this e-mail is not legally binding upon the sender.</FONT>

<BR><FONT SIZE=2 FACE="Arial">If this e-mail was transmitted to you by error, then please inform us accordingly (Fax: +49-69-5805-1399). In such case you are requested to erase the message. Any use of such e-mail message is strictly prohibited.</FONT></P>
<BR>

</BODY>
</HTML>