[Buildroot] [PATCH/next v1 7/7] board/raspberrypi: add Raspberry Pi Zero 2 W

Yann E. MORIN yann.morin.1998 at free.fr
Fri Nov 12 22:19:03 UTC 2021


Peter, All,

On 2021-11-11 21:04 +0100, Peter Seiderer spake thusly:
> From: Julien Grossholtz <julien.grossholtz at openest.io>
> 
> The Raspberry-Pi Zero 2 W is an affordable single board computer. It is
> a more powerful drop-in replacement for the Raspberry Pi Zero W.
> 
> The board incorporates an Raspberry-Pi RP3A0 system-in-package (SiP) with
> a Broadcom BCM2710A1 and 512MB LPDDR2 SDRAM. The CPU is a quad-core 1Ghz
> 64-bit Arm Cortex-A53. As for other Raspberry-Pis it also provides
> 2.4GHz 802.11 b/g/n Wifi, Bluetooth 4.2 and BLE.
> 
> The BCM2710 cpu is similar to the Raspberry-Pi 3, it uses the same
> kernel configuration as the Raspberry-Pi 2 and 3.
> 
> Signed-off-by: Julien Grossholtz <julien.grossholtz at openest.io>
> [Based on https://patchwork.ozlabs.org/project/buildroot/patch/20211030213600.3445223-3-julien.grossholtz@openest.io/
>   - reformat genimage-raspberrypizero2w.cfg according to the beautify patch-set
>   - update kernel version to 9878a11 (5.10.78)
>   - use new bcm2710-rpi-zero-2-w dtb
>   - update commit log about kernel config (RPi2/3)
>   - add DEVELOPERS entries for Julien
> ]
> Signed-off-by: Peter Seiderer <ps.report at gmx.net>

Applied to next, thanks.

Regards,
Yann E. MORIN.

> ---
>  DEVELOPERS                                    |  2 ++
>  board/raspberrypi/config_zero2w.txt           | 29 +++++++++++++++
>  .../genimage-raspberrypizero2w.cfg            | 32 +++++++++++++++++
>  board/raspberrypi/readme.txt                  |  5 +++
>  board/raspberrypizero2w                       |  1 +
>  configs/raspberrypizero2w_defconfig           | 36 +++++++++++++++++++
>  6 files changed, 105 insertions(+)
>  create mode 100644 board/raspberrypi/config_zero2w.txt
>  create mode 100644 board/raspberrypi/genimage-raspberrypizero2w.cfg
>  create mode 120000 board/raspberrypizero2w
>  create mode 100644 configs/raspberrypizero2w_defconfig
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 70262eac8c..6f812eb564 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1512,7 +1512,9 @@ N:	Julien Corjon <corjon.j at ecagroup.com>
>  F:	package/qt5/
>  
>  N:	Julien Grossholtz <julien.grossholtz at openest.io>
> +F:	board/raspberrypi/
>  F:	board/technologic/ts7680/
> +F:	configs/raspberrypizero2w_defconfig
>  F:	configs/ts7680_defconfig
>  F:	package/paho-mqtt-c
>  
> diff --git a/board/raspberrypi/config_zero2w.txt b/board/raspberrypi/config_zero2w.txt
> new file mode 100644
> index 0000000000..9e6b7f5ccf
> --- /dev/null
> +++ b/board/raspberrypi/config_zero2w.txt
> @@ -0,0 +1,29 @@
> +# Please note that this is only a sample, we recommend you to change it to fit
> +# your needs.
> +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
> +# See http://buildroot.org/manual.html#rootfs-custom
> +# and http://elinux.org/RPiconfig for a description of config.txt syntax
> +
> +start_file=start.elf
> +fixup_file=fixup.dat
> +
> +kernel=zImage
> +
> +# To use an external initramfs file
> +#initramfs rootfs.cpio.gz
> +
> +# Disable overscan assuming the display supports displaying the full resolution
> +# If the text shown on the screen disappears off the edge, comment this out
> +disable_overscan=1
> +
> +# How much memory in MB to assign to the GPU on Pi models having
> +# 256, 512 or 1024 MB total memory
> +gpu_mem_256=100
> +gpu_mem_512=100
> +gpu_mem_1024=100
> +
> +# fixes rpi (3B, 3B+, 3A+, 4B ,zero W and zero 2) ttyAMA0 serial console
> +dtoverlay=miniuart-bt
> +
> +# enable autoprobing of Bluetooth driver without need of hciattach/btattach
> +dtoverlay=krnbt=on
> diff --git a/board/raspberrypi/genimage-raspberrypizero2w.cfg b/board/raspberrypi/genimage-raspberrypizero2w.cfg
> new file mode 100644
> index 0000000000..b510fea563
> --- /dev/null
> +++ b/board/raspberrypi/genimage-raspberrypizero2w.cfg
> @@ -0,0 +1,32 @@
> +image boot.vfat {
> +	vfat {
> +		files = {
> +			"bcm2710-rpi-zero-2-w.dtb",
> +			"rpi-firmware/bootcode.bin",
> +			"rpi-firmware/cmdline.txt",
> +			"rpi-firmware/config.txt",
> +			"rpi-firmware/fixup.dat",
> +			"rpi-firmware/start.elf",
> +			"rpi-firmware/overlays",
> +			"zImage"
> +		}
> +	}
> +
> +	size = 32M
> +}
> +
> +image sdcard.img {
> +	hdimage {
> +	}
> +
> +	partition boot {
> +		partition-type = 0xC
> +		bootable = "true"
> +		image = "boot.vfat"
> +	}
> +
> +	partition rootfs {
> +		partition-type = 0x83
> +		image = "rootfs.ext4"
> +	}
> +}
> diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt
> index d20096b5e6..c81fd801ae 100644
> --- a/board/raspberrypi/readme.txt
> +++ b/board/raspberrypi/readme.txt
> @@ -28,6 +28,10 @@ For model Zero (model A+ in smaller form factor):
>  
>    $ make raspberrypi0_defconfig
>  
> +For model Zero 2 W (model B3 in smaller form factor):
> +
> +  $ make raspberrypizero2w_defconfig
> +
>  For model 2 B:
>  
>    $ make raspberrypi2_defconfig
> @@ -79,6 +83,7 @@ After building, you should obtain this tree:
>      +-- bcm2708-rpi-cm.dtb          [1]
>      +-- bcm2708-rpi-zero.dtb        [1]
>      +-- bcm2708-rpi-zero-w.dtb      [1]
> +    +-- bcm2710-rpi-zero-2-w.dtb    [1]
>      +-- bcm2709-rpi-2-b.dtb         [1]
>      +-- bcm2710-rpi-3-b.dtb         [1]
>      +-- bcm2710-rpi-3-b-plus.dtb    [1]
> diff --git a/board/raspberrypizero2w b/board/raspberrypizero2w
> new file mode 120000
> index 0000000000..fcdafc81ed
> --- /dev/null
> +++ b/board/raspberrypizero2w
> @@ -0,0 +1 @@
> +raspberrypi
> \ No newline at end of file
> diff --git a/configs/raspberrypizero2w_defconfig b/configs/raspberrypizero2w_defconfig
> new file mode 100644
> index 0000000000..ddd6b97b06
> --- /dev/null
> +++ b/configs/raspberrypizero2w_defconfig
> @@ -0,0 +1,36 @@
> +BR2_arm=y
> +BR2_cortex_a53=y
> +BR2_ARM_FPU_NEON_VFPV4=y
> +
> +# Linux headers same as kernel, 5.10 series
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
> +
> +BR2_TOOLCHAIN_BUILDROOT_CXX=y
> +
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,9878a118cbdb7779fd15caa45915d22bff381ba3)/linux-9878a118cbdb7779fd15caa45915d22bff381ba3.tar.gz"
> +BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
> +
> +# Build the DTB from the kernel sources
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-zero-2-w"
> +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> +
> +BR2_PACKAGE_RPI_FIRMWARE=y
> +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
> +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
> +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypizero2w/config_zero2w.txt"
> +
> +# MicroSD images generation tools
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> +
> +# Filesystem / image
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
> +# BR2_TARGET_ROOTFS_TAR is not set
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypizero2w/post-build.sh"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypizero2w/post-image.sh"
> -- 
> 2.33.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list