Date: Fri, 30 Oct 2015 00:21:53 -0700 From: Russell Haley <russ.haley@gmail.com> To: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: Hummingboard with MicroSOM Dual (not dual lite) Message-ID: <CABx9NuSf_YhYTPzx2js-x8dd8Y1c8Zj7_-vV83q5G6S0ZT98ZA@mail.gmail.com> In-Reply-To: <CABx9NuQChHiBhEkCpA0GWK=pjTdMkZDZd6yF4Y6Zk-6PLc5k5A@mail.gmail.com> References: <CABx9NuQChHiBhEkCpA0GWK=pjTdMkZDZd6yF4Y6Zk-6PLc5k5A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <russ.haley@gmail.com> 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: <Open Firmware Device Tree> > simplebus0: <Flattened device tree simple bus> on ofwbus0 > simplebus1: <Flattened device tree simple bus> mem 0x2000000-0x20fffff on > simplebus0 > simplebus2: <Flattened device tree simple bus> mem 0x2000000-0x203ffff on > simplebus1 > imx6_anatop0: <Freescale i.MX6 Analog PLLs and Power> mem > 0x20c8000-0x20c8fff irq 81,86,159 on simplebus1 > simplebus3: <Flattened device tree simple bus> on simplebus1 > simplebus4: <Flattened device tree simple bus> mem 0x2100000-0x21fffff on > simplebus0 > ocotp0: <Freescale On-Chip One-Time-Programmable Memory> mem > 0x21bc000-0x21bffff on simplebus4 > ccm0: <Freescale i.MX6 Clock Control Module> mem 0x20c4000-0x20c7fff irq > 119,120 on simplebus1 > l2cache0: <PL310 L2 cache controller> mem 0xa02000-0xa02fff irq 124 on > simplebus0 > l2cache0: Part number: 0x3, release: 0x7 > l2cache0: L2 Cache enabled: 1024KB/32B 16 ways > imx_iomux0: <Freescale i.MX pin configuration> mem 0x20e0000-0x20e3fff on > simplebus1 > gic0: <ARM Generic Interrupt Controller> mem > 0xa01000-0xa01fff,0xa00100-0xa001ff on ofwbus0 > gic0: pn 0x390, arch 0x1, rev 0x2, implementer 0x43b irqs 160 > imx_gpt0: <Freescale i.MX GPT timer> mem 0x2098000-0x209bfff irq 87 on > simplebus1 > Event timer "iMXGPT" frequency 66000000 Hz quality 800 > Timecounter "iMXGPT" frequency 66000000 Hz quality 1000 > mp_tmr0: <ARM MPCore Timers> mem 0xa00600-0xa0061f irq 29 on simplebus0 > Event timer "MPCore" frequency 492000000 Hz quality 1000 > uart0: <Freescale i.MX UART> mem 0x2020000-0x2023fff irq 58 on simplebus2 > uart0: console (115200,n,8,1) > gpio0: <Freescale i.MX GPIO Controller> mem 0x209c000-0x209ffff irq 98,99 > on simplebus1 > gpiobus0: <GPIO bus> on gpio0 > gpioc0: <GPIO controller> on gpio0 > gpio1: <Freescale i.MX GPIO Controller> mem 0x20a0000-0x20a3fff irq > 100,101 on simplebus1 > gpiobus1: <GPIO bus> on gpio1 > gpioc1: <GPIO controller> on gpio1 > gpio2: <Freescale i.MX GPIO Controller> mem 0x20a4000-0x20a7fff irq > 102,103 on simplebus1 > gpiobus2: <GPIO bus> on gpio2 > gpioc2: <GPIO controller> on gpio2 > gpio3: <Freescale i.MX GPIO Controller> mem 0x20a8000-0x20abfff irq > 104,105 on simplebus1 > gpiobus3: <GPIO bus> on gpio3 > gpioc3: <GPIO controller> on gpio3 > gpio4: <Freescale i.MX GPIO Controller> mem 0x20ac000-0x20affff irq > 106,107 on simplebus1 > gpiobus4: <GPIO bus> on gpio4 > gpioc4: <GPIO controller> on gpio4 > gpio5: <Freescale i.MX GPIO Controller> mem 0x20b0000-0x20b3fff irq > 108,109 on simplebus1 > gpiobus5: <GPIO bus> on gpio5 > gpioc5: <GPIO controller> on gpio5 > gpio6: <Freescale i.MX GPIO Controller> mem 0x20b4000-0x20b7fff irq > 110,111 on simplebus1 > gpiobus6: <GPIO bus> on gpio6 > gpioc6: <GPIO controller> on gpio6 > imx_wdog0: <Freescale i.MX Watchdog> mem 0x20bc000-0x20bffff irq 112 on > simplebus1 > usbphy0: <Freescale i.MX6 USB PHY> mem 0x20c9000-0x20c9fff irq 76 on > simplebus1 > usbphy1: <Freescale i.MX6 USB PHY> mem 0x20ca000-0x20cafff irq 77 on > simplebus1 > src0: <Freescale i.MX6 System Reset Controller> mem 0x20d8000-0x20dbfff > irq 123,128 on simplebus1 > hdmi0: <Freescale i.MX6 HDMI core> mem 0x120000-0x128fff irq 147 on > simplebus1 > hdmi0: HDMI controller 13:0a:a0:c1 > GPR3 0f000000 -> 0f000000 > ehci0: <Freescale i.MX integrated USB controller> 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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABx9NuSf_YhYTPzx2js-x8dd8Y1c8Zj7_-vV83q5G6S0ZT98ZA>