From 4ce75256d35bc04e335374f9666248eedbe3be42 Mon Sep 17 00:00:00 2001
From: j1nx
Date: Wed, 24 Jan 2024 15:43:33 +0000
Subject: [PATCH] [RPI] Get the Raspberry Pi3 and 4 back in sync again.
With a possible fix for the RT kernel not booting on the rpi3
---
.../board/ovos/raspberrypi/cmdline.txt | 2 +-
.../board/ovos/raspberrypi/rpi3/config.txt | 11 ++++-----
.../board/ovos/raspberrypi/rpi4/config.txt | 6 -----
buildroot-external/configs/rpi3_64_defconfig | 23 +++++++++++++------
buildroot-external/configs/rpi4_64_defconfig | 1 -
5 files changed, 21 insertions(+), 22 deletions(-)
diff --git a/buildroot-external/board/ovos/raspberrypi/cmdline.txt b/buildroot-external/board/ovos/raspberrypi/cmdline.txt
index fbf6d8b9..c56bf478 100644
--- a/buildroot-external/board/ovos/raspberrypi/cmdline.txt
+++ b/buildroot-external/board/ovos/raspberrypi/cmdline.txt
@@ -1 +1 @@
-mitigations=off snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_compat_alsa=0 dwc_otg.lpm_enable=0 acpi=off cgroup_enable=memory psi=1 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u
+cma=384M mitigations=off snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_compat_alsa=0 dwc_otg.lpm_enable=0 acpi=off cgroup_enable=memory psi=1 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u
diff --git a/buildroot-external/board/ovos/raspberrypi/rpi3/config.txt b/buildroot-external/board/ovos/raspberrypi/rpi3/config.txt
index d407c0dc..13977d83 100644
--- a/buildroot-external/board/ovos/raspberrypi/rpi3/config.txt
+++ b/buildroot-external/board/ovos/raspberrypi/rpi3/config.txt
@@ -42,10 +42,7 @@ max_framebuffers=2
# How much memory in MB to assign to the GPU on Pi models having
# 256, 512 or 1024 MB total memory
-gpu_mem=128
-gpu_mem_256=128
-gpu_mem_512=128
-gpu_mem_1024=128
+gpu_mem=256
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
dtoverlay=miniuart-bt
@@ -74,8 +71,8 @@ dtoverlay=i2s-mmap
dtparam=i2s=on
dtparam=spi=on
+# Use DWC2 instead of XHCI on the rpi3 to prevent issues with te RealTime kernel
+dtoverlay=dwc2
+
# Enable boost from 1.5Ghz to 1.8Ghz on compatible models
arm_boost=1
-
-# enable 64bits support
-#arm_64bit=1
diff --git a/buildroot-external/board/ovos/raspberrypi/rpi4/config.txt b/buildroot-external/board/ovos/raspberrypi/rpi4/config.txt
index 03e2b670..2eac508c 100644
--- a/buildroot-external/board/ovos/raspberrypi/rpi4/config.txt
+++ b/buildroot-external/board/ovos/raspberrypi/rpi4/config.txt
@@ -41,9 +41,6 @@ max_framebuffers=2
# How much memory in MB to assign to the GPU on Pi models having
# 256, 512 or 1024 MB total memory
gpu_mem=256
-gpu_mem_256=128
-gpu_mem_512=128
-gpu_mem_1024=128
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
dtoverlay=miniuart-bt
@@ -74,6 +71,3 @@ dtparam=spi=on
# Enable boost from 1.5Ghz to 1.8Ghz on compatible models
arm_boost=1
-
-# enable 64bits support
-#arm_64bit=1
diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig
index 8c2d18a1..e4f95a14 100644
--- a/buildroot-external/configs/rpi3_64_defconfig
+++ b/buildroot-external/configs/rpi3_64_defconfig
@@ -29,7 +29,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi3/post-i
BR2_ROOTFS_POST_SCRIPT_ARGS="--rpi3"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,342c7ee49e862edc30c893f141f55b9211b7a43b)/linux-342c7ee49e862edc30c893f141f55b9211b7a43b.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,3bb5880ab3dd31f75c07c3c33bf29c5d469b28f3)/linux-3bb5880ab3dd31f75c07c3c33bf29c5d469b28f3.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@@ -170,7 +170,6 @@ BR2_PACKAGE_PIXMAN=y
BR2_PACKAGE_WEBP=y
BR2_PACKAGE_WIREPLUMBER=y
BR2_PACKAGE_ZBAR=y
-BR2_PACKAGE_LIBGUDEV=y
BR2_PACKAGE_LIBINPUT=y
BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_JSON_GLIB=y
@@ -182,7 +181,7 @@ BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC=y
BR2_PACKAGE_LIBCAMERA_APPS=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
-BR2_PACKAGE_LIBNDP=y
+BR2_PACKAGE_LIBDNET=y
BR2_PACKAGE_LIBNICE=y
BR2_PACKAGE_LIBRSYNC=y
BR2_PACKAGE_LIBSOUP=y
@@ -196,6 +195,7 @@ BR2_PACKAGE_LIBCAP_TOOLS=y
BR2_PACKAGE_LIBNPTH=y
BR2_PACKAGE_LIBFRIBIDI=y
BR2_PACKAGE_PCRE2=y
+BR2_PACKAGE_AARDVARK_DNS=y
BR2_PACKAGE_AVAHI=y
BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
@@ -211,9 +211,17 @@ BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y
BR2_PACKAGE_CRDA=y
+BR2_PACKAGE_DNSMASQ=y
+BR2_PACKAGE_IFUPDOWN=y
BR2_PACKAGE_IPROUTE2=y
+BR2_PACKAGE_IPUTILS=y
BR2_PACKAGE_IW=y
BR2_PACKAGE_NET_TOOLS=y
+BR2_PACKAGE_NETAVARK=y
+BR2_PACKAGE_NETWORK_MANAGER=y
+BR2_PACKAGE_NETWORK_MANAGER_TUI=y
+BR2_PACKAGE_NETWORK_MANAGER_CLI=y
+BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y
BR2_PACKAGE_OPENSSH=y
# BR2_PACKAGE_OPENSSH_SANDBOX is not set
BR2_PACKAGE_WGET=y
@@ -243,7 +251,6 @@ BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES=y
BR2_PACKAGE_EFIBOOTMGR=y
BR2_PACKAGE_HTOP=y
-BR2_PACKAGE_OPENVMTOOLS=y
BR2_PACKAGE_PODMAN=y
BR2_PACKAGE_PODMAN_DRIVER_BTRFS=y
BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER=y
@@ -259,19 +266,21 @@ BR2_PACKAGE_SWUPDATE=y
BR2_PACKAGE_SWUPDATE_CONFIG="$(BR2_EXTERNAL)/swupdate.config"
BR2_PACKAGE_SWUPDATE_USB=y
BR2_PACKAGE_SYSTEMD_ANALYZE=y
+BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
# BR2_PACKAGE_SYSTEMD_PSTORE is not set
BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
BR2_PACKAGE_SYSTEMD_HIBERNATE=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set
+BR2_PACKAGE_SYSTEMD_LOCALED=y
BR2_PACKAGE_SYSTEMD_LOGIND=y
-BR2_PACKAGE_SYSTEMD_MACHINED=y
+# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
BR2_PACKAGE_SYSTEMD_OOMD=y
BR2_PACKAGE_SYSTEMD_POLKIT=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_REPART=y
+# BR2_PACKAGE_SYSTEMD_RESOLVED is not set
BR2_PACKAGE_SYSTEMD_RFKILL=y
# BR2_PACKAGE_SYSTEMD_VCONSOLE is not set
-BR2_PACKAGE_SYSTEMD_BOOTCHART=y
BR2_PACKAGE_TAR=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
@@ -313,7 +322,7 @@ BR2_PACKAGE_OVOS_SPLASH=y
BR2_PACKAGE_RESPEAKER=y
BR2_PACKAGE_RNNNOISE_LADSPA=y
BR2_PACKAGE_ROC_TOOLKIT=y
-BR2_PACKAGE_RPI_EEPROM=y
BR2_PACKAGE_USERLAND_TOOLS=y
BR2_PACKAGE_VOCALFUSION=y
+BR2_PACKAGE_WIFI_CONNECT=y
BR2_PACKAGE_PYTHON_SMBUS2=y
diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig
index aa0a4042..f88d166d 100644
--- a/buildroot-external/configs/rpi4_64_defconfig
+++ b/buildroot-external/configs/rpi4_64_defconfig
@@ -4,7 +4,6 @@ BR2_PACKAGE_GLIBC_UTILS=y
BR2_BINUTILS_VERSION_2_39_X=y
BR2_GCC_VERSION_12_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
-BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y
BR2_DL_DIR="../../downloads"
BR2_CCACHE=y
BR2_CCACHE_DIR="ccache"