OLinuXino A20 Rev E :

CHANGELOG

UART

If you have an UART Link you'll be able to see those uboot messages :

# Olimex micro eth .... uart0 { 3v, tx0, rx0 , gnd } .... power

linux-sunxi.org_images_thumb_1_1e_olinuxino_a20_uart_uart.jpg_360px-olinuxino_a20_uart_uart.jpg

This worked from me from RPI's UART to OLinuXino UART (3wires)

I used an Rpi as UART cable (dont connect vcc, just gnd and rx to tx in both way)

root@pi:~# screen /dev/ttyAMA0 115200
 _________________
| 
| 5V   5V   *GND*  *TXD*  *RXD*  PCM  ...
| 3V3  ...
|
     Raspberry Pi 
U-Boot SPL 2013 1024 MiB
CPU: 96000000/AHB/APB: 3/2/2
spl: not an uImage at 1600


U-Boot 2013.10-rc2-00118-gbf62731 (Oct 13 2013 - 11:53:03) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Board: A20-OLinuXino_MICRO
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0

....

BOOT

Only booting from uSD is supported the larger SD one (but can be used simultaneously)

 U-Boot SPL 2013 1024 MiB
CPU: 96000000/AHB/APB: 3/2/2
spl: not an uImage at 1600


U-Boot 2013.10-rc2-00118-gbf62731 (Oct 13 2013 - 11:53:03) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Board: A20-OLinuXino_MICRO
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   emac
Hit any key to stop autoboot:  0 
sun7i# 


U-Boot 2011.09-rc1-00000-geceb6aa-dirty (Sep 17 2013 - 14:53:57) Allwinner Technology

CPU:   SUNXI Family
Board: SUN7I-EVB
DRAM:  1 GiB
NAND:  [NAND] set nand_good_block_ratio 870
3480 MiB

sunxi#printenv
boot_fastboot=fastboot
boot_normal=boota 40007800
boot_recovery=sunxi_flash read 40007800 recovery;boota 40007800
bootcmd=run setargs_nand boot_normal
bootdelay=3
console=ttyS0,115200
fastboot_key_value_max=0x8
fastboot_key_value_min=0x2
init=/init
loglevel=4
mmc_root=/dev/mmcblk0p7
nand_root=/dev/system
partitions=bootloader@nanda:env@nandb:boot@nandc:system@nandd:data@nande:misc@nandf:recovery@nandg:cache@nandh:databk@nandi:private@nandj:UDISK@nandk
recovery_key_value_max=0x13
recovery_key_value_min=0x10
root=/dev/sda2
setargs_mmc=setenv bootargs console=${console} root=${mmc_root} init=${init} loglevel=${loglevel} partitions=${partitions}
setargs_nand=setenv bootargs console=${console} root=${nand_root} init=${init} loglevel=${loglevel} partitions=${partitions}
stderr=serial
stdin=serial
stdout=serial

Environment size: 859/131068 bytes

UpStream:

Links:

WIP

First, I could not boot it first because I needed a larger micro SdCard to put :

archive=a20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_release5.7z# armhf wheezy
file=a20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_release5.img # 3980394496
disk=/dev/sdb # 3963617280 3965190144
time 7z e -so $archive $file | sudo dd bs=8MB of=$disk # 14m35.191s 

See 1st part is starting 1MB ahead :

# 1      1049kB  17.8MB  16.8MB  primary  fat16
# 2      17.8MB  3980MB  3963MB  primary  ext3

So let's format at repart our 4GB sdcard :

sudo parted /dev/sdb -s resize 1 1MB 17MB
sudo parted /dev/sdb -s mkpart p ext3 17MB 100% 
sudo mkfs.ext3 /dev/sdb2
Did not boot . just got the Red LED on ...

Once Reparted SdCard ( keep space before 1st part) too add Uboot over it :

# sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

LINUX

Now it booted (using my RpI's UarT as SeriaL link : you can see Uboot messages ; and Standard linux dmesg

[    0.000000] Linux version 3.4.67+ (root@debian) (gcc version 4.7.1 (Debian 4.7.1-7) ) #6 SMP PREEMPT Fri Nov 1 17:32:40 EET 2013
[    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: sun7i
[    0.000000] Memory cut off:
[    0.000000]  MALI : 0x5c000000 - 0x5fffffff  (  64 MB)
[    0.000000] Ignoring unrecognised tag 0x00000000
[    0.000000] Memory Reserved:
[    0.000000]  SYS  : 0x43000000 - 0x4300ffff  (  64 kB)
[    0.000000]  VE   : 0x44000000 - 0x48ffffff  (  80 MB)
[    0.000000]  G2D  : 0x49000000 - 0x49ffffff  (  16 MB)
[    0.000000]  LCD  : 0x5a000000 - 0x5bffffff  (  32 MB)
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] sunxi: Allwinner A20 (AW1651/sun7i) detected.
...

OS

Debian

ARMBIAN

I can share a backup of my sdcard to fit in smaller SdCard :

sudo apt-get remove iceweasel xserver-xorg-video-radeon xserver-xorg-video-ati xserver-xorg-video-nouveau 
sudo apt-get remove mousepad orage squeeze xfburn squeak-plugins-scratch
apt-get  remove xfce4-weather-plugin  a2ps  xserver-xorg-dev   libavutil-dev  libpixman-1-dev  libpostproc-dev  libsmbclient-dev  libswscale-dev  libavformat-dev  libavdevice-dev 

OE

TODO

TODO : SoftWare :

SoftWare :

HardWare :

Note that the board consumes around 300mA of current at 12V = 3.6W but 5W is preferred

CPU A20 : Dual-Core ARM Cortex-A7

NETWORK

  • Realtek's RTL8201CP

GRAPHICS

root@micro:~# cat /boot/micro-vga.fex

[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 4
screen0_output_mode = 4
screen1_output_type = 3
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 1
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 1

if [ -e '/dev/cedar_dev' ] ; then
export DISPLAY=:0 ;
export VDPAU_DRIVER=sunxi ;
export LIBVA_DRIVER_NAME=vdpau ;
export VDPAU_SCREEN=0 ;
fi

gst-launch-1.0  videotestsrc ! autovideosink

gst-launch-1.0  videotestsrc ! vaapisink fullscreen=true



   root@micro:~# export DISPLAY=:0 ; export VDPAU_DRIVER=sunxi ; vdpauinfo
   gst-launch-1.0 filesrc location=my-video.mp4 ! qtdemux ! vaapidecode ! vaapisink

   sudo apt-get install automake1.11 m4
   [VDPAU SUNXI] Requested unimplemented background_surface
  
   root@micro:/usr/local/src/libvdpau-sunxi# make clean ; make ; sudo make install


   root@micro:/usr/local/src/vdpau-driver# apt-get install cdbs



   #root@micro:/usr/local/src/vdpau-driver# make clean ; make ; sudo make install 
   root@micro:/usr/local/src/vdpau-driver# make deb

GPU : ARM Mali-400 MP2

VPU

sunxi_cedar_mod

  apt-get install libvdpau-dev libvdpau1 vdpau-va-driver vdpauinfo
 
git clone git://anongit.freedesktop.org/vaapi/vdpau-driver

LIBVA

[VDPAU SUNXI] Requested unimplemented background_surface
[DISP] request scaler layer fail!
[18257.757701] [DISP] request scaler fail

IO / STORAGE / SATA

IO : SATA connector with 5V SATA power jack

Connector is close to supply, red wire is close to the edge , black wire is close to center of .com in onlimex.com label.

Observed:

Average writing speed: 30.68 MB/s  # with f3write on SSD disk
Average reading speed: 101.60 MB/s

https://www.kingston.com/en/ssd/a400-solid-state-drive?partnum=sa400s37%2F480g

STORAGE : eMMC / NAND

NAND

root@A20-OLinuXino:~# lsblk  -b /dev/nand # 4GB
NAME MAJ:MIN RM       SIZE RO TYPE MOUNTPOINT
nand  93:0    0 3984588800  0 disk 


root@A20-OLinuXino:~# dmesg  | grep -i nand
[    1.500935] [NAND] nand driver version: 0x2 0x9 
[    3.157659] Dev Sunxi softw311 nand magic does not match for MBR 1: softw411
[    3.170827] Dev Sunxi softw311 nand magic does not match for MBR 2:          
[    3.184057] Dev Sunxi softw311 nand magic does not match for MBR 3:          
[    3.197282] Dev Sunxi softw311 nand magic does not match for MBR 4:          
[    3.212146] Dev Sunxi softw311 nand header bad for all MBR copies, MBR corrupted or not present.
[    3.230488] Dev Sunxi softw411 nand: part 1, start 32768, size 32768
[    3.242184] Dev Sunxi softw411 nand: part 2, start 65536, size 32768
[    3.253844] Dev Sunxi softw411 nand: part 3, start 98304, size 32768
[    3.265763] Dev Sunxi softw411 nand: part 4, start 131072, size 1048576
[    3.278026] Dev Sunxi softw411 nand: part 5, start 1179648, size 1048576
[    3.290202] Dev Sunxi softw411 nand: part 6, start 2228224, size 32768
[    3.302205] Dev Sunxi softw411 nand: part 7, start 2260992, size 65536
[    3.314380] Dev Sunxi softw411 nand: part 8, start 2326528, size 1048576
[    3.326653] Dev Sunxi softw411 nand: part 9, start 3375104, size 524288
[    3.338831] Dev Sunxi softw411 nand: part 10, start 3899392, size 32768
[    3.351181] Dev Sunxi softw411 nand: part 11, start 3932160, size 3850240
[    3.364655]  nand: nanda nandb nandc nandd nande nandf nandg nandh nandi nandj nandk
[    3.376622] [NAND]nand driver, ok.
root@A20-OLinuXino:~# 

root@A20-OLinuXino:~# cat /proc/version 
Linux version 3.4.103-00033-g9a1cd034181a-dirty (root@debian) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) ) #44 SMP PREEMPT Fri Mar 10 08:50:33 EET 2017

 grep nand  /proc/devices  
 93 nand

root@A20-OLinuXino:~# ls -l /dev/nand
brw-rw---- 1 root disk 93, 0 Jan  1  2010 /dev/nand


root@A20-OLinuXino:~# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"


sudo nandinstall

SDCARD

The bigger SD card slot is not detecting any card ?

cat /proc/device-tree/model 
Olimex A20-OLinuXino-LIME
find  /sys/devices/platform/ -iname 'date'
/sys/devices/platform/soc/1c20d00.rtc/rtc/rtc0/date
/sys/devices/platform/soc/1c0f000.mmc/mmc_host/mmc0/mmc0:0001/date
<code>


==== AUDIO ====

  * https://www.olimex.com/forum/index.php?topic=3004.msg13160#msg13160
  * https://www.olimex.com/forum/index.php?topic=2071.msg10312#msg10312# SpdiF


==== GPIO ====

  cat /sys/class/gpio/export 
  echo "47" > /sys/class/gpio/export 
  echo "out" > /sys/class/gpio/gpio47_ph2/direction 
  echo "1" > /sys/class/gpio/gpio47_ph2/value 

  * http://www.youtube.com/watch?v=xLP35NGRVhA
  * http://linux-sunxi.org/GPIO#Accessing_the_GPIO_pins_through_sysfs_on_sunxi-3.4
  * https://www.olimex.com/forum/index.php?topic=1836.msg8310#msg8310# SeriaL UarT
  * https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-F/# LvTtl
  * https://www.olimex.com/forum/index.php?topic=2309.0# [[IR]] TSOP4838


==== DISPLAY : LCD_CON / LVDS ====

  * https://www.olimex.com/forum/index.php?topic=2097.0
  * https://www.olimex.com/forum/index.php?topic=2996.0
  * ftp://ftp.cadsoft.de/eagle/program/6.5/eagle-lin-6.5.0.run
  * https://www.olimex.com/Products/OLinuXino/A20/A20-LCD15.6/resources/LCD15_sources.zip

  * http://rzr.free.fr.tripod.com/file/A20-LCD15_6_rev_D.scm.tmp.png
  * http://rzr.free.fr.tripod.com/file/A20-LCD15_6_rev_D.brd.tmp.png


==== PARTS ====

  * https://www.olimex.com/forum/index.php?topic=1687.0# PowerSupply
  * http://www.bwiegmann.de/index.php/en/home/29-blog/blog-en/73-erste-a20-olinuxino-micro-verfuegbar-2# LeD? 
  * http://rzr.online.fr/x/pdf/https://github.com/OLIMEX/OLINUXINO/raw/master/HARDWARE/A20-PDFs/A20%20Datasheet%20v1.0%2020130227.pdf

{{https://www.olimex.com/wiki/images/6/6e/A20-OLinuXino-FRONT.jpg}}


==== UBOOT ====

<code>
Board: A20-OLinuXino_MICRO
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   emac
Hit any key to stop autoboot:  0 
sun7i# fatload mmc 0 0x46000000 uImage
reading uImage
1826608 bytes read in 98 ms (17.8 MiB/s)
sun7i# fatload mmc 0 0x49000000 sun7i-a20-olinuxino-micro.dtb
reading sun7i-a20-olinuxino-micro.dtb
22905 bytes read in 21 ms (1 MiB/s)
sun7i# env set fdt_high ffffffff
sun7i# bootm 0x46000000 - 0x49000000
## Booting kernel from Legacy Image at 46000000 ...
   Image Name:   Linux-3.15.0-rc5-14254-gb9505da
   Created:      2014-05-20  13:41:16 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1826544 Bytes = 1.7 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 49008978

Starting kernel ...

A80

OS :

SERIAL PORT

[132046.522607] usb 1-1.6: new full-speed USB device number 3 using ehci-pci
[132046.615573] usb 1-1.6: New USB device found, idVendor=067b, idProduct=2303
[132046.615575] usb 1-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[132046.615576] usb 1-1.6: Product: USB-Serial Controller
[132046.615577] usb 1-1.6: Manufacturer: Prolific Technology Inc.
[132046.750031] usbcore: registered new interface driver usbserial
[132046.750040] usbcore: registered new interface driver usbserial_generic
[132046.750047] usbserial: USB Serial support registered for generic
[132046.767178] usbcore: registered new interface driver pl2303
[132046.767188] usbserial: USB Serial support registered for pl2303
[132046.767203] pl2303 1-1.6:1.0: pl2303 converter detected
[132046.768728] usb 1-1.6: pl2303 converter now attached to ttyUSB0
  shell@kylin-optimus:/ $ cat /proc/version                                      
  Linux version 3.4.39+ (zhu@Ubuntu12) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #9 SMP PREEMPT Fri Jun 20 16:18:38 CST 2014

# cat  /system/build.prop
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=KVT49L
ro.build.display.id=kylin_optimus-eng 4.4.2 KVT49L 20140620 test-keys
ro.build.version.incremental=20140620
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.version.release=4.4.2
ro.build.date=2014年 06月 20日 星期五 20:03:23 CST
ro.build.date.utc=1403265803
ro.build.type=eng
ro.build.user=zhu
ro.build.host=Ubuntu12
ro.build.tags=test-keys
ro.product.model=UltraOcta A80 OptimusBoard
ro.product.brand=Allwinner
ro.product.name=kylin_optimus
ro.product.device=kylin-optimus
ro.product.board=exdroid
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Allwinner
ro.product.locale.language=en
ro.product.locale.region=US

UBOOT

U-Boot 2011.09-rc1-00001-ga70098a (Jun 09 2014 - 09:12:58) Allwinner Technology 
arm-linux-gnueabi-gcc (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) 4.6.3 20120201 (prerelease)
GNU ld (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) 2.22

A20 / HOWTO

ERROR:

uptime
16:23:51 up 4 days,  9:55,  1 user,  load average: 0.18, 0.16, 0.11

[361930.240997] Unable to handle kernel paging request at virtual addresc 00e95914
[361930.248395] pgd = 04dc887e
[361930.251202] [00e95914] *pgd=00000000
[361930.255022] Internal error: Oops: 5 [#1] SMP THUMB2
[361930.260018] Modules linked in: fuse xt_multiport xt_REDIRECT iptable_nat nf_nat_ipv4 nf_nat ip6table_filter ip6_tables xt_tcpudp xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_filter zstd sun4i_gpadc_iio zram axp20x_adc industrialio evdev lima at24 gpu_sched ttm sun4i_ts sun4i_gpadc sun4i_ss cpufreq_dt uio_pdrv_genirq uio thermal_sys bonding ip_tables x_tables uas
[361930.294034] CPU: 1 PID: 8348 Comm: kworker/1:2 Not tainted 4.19.62-sunxi #5.92
(...)
[361930.549225] [<c05f2e7e>] (ccu_div_set_rate) from [<c05ed067>] (clk_change_rate+0x9b/0x2f4)
[361930.557609] [<c05ed067>] (clk_change_rate) from [<c05ed0ef>] (clk_change_rate+0x123/0x2f4)

 xinit


X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.19.0-12-armmp-lpae armv7l Debian

waiting for X server to shut down Xorg: ../../../../include/privates.h:121: dixGetPrivateAddr: Assertion `key->initialized' failed.

sudo apt install sunxi-tools xserver-xorg-video-armsoc-sun4i

libGL error: unable to load driver: sun4i-drm_dri.so                                                                                                                                                                                       

MisC :

MORE

@TaG: ArM

www.olimex.com_wiki_images_a_a9_example.jpg

sunxi.txt · Last modified: 2024/03/25 16:05 by rzr
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki