Skip site navigation (1)Skip section navigation (2)
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>