100 Commits
Author SHA1 Message Date
Ricardo Pardini 153d2ff622 uefi-x86-7.2: update applet2 patches from t2linux/linux-t2-patches@1637df4
- rewritten/attribution preserved
- rewrite .config with new t2 stuff +recover SOUND/SND/SND_SOC
2026-09-08 17:22:28 +02:00
Ricardo Pardini f0531fe7be rockchip64-7.2: Mixtile Blade 3: fix pwm-fan tacho & regulator; levels
- adapt levels similar to vendor (never spins down, spins up to about half duty)
- use fan-recommended frequency
- introduce proper regulator vcc5v0_fan, drive it instead of vcc5v0_sys
- pull the tacho pin up so RPM values are not garbage
2026-09-08 08:34:26 +02:00
Ricardo Pardini d125240213 mixtile-core3588e: u-boot: bump to v2026.07 + fancy
- `1001-fdt_fixup_ethernet-add-logs.patch` is already in v2026.07's root, just drop
- move dt/u-boot-dt/defconfig (as-is)
- drop ramboot/471/472 bins as it's handled by `EXT=rkusboot` now
- fancy: LwIP, mbedTLS, wget
2026-09-03 15:12:17 +02:00
Ricardo Pardini 8850266801 khadas-vim3l: u-boot: bump to v2026.07 + fancy
- move dt/u-boot-dt/defconfig/boot-order-patch (as-is)
- fancy: LwIP, mbedTLS, wget
2026-09-03 15:11:58 +02:00
Ricardo Pardini 1090bfe171 genio-7.2: recover NVME/ISCSI-tcp + NFSD/DM stuff
- those leaked out back before v7.1
2026-08-30 23:35:03 +02:00
Ricardo Pardini 844fd4138d genio-7.2: drop CONFIG_STATIC_USERMODEHELPER from .config
- this sneaked in back before v7.1 (from Collabora's .config) and breaks module loading
2026-08-30 23:35:03 +02:00
Ricardo Pardini daeae3577e genio-7.2: fix from rabbit for MT ASoC patch 2026-08-30 23:35:03 +02:00
Ricardo Pardini 62cd8c2470 recomputer-rk3588-devkit: edge: u-boot: full mainline u-boot with DT/defconfig +fancy
- `.dts` is copy from rockchip64-7.2
- `recomputer-rk3588_defconfig` is similar to other rk3588 boards, except:
  - enable all/most SPI Flash drivers
  - enable FUSB302 driver
- `-u-boot.dtsi` just pulls in the generic dtsi + sfc/flash0 bootph
- stores environment in SPI at offset 0xc00000 size 0x20000
  - fw_printenv/fw_setenv userspace vs SPI environment
- preboot flashes R/G/B LED (tri-color user LED)
- use mainline AT-F for mainline builds (so HDMI-RX works with mainline kernel)
  - keep rkbin blob for vendor builds (although vendor is using rk u-boot for now)
2026-08-30 22:32:12 +02:00
Ricardo Pardini 638b8546dc recomputer-rk3588-devkit: add BRANCH=edge and mainline kernel DT
- DeviceTree will be submitted to LKML separately
  - identical across v7.1 and v7.2
- board file:
  - make way for `edge` by sprinkling "only for vendor" shortcircuits in strategic places
  - use a case/esac to gate `aic8800` extension, extra packages, and `recomputer-rk35xx-common.inc` sourcing
- series:
  - `dt-bindings: arm: rockchip: Add Seeed Studio reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add USB host to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add USB Type-C to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add DisplayPort to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add PCIe Ethernet to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add M.2 slots to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add HDMI to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add HDMI input to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add analog audio to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add mini PCIe slot to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add 40-pin header to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add cooling fan to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: Add NPU to Seeed reComputer RK3588 Dev Kit`
  - `arm64: dts: rockchip: describe PCIe RTL8125 Ethernet on reComputer RK3588`
  - `arm64: dts: rockchip: Name the GPIO lines on Seeed reComputer RK3588`
2026-08-30 22:32:12 +02:00
Ricardo Pardini 230eda77b1 rockchip64-7.2: drop general-rk3588-i2s-mclk-output-gate-5-ignore-unused as it was merged upstream
- very last minute before v7.2 (-final), but, thankfully
2026-08-30 19:20:12 +02:00
Ricardo Pardini 1f33ee9db0 pip/python/pylibfdt: use forked pylibfdt with upstream fixes for swig/newer-gcc
- the way dtc code ends up in pypi is very strange / non-obvious
- there is an upstream fix at git.kernel.org/pub/scm/utils/dtc/dtc.git/commit?id=5008d1d6a356b8d0a78060da2e1021507d529cff
  - but that is not yet in Rob Herring's pypi adaptation at devicetree-org/pylibfdt
  - I've a fork with the upstream sync at https://github.com/rpardini/devicetree-pylibfdt/tree/sync-with-upstream-26.08
2026-08-29 10:30:28 +02:00
Ricardo Pardini faa58ef7a4 genio/radxa-nio-12l: edge: bump to kernel v7.2.y + fixes
- `linux-genio-edge.config`: rewritten for v7.2, no changes
  - `CONFIG_CEC_MEDIATEK_V2` is gone, CEC now under `CONFIG_DRM_MEDIATEK_HDMI`
    - not real CEC support though (only some HPD bits)
- drop nio-12l's 'extra' DT, replaced by patches for the normal one below
- patches (in archive/genio-7.2):
  - fix UFS lanes (otherwise no UFS at all)
  - fix redudant i2c2 drive-strength
  - add i2c3 (exposed on 40-pin header)
  - add LEDs
  - fix for ASoC audio (HDMI)
2026-08-24 11:17:51 +02:00
Ricardo Pardini 8905c34013 nanopct6(-lts): u-boot: bump to v2026.07
- also enable fancy u-boot mbedTLS support
2026-08-24 08:37:20 +02:00
Ricardo Pardini 19fd087792 recomputer-rk3576-devkit: introduce vendor-feature-specific flags
- `SEEED_AIC8800_ENABLE`
- `SEEED_AIC_BLUEZ_ENABLE` (shared with common)
- those all default to `SEEED_DEFAULT_ENABLE`, which defaults to `yes`
2026-08-20 14:14:55 +02:00
Ricardo Pardini 4a67922796 recomputer-rk35xx-common: introduce vendor-feature-specific flags
- `SEEED_USB_GADGET_ENABLE`
- `SEEED_MORSE_ENABLE`
- `SEEED_AIC_BLUEZ_ENABLE`
- `SEEED_MORSE_ENABLE`
- `SEEED_AUTOMOUNT_ENABLE`
- those all default to `SEEED_DEFAULT_ENABLE`, which defaults to `yes`
2026-08-20 14:14:55 +02:00
Ricardo Pardini 8efdd984fb recomputer-rk35xx-common: drop bluez juggle vs fcs960k-aic-bluez
- since https://github.com/Seeed-Studio/seeed_armbian_extension/pull/4 landed, it can now simply replace bluez
2026-08-20 14:14:55 +02:00
Ricardo Pardini 4e5985e88c recomputer-rk35xx-common: use specific runner helpers for apt update/install
- so local cache is correctly used and doesn't leak into image
- do `chroot_sdcard_apt_get_install_download_only` before actual install
2026-08-20 14:14:55 +02:00
Ricardo Pardini 784bdd915e radxa-e24c: u-boot: rework u-boot v2026.07 for Radxa E24C
- use mainline u-boot for both vendor and mainline BRANCH'es
  - as the vendor u-boot really doesn't work
    - vendor u-boot won't bringup `ppll` clock unless NVMe is present
- make fancy u-boot, with flashing leds in preboot, lwip, mbedtls, etc
- fix family to rk35xx as it's not a 3588
- drop `ROCKCHIP_MASKROM_IMAGE` and `u-boot-rockchip-usb471.bin` et al as that
  is now handled by EXT=rkusboot
- set SRC_CMDLINE for use with extlinux/EXT=u-boot-menu
- use newer blobs
2026-08-14 14:59:16 +02:00
Ricardo Pardini 4ff01f149c rockchip64-7.2: rk3528-radxa-e24c: add USB nodes to Radxa E24C
- hopefully this will now work due to the pmdomain patches in previous commit
2026-08-14 14:59:16 +02:00
Ricardo Pardini 95695a1035 rockchip64-7.2: rk3528: pmdomain/rockchip fix/workaround
- otherwise, kernel panic on boot (vs USB-enabled rk3528's)
- from:
  - https://lore.kernel.org/linux-rockchip/20260331180223.1682283-1-daniel@orb.net/
  - https://lore.kernel.org/linux-rockchip/20260331180223.1682283-2-daniel@orb.net/
2026-08-14 14:59:16 +02:00
Ricardo Pardini 3030bda8f2 cli-patch: generalize to-git functionality with PUSH_TO_GITHUB and PUSH_TO_REPO & enable for u-boot as well as kernel
- `PUSH_TO_REPO=<url>`: set the full git URL to push to
- `PUSH_TO_GITHUB=<org>/<repo>`: shorthand for pushing to GitHub; sets `PUSH_TO_REPO`
- note: be kind to GitHub, and use forks of torvalds/linux and u-boot/u-boot so GH has a decent base tree
  - still, kernel pushes are huge, mostly due to the all-wifi-drivers commit that's always first and always slightly different
- note: when pushing to GitHub, keep in mind the pushed branch contains a GHA workflow, which will only run if you have GHA enabled on the repo
- examples (adapt to your username/forks):
  - `./compile.sh BOARD=nanopct6 BRANCH=edge rewrite-kernel-patches PUSH_TO_GITHUB=rpardini/linux`
  - `./compile.sh BOARD=rock-5b BRANCH=legacy rewrite-uboot-patches PUSH_TO_GITHUB=rpardini/armbian-patched-u-boot`
2026-07-27 13:05:55 +02:00
Ricardo Pardini 1e69cdc110 linux-rockchip64-bleedingedge.config (v7.2): enable ES8311 (for reComputer rk3576 Dev Kit) 2026-07-27 13:05:30 +02:00
Ricardo Pardini a89aca1024 linux-rockchip64-edge.config (v7.1): enable ES8311 (for reComputer rk3576 Dev Kit) 2026-07-27 13:05:30 +02:00
Ricardo Pardini 9f37d1955f recomputer-rk3576-devkit: edge: u-boot: full mainline u-boot with DT/defconfig +fancy
- `.dts` is copy from rockchip64-7.1
  - except for pwm-related stuff, which is not even in mainline Linux, much less u-boot
- `recomputer-rk3576_defconfig` is similar to other rk3576 boards, except:
  - enable all/most SPI Flash drivers
  - disable UFS support
  - enable PCA953X driver (so LEDs/USB can be GPIO'ed via the extender)
  - enable FUSB302 driver
- `-u-boot.dtsi` just pulls in the generic dtsi + sfc0/flash0 bootph
- v2026.07 top-level patch to add support for `Zbit ZB25LQ128` flash chip
- stores environment in SPI at offset 0xc00000 size 0x20000
  - fw_printenv/fw_setenv userspace vs SPI environment
- preboot flashes R/G/B LED (tri-color user LED)
- use updated DDR/BL31 rkbin blobs for mainline u-boot
2026-07-27 13:05:30 +02:00
Ricardo Pardini 368cd226aa recomputer-rk3576-devkit: add BRANCH=edge with early kernel mainline DT
- DeviceTree will be submitted to LKML separately
  - this one already includes pwm-v4 fan (which is not upstream yet)
  - most everything works, except WiFi/BT (AIC8800)
    - tested: NVMe, SDcard, HDMI, USB2/USB3, USB-C (host-mode), GMAC0/1, i2c3, LEDs, analog audio
  - upstream:
    - `arm64: dts: rockchip: Add cooling fan to Seeed reComputer RK3576 Dev Kit`
    - `arm64: dts: rockchip: Add analog audio to Seeed reComputer RK3576 Dev Kit`
    - `arm64: dts: rockchip: Add HDMI to Seeed reComputer RK3576 Dev Kit`
    - `arm64: dts: rockchip: Add PCIe to Seeed reComputer RK3576 Dev Kit`
    - `arm64: dts: rockchip: Add USB Type-C to Seeed reComputer RK3576 Dev Kit`
    - `arm64: dts: rockchip: Add USB host to Seeed reComputer RK3576 Dev Kit`
    - `arm64: dts: rockchip: Add Seeed reComputer RK3576 Dev Kit`
    - `dt-bindings: arm: rockchip: Add Seeed Studio reComputer RK3576 Dev Kit`
  - identical across v7.1 and v7.2
- board file:
  - make way for `edge` by sprinkling "only for vendor" shortcircuits in strategic places
  - use a case/esac to gate `aic8800` extension, extra packages, and `recomputer-rk35xx-common.inc` sourcing
2026-07-27 13:05:30 +02:00
Ricardo Pardini 2148b35197 rockchip64-7.2: add Nicolas Frattaroli's rk3576 PWM series (v5) + fixes for v7.2
- from https://lore.kernel.org/linux-rockchip/20260420-rk3576-pwm-v5-0-ae7cfbbe5427@collabora.com/
- enable in .config (`=y`, except for the capture which is `=m` as it goes with `COUNTER` which is already `=m`)
- 2 extra patches for adapting to v7.2
2026-07-27 13:05:30 +02:00
Ricardo Pardini fc459f7ffc rockchip64-7.1: add Nicolas Frattaroli's rk3576 PWM series (v5)
- from https://lore.kernel.org/linux-rockchip/20260420-rk3576-pwm-v5-0-ae7cfbbe5427@collabora.com/
- enable in .config (`=y`, except for the capture which is `=m` as it goes with `COUNTER` which is already `=m`)
2026-07-27 13:05:30 +02:00
Ricardo Pardini 2c66033e93 mixtile-blade3: edge: u-boot: fancy it up (lwIP, mbedTLS, efi, btrfs, etc) 2026-07-20 09:52:52 +02:00
Ricardo Pardini 348a1befe6 mekotronics-r58x-pro: u-boot: bump to v2026.07 2026-07-19 16:43:05 +02:00
Ricardo Pardini b352f32105 odroidhc4: u-boot: bump to v2026.07, drop upstreamed patch 2026-07-19 16:34:04 +02:00
Ricardo Pardini 0751a4ee1f rk3588-mixtile-blade3: rockchip64-7.*, u-boot: constrain power(2nd) Type-C USB port to a sink/12V-PD, rename nodes
- > (Claude vs CodeRabbit, plus I asked for the rename after being confused)
- Type-C1 is the board's dedicated power-input port: its fusb302
  negotiates USB-PD to feed the VCC12V~20V_DCIN rail, which is the root
  of the board's power tree (vcc5v0_sys and everything below derive from
  it). The connector was described more like a general dual-role port
  than a power input, which let PD negotiation reach states this rail
  cannot support.
- Force the port to a pure sink. Previously power-role was "dual" with
  try-power-role = "sink", which allowed the fusb302 to present Rp and
  source 5V out vbus5v0_typec1 -- wrong for a port that only ever draws
  power in. A hard power-role = "sink" removes that path and makes
  try-power-role redundant.
- Constrain the sink PDOs to voltages the DC-input rail can actually use.
  VCC12V~20V_DCIN only supports 12V and above, but the variable and PPS
  sink PDOs advertised acceptance from 5V, so a source could legitimately
  settle on a 5V/9V contract that never brings the rail up to spec. Drop
  the PPS APDO and raise the variable PDO minimum to 12V. The mandatory
  vSafe5V fixed PDO stays, as a sink must always advertise it, and the
  per-PDO currents are raised (3A fixed, 5A variable) to reflect the
  board's real input capability rather than the placeholder 1A.
- Finally, declare pd-revision (PD Rev 2.0 Ver 1.2) to match the fusb302,
  instead of relying on tcpm defaults.
- The kernel-side fusb302 remains status = "fail" (the >5s late-PD
  hard-reset workaround), so these values take effect in the u-boot
  tcpm+fusb302 stack that shares this DT and renegotiates early.
- arm64: dts: rockchip: Mixtile Blade 3: rename Type-C nodes by role
  - The board's two fusb302 Type-C ports were labelled usbc0/usbc1, which
    is hard to reason about: the numbers convey nothing about function, and
    confusingly the power-input port is "1" while the data port is "0".
    Rename the labels by role instead:
     - usbc0 (USB3 data/host port, PD off) -> usbc_host
     - usbc1 (USB-C power-input port, keeps PD) -> usbc_pwr
  - and carry the same scheme through the connector, endpoint and pinctrl
    labels (usbc_host_con/hs/ss/sbu/int, usbc_pwr_con/hs/ss/sbu/int). No
    functional change; the physical Type-C0/Type-C1 numbering is retained
    in the comments so the schematic mapping is preserved. The
    vbus5v0_typec0/1 regulators keep their names, as those describe the
    per-port 5V VBUS source rail and follow the common rk3588 convention.
2026-07-18 12:23:23 +02:00
Ricardo Pardini b15b262c57 mixtile-blade3: edge: u-boot: bump to 2026.07 + update DT
- edge: u-boot: switch to mainline ATF (for working HDMI-RX)
- update DT from FUSB302+etc enabled one from rk64-7.1
- this still uses the rock-5b board.c file for FUSB302 fail -> ok fixup
- fix for working UMS (using the data-usb-c port)
- fixes for building bleedingedge (also with mainline uboot)
- re-enable edge BRANCH for this board, it's half decent now
2026-07-18 12:23:23 +02:00
Ricardo Pardini fd606022b4 rockchip64-7.2: rk3588-mixtile-blade3, many fixes and additions
- Describe RTL8125 function nodes (under a switch) for stable-MAC
- Implement 2x FUSB302, one for powering (same scheme as rock-5b), one for data
  - This (together with u-boot work to follow) allows the board to be used with a
    PD power supply without a bootloop; use a good supply & short cable
- HDMI, VOP, HDMI audio, et al
- HDMI-RX, with det, HDMI-RX audio in
- miniPCIe 2.0 slot power enable
- USB, NPU(Rocket)
2026-07-18 12:23:23 +02:00
Ricardo Pardini 8530dfad98 rockchip64-7.1: rk3588-mixtile-blade3, many fixes and additions
- Describe RTL8125 function nodes (under a switch) for stable-MAC
- Implement 2x FUSB302, one for powering (same scheme as rock-5b), one for data
  - This (together with u-boot work to follow) allows the board to be used with a
    PD power supply without a bootloop; use a good supply & short cable
- HDMI, VOP, HDMI audio, et al
- HDMI-RX, with det, HDMI-RX audio in
- miniPCIe 2.0 slot power enable
- USB, NPU(Rocket)
2026-07-18 12:23:23 +02:00
Ricardo Pardini 068c719b94 rockchip64-7.2: bleedingedge: enable REALTEK_PHY_HWMON
> this one missed the bleedingedge bus in 07a7f4182e

- this gives us temperature monitoring for Realtek PHYs, which get
  _real hot_ and sometimes are what's driving some boards to be warm
  instead of the SoC.

```
~# sensors r8169_0_100:00-mdio-0
r8169_0_100:00-mdio-0
Adapter: MDIO adapter
temp1:        +66.0°C  (high = +120.0°C)
```
2026-07-18 06:17:24 +02:00
Ricardo Pardini d8749a3ca7 rockchip64-6.18: rework rk3588-0010-fix-clk-divisions to avoid patching include/linux/math.h
- patching  `include/linux/math.h` (which is included by everything and
  their mum) causes full rebuilds everytime
2026-07-18 06:17:08 +02:00
Ricardo Pardini f8434b4850 rockchip64-7.1: rework rk3588-0010-fix-clk-divisions to avoid patching include/linux/math.h
- patching  `include/linux/math.h` (which is included by everything and
  their mum) causes full rebuilds everytime
2026-07-18 06:17:08 +02:00
Ricardo Pardini a17f0b44c6 rockchip64-7.2: rework rk3588-0010-fix-clk-divisions to avoid patching include/linux/math.h
- patching  `include/linux/math.h` (which is included by everything and
  their mum) causes full rebuilds everytime
2026-07-18 06:17:08 +02:00
Ricardo Pardini 9d9591e1b0 extensions/radxa-aic8800: use local dir as download cache
- otherwise repeatedly building images == slow and then GHA ratelimit
2026-07-15 22:57:01 +02:00
Ricardo Pardini 712b4960ee rootfs-image: move pre_install_distribution_specific inside install_distribution_specific()
- so we can get proper logging (`install_distribution_specific()` is run via `do_with_logging`)
2026-07-15 22:54:53 +02:00
Ricardo Pardini 16850e435a extensions/rkusbboot: easy ramboot mainline u-boot on Rockchip devices
- builds rkusbboot from RadxaNaoki/rkusbboot
- looks for `u-boot-rockchip-usb471.bin` and `u-boot-rockchip-usb472.bin` in u-boot directory
  - thus, requires recent mainline u-boot
- runs on `run_after_build` -- so `BOARD=x BRANCH=y uboot EXT=rkusbboot` works
- automatically enables `CONFIG_ROCKCHIP_MASKROM_IMAGE` in u-boot config, or bombs if it can't
- doesn't really "flash" anything -- everything in in RAM
- serial/u-boot console can then be used to flash image via eg UMS or network
2026-07-15 22:54:30 +02:00
Ricardo Pardini aabb6c5121 shellfmt: run lib/tools/shellfmt.sh, no changes 2026-07-01 17:46:43 +02:00
Ricardo Pardini 65f88a0a0f mixtile-edge2: u-boot: main: bump (generic) u-boot to v2026.07-rc5
- this `generic-rk3568_defconfig` so should be save to just bump, no patches etc
2026-07-01 10:41:48 +02:00
Ricardo Pardini 8dd2de66ec nanopi-r5s: u-boot: main: bump u-boot to v2026.07-rc5 + make it patch-less
- convert patches to hooks that do the patching/configuring
  - one for boot order
  - one for OTG ("the USB-A closest to the edge is the OTG port")
- enable lwip, btrfs, etc
2026-06-30 05:51:26 +02:00
Ricardo Pardini 317c52faa5 rk35xx/rockchip-rk3588: vendor u-boot: touch logging to force rebuild
- this time I'm gonna try vs GHA-hosted runners to see what happens
2026-06-29 18:37:28 +02:00
Ricardo Pardini 2f7c8d8e59 rk35xx/rockchip-rk3588: vendor u-boot: more logs for 0-byte-dtb (or not)
- so we can take a single look at CI logs and see what breaks or not and where
2026-06-29 16:45:05 +02:00
Ricardo Pardini 08dcef61e9 display-alert: new notice level; a brocolli that also goes to GHA logs 2026-06-29 16:45:05 +02:00
Ricardo Pardini 7463215ee1 docker: pass down GHA envs RUNNER_ARCH/RUNNER_ENVIRONMENT/RUNNER_NAME
- so we can know runner info from GHA to help debug runner-related issues
- see https://docs.github.com/en/actions/reference/workflows-and-actions/variables#default-environment-variables
2026-06-29 16:45:05 +02:00
Ricardo Pardini cf2b76cf42 gateway-dk-ask: don't fetch ask repo also during download-artifact
- `download-artifact` should not cause a fetch, as it would fail anyway
2026-06-29 13:25:50 +02:00
Ricardo Pardini 12b6bd958a gateway-dk-ask: use new hook kernel_extra_create_patches to stage ask patch
- before this, ask extension would stage a userpatch during post_family_config,
  if it was not in CONFIG_DEFS_ONLY mode
- this would cause hashing to differ between matrix-prepare and actual build
  - matrix patches hash wouldn't have the patch
  - actual-build patches hash would
  - this caused infinite rebuilding of the kernel in CI
- previous commit introduced a new hook made for this purpose
  - implement it here -- unconditionally, as it only ever run in actual build
- also implement a cleanup (in post_family_config) so any leftovers are
  removed and won't affect further
- remove claims that userpatches are gitignored (they aren't) and that they
  don't survive across builds (they do, unless handled as explained above)
2026-06-29 13:25:50 +02:00
Ricardo Pardini 65856743bb kernel: introduce hook kernel_extra_create_patches
- immediately after `kernel_drivers_create_patches`
- immediately before actually applying kernel sources
- this helps boards/families/extensions that need to stage out-of-tree
  patches into eg userpatches, without impacting the patches hash
- the hook itself is hashed, so changes to it do impact the hooks hash
2026-06-29 13:25:50 +02:00
Ricardo Pardini 911887ce38 gateway-dk-ask: cleanup previous ask tree if present
- fixes re-builds
- otherwise, files are 1 level off:
  - 1st clean build: `drivers/net/ethernet/freescale/ask/cdx/Makefile`
  - 2nd+ rebuild: `drivers/net/ethernet/freescale/ask/cdx/cdx/Makefile`
2026-06-29 13:25:50 +02:00
Ricardo Pardini 2d301a42c4 gateway-dk: better logging
- trying to find why one can't rebuild (1st build is okay)
2026-06-29 13:25:50 +02:00
Ricardo Pardini 8216f5c987 gateway-dk: shellfmt, no changes 2026-06-29 13:25:50 +02:00
Ricardo Pardini 7d4a332af4 rk35xx/rockchip-rk3588: add check for 0-byte-dtb u-boot.itb for Radxa u-boot (vendor)
- uses the new hook `check_uboot_produced_binary_file`
- runs dumpimage and greps for magic string `Data Size:    0 Bytes`
- if found, exits with error
- this is to clearly catch build-host related issue in #8227
2026-06-29 13:25:41 +02:00
Ricardo Pardini c795a2bcce u-boot: introduce hook check_uboot_produced_binary_file
- this is called for each produced binary during u-boot build, before
  they're actually packaged
- each call passes binfile and base_binfile to indicate the binary
- add new hook to hashed hooks for u-boot artifact
2026-06-29 13:25:41 +02:00
Ricardo Pardini 1d58fda989 u-boot/legacy/u-boot-radxa-rk35xx: change a file here to force all rk vendor u-boots to rebuild 2026-06-28 21:27:44 +02:00
Ricardo Pardini 654bb1d7ff rockchip64_common: collapse line-continued expansion exec to single line
- reason is very sad, see #10055
2026-06-28 17:10:49 +02:00
Ricardo Pardini 27dde349b9 u-boot: debug produced binaries with dumpimage -l as well as binwalk
- still chasing why rk vendor u-boot alledgedly produces nonworking bins when built on non-Jammy hosts
- see #9897 and #10055
2026-06-28 17:10:17 +02:00
Ricardo Pardini eda2d0d773 rk35xx-vendor: .config: rewrite, no changes
- `SND_SOC_ES8328_I2C` _implies_ `SND_SOC_ES8328`
2026-06-28 10:41:37 +02:00
Ricardo Pardini 07a7f4182e rockchip64: current/edge: enable REALTEK_PHY_HWMON
- this gives us temperature monitoring for Realtek PHYs, which get
  _real hot_ and sometimes are what's driving some boards to be warm
  instead of the SoC.

```
~# sensors r8169_0_100:00-mdio-0
r8169_0_100:00-mdio-0
Adapter: MDIO adapter
temp1:        +66.0°C  (high = +120.0°C)
```
2026-06-28 10:41:37 +02:00
Ricardo Pardini 87e381a9d2 rockchip64: current/edge: rewrite .config, no changes
- `CONFIG_SND_SOC_DMIC` is actually implied by `SND_SOC_RK3399_GRU_SOUND`
  - Fixes dbfd12b55d where it was manually added without rewrite
2026-06-28 10:41:37 +02:00
Ricardo Pardini 8fcb3deabe genio: u-boot: mt8195 (nio-12l): update addr's map patch for large kernels/initrds
- for extlinux/pxelinux scenarios (matching recently-updated bootscript boot.scr for genio)
2026-06-25 10:23:47 +02:00
Ricardo Pardini 51c523ba70 genio: edge: use pure mainline v7.1.y
- there's trouble ref ufs rework from Nicolas Frattaroli in collabora's tree
  - which might or not be related to some BL32-not-really-there problem in Armbian
2026-06-25 09:23:02 +02:00
Ricardo Pardini cb9c34d32d genio-7.1: nio-12l: R/B LED support in extra DT
- I've sent https://lore.kernel.org/linux-mediatek/20260624-nio-12l-add-i2c-40-pin-v2-0-cf3707a6aaf1@pardini.net/
  which has the i2c3 also contained here
2026-06-25 09:23:02 +02:00
Ricardo Pardini 8fe821bb76 linux-genio-edge: update from collabora's .config in their Debian images 2026-06-25 09:23:02 +02:00
Ricardo Pardini 5d93203c0f linux-genio-edge: rewrite .config vs v7.1, no changes
- CONFIG_IPV6 is not modulable anymore, it's effectively =y now
2026-06-25 09:23:02 +02:00
Ricardo Pardini 2a4b70d0e1 genio: edge: bump to collabora's 7.1 2026-06-25 09:23:02 +02:00
Ricardo Pardini 7d9ad6d7b7 genio-7.1: prepare patching dir (copy from 6.19) 2026-06-25 09:23:02 +02:00
Ricardo PardiniandClaude Opus 4.8 17426de5f1 boot-genio: load kernel above reserved low-RAM hole, guard failed loads
The kernel load failed on NIO-12L with:

    Loading kernel image to 0x40000000...
    ** Reading file would overwrite reserved memory **
    Failed to load '/boot/Image'

then booted garbage at 0x40000000 ("Bad Linux ARM64 Image magic!"),
because the script didn't check the load return code.

Root cause is a layout thinko. The script reserved kernel_addr_r at
0x40000000 with a comment claiming a 100 MB window (0x40000000-0x46400000),
but the board's first reserved region, low RAM 0x43200000-0x43DFFFFF, sits
*inside* that claimed window. Only the first 50 MB is actually contiguous:

    0x43200000 - 0x40000000 = 0x3200000 = 52,428,800 bytes = 50 MB

The kernel Image is 54,565,376 bytes (~52.04 MB), so loading it at
0x40000000 would end at 0x43409A00 -- ~2.04 MB into the reserved region.
U-Boot's LMB check refuses the write, the (previously unchecked) load
fails, and booti runs whatever stale data is at 0x40000000.

Move kernel_addr_r above the hole to 0x44000000 (2 MB aligned, just past
the region's end at 0x43DFFFFF). That gives a contiguous window up to the
next reserved region at 0x54600000:

    0x54600000 - 0x44000000 = 0x10600000 = 262 MB

The 52 MB kernel now lands at 0x44000000-0x47409A00 with ~210 MB of
headroom, clear of fdt (0x56000000) and ramdisk (0x64000000), which were
already placed above the holes.

Also guard the kernel/initramfs/dtb loads with if/else+exit so a refused
load aborts loudly instead of silently falling through to booti on an
unwritten address.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 09:23:02 +02:00
Ricardo Pardini cbd88fbb11 uefi-x86-7.1: update Apple linuxt2 patches
- from https://github.com/t2linux/linux-t2-patches/commit/b806ec3
  - "Revert to applesmc" as it seems new SMC patches are borked
- `7001-drm-i915-fbdev-Discard-BIOS-framebuffers-exceeding-h`: keep attribution
- drop APFS_FS as we're not carrying those patches
2026-06-25 08:08:09 +02:00
Ricardo Pardini 0c022176fd uefi: drop old patchsets (6.6, 6.9, 7.0) for x86/arm64/loong64 2026-06-25 08:08:09 +02:00
Ricardo Pardini 3f55be6bfb uefi: edge: bump to v7.1.y 2026-06-25 08:08:09 +02:00
Ricardo Pardini f23a0c87c5 uefi-arm64-7.1: rewrite vs v7.1.1 2026-06-25 08:08:09 +02:00
Ricardo Pardini 0610c3dfda uefi-loong64-7.1: rewrite vs v7.1.1 2026-06-25 08:08:09 +02:00
Ricardo Pardini 032b4d1b83 uefi-loong64-7.1: prepare patching dir for 7.1 (copy from 7.0) 2026-06-25 08:08:09 +02:00
Ricardo Pardini 635b64b949 uefi-x86-7.1: Apple linuxt2 patches, rewritten for 7.1
- from https://github.com/t2linux/linux-t2-patches/commit/2a141b25
- `7001-drm-i915-fbdev-Discard-BIOS-framebuffers-exceeding-h`: keep attribution
2026-06-25 08:08:09 +02:00
Ricardo Pardini 6011e3e6ef uefi-x86-7.1: prepare patching dir with t2linux patches
- pristine
2026-06-25 08:08:09 +02:00
Ricardo Pardini d7e3dec706 uefi-arm64-7.1: reworked Phytium DWMAC glue driver for 7.1.y
- fully reworked. much cleaner
2026-06-25 08:08:09 +02:00
Ricardo Pardini 5dce02bb25 uefi-arm64-7.1: prepare patch directory (copy from 7.0)
- just the HiKey960 board patch, Phytium DWMAC is coming later
2026-06-25 08:08:09 +02:00
Ricardo Pardini 020533d22d uefi-arm64-6.18: resurrect Phytium ACPI glue for 6.18.y
- it was assassinated in 7972ddbc4c
2026-06-25 08:08:09 +02:00
Ricardo PardiniandClaude Opus 4.8 2e1d8c04f2 docker: split rust into own layer to flatten distribution
Real 'docker history' showed native-toolchain=334MB poles.
- rustc/cargo pull libstd-rust-dev; move them to a new 'rust' group ordered
  *after* native-toolchain (so shared gcc/build-essential stay there).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 8784e6f672 extensions: move deps to rebalanced groups (qemu, cross-arm64/armhf)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 361d86bc92 docker: rebalance host-dep layer groups + dedupe packages
Real 'docker history' showed lopsided layers: cross-other 562MB, cross-arm
422MB, emulation 496MB, while compression was 5.5MB. Rebalance:
- split cross compilers per family: cross-amd64 / cross-arm64 / cross-armhf /
  cross-other (riscv/loong/or1k) -> even ~200-280MB band
- split the heavy 'qemu' (qemu-user-static) out of 'emulation'; move tiny
  binfmt-support/arch-test and the compression tools into 'core'
- dedupe packages in the generator (qemu-utils was listed 4x, etc.)
clang (libclang-dev, 633MB) and qemu (~490MB) are single packages and remain
unavoidable floors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 f76de72701 extensions: tag EXTRA_BUILD_DEPS with Docker-layer group:: prefixes
Assign each extension's host deps to a logical group (fs-tools, emulation,
clang, cross-arm/-other, build-tools, native-toolchain) so they land in the
matching Docker layer. Unprefixed deps (e.g. openssh-client) stay in 'core'.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 5288f2d64e docker: split host deps into per-group apt layers in generated Dockerfile
Instead of a single huge 'apt-get install' RUN (one giant image layer),
group host_dependencies by their 'group::' prefix and emit one RUN per
group, ordered heaviest/most-stable first. Produces multiple layers that
Docker can pull and cache in parallel. apt update is its own layer.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 22aedbc49d host: assign group:: prefixes to built-in host_dependencies
Restructure the built-in dependency list into per-group blocks (native-toolchain,
build-tools, imaging, fs-tools, compression, emulation, python, cross-arm,
cross-other, clang, core) so the Docker image can be split into multiple layers.
Unprefixed entries fall into 'core'.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 9cabafe201 host: strip optional group:: prefix in install_host_side_packages
Introduces HOSTDEP_GROUP_DELIMITER/HOSTDEP_DEFAULT_GROUP and strips the
optional "group::package" prefix before dpkg matching / apt install.
Prep for Docker layer grouping.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 89f27bbdb1 host: reword second host_dependencies hook doc for EXTRA_BUILD_DEPS array
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 d72369281d extensions: append to EXTRA_BUILD_DEPS array in add_host_dependencies hooks
Convert all in-tree add_host_dependencies__* hooks from space-separated
string appends to proper bash array appends, matching the new
EXTRA_BUILD_DEPS array contract.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 a97cc24563 cli: append to EXTRA_BUILD_DEPS array in docker/patch ssh hooks
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo PardiniandClaude Opus 4.8 ac66a6614e host: convert EXTRA_BUILD_DEPS to a proper bash array
The add_host_dependencies hook filled a space-separated string that was
word-split into host_dependencies[]. Make EXTRA_BUILD_DEPS a real array
and merge it with a quoted expansion instead, dropping the SC2206 hack.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:04:42 +02:00
Ricardo Pardini de8c77bcfc cm3588-nas: use Rockchip BL31 blob for BRANCH==vendor; still mainline u-boot 2026-06-15 21:58:23 +02:00
Ricardo Pardini bff105ff72 cm3588-nas: u-boot: bump to v2026.07-rc3
- incl LED name change fix
2026-06-15 21:58:23 +02:00
Ricardo Pardini 776ba35190 u-boot: v2026.07: prepare patching folder for v2026.07 2026-06-15 21:58:23 +02:00
Ricardo Pardini 78b0feed45 rockchip64-7.1: update "describe PCIe Ethernet controllers" patch
- new iteration (amounts to the same), which I will submit to LKML
- includes dt-binding and many other boards than just T6
- thanks to all who submitted lspci!
2026-06-05 12:54:19 +02:00
Ricardo Pardini cc1b64b050 rockchip64-7.0: update "describe PCIe Ethernet controllers" patch
- for stable MAC addresses, that match across u-boot and kernel
- new iteration (amounts to the same), which I will submit to LKML
- includes dt-binding and many other boards than just T6
- thanks to all who submitted lspci!
- Fixes: 6a1cfbc613
2026-06-05 12:54:19 +02:00
Ricardo Pardini 98914fbb55 mekotronics-r58x-pro: mainline u-boot (and LCD support) also for vendor branch
- this unifies board config; vendor branch only gets a different DTB name
  and bluetooth stuff extra on top of edge
- drop usage of shared vendor/mekotronics config fragments
2026-05-17 09:11:02 +02:00
Ricardo Pardini 5a8ec1012a linux-rk35xx-vendor.config: enable CONFIG_LCD_VK2C21 as module
- new LCD driver for the Meko-R58X-Pro as a module at https://github.com/armbian/linux-rockchip/pull/482
- old always-built-in `lcd_vk2c21` is gone
2026-05-17 09:11:02 +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