Odroid M1 stops booting with 6.16.x kernel

Problems with packages? Post here, using [tags] of the package name.

Odroid M1 stops booting with 6.16.x kernel

Postby omgold » Sun Aug 31, 2025 11:19 am

Hi,

After upgrading the kernel from 6.15.9 to 6.16.x, my Odroid M1 doesn't come up anymore. Black screen, no network connection.

What I find is, if I replace the version of /boot/dtbs/rockchip/rk3568-odroid-m1.dtb that comes with the new kernel with the one from the 6.15.9 package, the new kernels boot again.

Upstream the file arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts hasn't changed between the 6.15.9 and 6.16, but arch/arm64/boot/dts/rockchip/rk3568.dtsi has small changes:

diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
index 695cccbdab0f..e719a3df126c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
@@ -152,7 +152,7 @@ pcie3x1: pcie@fe270000 {
compatible = "rockchip,rk3568-pcie";
#address-cells = <3>;
#size-cells = <2>;
- bus-range = <0x0 0xf>;
+ bus-range = <0x10 0x1f>;
clocks = <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>,
<&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>,
<&cru CLK_PCIE30X1_AUX_NDFT>;
@@ -175,7 +175,7 @@ pcie3x1: pcie@fe270000 {
num-ib-windows = <6>;
num-ob-windows = <2>;
max-link-speed = <3>;
- msi-map = <0x0 &gic 0x1000 0x1000>;
+ msi-map = <0x1000 &its 0x1000 0x1000>;
num-lanes = <1>;
phys = <&pcie30phy>;
phy-names = "pcie-phy";
@@ -205,7 +205,7 @@ pcie3x2: pcie@fe280000 {
compatible = "rockchip,rk3568-pcie";
#address-cells = <3>;
#size-cells = <2>;
- bus-range = <0x0 0xf>;
+ bus-range = <0x20 0x2f>;
clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>,
<&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>,
<&cru CLK_PCIE30X2_AUX_NDFT>;
@@ -228,7 +228,7 @@ pcie3x2: pcie@fe280000 {
num-ib-windows = <6>;
num-ob-windows = <2>;
max-link-speed = <3>;
- msi-map = <0x0 &gic 0x2000 0x1000>;
+ msi-map = <0x2000 &its 0x2000 0x1000>;
num-lanes = <2>;
phys = <&pcie30phy>;
phy-names = "pcie-phy";

Not sure if it is that what breaks it.
omgold
 
Posts: 2
Joined: Sun Mar 26, 2023 4:04 pm

Re: Odroid M1 stops booting with 6.16.x kernel

Postby graysky » Sun Aug 31, 2025 12:30 pm

It seems there is only 1 commit between those versions:

% git log v6.15.9..v6.16.4 -- arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
commit fbea35a661ed100cee2f3bab8015fb0155508106
Author: Chukun Pan <amadeus@jmu.edu.cn>
Date: Sat Mar 8 17:30:08 2025 +0800

arm64: dts: rockchip: Move rk3568 PCIe3 MSI to use GIC ITS

Following commit b956c9de9175 ("arm64: dts: rockchip: rk356x: Move
PCIe MSI to use GIC ITS instead of MBI"), change the PCIe3 controller's
MSI on rk3568 to use ITS, so that all MSI-X can work properly.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link:make_clickable_callback(MAGIC_URL_FULL, ' ', 'https://lore.kernel.org/r/20250308093008.568437-2-amadeus@jmu.edu.cn', '', ' class="postlink"')
Signed-off-by: Heiko Stuebner <heiko@sntech.de>

Since this is specific to the M1, I am OK with shipping a revertin our package as a temp fix but this should really be reported upstream. Can you please do that?

Please try linux-aarch64-6.16.4-3 when it hits the repos and report back (I assume you are running this kernel).
graysky
Developer
 
Posts: 1880
Joined: Sun Jun 26, 2011 6:56 am
Location: /run/user/1000


Return to Packages

Who is online

Users browsing this forum: No registered users and 9 guests