conf/machine/raspberrypi4: Switch to 64-bit
[AGL/meta-agl.git] / meta-agl-bsp / conf / machine / raspberrypi4.conf
index 3454f78..1679fb5 100644 (file)
@@ -1,25 +1,36 @@
 #@TYPE: Machine
-#@NAME: RaspberryPi 4 Development Board (32bit)
-#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 32 bit mode
+#@NAME: RaspberryPi 4 Development Board (64bit)
+#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
 
-DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
-require conf/machine/include/tune-cortexa7.inc
-include conf/machine/include/rpi-base.inc
+MACHINEOVERRIDES = "raspberrypi4:${MACHINE}"
 
 MACHINE_EXTRA_RRECOMMENDS += "\
     linux-firmware-rpidistro-bcm43455 \
     bluez-firmware-rpidistro-bcm4345c0-hcd \
 "
 
-# 'l' stands for LPAE
-SDIMG_KERNELIMAGE ?= "kernel7l.img"
-UBOOT_MACHINE = "rpi_4_32b_config"
+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"
 
-RPI_KERNEL_DEVICETREE_OVERLAYS_remove_raspberrypi4 = "overlays/lirc-rpi.dtbo"
-RPI_KERNEL_DEVICETREE_OVERLAYS_append_raspberrypi4 = " overlays/mcp2515-can0.dtbo overlays/vc4-fkms-v3d.dtbo"
-RPI_KERNEL_DEVICETREE_remove_raspberrypi4 = "bcm2708-rpi-0-w.dtb"
-RPI_KERNEL_DEVICETREE_append_raspberrypi4 = " bcm2708-rpi-zero-w.dtb bcm2711-rpi-4-b.dtb"
+# 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"