* [Buildroot] [PATCH v5 1/2] board: amarula: Add A64-Relic support
@ 2018-10-10 5:35 Jagan Teki
2018-10-10 5:35 ` [Buildroot] [PATCH v5 2/2] board: amarula: a64-relic: Add WiFi support Jagan Teki
2018-10-11 8:06 ` [Buildroot] [PATCH v5 1/2] board: amarula: Add A64-Relic support Thomas Petazzoni
0 siblings, 2 replies; 3+ messages in thread
From: Jagan Teki @ 2018-10-10 5:35 UTC (permalink / raw)
To: buildroot
Add initial support for Amarula A64-Relic board
with below features:
- U-Boot 2018.07-rc1
- Linux 4.17.0-rc6
- Default packages from buildroot
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v5:
- Rebase to master
- Fix DEVELOPERS file for proper position of amarula_a64_relic_defconfig
Changes for v4:
- remove sdcard.img image creation
- on readme 'cd output/images' not output/images
- add 'sudo' for fastboot commands on readme.txt
Changes for v3:
- Use 4.17 kernel headers
- Add wiki link
- Add BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT
- Update comments on readme.txt suggested by Thomas
Changes for v2:
- Use mainline U-Boot
- Drop uboot.fragment since the UMS used for developement,
so note it on readme.txt how to use.
- format the 'Write eMMC' steps suggested by Arnout.
- fix fastboot steps in readme.txt
- add offset in genimage.cfg for boot partition instead of size
.gitlab-ci.yml | 1 +
DEVELOPERS | 1 +
board/amarula/a64-relic/extlinux.conf | 4 ++
board/amarula/a64-relic/genimage.cfg | 10 ++++
board/amarula/a64-relic/post-build.sh | 4 ++
board/amarula/a64-relic/readme.txt | 80 +++++++++++++++++++++++++++
configs/amarula_a64_relic_defconfig | 47 ++++++++++++++++
7 files changed, 147 insertions(+)
create mode 100644 board/amarula/a64-relic/extlinux.conf
create mode 100644 board/amarula/a64-relic/genimage.cfg
create mode 100755 board/amarula/a64-relic/post-build.sh
create mode 100644 board/amarula/a64-relic/readme.txt
create mode 100644 configs/amarula_a64_relic_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b220d544f8..8c101695c1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -78,6 +78,7 @@ acmesystems_aria_g25_128mb_defconfig: *defconfig
acmesystems_aria_g25_256mb_defconfig: *defconfig
acmesystems_arietta_g25_128mb_defconfig: *defconfig
acmesystems_arietta_g25_256mb_defconfig: *defconfig
+amarula_a64_relic_defconfig: *defconfig
amarula_vyasa_rk3288_defconfig: *defconfig
arcturus_ucls1012a_defconfig: *defconfig
arcturus_ucp1020_defconfig: *defconfig
diff --git a/DEVELOPERS b/DEVELOPERS
index b54d3a9bc2..ed25ef3447 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -986,6 +986,7 @@ F: board/orangepi/orangepi-prime/
F: board/orangepi/orangepi-win/
F: board/orangepi/orangepi-zero-plus2/
F: board/pine64/
+F: configs/amarula_a64_relic_defconfig
F: configs/amarula_vyasa_rk3288_defconfig
F: configs/asus_tinker_rk3288_defconfig
F: configs/bananapi_m1_defconfig
diff --git a/board/amarula/a64-relic/extlinux.conf b/board/amarula/a64-relic/extlinux.conf
new file mode 100644
index 0000000000..9f469846bc
--- /dev/null
+++ b/board/amarula/a64-relic/extlinux.conf
@@ -0,0 +1,4 @@
+label linux-4.17.0-rc3
+ kernel /Image
+ devicetree /sun50i-a64-amarula-relic.dtb
+ append console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p4 rootwait
diff --git a/board/amarula/a64-relic/genimage.cfg b/board/amarula/a64-relic/genimage.cfg
new file mode 100644
index 0000000000..002b6bb4d1
--- /dev/null
+++ b/board/amarula/a64-relic/genimage.cfg
@@ -0,0 +1,10 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "Image",
+ "sun50i-a64-amarula-relic.dtb",
+ "extlinux"
+ }
+ }
+ size = 64M
+}
diff --git a/board/amarula/a64-relic/post-build.sh b/board/amarula/a64-relic/post-build.sh
new file mode 100755
index 0000000000..ec20fca7d9
--- /dev/null
+++ b/board/amarula/a64-relic/post-build.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+BOARD_DIR="$(dirname $0)"
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
diff --git a/board/amarula/a64-relic/readme.txt b/board/amarula/a64-relic/readme.txt
new file mode 100644
index 0000000000..55171b2408
--- /dev/null
+++ b/board/amarula/a64-relic/readme.txt
@@ -0,0 +1,80 @@
+Amarula A64 Relic
+================
+
+Amarula A64-Relic is A64 based IoT device, which support
+- Allwinner A64 Cortex-A53
+- Mali-400MP2 GPU
+- AXP803 PMIC
+- 1GB DDR3 RAM
+- 8GB eMMC
+- AP6330 Wifi/BLE
+- MIPI-DSI
+- CSI: OV5640 sensor
+- USB OTG
+- 12V DC power supply
+
+Wiki link:
+https://openedev.amarulasolutions.com/display/ODWIKI/Amarual+A64-Relic
+
+Build
+=====
+
+ $ make amarula_a64_relic_defconfig
+
+ $ make
+
+build files at output/images/:
+ - sunxi-spl.bin
+ - u-boot.itb
+ - Image
+ - sun50i-a64-amarula-relic.dtb
+ - boot.vfat
+ - rootfs.ext4
+
+Write eMMC
+=========
+
+The board comes with an operating system preloaded on the eMMC.
+To replace it with the Buildroot-built system, take the following
+steps
+
+1. Connect the board UART with host and open minicom(ttyUSBx/115200N8)
+
+2. Supply 12V DC for power-on the board.
+
+3. Interrupt U-Boot by pressing enter
+
+4. Create GPT partitions
+ => mmc dev 1
+ => gpt write mmc 1 $partitions
+
+5. Connect the board USB-OTG with USB slot on the host.
+
+6. Initiate fastboot
+ => fastboot 0
+
+7. Write images from host onto eMMC using fastboot
+
+ $ cd output/images
+ $ sudo fastboot -i 0x1f3a flash loader1 sunxi-spl.bin
+ $ sudo fastboot -i 0x1f3a flash loader2 u-boot.itb
+ $ sudo fastboot -i 0x1f3a flash esp boot.vfat
+ $ sudo fastboot -i 0x1f3a flash system rootfs.ext4
+
+Update eMMC during Development
+==============================
+
+During development, reflashing the entire filesystem image at every
+change is time consuming. A useful alternative is to directly access
+over USB the filesystem stored on the eMMC, using the USB Mass Storage
+capability of U-Boot. To achieve this:
+
+1. Build U-Boot with CONFIG_CMD_USB_MASS_STORAGE=y
+
+2. Follow all 6 steps from 'Write eMMC' and mount eMMC on host
+ => mmc dev 1
+ => ums 0 mmc 1
+
+--
+Jagan Teki <jagan@amarulasolutions.com>
+29-Jun-2018
diff --git a/configs/amarula_a64_relic_defconfig b/configs/amarula_a64_relic_defconfig
new file mode 100644
index 0000000000..846275eadb
--- /dev/null
+++ b/configs/amarula_a64_relic_defconfig
@@ -0,0 +1,47 @@
+BR2_aarch64=y
+BR2_cortex_a53=y
+BR2_ARM_FPU_VFPV4=y
+
+# Linux headers same as kernel, a 4.17 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y
+
+# Firmware
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07-rc1"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="amarula_a64_relic"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,amarula,linux-amarula,a64-relic)/linux-amarula_a64-relic.tar.gz"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-a64-amarula-relic"
+
+# Filesystem
+BR2_TARGET_GENERIC_ISSUE="Welcome to Amarula A64-Relic"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/a64-relic/genimage.cfg"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/a64-relic/post-build.sh"
--
2.18.0.321.gffc6fa0e3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v5 2/2] board: amarula: a64-relic: Add WiFi support
2018-10-10 5:35 [Buildroot] [PATCH v5 1/2] board: amarula: Add A64-Relic support Jagan Teki
@ 2018-10-10 5:35 ` Jagan Teki
2018-10-11 8:06 ` [Buildroot] [PATCH v5 1/2] board: amarula: Add A64-Relic support Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Jagan Teki @ 2018-10-10 5:35 UTC (permalink / raw)
To: buildroot
Amarula A64-Relic board has AP6330 WiFi/BT combo, but does
not have ethernet port. So it makes sense to enable wireless
networking by default:
- add broadcom wireless firmware package to image
- add basic wireless tools to image
- add rootfs overlay with proper NVRAM file for on-board AP6330 chip
- add mdev to image to enable module autoloading
- update readme.txt to test wifi
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v5:
- rebase to master
Changes for v4, v3:
- none
Changes for v2:
- drop init scripts for module loading
- add mdev for module autoloading
board/amarula/a64-relic/readme.txt | 9 ++
.../lib/firmware/brcm/brcmfmac4330-sdio.txt | 83 +++++++++++++++++++
configs/amarula_a64_relic_defconfig | 13 +++
3 files changed, 105 insertions(+)
create mode 100644 board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
diff --git a/board/amarula/a64-relic/readme.txt b/board/amarula/a64-relic/readme.txt
index 55171b2408..a27eb4d92a 100644
--- a/board/amarula/a64-relic/readme.txt
+++ b/board/amarula/a64-relic/readme.txt
@@ -75,6 +75,15 @@ capability of U-Boot. To achieve this:
=> mmc dev 1
=> ums 0 mmc 1
+WiFi
+====
+
+ # wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf
+ (type password and enter)
+ # wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
+ # udhcpc -i wlan0
+ # ping google.com
+
--
Jagan Teki <jagan@amarulasolutions.com>
29-Jun-2018
diff --git a/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
new file mode 100644
index 0000000000..d095f24c26
--- /dev/null
+++ b/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
@@ -0,0 +1,83 @@
+#AP6330_NVRAM_V1.0_20121130
+#Sample variables file for BCM94330 SD FC AGB board
+manfid=0x2d0
+prodid=0x0547
+vendid=0x14e4
+devid=0x4360
+boardtype=0x05e1
+boardrev=0x1202
+boardflags=0x0080200
+nocrc=1
+xtalfreq=26000
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+ag0=254
+aa2g=1
+ccode=ALL
+pa0itssit=0x20
+pa0b0=5587
+pa0b1=-633
+pa0b2=-158
+rssismf2g=0xa
+rssismc2g=0x3
+rssisav2g=0x7
+#rssi params for 5GHz
+rssismf5g=0x4
+rssismc5g=0x3
+rssisav5g=0x7
+#PA parameters for lower a-band
+pa1lob0=4748
+pa1lob1=-566
+pa1lob2=-180
+#PA parameters for midband
+pa1b0=4762
+pa1b1=-593
+pa1b2=-172
+#PA parameters for high band
+#pa1hib0=4596
+pa1hib0=4666
+pa1hib1=-619
+pa1hib2=-163
+rxpo5g=0
+maxp2ga0=74
+maxp5ga0=66
+maxp5gla0=66
+maxp5gha0=66
+# 2.4G Tx Power offsets
+cck2gpo=0x2222
+ofdm2gpo=0x44444444
+mcs2gpo0=0x6666
+mcs2gpo1=0x6666
+# 5G Tx Power offsets
+ofdm5gpo=0x44444444
+ofdm5glpo=0x44444444
+ofdm5ghpo=0x44444444
+mcs5gpo0=0x6666
+mcs5gpo1=0x6666
+mcs5glpo0=0x6666
+mcs5glpo1=0x6666
+mcs5ghpo0=0x6666
+mcs5ghpo1=0x6666
+sromrev=3
+il0macaddr=00:90:4c:c5:12:38
+wl0id=0x431b
+cckPwrOffset=4
+swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff
+triso5g=0
+swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0
+rfreg033=0x19
+rfreg033_cck=0x1f
+dacrate2g=160
+dacrate5g=160
+txalpfbyp2g=1
+bphyscale=17
+cckPwrIdxCorr=-15
+pacalidx2g=50
+#pacalidx5g=20
+noise_cal_ref_2g=53
+noise_cal_po_2g=0
+noise_cal_ref_5g=52
+noise_cal_po_5g=5,0,0
+# 4330 OOB parameter: High level trigger
+muxenab=0x10
+
diff --git a/configs/amarula_a64_relic_defconfig b/configs/amarula_a64_relic_defconfig
index 846275eadb..82c30fbb0f 100644
--- a/configs/amarula_a64_relic_defconfig
+++ b/configs/amarula_a64_relic_defconfig
@@ -42,6 +42,19 @@ BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/a64-relic/genimage.cfg"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/a64-relic/post-build.sh"
+BR2_ROOTFS_OVERLAY="board/amarula/a64-relic/rootfs_overlay"
+
+# wireless firmware
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
+
+# wireless tools
+BR2_PACKAGE_IW=y
+BR2_PACKAGE_WPA_SUPPLICANT=y
+BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
+BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
+BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
--
2.18.0.321.gffc6fa0e3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v5 1/2] board: amarula: Add A64-Relic support
2018-10-10 5:35 [Buildroot] [PATCH v5 1/2] board: amarula: Add A64-Relic support Jagan Teki
2018-10-10 5:35 ` [Buildroot] [PATCH v5 2/2] board: amarula: a64-relic: Add WiFi support Jagan Teki
@ 2018-10-11 8:06 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2018-10-11 8:06 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 10 Oct 2018 11:05:10 +0530, Jagan Teki wrote:
> Add initial support for Amarula A64-Relic board
> with below features:
> - U-Boot 2018.07-rc1
> - Linux 4.17.0-rc6
> - Default packages from buildroot
>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Thanks, this looks good, except two aspects. One could have been fixed
using a follow-up patch, but not the other one.
> diff --git a/configs/amarula_a64_relic_defconfig b/configs/amarula_a64_relic_defconfig
> new file mode 100644
> index 0000000000..846275eadb
> --- /dev/null
> +++ b/configs/amarula_a64_relic_defconfig
> @@ -0,0 +1,47 @@
> +BR2_aarch64=y
> +BR2_cortex_a53=y
> +BR2_ARM_FPU_VFPV4=y
> +
> +# Linux headers same as kernel, a 4.17 series
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y
> +
> +# Firmware
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
> +
> +# Bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07-rc1"
I guess the final 2018.07 is released now, so you could useit.
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,amarula,linux-amarula,a64-relic)/linux-amarula_a64-relic.tar.gz"
"a64-relic" is a branch name, which makes the build non reproducible.
We want either a tag, or a full SHA1, to ensure that we always build
the same kernel version.
Could you fix that up and resend the patch?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-10-11 8:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-10 5:35 [Buildroot] [PATCH v5 1/2] board: amarula: Add A64-Relic support Jagan Teki
2018-10-10 5:35 ` [Buildroot] [PATCH v5 2/2] board: amarula: a64-relic: Add WiFi support Jagan Teki
2018-10-11 8:06 ` [Buildroot] [PATCH v5 1/2] board: amarula: Add A64-Relic support Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.