aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2020-05-11 19:32:45 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-05-12 23:50:18 +0000
commit9ebcdd9ea2144c7112accd9b2a1a56ae7fea4449 (patch)
treea47c6b4c974cc2f3c59ed176af66bf0752b274f4
parent4ee8c933aa9726f0493ead14b4e1c97a0844ec28 (diff)
Update Raspberry Pi (3/4) templates to match meta-raspberrypi configuration
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 <jsmoeller@linuxfoundation.org> Change-Id: Ia2acb54516464d433c64adfc7ba832ccfdf899c3
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi3.inc36
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi4.inc19
-rw-r--r--meta-agl-bsp/conf/machine/include/rpi4-base.inc125
-rw-r--r--meta-agl-bsp/conf/machine/raspberrypi4.conf37
-rw-r--r--templates/machine/raspberrypi4/50_local.conf.inc10
5 files changed, 29 insertions, 198 deletions
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