Skip to contentSkip to conversation

Subject: [V3 0/2] A20-OLinuXino-Lime: new board

PATCH Superseded Francois Perrad 3 participants 5 messages Jun 22, 2015 – Jun 25, 2015

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

v3 cover Subject: [V3 0/2] A20-OLinuXino-Lime: new board

This set adds the board A20-OLinuXino-Lime, with 2 flavors:
- kernel mainline
- linux-sunxi (3.4.x)

Changes V2 -> V3
- rename defconfig in order to avoid conflict between LIME, LIME2 and Micro boards
- mainline:
- some minor documentation fixes
- fix BR2_TARGET_GENERIC_ISSUE
- set BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.04"
- mali:
- switch to mainline U-Boot
- merge readme.txt
- refactor with github helper
- fix BR2_TARGET_GENERIC_ISSUE

Changes V1 -> V2: review/comments by Arnout Vandecappelle
- mainline:
- set BR2_KERNEL_HEADERS_4_0=y
- set BR2_LINUX_KERNEL_INSTALL_TARGET=y
- set BR2_TARGET_ROOTFS_EXT2_4=y
- refactor post-build with arguments from BR2_ROOTFS_POST_SCRIPT_ARGS
- rename of board/cubietech/cubieboard/mkcubiecard.sh
- patch removed
- legacy renamed to mali:
- refactor post-build with arguments from BR2_ROOTFS_POST_SCRIPT_ARGS
- readme-mali.txt:
- include text from https://linux-sunxi.org/Linux_Kernel
- fix a typo

Francois Perrad (2):
A20-OLinuXino-Lime: new board (mainline)
A20-OLinuXino-Lime: new board (mali)

 board/olimex/a20_olinuxino_lime/boot-mali.cmd    |   5 ++
 board/olimex/a20_olinuxino_lime/boot.cmd         |   5 ++
 board/olimex/a20_olinuxino_lime/post-build.sh    |  12 +++
 board/olimex/a20_olinuxino_lime/readme.txt       | 100 +++++++++++++++++++++++
 configs/olimex_a20_olinuxino_lime_defconfig      |  42 ++++++++++
 configs/olimex_a20_olinuxino_lime_mali_defconfig |  47 +++++++++++
 6 files changed, 211 insertions(+)
 create mode 100644 board/olimex/a20_olinuxino_lime/boot-mali.cmd
 create mode 100644 board/olimex/a20_olinuxino_lime/boot.cmd
 create mode 100755 board/olimex/a20_olinuxino_lime/post-build.sh
 create mode 100644 board/olimex/a20_olinuxino_lime/readme.txt
 create mode 100644 configs/olimex_a20_olinuxino_lime_defconfig
 create mode 100644 configs/olimex_a20_olinuxino_lime_mali_defconfig
Signature · 1 line
2.1.4
#1 lore raw

PATCH v3 1/2 A20-OLinuXino-Lime: new board (mainline)

config device tree / mainline (4.0.5)

---
 board/olimex/a20_olinuxino_lime/boot.cmd      |  5 ++
 board/olimex/a20_olinuxino_lime/post-build.sh |  8 +++
 board/olimex/a20_olinuxino_lime/readme.txt    | 86 +++++++++++++++++++++++++++
 configs/olimex_a20_olinuxino_lime_defconfig   | 42 +++++++++++++
 4 files changed, 141 insertions(+)
 create mode 100644 board/olimex/a20_olinuxino_lime/boot.cmd
 create mode 100755 board/olimex/a20_olinuxino_lime/post-build.sh
 create mode 100644 board/olimex/a20_olinuxino_lime/readme.txt
 create mode 100644 configs/olimex_a20_olinuxino_lime_defconfig
board/olimex/a20_olinuxino_lime/boot.cmd new file +5 -0
new file mode 100644
index 0000000..1714f20
@@ -0,0 +1,5 @@
+setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
+ext4load mmc 0 0x49000000 /boot/sun7i-a20-olinuxino-lime.dtb
+ext4load mmc 0 0x46000000 /boot/zImage
+env set fdt_high ffffffff
+bootz 0x46000000 - 0x49000000
board/olimex/a20_olinuxino_lime/post-build.sh new file +8 -0
new file mode 100755
index 0000000..4e6fbec
@@ -0,0 +1,8 @@
+#!/bin/sh
+# args from BR2_ROOTFS_POST_SCRIPT_ARGS
+# $2    path of boot.cmd
+# $3    output directory for boot.scr
+
+MKIMAGE=$HOST_DIR/usr/bin/mkimage
+
+$MKIMAGE -A arm -O linux -T script -C none -d $2 $3/boot.scr
board/olimex/a20_olinuxino_lime/readme.txt new file +86 -0

86 lines not on this page · raw message

configs/olimex_a20_olinuxino_lime_defconfig new file +42 -0

42 lines not on this page · raw message

Signature · 1 line
2.1.4
#2 lore raw

PATCH v3 1/2 A20-OLinuXino-Lime: new board (mainline)

Dear Francois,

Quoted 45 lines · Francois Perrad

config device tree / mainline (4.0.5)

---
  board/olimex/a20_olinuxino_lime/boot.cmd      |  5 ++
  board/olimex/a20_olinuxino_lime/post-build.sh |  8 +++
  board/olimex/a20_olinuxino_lime/readme.txt    | 86 +++++++++++++++++++++++++++
  configs/olimex_a20_olinuxino_lime_defconfig   | 42 +++++++++++++
  4 files changed, 141 insertions(+)

create mode 100644 board/olimex/a20_olinuxino_lime/boot.cmd create mode 100755 board/olimex/a20_olinuxino_lime/post-build.sh create mode 100644 board/olimex/a20_olinuxino_lime/readme.txt create mode 100644 configs/olimex_a20_olinuxino_lime_defconfig

board/olimex/a20_olinuxino_lime/boot.cmd new file +5 -0
new file mode 100644
index 0000000..1714f20
@@ -0,0 +1,5 @@
+setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
+ext4load mmc 0 0x49000000 /boot/sun7i-a20-olinuxino-lime.dtb
+ext4load mmc 0 0x46000000 /boot/zImage
+env set fdt_high ffffffff
+bootz 0x46000000 - 0x49000000
board/olimex/a20_olinuxino_lime/post-build.sh new file +8 -0
new file mode 100755
index 0000000..4e6fbec
@@ -0,0 +1,8 @@
+#!/bin/sh
+# args from BR2_ROOTFS_POST_SCRIPT_ARGS
+# $2    path of boot.cmd
+# $3    output directory for boot.scr
+
+MKIMAGE=$HOST_DIR/usr/bin/mkimage
+
+$MKIMAGE -A arm -O linux -T script -C none -d $2 $3/boot.scr
board/olimex/a20_olinuxino_lime/readme.txt new file +0 -0
new file mode 100644
index 0000000..3fc9c02

board/olimex/a20_olinuxino_lime/readme.txt line 7

Quoted 7 lines
board/olimex/a20_olinuxino_lime/readme.txt new file +7 -0
@@ -0,0 +1,86 @@
+A20-OLinuXino-LIME
+
+Intro
+=====
+
+This is a open hardware board,
+see https://www.olimex.com/Products/OLinuXino/open-source-hardware

No comment about the suggestion I made in the v2 review? Here it is again:

| Why not a link to the board page itself as well?
| It's https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/

For the rest it looks good. I hope to grab a Lime board in a few days to run-time test it... but for the time being:

Signature · 1 line
Luca
#3 lore raw

PATCH v3 2/2 A20-OLinuXino-Lime: new board (mali)

In reply to Francois Perrad

config mali / sunxi

---
 board/olimex/a20_olinuxino_lime/boot-mali.cmd    |  5 +++
 board/olimex/a20_olinuxino_lime/post-build.sh    |  4 ++
 board/olimex/a20_olinuxino_lime/readme.txt       | 16 +++++++-
 configs/olimex_a20_olinuxino_lime_mali_defconfig | 47 ++++++++++++++++++++++++
 4 files changed, 71 insertions(+), 1 deletion(-)
 create mode 100644 board/olimex/a20_olinuxino_lime/boot-mali.cmd
 create mode 100644 configs/olimex_a20_olinuxino_lime_mali_defconfig
board/olimex/a20_olinuxino_lime/boot-mali.cmd new file +5 -0
new file mode 100644
index 0000000..4e3cdc7
@@ -0,0 +1,5 @@
+setenv bootm_boot_mode sec
+setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
+ext4load mmc 0 0x43000000 /boot/script.bin
+ext4load mmc 0 0x48000000 /boot/zImage
+bootz 0x48000000
board/olimex/a20_olinuxino_lime/post-build.sh +4 -0
index 4e6fbec..ac8d4df 100755
@@ -6,3 +6,7 @@
 MKIMAGE=$HOST_DIR/usr/bin/mkimage
 
 $MKIMAGE -A arm -O linux -T script -C none -d $2 $3/boot.scr
+
+if [ -e $BINARIES_DIR/script.bin ]; then
+	cp $BINARIES_DIR/script.bin $3/script.bin
+fi
board/olimex/a20_olinuxino_lime/readme.txt +15 -1
index 3fc9c02..92ee24a 100644
@@ -6,11 +6,24 @@ Intro
 This is a open hardware board,
 see https://www.olimex.com/Products/OLinuXino/open-source-hardware
 
+The legacy linux-sunxi kernels are based on the vendor code drops.
+It is only useful when accelerated 3D graphics and multimedia support
+is strictly necessary.
+
+The Mainline Kernel is already a much better choice for a headless server.
+And also the mainline kernel works fine even for a basic Linux desktop
+system running on top of a simple framebuffer, which may be good enough for
+the users who do not need fancy 3D graphics or video playback acceleration.
+
 How to build it
 ===============
 
     $ make olimex_a20_olinuxino_lime_defconfig
 
+or
+
+    $ make olimex_a20_olinuxino_lime_mali_defconfig
+
 Compile everything and build the rootfs image:
 
     $ make
@@ -23,7 +36,8 @@ After building, you should get a tree like this:
     output/images/
     +-- rootfs.ext2
     +-- rootfs.ext4 -> rootfs.ext2
-    +-- sun7i-a20-olinuxino-lime.dtb
+    +-- script.bin (mali)
+    +-- sun7i-a20-olinuxino-lime.dtb (mainline)
     +-- u-boot.bin
     +-- u-boot-sunxi-with-spl.bin
     `-- zImage
configs/olimex_a20_olinuxino_lime_mali_defconfig new file +47 -0

47 lines not on this page · raw message

Signature · 1 line
2.1.4
#4 lore raw

PATCH v3 2/2 A20-OLinuXino-Lime: new board (mali)

Quoted 3 lines · Francois Perrad

config mali / sunxi

[snip]

configs/olimex_a20_olinuxino_lime_mali_defconfig line 6

Quoted 12 lines
configs/olimex_a20_olinuxino_lime_mali_defconfig new file +6 -0
new file mode 100644
index 0000000..a515ded
@@ -0,0 +1,47 @@
+# Architecture
+BR2_arm=y
+BR2_cortex_a7=y
+
+# Kernel headers
+BR2_KERNEL_HEADERS_3_4=y

We normally even fix the patchlevel:

BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="3.4.108"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y

though honestly I don't see why we shouldn't follow the bumping of the patchlevel.

configs/olimex_a20_olinuxino_lime_mali_defconfig line 19

Quoted 13 lines
configs/olimex_a20_olinuxino_lime_mali_defconfig new file +13 -0
+
+# System configuration
+BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino"
+BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!"
+BR2_TARGET_GENERIC_GETTY=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino_lime/post-build.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="board/olimex/a20_olinuxino_lime/boot-mali.cmd $(TARGET_DIR)/boot"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_VERSION="sunxi-3.4"

This is a hidden symbol so it has no place in the defconfig.

configs/olimex_a20_olinuxino_lime_mali_defconfig line 20

Quoted 1 line
configs/olimex_a20_olinuxino_lime_mali_defconfig new file +1 -0
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

It's either CUSTOM_GIT or CUSTOM_TARBALL, not both... _GIT should be removed.

Regards,
Arnout

Quoted 28 lines
configs/olimex_a20_olinuxino_lime_mali_defconfig new file +27 -0
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux-sunxi,linux-sunxi,sunxi-v3.4.103-r1)/sunxi-v3.4.103-r1.tar.gz"
+BR2_LINUX_KERNEL_USE_DEFCONFIG=y
+BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
+BR2_LINUX_KERNEL_ZIMAGE=y
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+# sunxi packages
+BR2_PACKAGE_SUNXI_TOOLS=y
+BR2_PACKAGE_SUNXI_BOARDS=y
+BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/a20-olinuxino_lime.fex"
+
+# Filesystem
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+# BR2_TARGET_ROOTFS_TAR is not set
+
+# Bootloaders
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime"
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.01"
+BR2_TARGET_UBOOT_FORMAT_BIN=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
+
+# Additional tools
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF