2570 Commits

Author SHA1 Message Date
Jan Čermák
434b83722f
Add HA Yellow image to RPi Imager index update action (#3731)
* Add HA Yellow image to RPi Imager index update action

Update the action to also bump HA Yellow image added in
home-assistant/version#402.

* Sync image name with the current JSON PR
2024-12-11 17:01:47 +01:00
Jan Čermák
e30cf80066
Compile hailo_pci module from original sources on RPi 5 (#3732)
Instead of using in-tree module on RPi 5, build it as a module from the
original sources. This will give us better control over the version used and
will also allow us for easier way to add the module to other platforms.

This also makes 017d172 unnecessary anymore.
2024-12-11 15:13:20 +01:00
Jan Čermák
2b30e2bf53
Linux: Update kernel to 6.6.64 (#3728)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.64
2024-12-09 20:01:36 +01:00
Jan Čermák
017d17291d
Fix Hailo-8 firmware path expected since driver v4.19.0 (#3721)
The new driver now expects the firmware file to contain version number, adjust
the path and remove unnecessary makefile step.
2024-12-06 15:17:32 +01:00
Jan Čermák
ce1e261fa4
Bump RPi SDIO WiFi firmware to latest version (#3719)
* buildroot c65b0306bb...b2077df873 (1):
  > package/brcmfmac_sdio-firmware-rpi: bump version to 4c1789e

Raspberry Pi kernel 6.6 driver for BCM43455 (used in RPi 3B+/4B) calls new API
which uses the DUMP_OBSS feature for channel selection. If it's not preset, it
results in drivers reporting errors, e.g.:

brcmf_set_channel: set chanspec 0xd099 fail, reason -52

The RPi OS firmware was updated but the package we use for this firmware
contains an old version that lacks this support. Update to latest version
synced from RPi upstream to fix the issues. The root cause is explained in [1]
by @ragazenta. Both disabling the DUMP_OBSS and updating the firmware makes the
errors go away.

[1] https://github.com/raspberrypi/linux/issues/6049#issuecomment-2485431104

Fixes #3367
2024-12-05 21:29:29 +01:00
Jan Čermák
4229332cc7
Bump Hailo-8 firmware to 4.19.0 for RPi kernel 6.6.62 (#3716)
Kernel bump in #3715 contains update of the driver to version 4.19.0 - bump the
firmware version to match it.
2024-12-04 18:27:50 +01:00
Jan Čermák
0a4114db3e
RaspberryPi: Update kernel to 6.6.62 - dd2394360860d15146c96635796a75b05bb32b61 (#3715)
* RaspberryPi: Update kernel to 6.6.62 - dd2394360860d15146c96635796a75b05bb32b61

* Bump buildroot to update rpi-firmware

* buildroot 1d7407c66b...c65b0306bb (1):
  > package/rpi-firmware: bump to version 1.20241126 for kernel 6.6.62
2024-12-04 18:26:00 +01:00
Jan Čermák
91079a0cc6
Merge branch 'main' into dev 2024-12-03 19:29:39 +01:00
Jan Čermák
2ac3fceaf4
Bump OS to release version 14.0 14.0 2024-12-03 14:16:01 +01:00
Jan Čermák
babf11d710
Bump OS to pre-release version 14.0.rc3 14.0.rc3 2024-12-02 21:22:42 +01:00
Jan Čermák
47a648392a
Disable CM5's RTC to make Yellow's on-board RTC the primary one (#3706)
With both RTCs enabled, the rpi_rtc is probed as the first one, making the
on-board RTC unused by default. Since the CM5's RTC peripheral can't be used on
Yellow, as the VBAT pin is not connected, disable it completely to fix RTC.

(cherry picked from commit 9d643edb54d25be404b1cc92b64f1eddf48e6a86)
2024-12-02 21:22:41 +01:00
dependabot[bot]
0b251bb950
Bump docker/build-push-action from 6.9.0 to 6.10.0 (#3704)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.9.0 to 6.10.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.9.0...v6.10.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit e0ccf398f2093071bfd8f4b20ecd7a8d2bd4c974)
2024-12-02 17:50:31 +01:00
Jan Čermák
3df7743633
Disable CQE on mmc0 to fix I/O freezes on Yellow+CM5 (#3705)
The I/O operations on the eMMC can sometimes fail and lock up completely, and
disabling CQE on the sdio1 (mmc0) interface seems to solve the issue. While it
is a known (and potentially resolved) issue [1] for SD cards in Raspberry Pi's
Linux fork, it is not acknowledged neither resolved for CM5's eMMC. With CQE
enabled, the device usually locks up within the first 10 first boots, when the
swap file is being created. After disabling CQE, no error occurred after more
that 100 cold boots (every time with swap file removed).

[1] https://github.com/raspberrypi/linuxissues/6349

(cherry picked from commit c514d6b4825e4d72a0f3bfac26a5d3a203390e08)
2024-12-02 17:50:28 +01:00
Jan Čermák
a355da2075
Reduce time of mmc0 interface random hangs on Yellow+CM5 boot (#3700)
For yet unknown root cause, the eMMC interface sometimes fails to initialize
properly, delaying boot for up to 130 seconds. This can be reduced by ~100s by
disabling SD and SDIO modes on the sdio1 interface used for mmc0 before a
better patch is found.

(cherry picked from commit 489de0b2fb06aa6477c2c4ad34d4b9440e5a21ae)
2024-12-02 17:50:24 +01:00
Jan Čermák
66405f102a
Linux: Update kernel to 6.6.63 (#3697)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.63

(cherry picked from commit 22dd06018327af29f07a83717a42c0bb19abdeec)
2024-12-02 17:50:21 +01:00
Jan Čermák
9d643edb54
Disable CM5's RTC to make Yellow's on-board RTC the primary one (#3706)
With both RTCs enabled, the rpi_rtc is probed as the first one, making the
on-board RTC unused by default. Since the CM5's RTC peripheral can't be used on
Yellow, as the VBAT pin is not connected, disable it completely to fix RTC.
2024-12-02 17:47:40 +01:00
dependabot[bot]
e0ccf398f2
Bump docker/build-push-action from 6.9.0 to 6.10.0 (#3704)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.9.0 to 6.10.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.9.0...v6.10.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 16:47:20 +01:00
Jan Čermák
c514d6b482
Disable CQE on mmc0 to fix I/O freezes on Yellow+CM5 (#3705)
The I/O operations on the eMMC can sometimes fail and lock up completely, and
disabling CQE on the sdio1 (mmc0) interface seems to solve the issue. While it
is a known (and potentially resolved) issue [1] for SD cards in Raspberry Pi's
Linux fork, it is not acknowledged neither resolved for CM5's eMMC. With CQE
enabled, the device usually locks up within the first 10 first boots, when the
swap file is being created. After disabling CQE, no error occurred after more
that 100 cold boots (every time with swap file removed).

[1] https://github.com/raspberrypi/linuxissues/6349
2024-12-02 16:45:35 +01:00
Jan Čermák
489de0b2fb
Reduce time of mmc0 interface random hangs on Yellow+CM5 boot (#3700)
For yet unknown root cause, the eMMC interface sometimes fails to initialize
properly, delaying boot for up to 130 seconds. This can be reduced by ~100s by
disabling SD and SDIO modes on the sdio1 interface used for mmc0 before a
better patch is found.
2024-12-02 15:19:38 +01:00
Jan Čermák
22dd060183
Linux: Update kernel to 6.6.63 (#3697)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.63
2024-11-25 17:49:13 +01:00
Jan Čermák
91532037bb
Bump OS to pre-release version 14.0.rc2 14.0.rc2 2024-11-22 14:25:55 +01:00
Jan Čermák
55bbddad4f
Enable Cypress M8 USB serial driver for all targets (#3693)
Build cypress_m8 driver as module for all targets - some of them had it in
their base defconfig while some not. It is required e.g. for UPB PIM (Powerline
Interface Module).

Fixes #3690

(cherry picked from commit d57e50776499f209e013efa0db6cb3c7f46f51c3)
2024-11-22 14:25:36 +01:00
Jan Čermák
444f65ca94
Sync Yellow's DTS with plain CM5 device tree (#3688)
Sync the DTS with changes added in newer commits merged after the initial
Yellow/CM5 DTS was written. The sdio1 node now has HS400 mode enabled and
sd_io_1v8_reg has been changed to regulator-fixed.

(cherry picked from commit b288cd212ae82d78de707009d61265d9d950497c)
2024-11-22 14:25:33 +01:00
Jan Čermák
74af855056
Always use NVMe datadisk on Yellow if it's present on first boot (#3686)
If HAOS on Yellow is booted for the first time with NVMe data disk present, it
should be preferred over the empty eMMC data partition. This will ease
reinstall of the system and migration from CM4 to CM5. All other data disks
(e.g. if a USB drive is used for them) are still treated as before, requiring
manual adoption using the Supervisor repair.

(cherry picked from commit 98ac7f017089f28d7f231eed1a51533dfa62a475)
2024-11-22 14:25:29 +01:00
@RubenKelevra
1291848041
Disable UAS via usb-storage.quirks on RPi for JMicron JMS583
Vendor ID: 152d
Product ID: a583

fixes #3674

(cherry picked from commit a042dc01d212dc2b559018fc42337dd5462270de)
2024-11-22 14:25:25 +01:00
Jan Čermák
d57e507764
Enable Cypress M8 USB serial driver for all targets (#3693)
Build cypress_m8 driver as module for all targets - some of them had it in
their base defconfig while some not. It is required e.g. for UPB PIM (Powerline
Interface Module).

Fixes #3690
2024-11-22 13:56:49 +01:00
Jan Čermák
b288cd212a
Sync Yellow's DTS with plain CM5 device tree (#3688)
Sync the DTS with changes added in newer commits merged after the initial
Yellow/CM5 DTS was written. The sdio1 node now has HS400 mode enabled and
sd_io_1v8_reg has been changed to regulator-fixed.
2024-11-21 19:42:58 +01:00
Jan Čermák
98ac7f0170
Always use NVMe datadisk on Yellow if it's present on first boot (#3686)
If HAOS on Yellow is booted for the first time with NVMe data disk present, it
should be preferred over the empty eMMC data partition. This will ease
reinstall of the system and migration from CM4 to CM5. All other data disks
(e.g. if a USB drive is used for them) are still treated as before, requiring
manual adoption using the Supervisor repair.
2024-11-21 19:42:26 +01:00
@RubenKelevra
a042dc01d2
Disable UAS via usb-storage.quirks on RPi for JMicron JMS583
Vendor ID: 152d
Product ID: a583

fixes #3674
2024-11-21 19:07:41 +01:00
Jan Čermák
af833dbc9f
Bump OS to development version 14.1.dev0 2024-11-19 16:06:02 +01:00
Jan Čermák
885f0a82ab
Bump OS to pre-release version 14.0.rc1 14.0.rc1 2024-11-19 12:02:56 +01:00
Jan Čermák
eec6dfb28d
Add Hailo-8 firmware for Raspberry Pi AI Kit/HAT on RPi 5 (#3680)
Add Hailo-8 firmware binary for Rasperry Pi AI accelerators. The version needs
to be determined from the Git history of the kernel sources, as the driver
source code is included in the RPi downstream kernel and the version string
can't be found in the code directly.

Fixes #3663
2024-11-18 19:01:25 +01:00
Stefan Agner
f169f78bb0
Add Kconfig option for Supervisor channel (#3618)
* Add Makefile variable for Supervisor channel

Allow to set the release channel pre-installed Home Assistant components
like Supervisor and add-on are fetched from. This channel is then also
used at runtime.

* Use choice instead of string variable

* Fix channel in Supervisor updater.json config

* Add newlines
2024-11-18 14:39:46 +01:00
Jan Čermák
71e580175e
Linux: Update kernel to 6.6.62 (#3679)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.61
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.62
2024-11-18 14:09:42 +01:00
Jan Čermák
78cdaab597
Merge Yellow's RAUC post-install hook with the install hook (#3678)
As stated in the docs [1], post-install hook is not executed if the slot
already has an install hook defined. Merge the post-install hook with the
install hook to fix CM5 migration for Yellow.

[1] https://rauc.readthedocs.io/en/latest/using.html#slot-hooks
2024-11-18 12:51:58 +01:00
Jan Čermák
b9e66fbfd0
Remove unnecessary kernel post-install hook for GRUB-based targets (#3672)
The code for this hook was removed in #3457 but it wasn't removed from the
manifest. Remove it to avoid unnecessary execution of the hook.
2024-11-14 16:07:16 +01:00
Jan Čermák
9dfbdd9d12
Fix Yellow's post-install hook for config.txt migration (#3671)
The hook was missing in the manifest, enable it conditionally for Yellow and
add reminder to remove it once it's not needed.
2024-11-14 09:44:12 +01:00
Anton Starikov
b28dd8c4c4
Add iwlwifi-gl firmware needed for Intel BE200 Wi-Fi 7 card (#3668)
Add iwlwifi-gl firmware, which is required for Intel BE200 card. Targets are
generic_aarch64, generic_x86_64 and ova.

* buildroot 19027bc796...1d7407c66b (1):
  > package/linux-firmware: add iwlwifi gl firmware

Closes #3643.
2024-11-14 09:23:34 +01:00
Jan Čermák
23039ceea7
Reduce timeout for network time synchronization to 15 seconds (#3669)
The timeout of 90s was introduced before it was ensured that the timesync
systemd unit starts after network is online. Now with that, it makes less sense
to wait that long - if network is unreachable at the point the time
synchronization starts, and the server fails to reply on the first sync, the
polling interval is exponentially increased and the benefit of waiting for more
attempts is doubtful.

Since another synchronization attempt is done after network changes its state,
we should rely on that instead of having the 90 seconds interval as a waiting
period for plugging the network cable. Worst case, there are other mechanisms
that should set the time to a reasonably accurate value, making the NTP sync
less importart for most of the cases.
2024-11-13 17:14:54 +01:00
Jan Čermák
180c9ada3f
Add initial support for Raspberry Pi CM5 on Yellow (#3667)
* Move RPi U-Boot patches to version-specific directory

We will need to use different series for 2024.10 which would be used as the
base for CM5 support.

* Remove common.h include from the fileenv cmd

It doesn't seem to be used and common.h has been removed in newer U-Boot.

* Use U-Boot 2024.10 with BCM2712 PCIe patches for Yellow

Use rebased patchset from v2024.01 with the first patch removed. Add patches
needed for PCIe initialization and use rpi_arm64_defconfig as the base config
for both CM4 and CM5.

* Add device tree for CM5 on HA Yellow and adjust config

Add device tree definition based on the CM5 device tree with BCM2712D0 changes
applied, and add nodes required for the on-board peripherals of Yellow.

Currently the difference in serial numbering still requires either changes in
this device tree, or userspace changes to create correct symlinks to make HA
configuration directly compatible with CM4 on Yellow.

* Add config.txt migration for conditional device_tree options

* Fix typos and minor issues found by CodeRabbit
2024-11-12 14:34:54 +01:00
Jan Čermák
6047770d7f
Linux: Update kernel to 6.6.60 (#3666)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.60
2024-11-11 17:06:51 +01:00
Jan Čermák
0dc9c65d3c
Fall back to max eMMC clock to fix Kingston eMMC compat with ODROID-N2 (#3665) 2024-11-09 19:04:02 +01:00
Jan Čermák
f612d42fb3
RaspberryPi: Update kernel to 6.6.51 - stable_20241008 (#3662)
* RaspberryPi: Update kernel to 6.6.51 - stable_20241008

* Update rpi-firmware to version for kernel 6.6.51

* buildroot 2ffac68a74...19027bc796 (1):
  > package/rpi-firmware: bump to version 1.20241008 for kernel 6.6.51
2024-11-05 16:02:58 +01:00
Jan Čermák
c9e2b50406
Bump Buildroot to 2024.02.7 (#3659)
* buildroot d59d09ad38...2ffac68a74 (1):
  > Merge tag '2024.02.7' into 2024.02.x-haos
2024-11-05 08:07:31 +01:00
Jan Čermák
7edde96735
Linux: Update kernel to 6.6.59 (#3657)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.58
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.59
2024-11-05 08:07:19 +01:00
xtsrthm
59851f7a51
Add support for external i2c devices (#3642)
This commit adds support for usb to i2c adapters, the i2c chardev and the bme280  famaily environment sensors
2024-11-05 08:06:52 +01:00
dependabot[bot]
8fd7f26d74
Bump mikepenz/action-junit-report from 4 to 5 (#3658)
Bumps [mikepenz/action-junit-report](https://github.com/mikepenz/action-junit-report) from 4 to 5.
- [Release notes](https://github.com/mikepenz/action-junit-report/releases)
- [Commits](https://github.com/mikepenz/action-junit-report/compare/v4...v5)

---
updated-dependencies:
- dependency-name: mikepenz/action-junit-report
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 14:48:00 +01:00
Stefan Agner
a2ff594a75
Add kernel options required for Atheros 12k wirelss adapters (#3640)
Add support for interrupt remapping for IO-APIC and MSI devices as
required by some ath12k devices.

Fixes: #3621
2024-10-21 21:19:40 +01:00
Stefan Agner
f459a1174d
Linux: Update kernel to 6.6.57 (#3639) 2024-10-21 21:19:33 +01:00
Jan Čermák
a5cdc318d4
Bump OS to development version 14.0.dev0 2024-10-15 14:36:49 +02:00