Track the new arduino/linux-qcom qcom-v7.0.0-unoq release on the
Arduino UNO Q (QRB2210) edge branch and regenerate the defconfig
via rewrite-kernel-config against the 7.0 tree.
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)
When ASK is enabled, the extension applies an extra kernel patch, producing
a different kernel binary. Override LINUXFAMILY to ls1046a-ask so the kernel
.deb gets a distinct name (linux-image-current-ls1046a-ask) that won't
collide with non-ASK builds in the apt repo.
- Add post_family_config hook to override LINUXFAMILY and LINUXCONFIG
- Symlink kernel config (same config, different name)
- Use dynamic ${BRANCH}-${LINUXFAMILY} in ASK .deb Depends
- Fix cleanup handler to not fail under set -e
* add support for arduino-uno-q
* arduino-uno-q: fix boot with boot.scr and correct memory addresses
ABL overwrites kernel_addr_r/fdt_addr_r/ramdisk_addr_r at runtime,
causing memory overlap that corrupts the kernel Image header.
Switch from extlinux to boot.scr which sets correct addresses in the
0xC0000000 RAM bank before loading kernel, initrd and dtb.
U-Boot env loads boot.scr from partition 0x43 (GPT 67 "efi") with
sysboot as fallback.
* arduino-uno-q: update board and family config
- Use boot.scr instead of extlinux (BOOTSCRIPT/BOOTENV_FILE in family)
- Add SERIALCON=ttyMSM0 for serial console
- BOOTSIZE=512 to fit kernel + initrd
- Remove BOARD_FIRMWARE_INSTALL="-full", copy only needed firmware
- Add WiFi ath10k firmware copy
- Add ADB daemon with Armbian branding
- Add first-boot rootfs resize service
- Update kernel to 6.19.0 from qcom-v6.19.0-unoq branch
* arduino-uno-q: fix image-output extension
Use dd with sector offsets instead of loop device partitions to extract
boot and rootfs images. The previous approach failed because the build
framework releases the loop device before the extension runs.
* arduino-uno-q: add first-boot rootfs resize for eMMC
Add systemd service that expands the rootfs partition to fill the entire
eMMC on first boot using sgdisk. Removes the empty userdata partition
and recreates rootfs with all remaining space.
* arduino-uno-q: update ath10k WiFi firmware to upstream
Update board-2.bin from linux-firmware (ath-20260204) with support for
additional board IDs.
* arduino-uno-q: update kernel config for 6.19
* arduino-uno-q: revert board-2.bin to original version
Restore the ath10k board-2.bin firmware to the version provided in the
original board bring-up, as the upstream version has not been validated
on this hardware.
* arduino-uno-q: move flash binaries to armbian/qcombin
Move EDL flash binaries (ABL, XBL, TrustZone, GPT tables, etc.) from
packages/blobs/arduino/flash/ to the external armbian/qcombin repository
under the Agatti folder, following the same pattern as rkbin for
Rockchip and mtkbin for MediaTek.
Add qcombin.sh extension to fetch binaries during build. Update
image-output-arduino.sh to source flash files from qcombin cache and
derive U-Boot package path from BRANCH/BOARD variables.
* arduino-uno-q: add BOARD_VENDOR
* arduino-uno-q: update qcombin path to Agatti/arduino-uno-q
* arduino-uno-q: move firmware to armbian/firmware, rename boot script
Move firmware blobs to armbian/firmware repository (armbian/firmware#123)
and remove manual firmware copies from post_family_tweaks. Firmware is
now installed via the armbian-firmware package.
Rename boot-qcom to boot-qrb2210 to be family-specific.
* arduino-uno-q: include prog_firehose_ddr.elf from Agatti root
* arduino-uno-q: add qbootctl to prevent fastboot fallback
---------
Co-authored-by: Hsun Lai <i@chainsx.cn>
* config: rockchip64: build Motorcomm Ethernet driver into kernel
* config: rockchip64: drop redundant STMMAC_PCI dependency
After testing, STMMAC_PCI proved to be unnecessary for the YT6801
PCIe controller as it relies on its own glue driver.
DWMAC_MOTORCOMM is kept as built-in (=y) to ensure OOB networking,
as module auto-loading fails during early boot.
* config: rockchip64: remove unnecessary STMMAC_PLATFORM from OPi5 Pro configs
---------
Signed-off-by: c127dev <contact@c127.dev>
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>
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>
- Fix the issue that downstream MSM sdhc driver cannot work on 6.18.14
or newer kernel
- Switch back to downstream MSM sdhc driver for Ayn Odin2 devices to
fix the IO performance regression brought by upstream driver.
Before this fix, average sequential read bandwidth on a UHS-I SDR104
card is 16.8MiB/s. After this fix applied, it is 85.1MiB/s.
It fixes commit f785a6d9fdd2f6751f739d6863e1beec6d98484b
Signed-off-by: Alex Ling <ling_kasim@hotmail.com>
* copy old patchset
* bump to 6.19
* megous: replace 6.18 with 6.19 patchset
* drm-sun4i: remove upstreamed patch series
* backports: remove fully upstreamed patches
* uwe5622: fix patch for 6.19
* megi: remove informational patch, confuses patching logic for unknown reason
* megi: disable unneeded patch (again)
* fix various broken patches
* sunxi: rewrite the whole patchset
* sun4i-drm: add patches not upstreamed yet from recent series
* disable broken patch @rvdr
```
[🔨] drivers/pci/pcie-sunxi/pcie-sunxi-rc.c: In function 'sunxi_allocate_msi_domains':
[🔨] drivers/pci/pcie-sunxi/pcie-sunxi-rc.c:198:26: error: implicit declaration of function 'pci_msi_create_irq_domain'; did you mean 'msi_create_irq_domain'? [-Werror=implicit-function-declaration]
[🔨] 198 | pp->msi_domain = pci_msi_create_irq_domain(fwnode, &sunxi_msi_info, pp->irq_domain);
[🔨] | ^~~~~~~~~~~~~~~~~~~~~~~~~
[🔨] | msi_create_irq_domain
```
* same story, disable broken patch
```
[🔨] drivers/iommu/sun55i-iommu.c: In function 'sunxi_iommu_profilling_show':
[🔨] drivers/iommu/sun55i-iommu.c:1110:1: warning: label 'err' defined but not used [-Wunused-label]
[🔨] 1110 | err:
[🔨] | ^~~
[🔨] drivers/iommu/sun55i-iommu.c: At top level:
[🔨] drivers/iommu/sun55i-iommu.c:1379:43: error: initialization of 'int (*)(struct iommu_domain *, struct device *, struct iommu_domain *)' from incompatible pointer type 'int (*)(struct iommu_domain *, struct device *)' [-Werror=incompatible-pointer-types]
[🔨] 1379 | .attach_dev = sun55i_iommu_attach_dev,
[🔨] | ^~~~~~~~~~~~~~~~~~~~~~~
[🔨] drivers/iommu/sun55i-iommu.c:1379:43: note: (near initialization for '(anonymous).attach_dev')
```
* rewrite again
* Update sunxi pci iommu patches and enable them back
* rewrite again
* bump major across branches
closing the circle of life
* Fix compatible string for combophy node in DTS patch
* shift kernel configs and rewrite for 6.19
* force rewrite of left-over combinations
closing the circle
* rewrite patchset against 6.19.4
* fix patch and add missing AC200 stuff again
* sunxi64: add missing kernel options for both current and edge
* sunxi64: rewrite patches against 6.19.6
* sunxi64: rewrite patches against 6.18.16
* sunxi: reorganize AC200 and H618 EMAC patches to apply earlier
- Move AC200 MFD, AC200 Ethernet PHY, and H618 EMAC patches to 0201-0203 series
- Ensures these drivers are available before dependent device tree patches
- Applies to both sunxi-6.18 and sunxi-6.19 kernel series
* sunxi-6.19: disable patch broken in 6.19.7
perhaps megi will find time to fix at some point
* sunxi-6.19: fix broken patch
snd_soc_kcontrol_component() was removed upstream in commit d742ebcfe524.
Use snd_kcontrol_chip() instead, which is the replacement.
* sunxi-6.18: disable broken patch
---------
Co-authored-by: juanesf <juanesf91@gmail.com>
Co-authored-by: Igor Pecovnik <igor@armbian.com>