Skip to contentSkip to conversation

Adding support for Ariag25 and Terra board from Acmesystems

PATCH New Angelo Compagnucci 3 participants 3 messages Jun 20, 2014 – Oct 12, 2014 Arm/Microchip (AT91) SoC support

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 Adding support for Ariag25 and Terra board from Acmesystems

This patch adds support for Acmesystems' AriaG25 SOM and the corresponding Terra demo board.
The AriaG25 config is fairly basic, it provides only the minimal configuration to get the module booting.
The Terra config instead provides many userspace tools.

---
 board/acmesystems/README.md                        |  32 ++++
 board/acmesystems/ariag25/at91-ariag25.config      | 211 +++++++++++++++++++++
 board/acmesystems/ariag25/at91-ariag25.dts         | 191 +++++++++++++++++++
 .../fs-overlay/etc/network/interfaces              |   5 +
 configs/ariag25_defconfig                          |  11 ++
 configs/ariag25_demo_terra_defconfig               |  17 ++
 6 files changed, 467 insertions(+)
 create mode 100644 board/acmesystems/README.md
 create mode 100644 board/acmesystems/ariag25/at91-ariag25.config
 create mode 100644 board/acmesystems/ariag25/at91-ariag25.dts
 create mode 100644 board/acmesystems/ariag25_terra/fs-overlay/etc/network/interfaces
 create mode 100644 configs/ariag25_defconfig
 create mode 100644 configs/ariag25_demo_terra_defconfig
board/acmesystems/README.md new file +32 -0
new file mode 100644
index 0000000..b09941a
@@ -0,0 +1,32 @@
+# AriaG25 / Terra board support
+
+Aria G25 is a cost-effective System-on-Module (SoM) thought of to drastically reduce the development time needed to design a low-power and low-EMI Linux Embedded device.
+
+Terra board is a complete hardware solution conceived to:
+
+* Evaluate the Aria G25 Linux embedded module for your own hardware design (schematic, bom, etc are available here)
+
+* Create concept prototypes using the Daisy add-on boards system for in-field applications
+
+* Build end-user products
+
+
+## AriaG25 Getting started
+
+To build a new minimal AriaG25 rootfs simply load corresponding ariag25_defconfig file. The config is fairly basic with only the kernel and busybox selected.
+
+To make the board bootable please follow the instruction on the producer website:
+
+[http://acmesystems.it/binary_repository](http://acmesystems.it/binary_repository)
+
+You will only need the correct boot.bin file for your board type, everithing else like kernel, dtb and roots are built by buildroot inside images directory.
+
+## Terra getting started
+
+To build a new minimal AriaG25 rootfs simply open the corresponding ariag25_demo_terra_defconfig file. This configuration is a bit more complete than the other and provides python, networking support and ssh access. It's meant to be usable as a reference for running example code you can find on the producer website:
+
+[http://acmesystems.it/tutorials](http://acmesystems.it/tutorials)
+
+Networking is configured for DHCP on the eth0.
+
+Please note that this configuration needs the correct boot.bin file, please refer to the AriaG25 getting started to know how to obtain it.
\ No newline at end of file
board/acmesystems/ariag25/at91-ariag25.config new file +211 -0

211 lines not on this page · raw message

board/acmesystems/ariag25/at91-ariag25.dts new file +191 -0

191 lines not on this page · raw message

board/acmesystems/ariag25_terra/fs-overlay/etc/network/interfaces new file +5 -0
new file mode 100644
index 0000000..104c1a1
@@ -0,0 +1,5 @@
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet dhcp
configs/ariag25_defconfig new file +11 -0
new file mode 100644
index 0000000..a572be5
@@ -0,0 +1,11 @@
+BR2_arm=y
+BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"
+BR2_TARGET_GENERIC_HOSTNAME="ariag25"
+BR2_TARGET_GENERIC_ISSUE="Welcome to AriaG25 by www.acmesystems.it!"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/acmesystems/ariag25/at91-ariag25.config"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/ariag25/at91-ariag25.dts"
configs/ariag25_demo_terra_defconfig new file +17 -0
new file mode 100644
index 0000000..6ceea7f
@@ -0,0 +1,17 @@
+BR2_arm=y
+BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"
+BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
+BR2_TARGET_GENERIC_HOSTNAME="ariag25"
+BR2_TARGET_GENERIC_ISSUE="Welcome to AriaG25 by www.acmesystems.it!"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
+BR2_ROOTFS_OVERLAY="board/acmesystems/ariag25_terra/fs-overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/acmesystems/ariag25/at91-ariag25.config"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/ariag25/at91-ariag25.dts"
+BR2_PACKAGE_PYTHON=y
+BR2_PACKAGE_PYTHON_SERIAL=y
+BR2_PACKAGE_DROPBEAR=y
Signature · 1 line
2.0.0
#1 lore raw

PATCH v3 1/1 Adding support for Ariag25 and Terra board from Acmesystems

Dear Angelo Compagnucci,

Thanks for this patch. See my comments below.

The title of the patch should rather be something like:

board: add support for Acmesystems Ariag25 and Terra boards

Quoted 29 lines · Angelo Compagnucci
board/acmesystems/README.md new file +23 -0
new file mode 100644
index 0000000..b09941a
@@ -0,0 +1,32 @@
+# AriaG25 / Terra board support
+
+Aria G25 is a cost-effective System-on-Module (SoM) thought of to drastically reduce the development time needed to design a low-power and low-EMI Linux Embedded device.
+
+Terra board is a complete hardware solution conceived to:
+
+* Evaluate the Aria G25 Linux embedded module for your own hardware design (schematic, bom, etc are available here)
+
+* Create concept prototypes using the Daisy add-on boards system for in-field applications
+
+* Build end-user products
+
+
+## AriaG25 Getting started
+
+To build a new minimal AriaG25 rootfs simply load corresponding ariag25_defconfig file. The config is fairly basic with only the kernel and busybox selected.
+
+To make the board bootable please follow the instruction on the producer website:
+
+[http://acmesystems.it/binary_repository](http://acmesystems.it/binary_repository)
+
+You will only need the correct boot.bin file for your board type, everithing else like kernel, dtb and roots are built by buildroot inside images directory.
+

board/acmesystems/README.md line 32

Quoted 10 lines
board/acmesystems/README.md new file +9 -0
+## Terra getting started
+
+To build a new minimal AriaG25 rootfs simply open the corresponding ariag25_demo_terra_defconfig file. This configuration is a bit more complete than the other and provides python, networking support and ssh access. It's meant to be usable as a reference for running example code you can find on the producer website:
+
+[http://acmesystems.it/tutorials](http://acmesystems.it/tutorials)
+
+Networking is configured for DHCP on the eth0.
+
+Please note that this configuration needs the correct boot.bin file, please refer to the AriaG25 getting started to know how to obtain it.
\ No newline at end of file

Lines should be wrapped at a reasonable length, and the markdown wiki syntax should not be used. The file should be named readme.txt. See all the other similar text files in Buildroot for examples:

$ find board/ -name 'readme.txt'
board/boundarydevices/nitrogen6x/readme.txt
board/lego/ev3/readme.txt
board/cubietech/cubieboard/readme.txt
board/arm/foundation-v8/readme.txt
board/telit/evk-pro3/readme.txt
board/raspberrypi/readme.txt
board/minnowboard/readme.txt
board/qemu/arm-nuri/readme.txt
board/qemu/powerpc-virtex-ml507/readme.txt
board/qemu/mips64el-malta/readme.txt
board/qemu/powerpc-mpc8544ds/readme.txt
board/qemu/microblazeel-mmu/readme.txt
board/qemu/microblazebe-mmu/readme.txt
board/qemu/x86/readme.txt
board/qemu/mipsel-malta/readme.txt
board/qemu/powerpc-g3beige/readme.txt
board/qemu/sparc-ss10/readme.txt
board/qemu/mips-malta/readme.txt
board/qemu/arm-vexpress/readme.txt
board/qemu/mips64-malta/readme.txt
board/qemu/arm-versatile/readme.txt
board/qemu/x86_64/readme.txt
board/qemu/sh4-r2d/readme.txt
board/altera/sockit/readme.txt
board/avnet/zedboard/readme.txt
board/avnet/s6lx9_microboard/readme.txt
board/atmel/xplained/readme.txt
board/congatec/qmx6/readme.txt
board/freescale/p1010rdb/readme.txt
board/freescale/mpc8315erdb/readme.txt
board/olimex/imx233_olinuxino/readme.txt
board/wandboard/readme.txt
board/ts/ts5x00/readme.txt

board/acmesystems/ariag25/at91-ariag25.config

Quoted 5 lines
board/acmesystems/ariag25/at91-ariag25.config new file +0 -0
new file mode 100644
index 0000000..07a0eca

This file should be named linux-<version>.config so that we know it's the kernel configuration.

What are the differences compared to the at91_dt_defconfig available in the kernel tree? We generally prefer to use the built-in defconfig files from the kernel, when they are appropriate.

board/acmesystems/ariag25/at91-ariag25.dts

Quoted 5 lines
board/acmesystems/ariag25/at91-ariag25.dts new file +0 -0
new file mode 100644
index 0000000..8bb5612

This Device Tree file is already part of the mainline kernel, why do we need to add it in Buildroot ?

Quoted 17 lines
board/acmesystems/ariag25_terra/fs-overlay/etc/network/interfaces new file +5 -0
new file mode 100644
index 0000000..104c1a1
@@ -0,0 +1,5 @@
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet dhcp
configs/ariag25_defconfig new file +0 -0
new file mode 100644
index 0000000..a572be5

configs/ariag25_defconfig line 1

Quoted 1 line
configs/ariag25_defconfig new file +1 -0
@@ -0,0 +1,11 @@
+BR2_arm=y

Add:

BR2_arm926t=y

to make sure we use the correct CPU architecture.

configs/ariag25_defconfig line 2

Quoted 1 line
configs/ariag25_defconfig new file +1 -0
+BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"

Not needed.

configs/ariag25_defconfig line 5

Quoted 3 lines
configs/ariag25_defconfig new file +3 -0
+BR2_TARGET_GENERIC_HOSTNAME="ariag25"
+BR2_TARGET_GENERIC_ISSUE="Welcome to AriaG25 by www.acmesystems.it!"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y

Please lock down the kernel headers versions, like is done in all other defconfig files:

# Lock to 3.12 headers to avoid breaking with newer kernels BR2_KERNEL_HEADERS_VERSION=y BR2_DEFAULT_KERNEL_VERSION="3.12.2" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12=y

configs/ariag25_defconfig line 6

Quoted 1 line
configs/ariag25_defconfig new file +1 -0
+BR2_LINUX_KERNEL=y

Please lock the kernel version, like is done in all other defconfig files:

BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.12.2"

configs/ariag25_defconfig line 11

Quoted 5 lines
configs/ariag25_defconfig new file +5 -0
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/acmesystems/ariag25/at91-ariag25.config"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/ariag25/at91-ariag25.dts"

This will have to be modified to use the Device Tree file built into the mainline kernel.

Quoted 13 lines
configs/ariag25_demo_terra_defconfig new file +7 -0
new file mode 100644
index 0000000..6ceea7f
@@ -0,0 +1,17 @@
+BR2_arm=y
+BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"
+BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
+BR2_TARGET_GENERIC_HOSTNAME="ariag25"
+BR2_TARGET_GENERIC_ISSUE="Welcome to AriaG25 by www.acmesystems.it!"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y

configs/ariag25_demo_terra_defconfig line 17

Quoted 10 lines
configs/ariag25_demo_terra_defconfig new file +10 -0
+BR2_ROOTFS_OVERLAY="board/acmesystems/ariag25_terra/fs-overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/acmesystems/ariag25/at91-ariag25.config"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/ariag25/at91-ariag25.dts"
+BR2_PACKAGE_PYTHON=y
+BR2_PACKAGE_PYTHON_SERIAL=y
+BR2_PACKAGE_DROPBEAR=y

I honestly don't think it's really worth having a demo whose purpose is just to enable Python and Dropbear. Could you submit a patch without this demo configuration, it will have a higher chance of being merged.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH v3 1/1 Adding support for Ariag25 and Terra board from Acmesystems

Quoted 7 lines · Thomas Petazzoni

Dear Angelo Compagnucci,

Thanks for this patch. See my comments below.

The title of the patch should rather be something like:

board: add support for Acmesystems Ariag25 and Terra boards

Hi Angelo,

Do you plan to still take into account Thomas's comments and repost?

For the time being, we've marked this patch as Changes Requested in patchwork
http://patchwork.ozlabs.org/patch/362357/

Regards,
Arnout

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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F