Add full support for Luckfox Pico boards#11
Open
rgrizzell wants to merge 11 commits into
Open
Conversation
…V110x boards Adds boot chain and image pipeline support for the 15 Luckfox Pico board variants that were missing or broken: rkbin/Makefile: - Add rv1106-nand TFA variant (RV1106MINIALL_SPI_NAND_TB.ini) for Pro/Max/Pro Max - Add rv1106-emmc TFA variant (RV1106MINIALL_EMMC_TB.ini) for Ultra/Pi/86Panel/Zero - Both generate idblock.img and stage the shared USB download loader uboot-luckfox/Makefile: - Extend rv1106-sd BUILD_DEVICES to cover luckfox_pico, pico-plus, pico-webbee - Extend rv1103-nand BUILD_DEVICES to cover pico-plus-nand, pico-webbee-nand - Add rv1106-nand U-Boot variant (luckfox_rv1106_spi_nand_tb defconfig) - Add rv1106-emmc U-Boot variant (luckfox_rv1106_uboot_emmc_tb defconfig) dts/: - Add rv1106g-luckfox-pico-zero.dts ported from vendor SDK; removed IPC-specific includes and memory-region-ecsd (ThunderBoot-only) cortexa7.mk: - Fix luckfox_pico-max: correct DEVICE_DTS and SUPPORTED_DEVICES (was pointing at pro-max DTS and using wrong compatible string) - Fix luckfox_pico: switch from Default-emmc to Default-sdcard, fix image pipeline macro (env-sd-img -> env-rv1106-sd-img) - Add 12 new device recipes: pico-plus (SD+NAND), pico-webbee (SD+NAND), pico-pro, pico-pro-max, pico-ultra, pico-ultra-w, pico-pi, pico-pi-w, pico-86panel, pico-zero All 18 board image pipelines build-verified. Hardware testing pending. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ivers Add CONFIG_DRM_ROCKCHIP, CONFIG_ROCKCHIP_VOP, CONFIG_ROCKCHIP_RGB, CONFIG_ROCKCHIP_IOMMU, and CONFIG_TOUCHSCREEN_GOODIX to config-6.6 for RV1106 display pipeline support. The 86Panel DTS already contains a complete display config (VOP, RGB666, 720×720 simple-panel, PWM backlight, GT911 I2C3 touchscreen) via rv1106-luckfox-pico-86panel-ipc.dtsi. ROCKCHIP_IOMMU is required by the DRM_ROCKCHIP Kconfig dependency. 86Panel and 86Panel W images build clean with the new config. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…Pro/Max NAND device trees for Plus and WebBee, Pico Pro/Max split into separate SD and NAND profiles, nand-flash.img recipe, SARADC adc-keys fixes, and gpiod-tools. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Make the eMMC boards (Ultra, Ultra W, Pi, Pi W, 86Panel, 86Panel W, Zero)
boot from eMMC and produce a single flashable image.
- Device/Default-emmc: add an emmc-combined-img macro and emmc-flash.img so
one `rkdeveloptool wl 0` flashes the whole eMMC; expose idblock/uboot/
loader artifacts; switch KERNEL to boot-arm-nand-tb-bin (real load
address 0x208000) since the eMMC Thunderboot SPL loads the kernel
directly and cannot resolve the placeholder address.
- rv1106-uboot.env.emmc.txt: minimal partition layout
(env/idblock/uboot/boot/rootfs), root=/dev/mmcblk0p5, bootcmd=boot_fit.
- eMMC DTS: kernel bootargs in chosen{} (console ttyS2 @1500000, root on
mmcblk0p5) because the TB SPL reads bootargs from the DTB; fiq-debugger
disabled and uart2 enabled as the console.
Verified on Pico Ultra W hardware: boots to OpenWRT, Ethernet works.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add the GT911 capacitive touch controller as a live static node in the 86Panel and Ultra dtsi. The node gives the mainline goodix driver both reset-gpios and irq-gpios so it runs the controlled power-on reset that deterministically latches the I2C address (0x5d) — the vendor left the node out of the static DTS because its older kernel could not handle the auto-addressing reliably. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
uboot-envtools board file for the Luckfox boards, fix placeholder root compatible on 6 boards, and fix fw_env.config persistence plus the SD env device. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…tegration) Port the AIC8800 bsp and fdrv modules to kernel 6.6, build cfg80211 into the kernel, and ship the driver on the W and Pico Zero boards. Integrate WiFi through OpenWrt's native wifi-scripts/netifd using wpad-mbedtls with 11AC/11AX driver support. STA, AP, and concurrent STA+AP verified on hardware. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Enable IOMMU_SUPPORT so DRM_ROCKCHIP/VOP build, add the VOP ahb/dclk resets, rewire the VOP output directly to the panel, switch the panel to the upstream panel-dpi binding, and fix the pwm1 backlight pinctrl and panel enable-gpio. Verified on the Pico Ultra W: /dev/dri/card0 plus modetest SMPTE on the LP40-720720 panel with backlight on. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
f09cd1f to
d6575b6
Compare
Author
Luckfox Pico Support MatrixLegend
Board Support
Feature Support — Kernel DriverIs the kernel driver/module enabled and loading?
Feature Support — DTS ConfigIs the feature's device node present and enabled in the board DTS?
Feature Support — OpenWRT SupportAre userspace packages, UCI config, and services working?
|
New aic8800-bt-attach package ships a procd init that runs hciattach to bind the AIC8800DC Bluetooth UART (uart1, generic H4) to the kernel HCI line discipline, creating hci0. The BSP already powers BT on and loads its firmware over SDIO, so no vendor HCI proto or over-HCI patching is needed. Also ship bluez-daemon (bluetoothd + bluetoothctl) on the W boards for adapter control, pairing, and connecting. Verified on the Pico Ultra W: hci0 enumerates and reaches UP RUNNING, and bluetoothctl scans and connects. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Enables the adc-keys input driver, needed by every Luckfox board with a BOOT button on SARADC0 (Mini B, Plus, WebBee, Femtofox). No kmod package exists for this driver. Additive — only probes where a DTS declares an adc-keys node. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The 'work' (Activity) LED in rv1103-luckfox-pico-ipc.dtsi already requests linux,default-trigger = "activity", but CONFIG_LEDS_TRIGGER_ACTIVITY was not enabled — so the trigger was unavailable, the LED fell back to default-state = "on", and stayed solid on every Luckfox board. Enable the trigger so the Activity LED flickers with system activity (quiet when idle, faster when busy) as the DTS intends. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds OpenWrt 24.10 support for the Luckfox Pico RV1103/RV1106 board family — image recipes, NAND and eMMC boot, GT911 touch, AIC8800 WiFi via OpenWrt's native wifi-scripts, AIC8800 Bluetooth (hci0 + bluez), and RV1106 VOP/RGB parallel display.
Covered boards: Pico Mini, Plus, Pro, Max, Ultra, 86Panel, WebBee, Zero and their W (WiFi) variants.
Milestones
nand-flash.img, SARADC fixes)Kernel dependency
The display milestone relies on the
drm-rv1106-vopbranch of the linux-stable fork (cloned at build time viaCONFIG_KERNEL_GIT_REF): RV1106 VOP driver, RGB666 dither-down, and the VOP→RGB GRF bypass clear.That kernel work is submitted separately as plan44/linux-stable#5. It should land first or together with this PR, otherwise the display milestone won't build/boot.
Verification
Tested on the Pico Ultra W:
hci0UP RUNNING (HCI handshake clean),bluetoothctlscan and connect./dev/dri/card0,modetestSMPTE color bars on the LP40-720720 panel, backlight on.Other boards build clean for
rockchip/cortexa7but are not all hardware-verified.