Update Raspberry Pi (3/4) templates to match meta-raspberrypi configuration 93/24493/4
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>
Mon, 11 May 2020 17:32:45 +0000 (19:32 +0200)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 12 May 2020 23:50:18 +0000 (23:50 +0000)
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

meta-agl-bsp/conf/include/agl_raspberrypi3.inc
meta-agl-bsp/conf/include/agl_raspberrypi4.inc [new file with mode: 0644]
meta-agl-bsp/conf/machine/include/rpi4-base.inc [deleted file]
meta-agl-bsp/conf/machine/raspberrypi4.conf [deleted file]
templates/machine/raspberrypi4/50_local.conf.inc

index 1b95828..a4989b7 100644 (file)
@@ -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 (file)
index 0000000..b91c330
--- /dev/null
@@ -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 (file)
index a19d0f8..0000000
+++ /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 (file)
index a09d881..0000000
+++ /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"
index 4c14d14..e5556f2 100644 (file)
@@ -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