This is an old revision of the document!
Table of Contents
BananaPi R3
Hardware
bootmedium
- SD / eMMC sharing 1 mmc-controller in SoC
- SD 4bit bus, eMMC 8bit
- switched first 4 data-lanes by sw6 (bottom)
- SPI NAND/NOR sharing SPI0-Bus
- CS switched by sw5
sw2 on top of board near debug-uart chooses between SPI and MMC
I have NOR not yet working,it is not recognized in uboot
Network connections
gmac1----(p6)mt7531(P1-4)--LANx4 (P0)----WAN (p5)---right SFP slot gmac2----left SFP slot
SFP
We have both sfp recognized but working
mount -t debugfs none /sys/kernel/debug/ cat /sys/kernel/debug/sfp1/state
WIFI
USB / PCIe
mPCIe slot is usb-only with SIM connector (bottom of board). PCIe is mapped to m.2 key-m slot for nvme SSD
Sata possible via M.2 KEY-M 2lane interface on bottom side of board
I test mpcie slot with an em7455 LTE module
GPIO
Software
partition layout
32MB kernel/256MB root: gpt_sd-20220216.bin
create own partition table: (currently i try to port to python3,but get crc error, so only python2-support):
https://github.com/frank-w/BPI-R3-bsp/tree/r3-atf/tools/mediatek/gpt_editor
(cd tools/mediatek/gpt_editor/;python mtk_gpt.py --i example/mt7986-sd.json --o GPT_SD)
Created a gpt with 100mb kernel+6GB root partition with an python2 venv
https://github.com/frank-w/BPI-R3-bsp/blob/r3-atf/gpt_sdmmc_100m6g.img
atf / u-boot
Daniels code: https://github.com/dangowrt/arm-trusted-firmware/tree/mtksoc-v2.6/
https://git.openwrt.org/?p=openwrt/staging/dangole.git;a=shortlog;h=refs/heads/r3-mt7986
linux
Own repo: https://github.com/frank-w/BPI-R2-4.14/commits/5.19-r3
./build.sh importconfig ./build.sh #build kernel
Then copy bpi-r3.itb to card and start from uboot with commands listed above (setenv, fatload, bootm)
openwrt
debian
root@bpi-r3:~# date -s "2022-09-18 18:02:00+0200" root@bpi-r3:~# ip link set lan4 up root@bpi-r3:~# ip addr add 192.168.0.19/24 dev lan4 root@bpi-r3:~# ip route add default via 192.168.0.10 root@bpi-r3:~# apt update root@bpi-r3:~# apt install pciutils usbutils traceroute iperf3 net-tools psmisc wget curl