@@ -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/
new file mode 100644
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 2e18b881ada9198173238cca80086c787b1fa3f698944bde1743142823fc511c arm-trusted-firmware-v2.10.tar.gz
new file mode 120000
@@ -0,0 +1 @@
+../linux/linux.hash
\ No newline at end of file
new file mode 100644
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 9e723232d603ab45ebf043c34714c48f277ab195c29abcb8472f2a4c3a5a1995 linux-6.8.6.tar.xz
new file mode 100644
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
new file mode 100644
@@ -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.
new file mode 100644
@@ -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"
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