From 9ebcdd9ea2144c7112accd9b2a1a56ae7fea4449 Mon Sep 17 00:00:00 2001 From: Jan-Simon Möller Date: Mon, 11 May 2020 19:32:45 +0200 Subject: Update Raspberry Pi (3/4) templates to match meta-raspberrypi configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update the templates to use the updated flags and configuration present in meta-raspberrypi. The previous template did not properly pull-in the u-boot fragments for the RPI4. v4: the MACHINE in the AGL template for the RPI4 is now 'raspberrypi4-64' as in upstream. CI will get support-patches through releng-scripts. Bug-AGL: SPEC-3368 Signed-off-by: Jan-Simon Möller Change-Id: Ia2acb54516464d433c64adfc7ba832ccfdf899c3 --- meta-agl-bsp/conf/include/agl_raspberrypi3.inc | 36 ++----- meta-agl-bsp/conf/include/agl_raspberrypi4.inc | 19 ++++ meta-agl-bsp/conf/machine/include/rpi4-base.inc | 125 ----------------------- meta-agl-bsp/conf/machine/raspberrypi4.conf | 37 ------- templates/machine/raspberrypi4/50_local.conf.inc | 10 +- 5 files changed, 29 insertions(+), 198 deletions(-) create mode 100644 meta-agl-bsp/conf/include/agl_raspberrypi4.inc delete mode 100644 meta-agl-bsp/conf/machine/include/rpi4-base.inc delete mode 100644 meta-agl-bsp/conf/machine/raspberrypi4.conf diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc index 1b958289d..a4989b79a 100644 --- a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc +++ b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc @@ -1,29 +1,20 @@ # Maximum memory allowed to be assigned -GPU_MEM = "128" +GPU_MEM = "256" -ENABLE_CMA = "1" # Add CMA to the kernel arguments for SOTA OSTREE_KERNEL_ARGS_sota_append = " cma=256M" -CMA_LWM = "16" -CMA_HWM = "32" -MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2" +#MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2" -# The correct config for a Raspberry Pi 3 in 32bit mode -UBOOT_MACHINE = "rpi_3_32b_config" +# use u-boot always +RPI_USE_U_BOOT = "1" -KERNEL_IMAGETYPE = "uImage" - -PREFERRED_VERSION_linux-raspberrypi = "4.19%" -RPI_KERNEL_DEVICETREE_remove_raspberrypi3 = "bcm2708-rpi-0-w.dtb" -RPI_KERNEL_DEVICETREE_OVERLAYS_remove_raspberrypi3 = "overlays/lirc-rpi.dtbo" -RPI_KERNEL_DEVICETREE_OVERLAYS_append_raspberrypi3 = " overlays/vc4-fkms-v3d.dtbo" +#RPI_KERNEL_DEVICETREE_remove_raspberrypi3 = "bcm2708-rpi-0-w.dtb" +#RPI_KERNEL_DEVICETREE_OVERLAYS_remove_raspberrypi3 = "overlays/lirc-rpi.dtbo" +#RPI_KERNEL_DEVICETREE_OVERLAYS_append_raspberrypi3 = " overlays/vc4-fkms-v3d.dtbo" MACHINE_FEATURES += "vc4graphics" -# Switch to firmware KMS to support the official DSI touchscreen display -VC4DTBO = "vc4-fkms-v3d" - # For libomxil #LICENSE_FLAGS_WHITELIST = "commercial" @@ -34,16 +25,3 @@ IMAGE_FEATURES_remove = "splash" # Build updatable image. Only takes effect when sota.bbclass is inherited DISTRO_FEATURES_append = " sota" - -# Create WIC images to write to SD cards. -WKS_FILE = "sdimage-raspberrypi.wks" -IMAGE_BOOT_FILES = "bcm2835-bootfiles/* \ - ${@make_dtb_boot_files(d)} \ - ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', \ - '${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \ - '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \ - " -do_image_wic[depends] += " \ - bcm2835-bootfiles:do_deploy \ - ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'u-boot:do_deploy', '',d)} \ - " diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc new file mode 100644 index 000000000..b91c330f2 --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc @@ -0,0 +1,19 @@ +# Maximum memory allowed to be assigned +GPU_MEM = "256" + +# Add CMA to the kernel arguments for SOTA +OSTREE_KERNEL_ARGS_sota_append = " cma=256M" + +# use u-boot always +RPI_USE_U_BOOT = "1" + +# For libomxil +#LICENSE_FLAGS_WHITELIST = "commercial" + +IMAGE_INSTALL_append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb " + +# Psplash causes crash on first boot on RPi +IMAGE_FEATURES_remove = "splash" + +# Build updatable image. Only takes effect when sota.bbclass is inherited +DISTRO_FEATURES_append = " sota" diff --git a/meta-agl-bsp/conf/machine/include/rpi4-base.inc b/meta-agl-bsp/conf/machine/include/rpi4-base.inc deleted file mode 100644 index a19d0f882..000000000 --- a/meta-agl-bsp/conf/machine/include/rpi4-base.inc +++ /dev/null @@ -1,125 +0,0 @@ -include conf/machine/include/rpi-default-settings.inc -include conf/machine/include/rpi-default-versions.inc -include conf/machine/include/rpi-default-providers.inc - -SOC_FAMILY = "rpi" -include conf/machine/include/soc-family.inc - -IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg" -WKS_FILE ?= "sdimage-raspberrypi.wks" - -XSERVER = " \ - xserver-xorg \ - ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xserver-xorg-extension-glx", "", d)} \ - ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xf86-video-modesetting", "xf86-video-fbdev", d)} \ - " - -RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ - overlays/at86rf233.dtbo \ - overlays/dwc2.dtbo \ - overlays/gpio-key.dtbo \ - overlays/hifiberry-amp.dtbo \ - overlays/hifiberry-dac.dtbo \ - overlays/hifiberry-dacplus.dtbo \ - overlays/hifiberry-digi.dtbo \ - overlays/i2c-rtc.dtbo \ - overlays/iqaudio-dac.dtbo \ - overlays/iqaudio-dacplus.dtbo \ - overlays/mcp2515-can0.dtbo \ - overlays/pi3-disable-bt.dtbo \ - overlays/pi3-miniuart-bt.dtbo \ - overlays/pitft22.dtbo \ - overlays/pitft28-resistive.dtbo \ - overlays/pitft35-resistive.dtbo \ - overlays/pps-gpio.dtbo \ - overlays/rpi-ft5406.dtbo \ - overlays/rpi-poe.dtbo \ - overlays/vc4-kms-v3d.dtbo \ - overlays/vc4-fkms-v3d.dtbo \ - overlays/w1-gpio-pullup.dtbo \ - overlays/w1-gpio.dtbo \ - " - -RPI_KERNEL_DEVICETREE ?= " \ - bcm2708-rpi-zero-w.dtb \ - bcm2708-rpi-b.dtb \ - bcm2708-rpi-b-plus.dtb \ - bcm2709-rpi-2-b.dtb \ - bcm2710-rpi-3-b.dtb \ - bcm2710-rpi-3-b-plus.dtb \ - bcm2711-rpi-4-b.dtb \ - bcm2708-rpi-cm.dtb \ - bcm2710-rpi-cm3.dtb \ - " - -KERNEL_DEVICETREE ?= " \ - ${RPI_KERNEL_DEVICETREE} \ - ${RPI_KERNEL_DEVICETREE_OVERLAYS} \ - " - -# Different dtb and dtbo files are needed for Raspberry Pi 4 -# (64-bit) if feature agl-sota is enabled. -KERNEL_DEVICETREE_raspberrypi4_sota = " broadcom/bcm2711-rpi-4-b.dtb overlays/vc4-fkms-v3d.dtbo overlays/uart0-rpi4.dtbo" - -# By default: -# -# * When u-boot is disabled use the "Image" format which can be directly loaded -# by the rpi firmware. -# -# * When u-boot is enabled use the "uImage" format and the "bootm" command -# within u-boot to load the kernel. -KERNEL_BOOTCMD ??= "bootm" -KERNEL_IMAGETYPE_UBOOT ??= "uImage" -KERNEL_IMAGETYPE_DIRECT ??= "zImage" -KERNEL_IMAGETYPE ?= "${@bb.utils.contains('RPI_USE_U_BOOT', '1', \ - '${KERNEL_IMAGETYPE_UBOOT}', '${KERNEL_IMAGETYPE_DIRECT}', d)}" - -MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio ${@bb.utils.contains('DISABLE_VC4GRAPHICS', '1', '', 'vc4graphics', d)}" - -# Raspberry Pi has no hardware clock -MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc" - -MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi" - -# Set Raspberrypi splash image -SPLASH = "psplash-raspberrypi" - -def make_dtb_boot_files(d): - # Generate IMAGE_BOOT_FILES entries for device tree files listed in - # KERNEL_DEVICETREE. - alldtbs = d.getVar('KERNEL_DEVICETREE') - imgtyp = d.getVar('KERNEL_IMAGETYPE') - - def transform(dtb): - base = os.path.basename(dtb) - if dtb.endswith('dtb'): - # eg: whatever/bcm2708-rpi-b.dtb has: - # DEPLOYDIR file: bcm2708-rpi-b.dtb - # destination: bcm2708-rpi-b.dtb - return base - elif dtb.endswith('dtbo'): - # overlay dtb: - # eg: overlays/hifiberry-amp.dtbo has: - # DEPLOYDIR file: hifiberry-amp.dtbo - # destination: overlays/hifiberry-amp.dtbo - return '{};{}'.format(base, dtb) - - return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb]) - - -IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \ - ${@make_dtb_boot_files(d)} \ - ${@bb.utils.contains('RPI_USE_U_BOOT', '1', \ - '${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \ - '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \ - " -do_image_wic[depends] += " \ - bcm2835-bootfiles:do_deploy \ - ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \ - " - -do_image_wic[recrdeps] = "do_build" - -# The kernel image is installed into the FAT32 boot partition and does not need -# to also be installed into the rootfs. -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" diff --git a/meta-agl-bsp/conf/machine/raspberrypi4.conf b/meta-agl-bsp/conf/machine/raspberrypi4.conf deleted file mode 100644 index a09d881df..000000000 --- a/meta-agl-bsp/conf/machine/raspberrypi4.conf +++ /dev/null @@ -1,37 +0,0 @@ -#@TYPE: Machine -#@NAME: RaspberryPi 4 Development Board (64bit) -#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode - -MACHINEOVERRIDES = "raspberrypi4:${MACHINE}" - -MACHINE_EXTRA_RRECOMMENDS += "\ - linux-firmware-rpidistro-bcm43455 \ - bluez-firmware-rpidistro-bcm4345c0-hcd \ - pi-bluetooth \ -" - -require conf/machine/include/arm/arch-arm64.inc -include conf/machine/include/rpi4-base.inc - -RPI_KERNEL_DEVICETREE = " \ - broadcom/bcm2711-rpi-4-b.dtb \ -" - -SDIMG_KERNELIMAGE ?= "kernel8.img" -SERIAL_CONSOLES ?= "115200;ttyS0" - -MACHINE_FEATURES_append = " vc4graphics" -UBOOT_MACHINE = "rpi_4_config" - -VC4DTBO ?= "vc4-fkms-v3d" - -# When u-boot is enabled we need to use the "Image" format and the "booti" -# command to load the kernel -KERNEL_IMAGETYPE_UBOOT ?= "Image" -# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet -KERNEL_IMAGETYPE_DIRECT ?= "Image" -KERNEL_BOOTCMD ?= "booti" - -RPI_EXTRA_CONFIG ?= "\n# Force arm in 64bit mode. See: https://github.com/raspberrypi/firmware/issues/1193.\narm_64bit=1" - -ARMSTUB ?= "armstub8-gic.bin" diff --git a/templates/machine/raspberrypi4/50_local.conf.inc b/templates/machine/raspberrypi4/50_local.conf.inc index 4c14d14b9..e5556f278 100644 --- a/templates/machine/raspberrypi4/50_local.conf.inc +++ b/templates/machine/raspberrypi4/50_local.conf.inc @@ -1,8 +1,4 @@ -MACHINE = "raspberrypi4" -#see meta-agl/meta-agl-bsp/conf/include/agl_raspberrypi3.inc -require conf/include/agl_raspberrypi3.inc +MACHINE = "raspberrypi4-64" -#use the "Image" format for 64-bit AGL image for Raspberry Pi 4 -KERNEL_IMAGETYPE = "Image" -KERNEL_IMAGETYPE_UBOOT = "Image" -KERNEL_IMAGETYPE_DIRECT = "Image" +#see meta-agl/meta-agl-bsp/conf/include/agl_raspberrypi3.inc +require conf/include/agl_raspberrypi4.inc -- cgit 1.2.3-korg