2336 Commits

Author SHA1 Message Date
Igor Pecovnik
e825695352 patch: disable drm/xe patches that don't apply to current kernels (NEEDS FIXING)
Some checks failed
Data: Sync board list / Send dispatch (push) Has been cancelled
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
Rename two .patch files to .patch.NEED_FIX so the patch driver
skips them on apply. Both are drm/xe kernel patches that stopped
applying cleanly after an upstream rebase and haven't been
refreshed yet:

  - 0002-drm-xe-guc-use-GUC_SIZE-SZ_4K-for-alignment.patch
  - 0005-drm-xe-query-use-PAGE_SIZE-as-the-minimum-page-align.patch

Kernels that were picking these up need them re-based against
current upstream drm/xe before re-enabling. Not a behaviour
change on its own — the patches were already failing the apply
step — but stops the noise in build logs and makes it obvious
at a glance which patches need maintainer attention.
2026-05-01 20:54:17 +02:00
EvilOlaf
6ce28eadcc retroidpocket: replace dt added via patch with out-of-tree dts
Similar to https://github.com/armbian/build/pull/9572
2026-05-01 20:53:40 +02:00
retro98boy
5c9eb46ea3 Improve Type-C Virtual PD extcon driver 2026-05-01 20:24:33 +02:00
retro98boy
de7519c03d SMART AM40: Update DT 2026-05-01 20:24:33 +02:00
retro98boy
ca9ff59a45 Copy 6.18/cniot-core.dts to 6.12/cniot-core.dts 2026-05-01 20:01:39 +02:00
Ricardo Pardini
0dfc64416c Revert "genio: edge: bump to collabora's mediatek-v7.0"
This reverts commit 5b1a617574446b2b5f19fe1562ef3e6cb32e1992.
2026-04-24 12:56:10 +02:00
Ricardo Pardini
9673c6f0c8 genio: edge: bump to collabora's mediatek-v7.0 2026-04-24 12:56:10 +02:00
Alex Ling
be9bc71569 sm8550-6.18: Switch back to upstream sdhci_msm driver
Signed-off-by: Alex Ling <ling_kasim@hotmail.com>
2026-04-23 20:50:41 +02:00
Ricardo Pardini
55706c5e69 meson64-6.12: oldlts: update meson-axg mmc phase configuration patch
- picked from #9447
2026-04-23 20:48:37 +02:00
Igor Velkov
2bb89c70ab mvebu/pcie: fix DEVCTL change detection and trim RTCTL handling
Compute the relevant PCI_EXP_DEVCTL change mask before clearing the
RC-mode forbidden bits from the local write value. Otherwise a change in
DEVCTL.{CERE,NFERE,FERE} may be missed and the corresponding IRQ mask
update deferred until some later config-space write.

Also restrict the PCI_EXP_RTCTL-triggered IRQ mask update to PMEIE.
mvebu_pcie_handle_irq_change() only uses rootctl.PMEIE, so reacting to
SECEE/SENFEE/SEFEE changes only reruns the helper without affecting the
hardware interrupt mask.

Assisted-by: Claude:claude-opus-4-7
2026-04-23 06:40:05 +02:00
Igor Velkov
d79ad1f177 mvebu: clearfog PCIe patch — drop 2016 debug hunks (aspm.c, portdrv.c)
Patch 10-mvebu-clearfog-pcie-updates.patch (Russell King, Nov 2016) was
restored from mvebu-6.6/ to mvebu-6.18/ alongside three other lost
patches. It bundled together two distinct kinds of changes:

1. Functional AER/PME plumbing for the mvebu PCIe controller:
   - mvebu_pcie_handle_irq_change() in pci-mvebu.c, which syncs the
     hardware PCIE_INT_UNMASK_OFF mask (BIT 8/9/10/16/17/18) with the
     emulated bridge config space whenever AER-related bits in
     PCI_COMMAND.SERR, BRIDGE_CTL.SERR, DEVCTL.{CERE,NFERE,FERE,URRE}
     or RTCTL.{SECEE,SENFEE,SEFEE,PMEIE} change
   - Armada 370 erratum: clamp DEVCTL.{URRE,FERE,NFERE,CERE} to 0 in
     Root Complex mode
   - pci-bridge-emul.c: default bridge->conf.bridgectrl to
     PCI_BRIDGE_CTL_SERR (precondition for AER reporting)

2. Two debug hunks: dev_info() probes added during clearfog bring-up:
   - drivers/pci/pcie/aspm.c (6 lines): print upstream/downstream ASPM
     LNKCAP/LNKCTL on every pcie_aspm_cap_init() call
   - drivers/pci/pcie/portdrv.c (2 lines): print PCIe capabilities and
     init_service_irqs() return on every port device register

Drop the debug hunks. They were ad-hoc bring-up traces from 2016, never
useful in production, and just noise in dmesg on every boot. The aspm.c
hunk also no longer applies cleanly to 6.18 (function moved from line
617 to 814) — fixing the offset just to keep dev_info() spam is not
worthwhile.

Functional hunks (pci-mvebu.c, pci-bridge-emul.c) keep the original
intent: without them mvebu's hardware AER/PME interrupt masks stay off,
so corrected/uncorrected PCIe errors and PME wake events go undetected
on clearfog boards (NAS use case with NVMe/SATA cards in mPCIe slots).

Mainline still does not have this plumbing — Marek Behún's 2021 rewrite
around pci-bridge-emul did not close this gap.

Assisted-by: Claude:claude-opus-4-7
2026-04-23 06:40:05 +02:00
Igor Velkov
aa67b62436 mvebu: edge → 6.18 LTS family-wide (followup to #9694)
#9694 split mvebu edge into per-board kernel versions: helios4 on 6.18 LTS,
clearfogpro/clearfogbase on 6.15. Both share LINUXCONFIG=linux-mvebu-edge
and ARMBIAN_KERNEL_DEB_NAME=mvebu-edge, so building both produced
"Duplicate LINUXCONFIG's found!" — two source trees compete for the same
package name.

Per @igorpecovnik in #9694: "kernel can't be per board". Bump the rest of
the mvebu (armhf) family to 6.18 too. mvebu64 and other families are
untouched.

The mvebu-6.18 patch directory is already in the tree from #9694, so the
remaining boards (clearfogpro, clearfogbase) get the same patch set.
Affected boards: clearfogpro, helios4, clearfogbase (csc). espressobin
and macchiatobin (eos) are mvebu64, not affected.

I do not have non-helios4 mvebu hardware; build verified, runtime not.

Assisted-by: Claude:claude-opus-4-7
2026-04-23 06:40:05 +02:00
EvilOlaf
5188ebe5c6 uefi-x86-6.18: rewrite patches for 6.18.24
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
2026-04-23 05:49:16 +02:00
EvilOlaf
22de8bd5af uefi-x86-7.0: rewrite patches for 7.0.1 2026-04-23 05:49:16 +02:00
EvilOlaf
3d05c50742 sunxi-6.18: rewrite patches for 6.18.24 2026-04-23 05:49:16 +02:00
EvilOlaf
024fd81f57 sunxi-7.0: rewrite patches for 7.0.1 2026-04-23 05:49:16 +02:00
EvilOlaf
9694a25a78 rockchip64-7.0: rewrite patches for 7.0.1 2026-04-23 05:49:16 +02:00
EvilOlaf
b82d39565e rockchip64-6.18: rewrite patches for 6.18.24 2026-04-23 05:49:16 +02:00
Julian Sikorski
92045ee3e8 Update odroidxu4-current to 6.6.135 2026-04-22 14:09:29 +02:00
Igor Velkov
645e134454 mvebu: helios4 edge → 6.18 LTS, restore orphaned patches
Commit 2f852e68e bumped mvebu edge KERNEL_MAJOR_MINOR from 6.12 to 6.15
but did not rename patch/kernel/archive/mvebu-6.12/, so KERNELPATCHDIR
pointed to a non-existent directory and all helios4-specific kernel
patches (GPIO wake, Wake-on-LAN, atheros regd, DMA, SPI-flash) were
silently skipped.

6.15 is not an LTS kernel; 6.18 is. Bump only helios4 to 6.18 (LTS, EOL
2028-12), keeping the rest of the mvebu family at 6.15 until their
maintainers verify the upgrade on their own boards.

Rename the archive directory to mvebu-6.18 so the patches apply again,
verified by a full kernel build against 6.18.23.
2026-04-19 21:14:12 +02:00
Charlie Carpinteri
dc91ec0391 rockchip-rk3588: add Rock 5 ITX PWM fan control overlay
The Rock 5 ITX DTB defines the PWM fan as /pwm-fan without a labelled
phandle, so the existing rockchip-rk3588-fanctrl overlay (which targets
&fan) has no effect on this board.

The default cooling-levels in the Rock 5 ITX DTB start at 0, which means
the fan receives no PWM signal at idle and falls back to running at full
speed regardless of temperature.

This overlay patches /pwm-fan directly using target-path, replacing the
cooling-levels with a curve that starts at 1 (near-silent at idle) and
adds rockchip,temp-trips to ramp the fan gradually across four steps
at 45°C, 50°C, 55°C, and 65°C.

Tested on Rock 5 ITX running Armbian with linux-vendor-rk35xx 6.1.
2026-04-19 21:13:59 +02:00
EvilOlaf
c5b2af5b9b sunxi: remove old patchsets 2026-04-16 23:53:12 +02:00
Tomaz Zaman
ab038c7b5f ls1046a-6.12: add libbpf const-correctness patch for newer glibc
glibc 2.42+ (Ubuntu Resolute and later) ships const-aware strstr/strchr
declarations in <string.h>. Assigning their results to non-const char*
triggers -Werror=discarded-qualifiers in tools/bpf/resolve_btfids,
which is compiled by the linux-headers .deb postinst on the build host.

Fix by declaring the receiving variables as const char* in two places
in tools/lib/bpf/libbpf.c. Matches the upstream 6.13+ fix, backported
to the NXP lf-6.12.y SDK kernel (which NXP has moved off for 6.18+).
2026-04-16 23:49:42 +02:00
Chaitanya Talnikar
e2b90659ec Fix USB Type-C port for Orangepi 5/5B
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
2026-04-16 18:19:34 +03:00
François Bernier
15d653aa9a orangepi5-max: drop redundant kernel 7.0 patches
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
Data: Sync board list / Send dispatch (push) Has been cancelled
Patches 1100 (2nd HDMI) and 1101 (HDMI sound) are now fully covered by
the upstream Linux 7.0 DTS, which was refactored to use
rk3588-orangepi-5-compact.dtsi. The patches no longer apply and were
silently skipped during builds.
2026-04-15 08:15:03 +02:00
Igor Pecovnik
70b01a31ef rockchip64: add device tree for NanoPC-T6 LTS Plus (6.18 + 7.0) 2026-04-14 09:42:41 +02:00
Tomaz Zaman
61c5ff65dd gateway-dk: move SFP LED refs from SFP nodes to sfp_led_controller
The sff,sfp DT binding has additionalProperties: false, so our custom
leds property on SFP nodes violates the schema. Move LED-to-SFP
association into per-port child nodes of the sfp_led_controller.

DTS: sfp_led_controller now has port@0/port@1 sub-nodes, each with
sfp phandle and leds list. SFP nodes no longer carry leds property.

Driver: sfp_led_probe() iterates child nodes instead of sfp-ports
phandle array. sfp_led_register_port() receives the port child node,
parses the sfp phandle from it, and reads LEDs from the child node
instead of from the SFP node.
2026-04-14 07:49:18 +02:00
Tomaz Zaman
67c54b84d0 gateway-dk: enable GPIO power-off via gpio-poweroff driver
The board has a power-hold circuit controlled by GPIO3_21 (DT label &gpio2,
pin 21): driving it high cuts power. Add a gpio-poweroff node and enable
the driver so 'systemctl poweroff' actually turns the device off instead
of halting the CPU in an undefined state.

- DTS: gpio-poweroff node on &gpio2 21 active-high, 1s timeout
- Kernel: CONFIG_POWER_RESET_GPIO=y (must be builtin, not module)
2026-04-14 07:49:18 +02:00
EvilOlaf
43751f1a4f rockchip64: rewrite kernel patches against 7.0
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
2026-04-13 17:48:02 +02:00
EvilOlaf
af89f1230f rockchip64: remove patch upstreamed in 7.0 2026-04-13 17:48:02 +02:00
Tomaz Zaman
c4b99b47d4 gateway-dk: production readiness fixes for upstream PR
Board/family separation:
- Move boot chain URLs (U-Boot, ATF, RCW) from family to board config
- Family config now requires board to set all platform-specific variables
- Split bootenv into family-generic ls1046a.txt and board-specific gateway-dk.txt
- Move fancontrol/lm-sensors install and IP forwarding to board config
- Delete unused family-level BSP files (packages/bsp/ls1046a/)

Extension hardening:
- Replace bare git clone with fetch_from_repo (fmlib, fmc, libcli, FMAN ucode)
- Replace trap EXIT with Armbian add_cleanup_handler API
- Add exit_with_error to all chroot build commands and depmod
- Add prerm/postrm scripts to ASK .deb package
- Remove unnecessary host build deps (chroot-only libraries)
- Compute kernel version once (ASK_KERNEL_VER), remove 3x duplication
- Quote variables in chroot command strings
- Use GIT_CONFIG_COUNT env vars instead of git config --global
- Move conntrack sysctl to packages/bsp/ (no inline heredocs)
- Fix DEBIAN/control comment (dpkg-deb rejects # comments)
- Make ASK extension optional (ENABLE_ASK=yes by default)
- Use BOOTENV_FILE for mkenvimage (was hardcoded to ls1046a.txt)

Kernel config:
- Enable KASLR, FORTIFY_SOURCE, HARDENED_USERCOPY
- Disable SLUB_TINY (switch to standard SLUB)
- Enable NF_REJECT_IPV4, IP_NF_TARGET_REJECT, NFT_REJECT, NET_SCH_INGRESS
- Enable NET_ACT_POLICE, NET_ACT_GACT, NF_FLOW_TABLE, NFT_LIMIT, NFT_REDIR
- Enable PSTORE + MTD_PSTORE with pstore.backend=mtdoops boot args
- Enable SOFTLOCKUP_DETECTOR, DEBUG_FS_DISALLOW_MOUNT
- Disable PM_DEBUG, UIO drivers, MLX4/MLX5, HFSPLUS, UFS
- Switch NO_HZ_FULL to NO_HZ_IDLE (matches NXP reference)

Driver fixes:
- sfp-led: move debug_count into per-port struct
- sfp-led: replace rtnl_lock with rtnl_trylock to prevent deadlock
- sfp-led: consistent pushd/make pattern (matches lp5812)

Patches:
- DTS: fix typo "genenerator", remove redundant status="okay"
- DTS: update header comment, remove unused PWM include
- DTS: update patch hunk line counts
- INA234: remove Yocto Upstream-Status header
2026-04-09 19:53:51 +02:00
Tomaz Zaman
9d39097338 gateway-dk: harden board/family config for upstream PR
- Remove vim from family_tweaks (user preference, not board dep)
- Move board-specific BSP (fan control) from family to board config
- Consolidate LED module-load into single gateway-dk-leds.conf
- Make BOOTSOURCE/ATFSOURCE/RCW_SOURCE overridable via ${VAR:-default}
- Replace echo-return pattern with declare -g in ensure_fman_ucode_cached
- Replace custom ask_ensure_cached with fetch_from_repo in post_family_config
- Use mktemp -d instead of /tmp/ask-build-$$
- Add proper git-format headers and Signed-off-by to DTS patch
- Fix DTS Makefile alphabetical ordering (after fsl-ls1046a, not fsl-ls1012a)
- Fix copyright year to 2026
- Document board-specific ethact/ethprime in bootenv
- Document apt-mark hold rationale for patched ASK libraries
- Add comment explaining NXP LS1043A platform ID for DPAA1 SoCs
- Remove iproute2 from CLAUDE.md (no patches exist in ASK repo)
2026-04-09 19:53:51 +02:00
Tomaz Zaman
6a436fbe16 Board: Add Mono Gateway Development Kit (NXP LS1046A)
Add support for the Mono Gateway Development Kit, a networking gateway
based on the NXP LS1046A SoC (quad Cortex-A72) with 3x 1GbE SGMII,
2x 10GbE SFP+, eMMC, QSPI NOR, and extensive I2C peripherals.

New family: ls1046a
- NXP QorIQ kernel (lf-6.12.y) with DPAA/FMAN networking
- Custom boot chain: RCW + ATF + U-Boot (Mono forks, commit-pinned)
- FMAN microcode at 4MB eMMC offset for network initialization
- Extlinux boot via U-Boot distroboot
- Fan control (EMC2305 + cluster_thermal) with dynamic hwmon discovery

New extension: ls1046a-ask
- NXP ASK (Application Solutions Kit) hardware offloading
- Kernel modules: CDX, FCI, auto-bridge (cross-compiled from ASK repo)
- Userspace: fmlib, fmc, libfci, libcli, dpa-app, cmm
- Patched system libraries: libnetfilter-conntrack, libnfnetlink,
  iptables (QOSMARK), iproute2 (EtherIP/4RD)
- CMM daemon with systemd service (guarded by /dev/cdx_ctrl)
- All ASK sources and patches fetched from we-are-mono/ASK repo

Kernel patches:
- INA234 power sensor driver (backport, accepted upstream)
- Mono Gateway DK device tree

Signed-off-by: Tomaz Zaman <tomaz@mono.si>
2026-04-09 19:53:51 +02:00
EvilOlaf
ffb71d8eb6 sunxi-7.0: rewrite patches against 7.0-rc7
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
2026-04-08 05:25:05 +02:00
EvilOlaf
6fd64386aa sunxi-7.0: remove upstreamed patch from megi's collection 2026-04-08 05:25:05 +02:00
EvilOlaf
aa600ba0da rockchip64: rewrite kernel patches against 7.0-rc7 2026-04-08 05:25:05 +02:00
Paolo Sabatino
be8920f157 Bump rockchip armhf edge kernel to v7.0 2026-04-07 23:01:39 +02:00
Milivoje Legenovic
28862c7c0e Odroid-M2: Fix USB-C port in OTG mode
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2026-04-05 07:13:17 +02:00
EvilOlaf
ee436991e8 rockchip64-6.18: rewrite kernel patches against 6.18.21
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
2026-04-03 09:06:52 +02:00
Milivoje Legenovic
db136dc811 Odroid-M2: Add support for Hardkernel ODROID-Vu8S panel
Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2026-04-03 07:41:18 +02:00
kay-lambdadelta
9d0073e243 Fixed missing MIPI_DSI_MODE_VIDEO
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
2026-03-31 12:49:46 +02:00
EvilOlaf
8f7e151b9d sunxi-7.0: restore original patch headers again
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
@rpardini How to prevent that?
2026-03-30 17:06:13 +02:00
EvilOlaf
ba5599d48c sunxi-7.0: rewrite kernel patches for 7.0-rc6 2026-03-30 17:06:13 +02:00
EvilOlaf
30c3bce26d uefi-x86-7.0: rewrite kernel patches for 7.0-rc6 2026-03-30 17:06:13 +02:00
EvilOlaf
41fd17871c rockchip64-7.0: rewrite patches for 7.0-rc6 2026-03-30 17:06:13 +02:00
Patrick Yavitz
57f51bc199 SpacemiT: Disable k1-usb: add disconnect function support
Patch made it upstream.

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2026-03-30 05:59:54 -04:00
EvilOlaf
8324bee7d6 sunxi-6.18: restore original patch headers
make them persistent against rewrites
2026-03-29 17:38:42 +02:00
EvilOlaf
9b317850f8 sunxi-6.18: rewrite kernel patches for 6.18.20 2026-03-29 17:38:42 +02:00
Igor Pecovnik
b993528b67 sunxi: remove BSP GMAC/EPHY patch that breaks H6 internal EMAC
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
The chraac BSP patch (driver-allwinner-h618-emac / 0203) introduced
conflicting out-of-tree drivers (sunxi-gmac, sunxi-ephy, sunxi-ac200)
that clash with the correct mainline AC200 stack already in place:
- sunxi-ac200.c conflicts with the mainline ac200.c (0201)
- sunxi-ephy.c conflicts with the mainline ac200-phy.c (0202)
- sunxi-gmac.c is an unnecessary BSP replacement for dwmac-sun8i
- removes of_gpio_flags enum from gpiolib-of.c, breaking other drivers
- depends on PWM_SUNXI_ENHANCE which doesn't exist in mainline

H6 internal EMAC is correctly handled by the mainline stack:
ac200.c + ac200-ephy-ctl.c (ac200-v3) + ac200-phy.c + DTS patches.
H618 EMAC is covered by dwmac-sun8i + drv-net-stmmac-dwmac-sun8i-
add-second-emac-clock patch.

Remove the patch from sunxi-6.12, 6.18 and 7.0, and drop the leftover
CONFIG_SUNXI_GMAC=m from the legacy kernel config. Also align
CONFIG_SUN4I_EMAC to =m (matching current/edge) in legacy config.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-03-28 22:01:33 +01:00
Shlomi Marco
01c18256c6 rockchip64: rk3528: fix ethernet PHY detection on NanoPi Zero2 (6.18 + 7.0)
Some checks failed
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
Data: Sync board list / Send dispatch (push) Has been cancelled
Fix ethernet PHY not being detected on the NanoPi Zero2. The MDIO bus
scan was failing because the PHY reset GPIO was only defined on the
PHY child node inside the MDIO bus. The kernel processes this reset
after the MDIO scan, but the PHY needs reset released before it will
respond on the bus.

Move the reset control to the gmac1 node using snps,reset-gpios and
snps,reset-delays-us properties. The stmmac driver handles these
during MDIO bus registration, before scanning for PHY devices.

Also change CONFIG_MOTORCOMM_PHY from module (m) to built-in (y) in
the rockchip64 kernel config. As a module, the PHY driver loads too
late for the MDIO bus scan to find the PHY during boot.

Tested on hardware: ethernet link at 1000Mbps full duplex confirmed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 00:09:43 +01:00