Lemaker Banana Pi
The board is available from various vendors, including the manufacturer itself, see here for BananaPi.
For further Allwinner-based boards, please refer to soc.allwinner.sunxi
Supported Versions
Status
- Please refer to soc.allwinner.sunxi regarding the Allwinner A20 SOC.
- u-boot and DTS file yet to be pushed
- GMAC is not working due to some subtle PHY differences
Hardware Highlights
Model | Ports |
---|---|
BananaPi | MMC, SATA, RCA video-out, HDMI, sound |
Remember: HDMI Output is not available in OpenWrt by default. Use console instead.
Installation
Please refer to soc.allwinner.sunxi.
Serial
You can use your usual serial levelshifter. Pinout is:
GND TX RX J12 o o o o o o {SD slot} o o o o
Bootlogs
OpenWrt bootlog
U-Boot 2014.04 (Sep 28 2014 - 22:27:22) Allwinner Technology CPU: Allwinner A20 (SUN7I) Board: Bananapi I2C: ready DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: dwmac.1c50000 Hit any key to stop autoboot: 0 reading uEnv.txt 240 bytes read in 17 ms (13.7 KiB/s) Loaded environment from uEnv.txt Running uenvcmd ... reading uImage 2574432 bytes read in 296 ms (8.3 MiB/s) reading dtb 22849 bytes read in 29 ms (768.6 KiB/s) ## Booting kernel from Legacy Image at 46000000 ... Image Name: ARM OpenWrt Linux-3.14.18 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2574368 Bytes = 2.5 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 49000000 Booting using the fdt blob at 0x49000000 Loading Kernel Image ... OK Using Device Tree in place at 49000000, end 49008940 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.14.18 (wigyori@trabant) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r42689) ) #3 SMP PREEMPT Sun Sep 28 22:28:14 CEST 2014 [ 0.000000] CPU: ARMv7 Processor [410fc074] revision 4 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine model: Lemaker bananaPi [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] psci: probing function IDs from device-tree [ 0.000000] PERCPU: Embedded 7 pages/cpu @eefdb000 s7104 r8192 d13376 u32768 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260624 [ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk rootwait root=/dev/mmcblk0p2 [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Memory: 1033784K/1048576K available (3647K kernel code, 163K rwdata, 1028K rodata, 190K init, 603K bss, 14792K reserved, 270336K highmem) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB) [ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc0498f04 (4676 kB) [ 0.000000] .init : 0xc0499000 - 0xc04c8bc0 ( 191 kB) [ 0.000000] .data : 0xc04ca000 - 0xc04f2f60 ( 164 kB) [ 0.000000] .bss : 0xc04f2f60 - 0xc0589b9c ( 604 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] Architected cp15 timer(s) running at 24.00MHz (phys). [ 0.000009] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 2863311519744ns [ 0.000018] Switching to timer-based delay loop [ 0.000322] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns [ 0.000469] sched_clock: 32 bits at 160MHz, resolution 6ns, wraps every 26843545593ns [ 0.000626] Console: colour dummy device 80x30 [ 0.000664] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.000679] pid_max: default: 32768 minimum: 301 [ 0.000843] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000856] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.006501] CPU: Testing write buffer coherency: ok [ 0.006849] /cpus/cpu@0 missing clock-frequency property [ 0.006871] /cpus/cpu@1 missing clock-frequency property [ 0.006885] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.006911] Setting up static identity map for 0x40011988 - 0x400119bc [ 0.060470] CPU1: Booted secondary processor [ 0.060516] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.060619] Brought up 2 CPUs [ 0.060642] SMP: Total of 2 processors activated. [ 0.060648] CPU: All CPU(s) started in HYP mode. [ 0.060654] CPU: Virtualization extensions available. [ 0.065352] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 4 [ 0.065689] pinctrl core: initialized pinctrl subsystem [ 0.066069] regulator-dummy: no parameters [ 0.066391] NET: Registered protocol family 16 [ 0.066654] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.076391] bio: create slab <bio-0> at 0 [ 0.076988] reg-fixed-voltage ahci-5v.4: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/ahci_pwr_pin@0, deferring probe [ 0.077017] platform ahci-5v.4: Driver reg-fixed-voltage requests probe deferral [ 0.077045] reg-fixed-voltage usb1-vbus.5: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/usb1_vbus_pin@0, deferring probe [ 0.077060] platform usb1-vbus.5: Driver reg-fixed-voltage requests probe deferral [ 0.077083] reg-fixed-voltage usb2-vbus.6: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/usb2_vbus_pin@0, deferring probe [ 0.077098] platform usb2-vbus.6: Driver reg-fixed-voltage requests probe deferral [ 0.077123] reg-fixed-voltage gmac-3v3.8: could not find pctldev for node /soc@01c00000/pinctrl@01c20800/gmac_power_pin@0, deferring probe [ 0.077139] platform gmac-3v3.8: Driver reg-fixed-voltage requests probe deferral [ 0.077567] SCSI subsystem initialized [ 0.078069] usbcore: registered new interface driver usbfs [ 0.078133] usbcore: registered new interface driver hub [ 0.078251] usbcore: registered new device driver usb [ 0.078379] pps_core: LinuxPPS API ver. 1 registered [ 0.078389] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.078413] PTP clock support registered [ 0.079312] Switched to clocksource arch_sys_counter [ 0.086193] NET: Registered protocol family 2 [ 0.087283] TCP established hash table entries: 8192 (order: 3, 32768 bytes) [ 0.087375] TCP bind hash table entries: 8192 (order: 4, 65536 bytes) [ 0.087498] TCP: Hash tables configured (established 8192 bind 8192) [ 0.087576] TCP: reno registered [ 0.087594] UDP hash table entries: 512 (order: 2, 16384 bytes) [ 0.087650] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) [ 0.087967] NET: Registered protocol family 1 [ 0.089282] futex hash table entries: 512 (order: 3, 32768 bytes) [ 0.089509] audit: initializing netlink subsys (disabled) [ 0.089578] audit: type=2000 audit(0.070:1): initialized [ 0.090111] bounce pool size: 64 pages [ 0.097798] VFS: Disk quotas dquot_6.5.2 [ 0.098124] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 0.100207] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.100221] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.101013] msgmni has been set to 1491 [ 0.102975] io scheduler noop registered [ 0.102995] io scheduler deadline registered [ 0.103044] io scheduler cfq registered (default) [ 0.103351] platform 1c13400.phy: Driver sun4i-usb-phy requests probe deferral [ 0.105767] sunxi-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver [ 0.147015] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled [ 0.169368] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 33, base_baud = 1500000) is a U6_16550A [ 0.775651] console [ttyS0] enabled [ 0.801003] dw-apb-uart 1c29800.serial: Couldn't set LCR to 0 [ 0.807750] dw-apb-uart 1c29800.serial: Couldn't set LCR to 0 [ 0.813529] 1c29800.serial: ttyS1 at MMIO 0x1c29800 (irq = 51, base_baud = 1500000) is a U6_16550A [ 0.844529] dw-apb-uart 1c29c00.serial: Couldn't set LCR to 0 [ 0.851276] dw-apb-uart 1c29c00.serial: Couldn't set LCR to 0 [ 0.857075] 1c29c00.serial: ttyS2 at MMIO 0x1c29c00 (irq = 52, base_baud = 1500000) is a U6_16550A [ 0.866927] platform 1c18000.sata: Driver ahci-sunxi requests probe deferral [ 0.876819] platform 1c50000.ethernet: Driver stmmaceth requests probe deferral [ 0.884260] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.890801] ehci-platform: EHCI generic platform driver [ 0.896148] platform 1c14000.usb: Driver ehci-platform requests probe deferral [ 0.903463] platform 1c1c000.usb: Driver ehci-platform requests probe deferral [ 0.910777] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.916979] ohci-platform: OHCI generic platform driver [ 0.922317] platform 1c14400.usb: Driver ohci-platform requests probe deferral [ 0.929615] platform 1c1c400.usb: Driver ohci-platform requests probe deferral [ 0.936966] usbcore: registered new interface driver usb-storage [ 0.943223] mousedev: PS/2 mouse device common for all mice [ 0.949196] input: 1c22800.lradc as /devices/soc.3/1c22800.lradc/input/input0 [ 0.966374] input: axp20x-pek as /devices/soc.3/1c2ac00.i2c/i2c-0/0-0034/axp20x-pek/input/input1 [ 0.976221] LDO1: 1300 mV [ 0.979620] LDO2: 1800 <--> 3300 mV at 3000 mV [ 0.984578] LDO3: 700 <--> 3500 mV at 2275 mV [ 0.989236] LDO4: 1250 <--> 3300 mV at 2800 mV [ 0.994218] LDO5: 1800 <--> 3300 mV at 2800 mV [ 0.999175] DCDC2: 700 <--> 2275 mV at 1400 mV [ 1.004386] DCDC3: 700 <--> 3500 mV at 1300 mV [ 1.009025] axp20x 0-0034: AXP20X driver loaded [ 1.014797] sunxi-wdt 1c20c90.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0) [ 1.023580] sunxi-mmc 1c0f000.mmc: Got CD GPIO #234. [ 1.028769] sunxi-mmc 1c0f000.mmc: base:0xf00fc000 irq:64 [ 1.036497] sunxi-ss 1c15000.crypto-engine: Die ID 0 [ 1.042984] TCP: cubic registered [ 1.046307] Initializing XFRM netlink socket [ 1.050670] NET: Registered protocol family 17 [ 1.055212] 8021q: 802.1Q VLAN Support v1.8 [ 1.059521] Registering SWP/SWPB emulation handler [ 1.064686] registered taskstats version 1 [ 1.069093] LDO4: disabling [ 1.072100] LDO3: disabling [ 1.075064] regulator-dummy: disabling [ 1.079340] ahci-5v: 5000 mV [ 1.082750] usb1-vbus: 5000 mV [ 1.086217] usb2-vbus: 5000 mV [ 1.089756] gmac-3v3: 3300 mV [ 1.159363] ahci-sunxi 1c18000.sata: controller can't do PMP, turning off CAP_PMP [ 1.166851] ahci-sunxi 1c18000.sata: forcing PORTS_IMPL to 0x1 [ 1.172755] ahci-sunxi 1c18000.sata: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode [ 1.181728] ahci-sunxi 1c18000.sata: flags: ncq sntf pm led clo only pio slum part ccc [ 1.190667] scsi0 : ahci_platform [ 1.194351] ata1: SATA max UDMA/133 mmio [mem 0x01c18000-0x01c18fff] port 0x100 irq 88 [ 1.259403] stmmaceth 1c50000.ethernet: no reset control found [ 1.265240] Ring mode enabled [ 1.268292] No HW DMA feature register supported [ 1.272846] Normal descriptors [ 1.276169] TX Checksum insertion supported [ 1.284697] libphy: stmmac: probed [ 1.288113] eth0: PHY ID 001cc915 at 0 IRQ 0 (stmmac-0:00) active [ 1.294222] eth0: PHY ID 001cc915 at 1 IRQ 0 (stmmac-0:01) [ 1.300008] ehci-platform 1c14000.usb: EHCI Host Controller [ 1.305612] ehci-platform 1c14000.usb: new USB bus registered, assigned bus number 1 [ 1.313490] ehci-platform 1c14000.usb: irq 71, io mem 0x01c14000 [ 1.339340] ehci-platform 1c14000.usb: USB 2.0 started, EHCI 1.00 [ 1.345629] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 1.352440] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.359668] usb usb1: Product: EHCI Host Controller [ 1.364543] usb usb1: Manufacturer: Linux 3.14.18 ehci_hcd [ 1.366542] mmc0: host does not support reading read-only switch. assuming write-enable. [ 1.378113] usb usb1: SerialNumber: 1c14000.usb [ 1.383225] hub 1-0:1.0: USB hub found [ 1.387012] hub 1-0:1.0: 1 port detected [ 1.391555] ehci-platform 1c1c000.usb: EHCI Host Controller [ 1.397163] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 2 [ 1.405027] ehci-platform 1c1c000.usb: irq 72, io mem 0x01c1c000 [ 1.429331] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00 [ 1.435589] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 1.442397] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.449622] usb usb2: Product: EHCI Host Controller [ 1.454497] usb usb2: Manufacturer: Linux 3.14.18 ehci_hcd [ 1.459988] usb usb2: SerialNumber: 1c1c000.usb [ 1.465049] hub 2-0:1.0: USB hub found [ 1.468833] hub 2-0:1.0: 1 port detected [ 1.473332] ohci-platform 1c14400.usb: Generic Platform OHCI controller [ 1.479997] ohci-platform 1c14400.usb: new USB bus registered, assigned bus number 3 [ 1.487829] ohci-platform 1c14400.usb: irq 96, io mem 0x01c14400 [ 1.529342] mmc0: new high speed SDHC card at address 0007 [ 1.535419] mmcblk0: mmc0:0007 SD4GB 3.70 GiB [ 1.541226] mmcblk0: p1 p2 [ 1.549379] ata1: SATA link down (SStatus 0 SControl 300) [ 1.553552] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001 [ 1.553560] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.553566] usb usb3: Product: Generic Platform OHCI controller [ 1.553572] usb usb3: Manufacturer: Linux 3.14.18 ohci_hcd [ 1.553577] usb usb3: SerialNumber: 1c14400.usb [ 1.554155] hub 3-0:1.0: USB hub found [ 1.554197] hub 3-0:1.0: 1 port detected [ 1.554809] ohci-platform 1c1c400.usb: Generic Platform OHCI controller [ 1.554841] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 4 [ 1.554954] ohci-platform 1c1c400.usb: irq 97, io mem 0x01c1c400 [ 1.613503] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001 [ 1.620312] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.627528] usb usb4: Product: Generic Platform OHCI controller [ 1.633456] usb usb4: Manufacturer: Linux 3.14.18 ohci_hcd [ 1.638938] usb usb4: SerialNumber: 1c1c400.usb [ 1.644084] hub 4-0:1.0: USB hub found [ 1.647882] hub 4-0:1.0: 1 port detected [ 1.652366] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 1.665555] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities [ 1.674862] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities [ 1.689116] EXT4-fs (mmcblk0p2): mounted filesystem without journal. Opts: (null) [ 1.696686] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [ 1.703713] Freeing unused kernel memory: 188K (c0499000 - c04c8000) procd: Console is alive procd: - watchdog - procd: - preinit - probing /dev/mmcblk0 for uboot env data Detected generic sunxi // generic sunxi [ 2.015607] random: mktemp urandom read with 18 bits of entropy available Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level mounting /dev/root [ 5.243720] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) procd: - early - procd: - watchdog - procd: - ubus - procd: - init - Please press Enter to activate this console. [ 6.408240] NET: Registered protocol family 10 [ 6.417447] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 6.433935] sunxi-rtc 1c20d00.rtc: rtc core: registered rtc-sunxi as rtc0 [ 6.441258] sunxi-rtc 1c20d00.rtc: RTC enabled [ 6.457548] ip_tables: (C) 2000-2006 Netfilter Core Team [ 6.474170] nf_conntrack version 0.5.0 (16155 buckets, 64620 max) [ 6.557179] xt_time: kernel timezone is -0000 [ 6.566402] PPP generic driver version 2.4.2 [ 6.578683] NET: Registered protocol family 24 [ 8.096884] random: nonblocking pool is initialized [ 9.590856] No MAC Management Counters available [ 9.600176] device eth0 entered promiscuous mode [ 9.620039] br-lan: port 1(eth0) entered forwarding state [ 9.625518] br-lan: port 1(eth0) entered forwarding state procd: - init complete - [ 11.579696] br-lan: port 1(eth0) entered disabled state [ 15.579608] libphy: stmmac-0:00 - Link is Up - 1000/Full [ 15.584973] br-lan: port 1(eth0) entered forwarding state [ 15.590434] br-lan: port 1(eth0) entered forwarding state [ 17.589321] br-lan: port 1(eth0) entered forwarding state BusyBox v1.22.1 (2014-09-28 19:27:37 CEST) built-in shell (ash) Enter 'help' for a list of built-in commands. _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- CHAOS CALMER (Bleeding Edge, r42689) ----------------------------------------------------- * 1 1/2 oz Gin Shake with a glassful * 1/4 oz Triple Sec of broken ice and pour * 3/4 oz Lime Juice unstrained into a goblet. * 1 1/2 oz Orange Juice * 1 tsp. Grenadine Syrup ----------------------------------------------------- root@OpenWrt:/#
root@OpenWrt:/# cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) Features : swp half thumb fastmult vfp edsp vfpv3 tls vfpv4 idiva idivt v fpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 4 processor : 1 model name : ARMv7 Processor rev 4 (v7l) Features : swp half thumb fastmult vfp edsp vfpv3 tls vfpv4 idiva idivt v fpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 4 Hardware : Allwinner sun7i (A20) Family Revision : 0000 Serial : 0000000000000000 root@OpenWrt:/#