From owner-freebsd-ppc@FreeBSD.ORG Fri Aug 28 19:27:30 2009 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B2CC106566C for ; Fri, 28 Aug 2009 19:27:30 +0000 (UTC) (envelope-from Daan@vehosting.nl) Received: from VM01.VEHosting.nl (unknown [IPv6:2001:470:1f14:32d::1:140]) by mx1.freebsd.org (Postfix) with ESMTP id E23968FC1E for ; Fri, 28 Aug 2009 19:27:29 +0000 (UTC) Received: from [192.168.45.11] (129-251.ftth.onsbrabantnet.nl [88.159.251.129] (may be forged)) (authenticated bits=0) by VM01.VEHosting.nl (8.14.3/8.13.8) with ESMTP id n7SJRTJW019876; Fri, 28 Aug 2009 21:27:29 +0200 (CEST) (envelope-from Daan@vehosting.nl) From: Daan Vreeken Organization: VEHosting.nl To: freebsd-ppc@freebsd.org Date: Fri, 28 Aug 2009 21:27:28 +0200 User-Agent: KMail/1.9.10 References: <35914876-0CFF-427B-8F80-B1BEEA5A7A18@semihalf.com> <20090523172128.2e0a3f2b@fubar.geek.nz> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200908282127.28482.Daan@vehosting.nl> x-ve-auth-version: mi-1.0.3 2008-05-30 - Copyright (c) 2008 - Daan Vreeken - VEHosting x-ve-auth: authenticated as 'pa4dan' on VM01.VEHosting.nl Cc: Michal Mazur , Andrew Turner , Hans Petter Selasky Subject: Re: FreeBSD/powerpc on MPC5200 X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Aug 2009 19:27:30 -0000 Hi Rafal (and the list), On Sunday 24 May 2009 21:15:44 Rafal Jaworowski wrote: > On 2009-05-23, at 07:21, Andrew Turner wrote: > > On Fri, 22 May 2009 12:21:01 +0200 > > > > Rafal Jaworowski wrote: > >> On 2009-05-11, at 15:15, Peter Czanik wrote: > >>> Rafal Jaworowski =EDrta: > >>>> I'd like to let people know that FreeBSD/powerpc is now able to > >>>> boot into single user on the Freescale MPC5200 system-on-chip > >>>> (EFIKA board). The environment is very simplistic: RAM disk based > >>>> root fs, as > >>>> there's no peripherals drivers besides serial console and the > >>>> built- in > >>>> PIC. See this log: http://people.freebsd.org/~raj/logs/efika.log > >>> > >>> Wow, great news! Two questions: > >>> - are there any plans to support additional devices? > >> > >> We don't have immediate plans for other devices drivers, but this > >> basic support will be merged into SVN, and it would be greatly > >> welcome to see people help with remaining items. > > > > Is there a patch available? I would like to get back to working on the > > EFIKA. > > Preliminary diff against 2009.04.06 HEAD is here: > http://people.freebsd.org/~raj/patches/powerpc/efika.diff > > Comments or questions welcome. Some bits need to be streamlined so > that all AIM/OF variations work together, and the code has to be > rebased against up-to-date HEAD. I have downloaded your diff and succesfully patched it to -HEAD (checked ou= t=20 on 2009-08-25). Right now I'm looking into getting the USB controller working. (That would= =20 allow me to use network & disks all in one go.) I have written the OHCI attachment code (inspired by a mix of Warner's atme= l=20 version, mpc5xxx/ic.c and uart_dev_psc.c) and gotten it to succesfully atta= ch=20 to the OHCI controller when booting the Efika board. USB is not (yet) working correctly. Near the end of ohci_init(), the board= =20 seems to halt completely for about 30 seconds and after that, the OHCI=20 controller sets the 'unrecoverable error' flag. A complete dmesg dump can be found here : http://vehosting.nl/pub_diffs/efika-daan-2009-08-28-ohci_attaching_but_fail= ing.txt The kernel that produced this can be downloaded here : http://vehosting.nl/pub_diffs/efika-daan-2009-08-28-ohci_attaching_but_fail= ing.kernel The files I added/changed to get the attachment of the OHCI controller=20 to 'work' can be found here : http://vehosting.nl/pub_diffs/efika-daan-2009-08-28_changed_files.tar.gz (Warning : Ugly! and full of printf's for now!) (I could have missed one, let me know if you can't get it to work.) The above dmesg shows a number of printf's I've added to ohci.c . My mutila= ted=20 version can be found here : http://vehosting.nl/pub_diffs/efika-daan-2009-08-28_ohci.c As you can see, I printf() the interrupt status register at various points= =20 during ohci_init(). The 'unrecoverable error' flag gets set just a couple o= f=20 miliseconds after the following command has been executed : /* And finally start it! */ OWRITE4(sc, OHCI_CONTROL, ctl); After that OWRITE4(), the board sits for about 30 seconds and then continue= s.=20 I'm just guessing what's going on here, but could it be that (one of?) the= =20 endpoint lists isn't properly setup and that the OHCI controller keeps the= =20 CPU from accessing memory while it's racing through memory following=20 corrupt/invalid 'next' pointers? Regards, =2D-=20 Daan Vreeken VEHosting http://VEHosting.nl tel: +31-(0)40-7113050 / +31-(0)6-46210825 KvK nr: 17174380