Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare 14.0 #3710

Merged
merged 39 commits into from
Dec 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
cf546d6
Bump docker/build-push-action from 6.7.0 to 6.9.0 (#3604)
dependabot[bot] Sep 30, 2024
5d58a25
Add OHF logo to README (#3603)
mrdarrengriffin Sep 30, 2024
a4a3912
Linux: Update kernel to 6.6.53 (#3605)
sairon Oct 1, 2024
998d0e3
Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 (#3613)
dependabot[bot] Oct 7, 2024
1b6b40e
Linux: Update kernel to 6.6.54 (#3614)
sairon Oct 7, 2024
bb0086a
Linux: Update kernel to 6.6.56 (#3622)
sairon Oct 14, 2024
9e00205
Merge branch 'main' into dev
sairon Oct 15, 2024
a5cdc31
Bump OS to development version 14.0.dev0
sairon Oct 15, 2024
f459a11
Linux: Update kernel to 6.6.57 (#3639)
agners Oct 21, 2024
a2ff594
Add kernel options required for Atheros 12k wirelss adapters (#3640)
agners Oct 21, 2024
8fd7f26
Bump mikepenz/action-junit-report from 4 to 5 (#3658)
dependabot[bot] Nov 4, 2024
59851f7
Add support for external i2c devices (#3642)
xtsrthm Nov 5, 2024
7edde96
Linux: Update kernel to 6.6.59 (#3657)
sairon Nov 5, 2024
c9e2b50
Bump Buildroot to 2024.02.7 (#3659)
sairon Nov 5, 2024
f612d42
RaspberryPi: Update kernel to 6.6.51 - stable_20241008 (#3662)
sairon Nov 5, 2024
0dc9c65
Fall back to max eMMC clock to fix Kingston eMMC compat with ODROID-N…
sairon Nov 9, 2024
6047770
Linux: Update kernel to 6.6.60 (#3666)
sairon Nov 11, 2024
180c9ad
Add initial support for Raspberry Pi CM5 on Yellow (#3667)
sairon Nov 12, 2024
23039ce
Reduce timeout for network time synchronization to 15 seconds (#3669)
sairon Nov 13, 2024
b28dd8c
Add iwlwifi-gl firmware needed for Intel BE200 Wi-Fi 7 card (#3668)
antst Nov 14, 2024
9dfbdd9
Fix Yellow's post-install hook for config.txt migration (#3671)
sairon Nov 14, 2024
b9e66fb
Remove unnecessary kernel post-install hook for GRUB-based targets (#…
sairon Nov 14, 2024
78cdaab
Merge Yellow's RAUC post-install hook with the install hook (#3678)
sairon Nov 18, 2024
71e5801
Linux: Update kernel to 6.6.62 (#3679)
sairon Nov 18, 2024
f169f78
Add Kconfig option for Supervisor channel (#3618)
agners Nov 18, 2024
eec6dfb
Add Hailo-8 firmware for Raspberry Pi AI Kit/HAT on RPi 5 (#3680)
sairon Nov 18, 2024
885f0a8
Bump OS to pre-release version 14.0.rc1
sairon Nov 19, 2024
1291848
Disable UAS via usb-storage.quirks on RPi for JMicron JMS583
RubenKelevra Nov 21, 2024
74af855
Always use NVMe datadisk on Yellow if it's present on first boot (#3686)
sairon Nov 21, 2024
444f65c
Sync Yellow's DTS with plain CM5 device tree (#3688)
sairon Nov 21, 2024
55bbdda
Enable Cypress M8 USB serial driver for all targets (#3693)
sairon Nov 22, 2024
9153203
Bump OS to pre-release version 14.0.rc2
sairon Nov 22, 2024
66405f1
Linux: Update kernel to 6.6.63 (#3697)
sairon Nov 25, 2024
a355da2
Reduce time of mmc0 interface random hangs on Yellow+CM5 boot (#3700)
sairon Dec 2, 2024
3df7743
Disable CQE on mmc0 to fix I/O freezes on Yellow+CM5 (#3705)
sairon Dec 2, 2024
0b251bb
Bump docker/build-push-action from 6.9.0 to 6.10.0 (#3704)
dependabot[bot] Dec 2, 2024
47a6483
Disable CM5's RTC to make Yellow's on-board RTC the primary one (#3706)
sairon Dec 2, 2024
babf11d
Bump OS to pre-release version 14.0.rc3
sairon Dec 2, 2024
2ac3fce
Bump OS to release version 14.0
sairon Dec 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push
uses: docker/build-push-action@v6.9.0
uses: docker/build-push-action@v6.10.0
id: build_haos_builder
with:
context: .
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ jobs:
tests/junit_reports/*.xml

- name: Publish test report
uses: mikepenz/action-junit-report@v4
uses: mikepenz/action-junit-report@v5
if: always()
with:
report_paths: 'tests/junit_reports/*.xml'
Expand Down
38 changes: 19 additions & 19 deletions Documentation/kernel.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@

| Board | Version |
|-------|---------|
| Open Virtual Appliance | 6.6.54 |
| Raspberry Pi | 6.6.31 |
| Raspberry Pi 0-W | 6.6.31 |
| Raspberry Pi 2 | 6.6.31 |
| Raspberry Pi 3 | 6.6.31 |
| Raspberry Pi 4 | 6.6.31 |
| Raspberry Pi 5 | 6.6.31 |
| Home Assistant Yellow | 6.6.31 |
| Home Assistant Green | 6.6.54 |
| Tinker Board | 6.6.54 |
| ODROID-C2 | 6.6.54 |
| ODROID-C4 | 6.6.54 |
| ODROID-M1 | 6.6.54 |
| ODROID-M1S | 6.6.54 |
| ODROID-N2 | 6.6.54 |
| ODROID-XU4 | 6.6.54 |
| Generic aarch64 | 6.6.54 |
| Generic x86-64 | 6.6.54 |
| Khadas VIM3 | 6.6.54 |
| Open Virtual Appliance | 6.6.63 |
| Raspberry Pi | 6.6.51 |
| Raspberry Pi 0-W | 6.6.51 |
| Raspberry Pi 2 | 6.6.51 |
| Raspberry Pi 3 | 6.6.51 |
| Raspberry Pi 4 | 6.6.51 |
| Raspberry Pi 5 | 6.6.51 |
| Home Assistant Yellow | 6.6.51 |
| Home Assistant Green | 6.6.63 |
| Tinker Board | 6.6.63 |
| ODROID-C2 | 6.6.63 |
| ODROID-C4 | 6.6.63 |
| ODROID-M1 | 6.6.63 |
| ODROID-M1S | 6.6.63 |
| ODROID-N2 | 6.6.63 |
| ODROID-XU4 | 6.6.63 |
| Generic aarch64 | 6.6.63 |
| Generic x86-64 | 6.6.63 |
| Khadas VIM3 | 6.6.63 |
2 changes: 1 addition & 1 deletion buildroot
Submodule buildroot updated 323 files
1 change: 1 addition & 0 deletions buildroot-external/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-rtl8723/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/eq3_char_loop/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/gasket/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/generic_raw_uart/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/hailo8-firmware/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/hardkernel-boot/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/hassio/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/khadas-boot/Config.in"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
From 024796cbf752d2e210341ae8609792803641eb92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= <sairon@sairon.cz>
Date: Thu, 7 Nov 2024 12:39:02 +0100
Subject: [PATCH] HACK: mmc: meson-gx: limit f_max to 24 MHz on the first try
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

To initialize some eMMCs cards properly, ODROID N2 needed to have
maximum clock rate limited to 24 MHz. This was working good until ODROID
released eMMC modules with Kingson chips which do not initialize at the
limited frequency at all - instead it seems it's best for the if
no limit is set (which would result in using 52 MHz anyway).

Instead of hard-limiting the frequency, add a boolean flag that caps the
frequency to the proven 24 MHz, and if mmc_select_mode_and_width fails,
remove this cap and use f_max set to 100 MHz, as limited in upstream
U-Boot.

Signed-off-by: Jan Čermák <sairon@sairon.cz>
---
drivers/mmc/meson_gx_mmc.c | 2 ++
drivers/mmc/mmc.c | 11 +++++++++++
include/mmc.h | 2 ++
3 files changed, 15 insertions(+)

diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c
index fcf4f03d1e..715dce3522 100644
--- a/drivers/mmc/meson_gx_mmc.c
+++ b/drivers/mmc/meson_gx_mmc.c
@@ -283,6 +283,8 @@ static int meson_mmc_probe(struct udevice *dev)
cfg->b_max = 511; /* max 512 - 1 blocks */
cfg->name = dev->name;

+ mmc->meson_gx_f_max_hack = true;
+
mmc->priv = pdata;
upriv->mmc = mmc;

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index d96db7a0f8..c8dc676612 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1652,6 +1652,10 @@ int mmc_set_clock(struct mmc *mmc, uint clock, bool disable)
clock = mmc->cfg->f_min;
}

+ /* Apply 24 MHz limit that fixes issues with some cards on meson. */
+ if (mmc->meson_gx_f_max_hack && clock > 24000000)
+ clock = 24000000;
+
mmc->clock = clock;
mmc->clk_disable = disable;

@@ -2647,6 +2651,13 @@ static int mmc_startup(struct mmc *mmc)
if (err)
return err;
err = mmc_select_mode_and_width(mmc, mmc->card_caps);
+ if (err && mmc->meson_gx_f_max_hack) {
+ /* Some eMMCs (namely Kingston) do not initialize at limited frequency. */
+ printf("Card failed to initialize at %d Hz, disabling meson_gx hack.\n",
+ mmc->clock);
+ mmc->meson_gx_f_max_hack = false;
+ err = mmc_select_mode_and_width(mmc, mmc->card_caps);
+ }
}
#endif
if (err)
diff --git a/include/mmc.h b/include/mmc.h
index 1022db3ffa..0ea48c6fd9 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -739,6 +739,8 @@ struct mmc {
u8 hs400_tuning;

enum bus_mode user_speed_mode; /* input speed mode from user */
+
+ bool meson_gx_f_max_hack;
};

#if CONFIG_IS_ENABLED(DM_MMC)

This file was deleted.

3 changes: 3 additions & 0 deletions buildroot-external/board/pc/generic-x86-64/kernel.config
Original file line number Diff line number Diff line change
Expand Up @@ -172,3 +172,6 @@ CONFIG_DLN2_ADC=m

CONFIG_IIO=m
CONFIG_BMP280=m

# Required for some PCIe devices such as ath12k
CONFIG_IRQ_REMAP=y
15 changes: 15 additions & 0 deletions buildroot-external/board/pc/ova/kernel.config
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,19 @@ CONFIG_DWMAC_INTEL=m
CONFIG_I6300ESB_WDT=y

CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_MUX=y
CONFIG_I2C_TINY_USB=m

CONFIG_I2C_DLN2=m
CONFIG_GPIO_DLN2=m
CONFIG_MFD_DLN2=m
CONFIG_DLN2_ADC=m

CONFIG_IIO=m
CONFIG_BMP280=m

# Required for some PCIe devices such as ath12k
CONFIG_IRQ_REMAP=y
2 changes: 1 addition & 1 deletion buildroot-external/board/raspberrypi/cmdline.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
dwc_otg.lpm_enable=0 console=tty0 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u,174c:225c:u,7825:a2a4:u,152d:0562:u,125f:a88a:u
dwc_otg.lpm_enable=0 console=tty0 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u,174c:225c:u,7825:a2a4:u,152d:0562:u,125f:a88a:u,152d:a583:u
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
From 3d9bd29941ce291e44aab60be1339d4c116ebda5 Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 29 Dec 2020 23:34:52 +0100
Subject: [PATCH] rpi: add NVMe to boot order

The Compute Module 4 I/O Board can support a NVMe. Add NVMe to the boot
order.

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
board/raspberrypi/rpi/rpi.env | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/board/raspberrypi/rpi/rpi.env b/board/raspberrypi/rpi/rpi.env
index 30228285ed..89f6c5a839 100644
--- a/board/raspberrypi/rpi/rpi.env
+++ b/board/raspberrypi/rpi/rpi.env
@@ -74,4 +74,4 @@ pxefile_addr_r=0x02500000
fdt_addr_r=0x02600000
ramdisk_addr_r=0x02700000

-boot_targets=mmc usb pxe dhcp
+boot_targets=mmc nvme usb pxe dhcp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From ab13da2df9f86517df45da293ed8002e07a3d5ec Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 23 Sep 2021 23:43:31 +0200
Subject: [PATCH] Revert "nvme: Correct the prps per page calculation method"

This reverts commit 859b33c948945f7904f60a2c12a3792d356d51ad.

If there is more than one PRP List the last entry is a pointer to
the next list. From the NVM Express specification:

"The last entry within a memory page, as indicated by the memory page
size in the CC.MPS field, shall be a PRP List pointer if there is more
than a single memory page of data to be transferred."

For the purpose of calculating the number of pages required for PRP
lists we should always assume that the last entry is required for
the next PRP list.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Cc: Wesley Sheng <wesleyshenggit@sina.com>
---
drivers/nvme/nvme.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index 7c58ceb78f..0b2496cf26 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -52,7 +52,7 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
u64 *prp_pool;
int length = total_len;
int i, nprps;
- u32 prps_per_page = page_size >> 3;
+ u32 prps_per_page = (page_size >> 3) - 1;
u32 num_pages;

length -= (page_size - offset);
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
From 9de58838106829b8caa47b6fd6b42ba3435c2ce6 Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 7 Oct 2021 12:02:39 +0200
Subject: [PATCH] usb: xhci-brcm: Make driver compatible with downstream device
tree

The downstream device tree uses just "generic-xhci" as compatible
string. Use this string to make U-Boot work with the downstream Kernel.

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/usb/host/xhci-brcm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/host/xhci-brcm.c b/drivers/usb/host/xhci-brcm.c
index 2ffad148de..2a063ccc9e 100644
--- a/drivers/usb/host/xhci-brcm.c
+++ b/drivers/usb/host/xhci-brcm.c
@@ -81,7 +81,7 @@ static int xhci_brcm_deregister(struct udevice *dev)
}

static const struct udevice_id xhci_brcm_ids[] = {
- { .compatible = "brcm,generic-xhci" },
+ { .compatible = "generic-xhci" },
{ }
};

Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
From 8c5910539c7e4e97f233789c2489c800f87ddf81 Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 23 Sep 2021 23:52:44 +0200
Subject: [PATCH] nvme: improve readability of nvme_setup_prps()

Improve readability by introducing consts, reuse consts where
appropriate and adding variables with discriptive name.

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/nvme/nvme.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index 0b2496cf26..b1d8eecdca 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -47,12 +47,12 @@ static int nvme_wait_csts(struct nvme_dev *dev, u32 mask, u32 val)
static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
int total_len, u64 dma_addr)
{
- u32 page_size = dev->page_size;
+ const u32 page_size = dev->page_size;
+ const u32 prps_per_page = (page_size >> 3) - 1;
int offset = dma_addr & (page_size - 1);
u64 *prp_pool;
int length = total_len;
int i, nprps;
- u32 prps_per_page = (page_size >> 3) - 1;
u32 num_pages;

length -= (page_size - offset);
@@ -91,8 +91,8 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
i = 0;
while (nprps) {
if ((i == (prps_per_page - 1)) && nprps > 1) {
- *(prp_pool + i) = cpu_to_le64((ulong)prp_pool +
- page_size);
+ u64 next_prp_list = (u64)prp_pool + page_size;
+ *(prp_pool + i) = cpu_to_le64(next_prp_list);
i = 0;
prp_pool += page_size;
}
Loading
Loading