Date: Thu, 29 Oct 2015 22:55:01 -0700 From: Russell Haley <russ.haley@gmail.com> To: freebsd-arm <freebsd-arm@freebsd.org> Subject: Hummingboard with MicroSOM Dual (not dual lite) Message-ID: <CABx9NuQChHiBhEkCpA0GWK=pjTdMkZDZd6yF4Y6Zk-6PLc5k5A@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--001a114418b27d443f05234c117e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 location 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 and 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 going 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 may 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 implemente= d on the MicroSOM i2, which is a separate product, and =E2=80=9CDual=E2=80=9D which = 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 and I'll look at the handbooks soon. I saw on the ARM page that there is still documentation work to be done and I'm looking for direction on how contribute to that. Okay, that's it. Thanks guys! Russ --001a114418b27d443f05234c117e Content-Disposition: attachment; filename="myths.html" X-Attachment-Id: f_igd8wcdk0 MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1"; name="myths.html" --001a114418b27d443f05234c117e--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABx9NuQChHiBhEkCpA0GWK=pjTdMkZDZd6yF4Y6Zk-6PLc5k5A>