diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec52bb9..54911e7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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,15 +134,17 @@ 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' + # if: steps.cache-boot-files.outputs.cache-hit != 'true' + # Temporarily patch boot firmware version 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 \ diff --git a/CHANGELOG.md b/CHANGELOG.md index 447660c..5c6f824 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- I²C communications failure on MiSTer introduced with newer Raspberry Pi firmware. The previous firmware version has been restored until this is resolved. + ## [0.12.0] - 2022-06-13 ### Added diff --git a/Makefile b/Makefile index 4edac5c..f8a820f 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,7 @@ $(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) @@ -121,6 +122,7 @@ 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 diff --git a/patches/circle-44.5-revert-firmware.patch b/patches/circle-44.5-revert-firmware.patch new file mode 100644 index 0000000..87712f2 --- /dev/null +++ b/patches/circle-44.5-revert-firmware.patch @@ -0,0 +1,13 @@ +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 +