Orange Pi One

Emmanuel Vadot manu at bidouilliste.com
Sat May 14 15:05:20 UTC 2016


On Mon, 2 May 2016 16:08:36 +0300
Daniel Braniss <danny at cs.huji.ac.il> wrote:

> 
> > On 19 Apr 2016, at 13:13, Emmanuel Vadot <manu at bidouilliste.com> wrote:
> > 
> > 
> > With the help of Milan I managed to boot FreeBSD on my OrangePi One (using the OrangePi Plus DTS):
> > 
> > KDB: debugger backends: ddb
> > KDB: current backend: ddb
> > Copyright (c) 1992-2016 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 #8 7a08e49(h3)-dirty: Tue Apr 19 11:44:25 CEST 2016
> >    elbarto at knuckles.blih.net:/usr/home/elbarto/Work/freebsd-obj/arm.armv6/usr/home/elbarto/Work/freebsd.git/sys/H3 arm
> > FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM 3.8.0)
> > WARNING: WITNESS option enabled, expect reduced performance.
> > VT: init without driver.
> > CPU: Cortex A7 rev 5 (Cortex-A core)
> > Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
> > WB enabled LABT branch prediction disabled
> > LoUU:2 LoC:3 LoUIS:2 
> > Cache level 1: 
> > 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
> > 32KB/32B 2-way instruction cache Read-Alloc
> > Cache level 2: 
> > 512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
> > real memory  = 536870912 (512 MB)
> > avail memory = 511164416 (487 MB)
> > random: entropy device external interface
> > kbd0 at kbdmux0
> > ofwbus0: <Open Firmware Device Tree>
> > aw_ccu0 on ofwbus0
> > clk_fixed0: <Fixed clock> on aw_ccu0
> > clk_fixed1: <Fixed clock> on aw_ccu0
> > aw_pll0: <Allwinner PLL Clock> mem 0x1c20000-0x1c20003 on aw_ccu0
> > clk_fixed2: <Fixed clock> on aw_ccu0
> > aw_pll1: <Allwinner PLL Clock> mem 0x1c20028-0x1c2002b on aw_ccu0
> > clk_fixed3: <Fixed factor clock> on aw_ccu0
> > clk_fixed4: <Fixed clock> on aw_ccu0
> > aw_cpuclk0: <Allwinner CPU Clock> mem 0x1c20050-0x1c20053 on aw_ccu0
> > aw_axiclk0: <Allwinner AXI Clock> mem 0x1c20050-0x1c20053 on aw_ccu0
> > aw_ahbclk0: <Allwinner AHB Clock> mem 0x1c20054-0x1c20057 on aw_ccu0
> > aw_apbclk0: <Allwinner APB Clock> mem 0x1c20054-0x1c20057 on aw_ccu0
> > aw_apbclk1: <Allwinner APB Clock> mem 0x1c20058-0x1c2005b on aw_ccu0
> > aw_gate0: <Allwinner Bus Clock Gates> mem 0x1c20060-0x1c20073 on aw_ccu0
> > aw_mmcclk0: <Allwinner MMC Clock> mem 0x1c20088-0x1c2008b on aw_ccu0
> > aw_mmcclk1: <Allwinner MMC Clock> mem 0x1c2008c-0x1c2008f on aw_ccu0
> > aw_mmcclk2: <Allwinner MMC Clock> mem 0x1c20090-0x1c20093 on aw_ccu0
> > simplebus0: <Flattened device tree simple bus> on ofwbus0
> > aw_reset0: <Allwinner Module Resets> mem 0x1c202c0-0x1c202cb on simplebus0
> > aw_reset1: <Allwinner Module Resets> mem 0x1c202d0-0x1c202d3 on simplebus0
> > aw_reset2: <Allwinner Module Resets> mem 0x1c202d8-0x1c202db on simplebus0
> > regfix0: <Fixed Regulator> on ofwbus0
> > regfix1: <Fixed Regulator> on ofwbus0
> > regfix2: <Fixed Regulator> on ofwbus0
> > gic0: <ARM Generic Interrupt Controller> mem 0x1c81000-0x1c81fff,0x1c82000-0x1c82fff,0x1c84000-0x1c85fff,0x1c86000-0x1c87fff irq 10017 on simplebus0
> > gic0: pn 0x10, arch 0x2, rev 0x1, implementer 0x43b irqs 160
> > generic_timer0: <ARMv7 Generic Timer> irq 10000,10001,10002,10003 on ofwbus0
> > Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
> > Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
> > rtc0: <Allwinner RTC> mem 0x1f00000-0x1f00053 irq 10018,10019 on simplebus0
> > cpulist0: <Open Firmware CPU Group> on ofwbus0
> > cpu0: <Open Firmware CPU> on cpulist0
> > cpu1: <Open Firmware CPU> on cpulist0
> > cpu2: <Open Firmware CPU> on cpulist0
> > cpu3: <Open Firmware CPU> on cpulist0
> > a10_mmc0: <Allwinner Integrated MMC/SD controller> mem 0x1c0f000-0x1c0ffff irq 10005 on simplebus0
> > mmc0: <MMC/SD bus> on a10_mmc0
> > aw_wdog0: <Allwinner A31 Watchdog> mem 0x1c20ca0-0x1c20cbf irq 10012 on simplebus0
> > uart0: <Non-standard ns8250 class UART with FIFOs> mem 0x1c28000-0x1c283ff irq 10013 on simplebus0
> > uart0: console (961538,n,8,1)
> > cryptosoft0: <software crypto>
> > Timecounters tick every 10.000 msec
> > mmcsd0: 16GB <SDHC SL16G 3.0 SN DAF5C2BD MFG 09/2015 by 3 PT> at mmc0 50.0MHz/4bit/65535-block
> > WARNING: WITNESS option enabled, expect reduced performance.
> > Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
> > random: unblocking device.
> > 
> > Not a lot of devices are presents but it's the same in the DTS. I'll probably add today (maybe tomorow) the gpio padconf and I'll look at the CPU power clamp soon to add SMP.
> > 
> > The code is in my github branch : https://github.com/evadot/freebsd/tree/h3
> > 
> > For those interested I've put the file available :
> > - https://www.bidouilliste.com/freebsd/orangepi-plus (The kernel)
> > - https://www.bidouilliste.com/freebsd/orangepi-plus.dtb
> > - https://www.bidouilliste.com/freebsd/orangepi-plus-uboot-201601.bin (Provided by Milan)
> > 
> 
> my SoC just arrived, so is there a .img I can pull to check if all is ok before I start compiling/building?
> 
> cheers,
> 	danny

 Hello,

 Sorry no image for now.
 I've commited the code into HEAD yesterday (minus the dts) so the
easiest way is to grab a copy of it and compile a kernel.
 For u-boot you can use the one from previous mail or compile one your
self from u-boot-201601 (using the orangepi-pc config).
 For creating a SD image if you don't want to do all the steps you can
just take a recent snapshot for BANANAPI and override u-boot and kernel.
 The DTS haven't been commited because they come from u-boot and it
will make import from linux harder, you can use my tree from github for
the orangepi-one which include the DTS :
https://github.com/evadot/freebsd/tree/orangepi-one

-- 
Emmanuel Vadot


More information about the freebsd-arm mailing list