diff mbox series

[v2,1/1] configs/orangepi_zero2w: new board

Message ID 20240505195427.3622027-1-geomatsi@gmail.com
State Accepted
Headers show
Series [v2,1/1] configs/orangepi_zero2w: new board | expand

Commit Message

Sergey Matyukevich May 5, 2024, 7:54 p.m. UTC
This patch adds basic support for the new OrangePi Zero2W board:
- http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-2W.html

Brief summary of the board features:
- H618 Allwinner SoC
  - Quad-Core ARM Cortex-A53 Processor 1.5GHz
  - Mali G31 MP2 GPU
- LPDDR4: 1GB/2GB/4GB
- Wi-Fi5.0+BT 5.0
- 2x Type-C USB 2.0
- 1x Mini HDMI
- Wi-Fi 5.0 + BT 5.0
- 40-pin expansion interface (GPIO / UART / I2C / SPI / PWM)
- 24-pin expansion interface (2x USB 2.0 / ETH / IR / audio)

BSP includes the following components:
- mainline ATF v2.10
- mainline U-Boot v2024.04
- mainline Linux kernel v6.8

No custom scripts required: all is covered by common orangepi scripts.
However new option BR2_DOWNLOAD_FORCE_CHECK_HASHES requires checksums
for all the BSP components. They are added as board specific patches.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
---

Changes v1 -> v2
 - added BR2_DOWNLOAD_FORCE_CHECK_HASHES
 - added custom hashes for BSP components as board specific patches

 DEVELOPERS                                    |  1 +
 .../arm-trusted-firmware.hash                 |  2 +
 .../patches/linux-headers/linux-headers.hash  |  1 +
 .../orangepi-zero2w/patches/linux/linux.hash  |  2 +
 .../orangepi-zero2w/patches/uboot/uboot.hash  |  2 +
 board/orangepi/orangepi-zero2w/readme.txt     | 32 ++++++++++
 configs/orangepi_zero2w_defconfig             | 58 +++++++++++++++++++
 7 files changed, 98 insertions(+)
 create mode 100644 board/orangepi/orangepi-zero2w/patches/arm-trusted-firmware/arm-trusted-firmware.hash
 create mode 120000 board/orangepi/orangepi-zero2w/patches/linux-headers/linux-headers.hash
 create mode 100644 board/orangepi/orangepi-zero2w/patches/linux/linux.hash
 create mode 100644 board/orangepi/orangepi-zero2w/patches/uboot/uboot.hash
 create mode 100644 board/orangepi/orangepi-zero2w/readme.txt
 create mode 100644 configs/orangepi_zero2w_defconfig

Comments

Thomas Petazzoni May 6, 2024, 7:59 p.m. UTC | #1
On Sun,  5 May 2024 22:54:19 +0300
Sergey Matyukevich <geomatsi@gmail.com> wrote:

> This patch adds basic support for the new OrangePi Zero2W board:
> - http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-2W.html
> 
> Brief summary of the board features:
> - H618 Allwinner SoC
>   - Quad-Core ARM Cortex-A53 Processor 1.5GHz
>   - Mali G31 MP2 GPU
> - LPDDR4: 1GB/2GB/4GB
> - Wi-Fi5.0+BT 5.0
> - 2x Type-C USB 2.0
> - 1x Mini HDMI
> - Wi-Fi 5.0 + BT 5.0
> - 40-pin expansion interface (GPIO / UART / I2C / SPI / PWM)
> - 24-pin expansion interface (2x USB 2.0 / ETH / IR / audio)
> 
> BSP includes the following components:
> - mainline ATF v2.10
> - mainline U-Boot v2024.04
> - mainline Linux kernel v6.8
> 
> No custom scripts required: all is covered by common orangepi scripts.
> However new option BR2_DOWNLOAD_FORCE_CHECK_HASHES requires checksums
> for all the BSP components. They are added as board specific patches.
> 
> Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
> ---

You had forgotten to add board/orangepi/orangepi-zero2w/ to the
DEVELOPERS file, so I did that when applying. Thanks for this
contribution!

Thomas
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index c2d3f52a59..b442b2172f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2805,6 +2805,7 @@  F:	configs/orangepi_one_defconfig
 F:	configs/orangepi_pc_plus_defconfig
 F:	configs/orangepi_zero_defconfig
 F:	configs/orangepi_zero_plus2_defconfig
+F:	configs/orangepi_zero2w_defconfig
 F:	package/armbian-firmware/
 F:	package/hostapd/
 F:	package/rtl8189fs/
diff --git a/board/orangepi/orangepi-zero2w/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/orangepi/orangepi-zero2w/patches/arm-trusted-firmware/arm-trusted-firmware.hash
new file mode 100644
index 0000000000..c9d043c46f
--- /dev/null
+++ b/board/orangepi/orangepi-zero2w/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -0,0 +1,2 @@ 
+# Locally computed:
+sha256  2e18b881ada9198173238cca80086c787b1fa3f698944bde1743142823fc511c  arm-trusted-firmware-v2.10.tar.gz
diff --git a/board/orangepi/orangepi-zero2w/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-zero2w/patches/linux-headers/linux-headers.hash
new file mode 120000
index 0000000000..5808d92afe
--- /dev/null
+++ b/board/orangepi/orangepi-zero2w/patches/linux-headers/linux-headers.hash
@@ -0,0 +1 @@ 
+../linux/linux.hash
\ No newline at end of file
diff --git a/board/orangepi/orangepi-zero2w/patches/linux/linux.hash b/board/orangepi/orangepi-zero2w/patches/linux/linux.hash
new file mode 100644
index 0000000000..5a6f308c7b
--- /dev/null
+++ b/board/orangepi/orangepi-zero2w/patches/linux/linux.hash
@@ -0,0 +1,2 @@ 
+# Locally calculated
+sha256  9e723232d603ab45ebf043c34714c48f277ab195c29abcb8472f2a4c3a5a1995  linux-6.8.6.tar.xz
diff --git a/board/orangepi/orangepi-zero2w/patches/uboot/uboot.hash b/board/orangepi/orangepi-zero2w/patches/uboot/uboot.hash
new file mode 100644
index 0000000000..97a2b4eaf9
--- /dev/null
+++ b/board/orangepi/orangepi-zero2w/patches/uboot/uboot.hash
@@ -0,0 +1,2 @@ 
+# Locally calculated
+sha256  18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a  u-boot-2024.04.tar.bz2
diff --git a/board/orangepi/orangepi-zero2w/readme.txt b/board/orangepi/orangepi-zero2w/readme.txt
new file mode 100644
index 0000000000..84796579da
--- /dev/null
+++ b/board/orangepi/orangepi-zero2w/readme.txt
@@ -0,0 +1,32 @@ 
+Intro
+=====
+
+This default configuration will allow you to start experimenting with the
+buildroot environment for the OrangePi Zero2W. Current configuration will
+bring-up the board and allow access through the serial console.
+
+Orangepi Zero 2W links:
+- http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-2W.html
+- https://linux-sunxi.org/Xunlong_Orange_Pi_Zero2W
+
+How to build
+============
+
+    $ make orangepi_zero2w_defconfig
+    $ make
+
+Note: you will need access to the internet to download the required sources.
+
+How to write the SD card
+========================
+
+Once the build process is finished you will have an image called "sdcard.img"
+in the output/images/ directory.
+
+Copy the bootable "sdcard.img" onto an SD card with "dd":
+
+  $ sudo dd if=output/images/sdcard.img of=/dev/sdX
+  $ sudo sync
+
+Insert the micro SDcard in your Orangepi Zero2W and power it up. The console
+is on the serial line, 115200 8N1.
diff --git a/configs/orangepi_zero2w_defconfig b/configs/orangepi_zero2w_defconfig
new file mode 100644
index 0000000000..4d8f25f451
--- /dev/null
+++ b/configs/orangepi_zero2w_defconfig
@@ -0,0 +1,58 @@ 
+BR2_aarch64=y
+BR2_cortex_a53=y
+BR2_ARM_FPU_VFPV4=y
+
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_8=y
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
+
+BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
+BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero2w/patches"
+
+# Firmware
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.10"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_h616"
+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="2024.04"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero2w"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
+BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.8.6"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h618-orangepi-zero2w"
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
+
+# Filesystem
+BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero2W"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
+# BR2_TARGET_ROOTFS_TAR is not set
+
+# host tools
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+
+# image scripts
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg"