Fix core clock speed, restore newer firmware

Fixes #292.
This commit is contained in:
Dale Whinham committed 2022-07-26 22:50:17 +01:00
1 parent f81aa79790
commit ec17e83921
5 files changed
+27 -36

No files matched your search

+19 -21
View File
@@ -99,23 +99,23 @@ jobs:
with:
submodules: recursive
# - name: Cache boot files
# id: cache-boot-files
# uses: actions/cache@v3
# with:
# path: |
# sdcard/armstub8-rpi4.bin
# sdcard/bcm2711-rpi-4-b.dtb
# sdcard/bcm2711-rpi-400.dtb
# sdcard/bcm2711-rpi-cm4.dtb
# sdcard/bootcode.bin
# sdcard/COPYING.linux
# sdcard/fixup_cd.dat
# sdcard/fixup4cd.dat
# sdcard/LICENCE.broadcom
# sdcard/start_cd.elf
# sdcard/start4cd.elf
# key: cache-boot-files-${{ hashFiles(join(env.boot-home, '/Makefile')) }}
- name: Cache boot files
id: cache-boot-files
uses: actions/cache@v3
with:
path: |
sdcard/armstub8-rpi4.bin
sdcard/bcm2711-rpi-4-b.dtb
sdcard/bcm2711-rpi-400.dtb
sdcard/bcm2711-rpi-cm4.dtb
sdcard/bootcode.bin
sdcard/COPYING.linux
sdcard/fixup_cd.dat
sdcard/fixup4cd.dat
sdcard/LICENCE.broadcom
sdcard/start_cd.elf
sdcard/start4cd.elf
key: cache-boot-files-${{ hashFiles(join(env.boot-home, '/Makefile')) }}
- name: Cache WLAN firmware
id: cache-wlan-firmware
@@ -134,17 +134,15 @@ jobs:
key: cache-arm-toolchains-${{ env.toolchain-version }}
- name: Update PATH
# if: steps.cache-boot-files.outputs.cache-hit != 'true'
if: steps.cache-boot-files.outputs.cache-hit != 'true'
run: |
for triplet in arm-none-eabi aarch64-none-elf; do
echo "$HOME/gcc-arm-${{ env.toolchain-version }}-x86_64-${triplet}/bin" >> $GITHUB_PATH
done
- name: Download boot files and build ARM stub if not retrieved from cache
# if: steps.cache-boot-files.outputs.cache-hit != 'true'
# Temporarily patch boot firmware version
if: steps.cache-boot-files.outputs.cache-hit != 'true'
run: |
patch -N -p1 --no-backup-if-mismatch -r - -d external/circle-stdlib/libs/circle < patches/circle-44.5-revert-firmware.patch
make -C ${{ env.boot-home }} firmware armstub64
cp ${{ env.boot-home }}/armstub8-rpi4.bin \
${{ env.boot-home }}/bcm2711-rpi-4-b.dtb \
+4
View File
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Fixed
- Incorrect I²C clock speed with recent Raspberry Pi firmware versions (issue #292). This was caused by core clock frequency scaling by the GPU firmware. Changes to `config.txt` have been added to ensure the I²C clock is stable by locking the core frequency to 250MHz. The newer Raspberry Pi firmware has been restored.
## [0.12.1] - 2022-06-14
### Fixed
-2
View File
@@ -16,7 +16,6 @@ $(CIRCLE_STDLIB_CONFIG) $(CIRCLE_CONFIG)&:
$(CIRCLESTDLIBHOME)/configure --raspberrypi=$(RASPBERRYPI) --prefix=$(PREFIX)
# Apply patches
@patch -N -p1 --no-backup-if-mismatch -r - -d $(CIRCLEHOME) < patches/circle-44.5-revert-firmware.patch
@patch -N -p1 --no-backup-if-mismatch -r - -d $(CIRCLEHOME) < patches/circle-44.4-minimal-usb-drivers.patch
ifeq ($(strip $(GC_SECTIONS)),1)
@@ -122,7 +121,6 @@ clean:
veryclean: clean
# Reverse patches
@patch -R -N -p1 --no-backup-if-mismatch -r - -d $(CIRCLEHOME) < patches/circle-44.4-minimal-usb-drivers.patch
@patch -R -N -p1 --no-backup-if-mismatch -r - -d $(CIRCLEHOME) < patches/circle-44.5-revert-firmware.patch
@patch -R -N -p1 --no-backup-if-mismatch -r - -d $(FLUIDSYNTHHOME) < patches/fluidsynth-2.2.7-circle.patch
# Clean circle-stdlib
-13
View File
@@ -1,13 +0,0 @@
diff --git a/boot/Makefile b/boot/Makefile
index 6aadb4b..90395d4 100644
--- a/boot/Makefile
+++ b/boot/Makefile
@@ -9,7 +9,7 @@
#FIRMWARE = master
# Use firmware revision built/committed on: Mar 24 2022
-FIRMWARE ?= ea4c803c57697aad951a27fcd64c01ef16f9fe7f
+FIRMWARE ?= 827fdd073638fa7b7292d1148fe0af7465111eae
BASEURL = https://github.com/raspberrypi/firmware/blob/$(FIRMWARE)/boot
+4
View File
@@ -5,6 +5,10 @@ force_eeprom_read=0
gpu_mem=16
disable_overscan=1
# Ensure stable I2C baud rate by locking the core clock
core_freq=250
core_freq_min=250
# Uncomment the following line if your HDMI audio extractor isn't outputting any sound.
# This forces HDMI signalling in case your device is detected as a DVI device.
#hdmi_drive=2