From owner-freebsd-arm@freebsd.org Fri Oct 30 07:21:55 2015 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 44DA5A216F8 for ; Fri, 30 Oct 2015 07:21:55 +0000 (UTC) (envelope-from russ.haley@gmail.com) Received: from mail-vk0-x22a.google.com (mail-vk0-x22a.google.com [IPv6:2607:f8b0:400c:c05::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F1FAB17FE for ; Fri, 30 Oct 2015 07:21:54 +0000 (UTC) (envelope-from russ.haley@gmail.com) Received: by vkgy127 with SMTP id y127so42396318vkg.0 for ; Fri, 30 Oct 2015 00:21:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=R3CLaroyL6RRZbDLaIohGdzHoiMyoz0/RFjUtwz/MuA=; b=ZCiLFxV8vXxBl2OWoC2Hee8742b4Zsimalu0E8EqTIKW9Z9dpGl8Tg71fl3mUa7CUG FLvu1ISmQxjIkEFKLMvvYymxw4MSvgSTxi6mNHe/Ws77LEhCsTg0osRtX7zePByvaf1U w86jb7hTswCprtWKEBUavGmWHyYV9/9vPctLJqlwtV0HkjmY7/gUqMjIBLY3ZwfpAm61 3hpoI49F4lXof7Gfa4/lWTI2hkGCm2CaL8SOeB635ydqZ00CydpxK3cLCJF6tV7YjKJY xgx00qmrOyImO/8irhQ7sA3kcg+z86iLEIfikecyEy1vrboul1l6qqeRsYNygLYeZ+qE 6Iqw== MIME-Version: 1.0 X-Received: by 10.31.33.75 with SMTP id h72mr4488984vkh.144.1446189713837; Fri, 30 Oct 2015 00:21:53 -0700 (PDT) Received: by 10.31.66.9 with HTTP; Fri, 30 Oct 2015 00:21:53 -0700 (PDT) In-Reply-To: References: Date: Fri, 30 Oct 2015 00:21:53 -0700 Message-ID: Subject: Re: Hummingboard with MicroSOM Dual (not dual lite) From: Russell Haley To: freebsd-arm Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Oct 2015 07:21:55 -0000 Ah, I see that the mSata connector is on the bottom. Two separate buses. Okay, that makes more sense. I was really confused for a bit there. So no PCIe is required, just the SATA driver (also with questionable status)? Russ On Thu, Oct 29, 2015 at 10:55 PM, Russell Haley wrote: > Hey guys, five questions tonight. > > 1) I'm so pleased to have a working hummingboard, I went and ordered a > msata SSD for it. Only after getting home today and reading the IMX6 page > again did I realize that PCIe isn't working yet. Does anyone know the > status? > > Supposing a working PCIe driver, what do I need to do to enable the SSD? > - I assume I will need to compile a driver into the kernel to load > that? > - Do I need to add an ftd entry? > > And then I wondered about moving the rootfs off of the sdcard. I assume > ubldr uses /boot/loader.conf, but how does ubldr get the location for > loader.conf? I know you can hard code the kernel to use a specific locati= on > for rootfs, can that also be passed in? > > > 2) Wi-fi. I found out that the SolidRun MicroSOM has a Broadcom BCM4330 > chip option (which I have). > http://wiki.solid-run.com/doku.php?id=3Dproducts:imx6:microsom:btwifi > > Only the 2.4Ghz works acording to the website. Anyway, the driver list on > the current hardware page says BCM43xx is supported by the bwn driver. > > https://www.freebsd.org/relnotes/CURRENT/hardware/support.html > https://www.freebsd.org/cgi/man.cgi?query=3Dbwn&sektion=3D4 > > Again, do I need to add something to the fdt file? > > > 3) When booting the hummingboard from the latest snapshot, Env.txt wasn't > found but if I left the default behaviour the kernel continued to load an= d > the system booted. I paroused systemctl and the unit has two cpus loaded, > but there is a variable that indicates it's a quad core. So, what is goin= g > on there? > > Then, I was then looking around on the SolidRun wiki and discovered that > my hummingboard has a "MicroSOM Dual" NOT a "MicroSOM Dual Lite". That ma= y > be why I was getting a kernel panic when trying to run my own home brew > build. I was manually instructing it to use the imx6dl-hummingboard.dtb > (dual-lite) file. > > As per the website: > "Note that there is a difference in physical hardware support and > implementation between the dual-core =E2=80=9CDual Lite=E2=80=9D implemen= ted on the > MicroSOM i2, which is a separate product, and =E2=80=9CDual=E2=80=9D whic= h is incorporated > in this offering." > http://wiki.solid-run.com/doku.php?id=3Dproducts:imx6:microsom:dual > > Here is boot output from my home brew build: > > Booting [/boot/kernel/kernel]... > /boot/dtb/imx6dl-hummingboard.dtb size=3D0x6dd9 > Loaded DTB from file 'imx6dl-hummingboard.dtb'. > Kernel entry at 0x10a00100... > Kernel args: (null) > KDB: debugger backends: ddb > KDB: current backend: ddb > Copyright (c) 1992-2015 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD is a registered trademark of The FreeBSD Foundation. > FreeBSD 11.0-CURRENT #3 r288164M: Wed Sep 23 20:48:13 PDT 2015 > rhaley@Jailbird:/usr/obj/arm.armv6/usr/src/sys/IMX6 arm > FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525 > VT: init without driver. > CPU: Cortex A9-r2 rev 10 (Cortex-A core) > Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext > WB disabled EABT branch prediction enabled > LoUU:2 LoC:2 LoUIS:2 > Cache level 1: > 32KB/32B 4-way data cache WB Read-Alloc Write-Alloc > 32KB/32B 4-way instruction cache Read-Alloc > real memory =3D 1073741824 (1024 MB) > avail memory =3D 1039437824 (991 MB) > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > random: entropy device external interface > kbd0 at kbdmux0 > ofwbus0: > simplebus0: on ofwbus0 > simplebus1: mem 0x2000000-0x20fffff on > simplebus0 > simplebus2: mem 0x2000000-0x203ffff on > simplebus1 > imx6_anatop0: mem > 0x20c8000-0x20c8fff irq 81,86,159 on simplebus1 > simplebus3: on simplebus1 > simplebus4: mem 0x2100000-0x21fffff on > simplebus0 > ocotp0: mem > 0x21bc000-0x21bffff on simplebus4 > ccm0: mem 0x20c4000-0x20c7fff irq > 119,120 on simplebus1 > l2cache0: mem 0xa02000-0xa02fff irq 124 on > simplebus0 > l2cache0: Part number: 0x3, release: 0x7 > l2cache0: L2 Cache enabled: 1024KB/32B 16 ways > imx_iomux0: mem 0x20e0000-0x20e3fff on > simplebus1 > gic0: mem > 0xa01000-0xa01fff,0xa00100-0xa001ff on ofwbus0 > gic0: pn 0x390, arch 0x1, rev 0x2, implementer 0x43b irqs 160 > imx_gpt0: mem 0x2098000-0x209bfff irq 87 on > simplebus1 > Event timer "iMXGPT" frequency 66000000 Hz quality 800 > Timecounter "iMXGPT" frequency 66000000 Hz quality 1000 > mp_tmr0: mem 0xa00600-0xa0061f irq 29 on simplebus0 > Event timer "MPCore" frequency 492000000 Hz quality 1000 > uart0: mem 0x2020000-0x2023fff irq 58 on simplebus2 > uart0: console (115200,n,8,1) > gpio0: mem 0x209c000-0x209ffff irq 98,99 > on simplebus1 > gpiobus0: on gpio0 > gpioc0: on gpio0 > gpio1: mem 0x20a0000-0x20a3fff irq > 100,101 on simplebus1 > gpiobus1: on gpio1 > gpioc1: on gpio1 > gpio2: mem 0x20a4000-0x20a7fff irq > 102,103 on simplebus1 > gpiobus2: on gpio2 > gpioc2: on gpio2 > gpio3: mem 0x20a8000-0x20abfff irq > 104,105 on simplebus1 > gpiobus3: on gpio3 > gpioc3: on gpio3 > gpio4: mem 0x20ac000-0x20affff irq > 106,107 on simplebus1 > gpiobus4: on gpio4 > gpioc4: on gpio4 > gpio5: mem 0x20b0000-0x20b3fff irq > 108,109 on simplebus1 > gpiobus5: on gpio5 > gpioc5: on gpio5 > gpio6: mem 0x20b4000-0x20b7fff irq > 110,111 on simplebus1 > gpiobus6: on gpio6 > gpioc6: on gpio6 > imx_wdog0: mem 0x20bc000-0x20bffff irq 112 on > simplebus1 > usbphy0: mem 0x20c9000-0x20c9fff irq 76 on > simplebus1 > usbphy1: mem 0x20ca000-0x20cafff irq 77 on > simplebus1 > src0: mem 0x20d8000-0x20dbfff > irq 123,128 on simplebus1 > hdmi0: mem 0x120000-0x128fff irq 147 on > simplebus1 > hdmi0: HDMI controller 13:0a:a0:c1 > GPR3 0f000000 -> 0f000000 > ehci0: mem 0x2184000-0x21841ff > irq 75 on simplebus4 > Fatal kernel mode data abort: 'Translation Fault (L1)' on read > trapframe: 0xc2913ae0 > FSR=3D00000005, FAR=3D00000004, spsr=3D600001d3 > r0 =3D00000000, r1 =3Dc29600d0, r2 =3D00000000, r3 =3Dc2501378 > r4 =3Dc2960080, r5 =3D00000001, r6 =3Dc296bdc0, r7 =3D00000001 > r8 =3Dc2960080, r9 =3D00000000, r10=3D000000ff, r11=3Dc2913ba8 > r12=3Dc275330c, ssp=3Dc2913b70, slr=3Dc2501454, pc =3Dc25010b4 > > [ thread pid 0 tid 100000 ] > Stopped at keg_fetch_slab+0x164: ldr r3, [r2, #0x004]! > > Any input would be helpful, but I am happy to play with the official > snapshots right now. > > 4) So if I want to compile and run things like ports or other stuff on my > PC and then put it on my board I need to cross compile. I currently have= a > jail that I build all my arm stuff in. Is there a way to re-use the cross > compilers from the buildworld to cross compile from ports or my own code? > Is there any good instruction on this in the handbook or developers guide= ? > > 5) Documentation. I've got my feet wet. I put together a patch for the > src.conf manpage and also proposed an update to the "advocacy/myths.html" > web page on the freebsd-doc@ mailing list (I attached it for convenience, > I'd really like some input). I can now build man pages and the website an= d > I'll look at the handbooks soon. I saw on the ARM page that there is stil= l > documentation work to be done and I'm looking for direction on how > contribute to that. > > Okay, that's it. Thanks guys! > Russ >