Skip to content

odroidm1: u-boot v2026.01 + kernel fix for ethernet#9333

Merged
igorpecovnik merged 2 commits into
armbian:mainfrom
rpardini:pr/odroidm1-u-boot-v202601--kernel-fix-for-ethernet
Feb 2, 2026
Merged

odroidm1: u-boot v2026.01 + kernel fix for ethernet#9333
igorpecovnik merged 2 commits into
armbian:mainfrom
rpardini:pr/odroidm1-u-boot-v202601--kernel-fix-for-ethernet

Conversation

@rpardini

@rpardini rpardini commented Feb 2, 2026

Copy link
Copy Markdown
Member

odroidm1: u-boot v2026.01 + kernel fix for ethernet

  • 🌳 rockchip64-6.19: odroidm1: ethernet TXD timing 0x4f -> 0x35 for much better performance
  • 🌿 odroidm1: u-boot: bump to v2026.01
    • tested on actual hardware
    • small fixes for:
      • LEDs (new names; was wrong also in v2025.10 and previous)
      • remove duplicate enablement of CONFIG_CMD_USB_MASS_STORAGE
      • comment about lower USB3 port not working due share with OTG/UMS micro-usb port that is enabled

Summary by CodeRabbit

  • New Features

    • Enabled USB Mass Storage support for ODROID-M1.
  • Updates

    • Updated boot configuration versions.
    • Modified preboot LED indicators.
    • Adjusted Ethernet timing delay for improved performance.

✏️ Tip: You can customize this high-level summary in your review settings.

- tested on actual hardware
- small fixes for:
  - LEDs (new names; was wrong also in v2025.10 and previous)
  - remove duplicate enablement of CONFIG_CMD_USB_MASS_STORAGE
  - comment about lower USB3 port not working due share with OTG/UMS
    micro-usb port that is enabled
@coderabbitai

coderabbitai Bot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This pull request updates the ODROID-M1 board configuration by advancing boot versions from v2025.10 to v2026.01, introducing UMS-specific u-boot device tree patches, updating preboot LED indicators, modifying USB gadget configuration, and adding a kernel patch for GMAC Ethernet TXD timing delay adjustment.

Changes

Cohort / File(s) Summary
ODROID-M1 Configuration
config/boards/odroidm1.conf
Updated BOOTBRANCH_BOARD and BOOTPATCHDIR to v2026.01. Introduced new pre_config_uboot_target__odroidm1_patch_uboot_dtsi_for_ums patch hook for UMS device tree modifications. Revised preboot environment configuration with new LED indicator sequences. Modified USB/RockUSB gadget enablement logic.
Rockchip Device Tree Patch
patch/kernel/archive/rockchip64-6.19/board-odroidm1-change-ethernet-TXD-timing-delay-value.patch
New patch file adjusting GMAC TXD timing delay value from 0x4f to 0x35 in rk3568-odroid-m1.dts for improved Ethernet performance.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 With ears held high, the ODROID hops along,
New boot versions sing their upgrade song,
UMS patches dance, LED lights aglow,
Ethernet timing finds its perfect flow!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: U-Boot version bump to v2026.01 and an ethernet fix for the ODROID-M1 board.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added size/small PR with less then 50 lines 02 Milestone: First quarter release Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Feb 2, 2026
@rpardini

rpardini commented Feb 2, 2026

Copy link
Copy Markdown
Member Author

u-boot serial bootlog, with no SD and no eMMC, only NVMe:

DDR 2d653b3476 typ 24/01/20-15:04:19,fwver: v1.21
In
LP4/4x derate en, other dram:1x trefi
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
tdqss: cs0 dqs0: 48ps, dqs1: -96ps, dqs2: -72ps, dqs3: -144ps,
tdqss: cs1 dqs0: 48ps, dqs1: -120ps, dqs2: -72ps, dqs3: -144ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:0
vrefinner:24%, vrefout:41%
dram drv:40,odt:0
clk skew:0x61
rx vref: 34.4%
tx vref: 42.0%

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:0
vrefinner:24%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58
rx vref: 32.4%
tx vref: 40.0%

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58
rx vref: 16.6%
tx vref: 36.0%

change to: 1560MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x21
rx vref: 17.6%
tx vref: 23.8%
cs 0:
the read training result:
DQS0:0x32, DQS1:0x32, DQS2:0x36, DQS3:0x2d,
min  : 0xd  0xf 0x12 0x12  0x2  0x6  0xa  0x7 , 0x9  0x9  0x2  0x2  0xd  0xb  0xb  0x9 ,
      0x12 0x12  0xb  0xd  0x5  0x2  0x5  0x7 , 0x9  0x7  0x6  0x1  0xd  0xd  0x9  0xc ,
mid  :0x28 0x2a 0x2d 0x2c 0x1c 0x20 0x24 0x22 ,0x24 0x24 0x1b 0x1d 0x27 0x25 0x26 0x23 ,
      0x2d 0x2d 0x26 0x27 0x20 0x1d 0x1f 0x22 ,0x24 0x22 0x21 0x1b 0x28 0x28 0x24 0x26 ,
max  :0x44 0x46 0x48 0x46 0x37 0x3b 0x3f 0x3d ,0x40 0x3f 0x35 0x38 0x42 0x3f 0x41 0x3d ,
      0x48 0x49 0x41 0x42 0x3b 0x38 0x3a 0x3e ,0x40 0x3d 0x3c 0x36 0x43 0x43 0x3f 0x40 ,
range:0x37 0x37 0x36 0x34 0x35 0x35 0x35 0x36 ,0x37 0x36 0x33 0x36 0x35 0x34 0x36 0x34 ,
      0x36 0x37 0x36 0x35 0x36 0x36 0x35 0x37 ,0x37 0x36 0x36 0x35 0x36 0x36 0x36 0x34 ,
the write training result:
DQS0:0x2a, DQS1:0xa, DQS2:0x13, DQS3:0x5,
min  :0x73 0x74 0x78 0x73 0x65 0x69 0x6d 0x6d 0x6b ,0x4d 0x4a 0x45 0x44 0x4f 0x4e 0x4f 0x4e 0x49 ,
      0x5a 0x5a 0x56 0x54 0x4d 0x4b 0x4c 0x52 0x52 ,0x50 0x4b 0x4a 0x45 0x4f 0x53 0x4e 0x55 0x49 ,
mid  :0x8e 0x8f 0x92 0x8e 0x7f 0x82 0x87 0x87 0x83 ,0x69 0x65 0x5e 0x5d 0x6a 0x67 0x69 0x67 0x62 ,
      0x76 0x76 0x70 0x6e 0x67 0x65 0x67 0x6c 0x6c ,0x6a 0x66 0x63 0x5e 0x6a 0x6c 0x68 0x6e 0x63 ,
max  :0xa9 0xaa 0xac 0xa9 0x9a 0x9c 0xa2 0xa1 0x9c ,0x85 0x81 0x77 0x77 0x85 0x81 0x83 0x81 0x7b ,
      0x92 0x93 0x8a 0x88 0x82 0x80 0x82 0x86 0x86 ,0x84 0x81 0x7d 0x77 0x86 0x85 0x83 0x88 0x7d ,
range:0x36 0x36 0x34 0x36 0x35 0x33 0x35 0x34 0x31 ,0x38 0x37 0x32 0x33 0x36 0x33 0x34 0x33 0x32 ,
      0x38 0x39 0x34 0x34 0x35 0x35 0x36 0x34 0x34 ,0x34 0x36 0x33 0x32 0x37 0x32 0x35 0x33 0x34 ,
cs 1:
the read training result:
DQS0:0x32, DQS1:0x32, DQS2:0x36, DQS3:0x2d,
min  : 0xd  0xf 0x12 0x12  0x2  0x6  0xa  0x7 , 0x9  0x9  0x2  0x2  0xd  0xb  0xb  0x9 ,
      0x12 0x12  0xb  0xd  0x5  0x2  0x5  0x7 , 0x9  0x7  0x6  0x1  0xd  0xd  0x9  0xc ,
mid  :0x28 0x2a 0x2d 0x2c 0x1c 0x20 0x24 0x22 ,0x24 0x24 0x1b 0x1d 0x27 0x25 0x26 0x23 ,
      0x2d 0x2d 0x26 0x27 0x20 0x1d 0x1f 0x22 ,0x24 0x22 0x21 0x1b 0x28 0x28 0x24 0x26 ,
max  :0x44 0x46 0x48 0x46 0x37 0x3b 0x3f 0x3d ,0x40 0x3f 0x35 0x38 0x42 0x3f 0x41 0x3d ,
      0x48 0x49 0x41 0x42 0x3b 0x38 0x3a 0x3e ,0x40 0x3d 0x3c 0x36 0x43 0x43 0x3f 0x40 ,
range:0x37 0x37 0x36 0x34 0x35 0x35 0x35 0x36 ,0x37 0x36 0x33 0x36 0x35 0x34 0x36 0x34 ,
      0x36 0x37 0x36 0x35 0x36 0x36 0x35 0x37 ,0x37 0x36 0x36 0x35 0x36 0x36 0x36 0x34 ,
the write training result:
DQS0:0x2a, DQS1:0xa, DQS2:0x13, DQS3:0x5,
min  :0x73 0x74 0x78 0x73 0x65 0x69 0x6d 0x6d 0x6b ,0x4d 0x4a 0x45 0x44 0x4f 0x4e 0x4f 0x4e 0x49 ,
      0x5a 0x5a 0x56 0x54 0x4d 0x4b 0x4c 0x52 0x52 ,0x50 0x4b 0x4a 0x45 0x4f 0x53 0x4e 0x55 0x49 ,
mid  :0x8e 0x8f 0x92 0x8e 0x7f 0x82 0x87 0x87 0x83 ,0x69 0x65 0x5e 0x5d 0x6a 0x67 0x69 0x67 0x62 ,
      0x76 0x76 0x70 0x6e 0x67 0x65 0x67 0x6c 0x6c ,0x6a 0x66 0x63 0x5e 0x6a 0x6c 0x68 0x6e 0x63 ,
max  :0xa9 0xaa 0xac 0xa9 0x9a 0x9c 0xa2 0xa1 0x9c ,0x85 0x81 0x77 0x77 0x85 0x81 0x83 0x81 0x7b ,
      0x92 0x93 0x8a 0x88 0x82 0x80 0x82 0x86 0x86 ,0x84 0x81 0x7d 0x77 0x86 0x85 0x83 0x88 0x7d ,
range:0x36 0x36 0x34 0x36 0x35 0x33 0x35 0x34 0x31 ,0x38 0x37 0x32 0x33 0x36 0x33 0x34 0x33 0x32 ,
      0x38 0x39 0x34 0x34 0x35 0x35 0x36 0x34 0x34 ,0x34 0x36 0x33 0x32 0x37 0x32 0x35 0x33 0x34 ,
CA Training result:
cs:0 min  :0x55 0x50 0x4c 0x44 0x4c 0x40 0x4e ,0x50 0x48 0x47 0x3e 0x49 0x40 0x4c ,
cs:0 mid  :0x92 0x91 0x87 0x85 0x87 0x81 0x80 ,0x8d 0x89 0x82 0x7e 0x84 0x7f 0x7c ,
cs:0 max  :0xcf 0xd2 0xc3 0xc6 0xc3 0xc2 0xb2 ,0xcb 0xcb 0xbd 0xbf 0xbf 0xbf 0xad ,
cs:0 range:0x7a 0x82 0x77 0x82 0x77 0x82 0x64 ,0x7b 0x83 0x76 0x81 0x76 0x7f 0x61 ,
cs:1 min  :0x54 0x59 0x49 0x4d 0x49 0x46 0x54 ,0x4e 0x53 0x43 0x45 0x43 0x47 0x4c ,
cs:1 mid  :0x94 0x93 0x89 0x88 0x89 0x82 0x85 ,0x90 0x8d 0x84 0x81 0x84 0x82 0x7f ,
cs:1 max  :0xd5 0xce 0xca 0xc3 0xca 0xbf 0xb7 ,0xd2 0xc7 0xc6 0xbd 0xc6 0xbd 0xb2 ,
cs:1 range:0x81 0x75 0x81 0x76 0x81 0x79 0x63 ,0x84 0x74 0x83 0x78 0x83 0x76 0x66 ,
out

U-Boot SPL 2026.01_armbian-2026.01-S127a-P7d62-Hcfeb-Vab81-B027f-R448a (Feb 02 2026 - 02:34:01 +0000)
Trying to boot from SPI
## Checking hash(es) for config config-1 ... OK
## Checking hash(es) for Image atf-1 ... sha256+ OK
## Checking hash(es) for Image u-boot ... sha256+ OK
## Checking hash(es) for Image fdt-1 ... sha256+ OK
## Checking hash(es) for Image atf-2 ... sha256+ OK
## Checking hash(es) for Image atf-3 ... sha256+ OK
## Checking hash(es) for Image atf-4 ... sha256+ OK
## Checking hash(es) for Image atf-5 ... sha256+ OK
## Checking hash(es) for Image atf-6 ... sha256+ OK
INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-645-g8cea6ab0b:cl, fwver: v1.44
NOTICE:  BL31: Built : 16:36:43, Sep 19 2023
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid 220114
INFO:    l3 cache partition cfg-0
INFO:    dfs DDR fsp_param[0].freq_mhz= 1560MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x800000
INFO:    SPSR = 0x3c9


U-Boot 2026.01_armbian-2026.01-S127a-P7d62-Hcfeb-Vab81-B027f-R448a (Feb 02 2026 - 02:34:01 +0000)

Model: Hardkernel ODROID-M1
SoC:   RK3568B2
DRAM:  8 GiB (total 7.7 GiB)
PMIC:  RK809 (on=0x02, off=0x00)
Core:  331 devices, 35 uclasses, devicetree: separate
MMC:   mmc@fe2b0000: 1, mmc@fe310000: 0
Loading Environment from SPIFlash... SF: Detected mx25u12835f with page size 256 Bytes, erase size 4 KiB, total 16 MiB
OK
In:    serial@fe660000
Out:   serial@fe660000
Err:   serial@fe660000
Model: Hardkernel ODROID-M1
SoC:   RK3568B2
Net:   eth0: ethernet@fe2a0000
armbian leds
armbian env already set once
Hit any key to stop autoboot: 0
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename
---  -----------  ------  --------  ----  ------------------------  ----------------
Scanning global bootmeth 'efi_mgr':
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
Cannot persist EFI variables without system partition
Scanning bootdev 'mmc@fe2b0000.bootdev':
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
Scanning bootdev 'mmc@fe310000.bootdev':
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
pcie_dw_rockchip pcie@fe280000: PCIe Link up, LTSSM is 0x230011
pcie_dw_rockchip pcie@fe280000: PCIE-0: Link up (Gen3-x2, Bus0)
Scanning bootdev 'nvme#0.blk#1.bootdev':
  0  script       ready   nvme         1  nvme#0.blk#1.bootdev.part /boot/boot.scr
** Booting bootflow 'nvme#0.blk#1.bootdev.part_1' with script
Boot script loaded from nvme 0:1
282 bytes read in 0 ms
29455934 bytes read in 34 ms (826.2 MiB/s)
41200128 bytes read in 58 ms (677.4 MiB/s)
124004 bytes read in 3 ms (39.4 MiB/s)
Working FDT set to 12000000
223 bytes read in 5 ms (43 KiB/s)
Applying kernel provided DT overlay rockchip-rk3568-hk-i2c0.dtbo
223 bytes read in 6 ms (36.1 KiB/s)
Applying kernel provided DT overlay rockchip-rk3568-hk-i2c1.dtbo
Trying kaslrseed command... Info: Unknown command can be safely ignored since kaslrseed does not apply to all boards.
Unknown command 'kaslrseed' - try 'help'
## Loading init Ramdisk from Legacy Image at 12180000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    29455870 Bytes = 28.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 12000000
   Booting using the fdt blob at 0x12000000
Working FDT set to 12000000
   Loading Ramdisk to eafe8000, end ecbff5fe ... OK
   Loading Device Tree to 00000000ecdf6000, end 00000000ece7cfff ... OK
Working FDT set to ecdf6000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 6.19.0-rc8-edge-rockchip64 (build@armbian) (aarch64-linux-gnu-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #9 SMP PREEMPT Sun Feb  1 22:01:13 UTC 2026
[    0.000000] KASLR enabled
[    0.000000] Machine model: Hardkernel ODROID-M1

@rpardini rpardini requested review from iav and removed request for ColorfulRhino, JohnTheCoolingFan, chainsx, efectn, pyavitz and schwar3kat February 2, 2026 02:59

@iav iav left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It works!

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

✅ This PR has been reviewed and approved — all set for merge!

@github-actions github-actions Bot added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Feb 2, 2026
@igorpecovnik igorpecovnik merged commit 57954a9 into armbian:main Feb 2, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

02 Milestone: First quarter release Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines

Development

Successfully merging this pull request may close these issues.

4 participants