diff --git a/recipes-bsp/bootfiles/rpi-bootfiles.bb b/recipes-bsp/bootfiles/rpi-bootfiles.bb
index f1248eed..56119734 100644
--- a/recipes-bsp/bootfiles/rpi-bootfiles.bb
+++ b/recipes-bsp/bootfiles/rpi-bootfiles.bb
@@ -15,8 +15,6 @@ COMPATIBLE_MACHINE = "^rpi$"
 
 S = "${RPIFW_S}/boot"
 
-PR = "r3"
-
 do_deploy() {
     install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
 
@@ -40,4 +38,3 @@ addtask deploy before do_build after do_install
 do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-
diff --git a/recipes-bsp/common/raspberrypi-firmware.inc b/recipes-bsp/common/raspberrypi-firmware.inc
index 9de0d017..3d5e2fdb 100644
--- a/recipes-bsp/common/raspberrypi-firmware.inc
+++ b/recipes-bsp/common/raspberrypi-firmware.inc
@@ -1,12 +1,10 @@
-RPIFW_DATE ?= "20240312"
-SRCREV = "5689dd184872b809af91d6636a832b1484d90fef"
-RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware;protocol=https;branch=master"
-RPIFW_S ?= "${WORKDIR}/git"
+RPIFW_DATE ?= "20240319"
+SRCREV = "9f24f4bc2bdd07ffd158cfbb4bce88a2efc4c1f5"
+SHORTREV = "${@d.getVar("SRCREV", False).__str__()[:7]}"
+RPIFW_SRC_URI ?= "https://api.github.com/repos/raspberrypi/firmware/tarball/9f24f4bc2bdd07ffd158cfbb4bce88a2efc4c1f5;downloadfilename=raspberrypi-firmware-${SHORTREV}.tar.gz"
+RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-${SHORTREV}"
 
 SRC_URI = "${RPIFW_SRC_URI}"
+SRC_URI[sha256sum] = "4b436f8946b139c6a1202375ef55d4848e3bcd8c1a9cb47000e06d7ecec828f7"
 
 PV = "${RPIFW_DATE}"
-
-# Firmware repo is huge due to its content nature being binary blobs
-# use shallow clone to reduce amount of git metadata being pulled down
-BB_GIT_SHALLOW = "1"