From 2d7794a8847477d3ce1a8ce4fc8a981fbe513867 Mon Sep 17 00:00:00 2001 From: Austin Lane Date: Tue, 14 Oct 2025 09:04:44 -0400 Subject: [PATCH] family: rockchip: add rv1103/rv1106 + first board - Adds support for "RV1106" family (RV1103 + RV1106) - Adds support for Luckfox Pico Mini (RV1103) --- config/boards/luckfox-pico-mini.csc | 16 + .../linux-rockchip-rv1106-vendor.config | 495 ++++++++++++++++++ config/sources/families/rockchip-rv1106.conf | 149 ++++++ .../0000.patching_config.yaml | 5 + .../defconfig/luckfox_rv1106_uboot_defconfig | 161 ++++++ .../dt/rv1106-luckfox.dts | 59 +++ .../rv1103-rv1106-malloc_8_hide_optee.patch | 28 + .../rv1103-rv1106-mem_layout.patch | 62 +++ .../rv1103-rv1106-sysboot-extlinux.patch | 30 ++ .../use-armv7a-for-modern-toolchain.patch | 17 + 10 files changed, 1022 insertions(+) create mode 100644 config/boards/luckfox-pico-mini.csc create mode 100644 config/kernel/linux-rockchip-rv1106-vendor.config create mode 100644 config/sources/families/rockchip-rv1106.conf create mode 100644 patch/u-boot/legacy/u-boot-rockchip-buildroot/0000.patching_config.yaml create mode 100644 patch/u-boot/legacy/u-boot-rockchip-buildroot/defconfig/luckfox_rv1106_uboot_defconfig create mode 100644 patch/u-boot/legacy/u-boot-rockchip-buildroot/dt/rv1106-luckfox.dts create mode 100644 patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-malloc_8_hide_optee.patch create mode 100644 patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-mem_layout.patch create mode 100644 patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-sysboot-extlinux.patch create mode 100644 patch/u-boot/legacy/u-boot-rockchip-buildroot/use-armv7a-for-modern-toolchain.patch diff --git a/config/boards/luckfox-pico-mini.csc b/config/boards/luckfox-pico-mini.csc new file mode 100644 index 000000000000..77e64610c843 --- /dev/null +++ b/config/boards/luckfox-pico-mini.csc @@ -0,0 +1,16 @@ +# Rockchip RV1103 single core 64MB SoC 1x100MBe NAND USB2 +BOARD_NAME="Luckfox Pico Mini" +BOARDFAMILY="rockchip-rv1106" +BOOTCONFIG="luckfox_rv1106_uboot_defconfig" +BOARD_MAINTAINER="vidplace7" +KERNEL_TARGET="vendor" +BOOT_FDT_FILE="rv1103g-luckfox-pico-mini.dtb" +IMAGE_PARTITION_TABLE="gpt" +# RV1103 but uses RV1106 blobs (doesn't work with RV1103 blobs) +BOOT_SOC="rv1103" +DDR_BLOB="rv11/rv1106_ddr_924MHz_v1.15.bin" +TEE_BLOB="rv11/rv1106_tee_ta_v1.13.bin" +USBPLUG_BLOB="rv11/rv1106_usbplug_v1.09.bin" + +# Board only has 64MB RAM; use 'lowmem' extension to optimize for this. +enable_extension "lowmem" diff --git a/config/kernel/linux-rockchip-rv1106-vendor.config b/config/kernel/linux-rockchip-rv1106-vendor.config new file mode 100644 index 000000000000..254d067e36fa --- /dev/null +++ b/config/kernel/linux-rockchip-rv1106-vendor.config @@ -0,0 +1,495 @@ +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_KERNEL_XZ is not set +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_RD_GZIP=y +CONFIG_SYSVIPC=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_CGROUPS=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +# CONFIG_IO_URING is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_SLUB_DEBUG is not set +CONFIG_ARCH_ROCKCHIP=y +# CONFIG_VDSO is not set +CONFIG_VMSPLIT_3G_OPT=y +CONFIG_THUMB2_KERNEL=y +# CONFIG_CPU_SW_DOMAIN_PAN is not set +CONFIG_FORCE_MAX_ZONEORDER=9 +CONFIG_UACCESS_WITH_MEMCPY=y +CONFIG_CMDLINE="user_debug=31" +CONFIG_CMDLINE_EXTEND=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPUFREQ_DT=y +CONFIG_ARM_ROCKCHIP_CPUFREQ=y +CONFIG_CPU_IDLE=y +CONFIG_VFP=y +CONFIG_NEON=y +# CONFIG_SUSPEND is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STACKPROTECTOR_STRONG is not set +# CONFIG_STRICT_KERNEL_RWX is not set +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_BLK_DEV_BSG is not set +CONFIG_PARTITION_ADVANCED=y +CONFIG_EFI_PARTITION=y +CONFIG_CMDLINE_PARTITION=y +# CONFIG_MQ_IOSCHED_KYBER is not set +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_CMA is not set +# CONFIG_CMA_INACTIVE is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_INET_TABLE_PERTURB_ORDER=8 +# CONFIG_INET_DIAG is not set +CONFIG_IPV6=m +# CONFIG_IPV6_SIT is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_OF_PARTS is not set +CONFIG_MTD_BLOCK=y +CONFIG_MTD_SPI_NAND=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_SPI_NOR_MISC=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BLOCK=y +CONFIG_OF_OVERLAY=y +CONFIG_OF_DTBO=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_UFSHCD=y +CONFIG_BT=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=m +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=m +CONFIG_BT_BNEP_PROTO_FILTER=m +CONFIG_BT_HIDP=m +CONFIG_BT_HS=m +CONFIG_BT_6LOWPAN=m +CONFIG_BT_LEDS=m +CONFIG_BT_MSFTEXT=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_AUTOSUSPEND=m +CONFIG_BT_HCIBTUSB_MTK=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_BCSP=m +CONFIG_BT_HCIUART_ATH3K=m +# CONFIG_BT_HCIUART_INTEL is not set +CONFIG_BT_HCIUART_BCM=m +CONFIG_BT_HCIUART_RTL=m +CONFIG_BT_HCIUART_QCA=m +CONFIG_BT_HCIUART_AG6XX=m +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_ATH3K=m +CONFIG_BT_HCIBTUSB_RTLBTUSB=m +CONFIG_RFKILL=y +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_RK=y +CONFIG_NETDEVICES=y +# CONFIG_NET_CORE is not set +# CONFIG_NET_VENDOR_ALACRITECH is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_AQUANTIA is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_GOOGLE is not set +# CONFIG_NET_VENDOR_HISILICON is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_NET_VENDOR_PENSANDO is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set +CONFIG_STMMAC_ETH=y +# CONFIG_DWMAC_GENERIC is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_NET_VENDOR_XILINX is not set +CONFIG_RK630_PHY=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_MICROCHIP is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +CONFIG_WL_ROCKCHIP=m +CONFIG_WIFI_BUILD_MODULE=y +# CONFIG_ATH5K is not set +CONFIG_ATH9K=m +CONFIG_ATH9K_HTC=m +CONFIG_CARL9170=m +CONFIG_ATH6KL=m +CONFIG_ATH6KL_USB=m +CONFIG_AR5523=m +# CONFIG_WIL6210 is not set +CONFIG_ATH10K=m +# CONFIG_ATH10K_PCI is not set +# CONFIG_ATH10K_AHB is not set +# CONFIG_ATH10K_SDIO is not set +CONFIG_ATH10K_USB=m +# CONFIG_WCN36XX is not set +# CONFIG_ATH11K is not set +# CONFIG_ATH11K_PCI is not set +CONFIG_AT76C50X_USB=m +CONFIG_MWIFIEX=m +# CONFIG_MWIFIEX_SDIO is not set +CONFIG_MWIFIEX_USB=m +CONFIG_MT7601U=m +CONFIG_MT76x0U=m +# CONFIG_MT76x0E is not set +# CONFIG_MT76x2E is not set +CONFIG_MT76x2U=m +# CONFIG_MT7603E is not set +# CONFIG_MT7615E is not set +CONFIG_MT7663U=m +# CONFIG_MT7663S is not set +# CONFIG_MT7915E is not set +# CONFIG_MT7921E is not set +# CONFIG_MT7921S is not set +CONFIG_MT7921U=m +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +CONFIG_RT2X00=m +# CONFIG_RT2800PCI is not set +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +# CONFIG_RTL8180 is not set +CONFIG_RTL8187=m +CONFIG_RTL_CARDS=m +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8192EE is not set +CONFIG_RTL8192CU=m +CONFIG_RTL8XXXU=m +CONFIG_RTW88=m +# CONFIG_RTW88_8822BE is not set +# CONFIG_RTW88_8822BS is not set +CONFIG_RTW88_8822BU=m +# CONFIG_RTW88_8822CE is not set +# CONFIG_RTW88_8822CS is not set +CONFIG_RTW88_8822CU=m +# CONFIG_RTW88_8723DE is not set +# CONFIG_RTW88_8723DS is not set +CONFIG_RTW88_8723DU=m +# CONFIG_RTW88_8821CE is not set +# CONFIG_RTW88_8821CS is not set +CONFIG_RTW88_8821CU=m +# CONFIG_RTW89 is not set +# CONFIG_RTW89_8852AE is not set +# CONFIG_RTW89_8852BE is not set +# CONFIG_RTW89_8852CE is not set +# CONFIG_RTL8852BS is not set +# CONFIG_RTL8723DS is not set +CONFIG_RTL8822BU=m +CONFIG_RTL8821CU=m +CONFIG_88XXAU=m +CONFIG_RTL8192EU=m +# CONFIG_RTL8189ES is not set +CONFIG_AIC_WLAN_SUPPORT=m +# CONFIG_BCMDHD is not set +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_ADC=y +# CONFIG_KEYBOARD_ATKBD is not set +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_GPIO_POLLED=y +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_SERIO is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +CONFIG_SERIAL_8250_NR_UARTS=6 +CONFIG_SERIAL_8250_RUNTIME_UARTS=6 +CONFIG_SERIAL_8250_DW=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_ROCKCHIP=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_GPIO=y +CONFIG_I2C_RK3X=y +CONFIG_SPI=y +CONFIG_SPI_ROCKCHIP=y +CONFIG_SPI_ROCKCHIP_SFC=y +CONFIG_SPI_SPIDEV=y +CONFIG_SPI_SLAVE=y +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_GPIO_SYSFS=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_RESTART=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_POWER_SUPPLY=y +# CONFIG_HWMON is not set +CONFIG_THERMAL=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_CPU_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_ROCKCHIP_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_DW_WATCHDOG=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_PWM=y +# CONFIG_MEDIA_CEC_SUPPORT is not set +# CONFIG_MEDIA_SUPPORT is not set +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_TEST_SUPPORT is not set +# CONFIG_MEDIA_USB_SUPPORT is not set +# CONFIG_USB_VIDEO_CLASS is not set +# CONFIG_VIDEOBUF2_CMA_SG is not set +# CONFIG_V4L_PLATFORM_DRIVERS is not set +# CONFIG_VIDEO_ROCKCHIP_CIF is not set +# CONFIG_VIDEO_ROCKCHIP_ISP is not set +# CONFIG_VIDEO_RK_IRCUT is not set +# CONFIG_VIDEO_MIS5001 is not set +# CONFIG_VIDEO_SC3336 is not set +# CONFIG_DRM is not set +# CONFIG_DRM_EDID is not set +# CONFIG_DRM_ROCKCHIP is not set +# CONFIG_ROCKCHIP_VOP is not set +# CONFIG_ROCKCHIP_RGB is not set +# CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_SII902X is not set +# CONFIG_BACKLIGHT_PWM is not set +# CONFIG_ROCKCHIP_MULTI_RGA is not set +# CONFIG_ROCKCHIP_RGA_PROC_FS is not set +# CONFIG_ROCKCHIP_RGA_DEBUG_FS is not set +# CONFIG_ROCKCHIP_RVE is not set +# CONFIG_ROCKCHIP_RVE_PROC_FS is not set +# CONFIG_ROCKCHIP_DVBM is not set +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_SOUND=y +CONFIG_SND=y +# CONFIG_SND_PCM_TIMER is not set +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_DRIVERS is not set +# CONFIG_SND_ARM is not set +# CONFIG_SND_SPI is not set +CONFIG_SND_USB_AUDIO=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_ROCKCHIP=y +CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y +CONFIG_SND_SOC_RV1106=y +CONFIG_SND_SIMPLE_CARD=y +# CONFIG_HID is not set +# CONFIG_USB_HID is not set +CONFIG_USB=y +CONFIG_USB_COMMON=y +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_USB_DWC3=y +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_CH343=y +CONFIG_USB_GADGET=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_HID=y +# CONFIG_USB_CONFIGFS_F_UVC is not set +CONFIG_USB_GADGETFS=y +CONFIG_USB_MASS_STORAGE=y +CONFIG_USB_HUB=y +CONFIG_MMC=y +# CONFIG_PWRSEQ_EMMC is not set +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_QUEUE_DEPTH=1 +CONFIG_MMC_DW=y +CONFIG_MMC_DW_ROCKCHIP=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_ACTIVITY=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_ROCKCHIP=y +CONFIG_DMADEVICES=y +CONFIG_PL330_DMA=y +# CONFIG_DMABUF_HEAPS_ROCKCHIP is not set +# CONFIG_DMABUF_HEAPS_ROCKCHIP_CMA_HEAP is not set +# CONFIG_DMABUF_HEAPS_ROCKCHIP_CMA_ALIGNMENT is not set +# CONFIG_DMABUF_RK_HEAPS_DEBUG is not set +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +CONFIG_STAGING=y +CONFIG_RTL8723BS=m +# CONFIG_FB_TFT is not set +# CONFIG_FB_TFT_ST7735R is not set +# CONFIG_FB_TFT_ST7789V is not set +CONFIG_COMMON_CLK_PROCFS=y +# CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_CPU_RV1106=y +CONFIG_ROCKCHIP_AMP=y +CONFIG_ROCKCHIP_CPUINFO=y +CONFIG_ROCKCHIP_IOMUX=y +CONFIG_ROCKCHIP_OPP=y +CONFIG_ROCKCHIP_PVTM=y +CONFIG_ROCKCHIP_SYSTEM_MONITOR=y +CONFIG_ROCKCHIP_VENDOR_STORAGE=y +CONFIG_FIQ_DEBUGGER=y +CONFIG_FIQ_DEBUGGER_NO_SLEEP=y +CONFIG_FIQ_DEBUGGER_CONSOLE=y +CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y +CONFIG_RK_CONSOLE_THREAD=y +CONFIG_ROCKCHIP_NPOR_POWERGOOD=y +# CONFIG_RK_CMA_PROCFS is not set +# CONFIG_RK_DMABUF_PROCFS is not set +CONFIG_RK_MEMBLOCK_PROCFS=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +CONFIG_EXTCON=y +CONFIG_IIO=y +CONFIG_ROCKCHIP_SARADC=y +CONFIG_PWM=y +CONFIG_PWM_ROCKCHIP=y +# CONFIG_PHY_ROCKCHIP_CSI2_DPHY is not set +CONFIG_PHY_ROCKCHIP_INNO_USB2=y +# CONFIG_PHY_ROCKCHIP_MIPI_RX is not set +# CONFIG_ANDROID is not set +CONFIG_ROCKCHIP_OTP=y +CONFIG_ROCKCHIP_RKNPU=m +# CONFIG_ROCKCHIP_RKNPU_DEBUG_FS is not set +CONFIG_ROCKCHIP_RKNPU_PROC_FS=y +CONFIG_ROCKCHIP_RKNPU_DMA_HEAP=y +CONFIG_EXT4_FS=y +CONFIG_EXPORTFS_BLOCK_OPS=y +# CONFIG_DNOTIFY is not set +CONFIG_VFAT_FS=y +CONFIG_EXFAT_FS=y +CONFIG_TMPFS=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +# CONFIG_JFFS2_RTIME is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_ZSTD is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_ZLIB is not set +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_CRYPTO_ZSTD=y +# CONFIG_CRYPTO_HW is not set +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_DMA_CMA is not set +# CONFIG_CMA_SIZE_MBYTES is not set +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_MISC is not set +# CONFIG_SCHED_DEBUG is not set +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_TEE=y +CONFIG_OPTEE=y +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_BLK_CGROUP=y +CONFIG_STMMAC_PLATFORM=y +CONFIG_DWMAC_ROCKCHIP=y +CONFIG_STMMAC_ETHTOOL=y +CONFIG_PHYLIB=y +CONFIG_OF_MDIO=y +CONFIG_MDIO_BUS=y +CONFIG_ROCKCHIP_PHY=y +CONFIG_FIXED_PHY=y +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_ROCKCHIP_OTP=y +CONFIG_NVMEM_ROCKCHIP_EFUSE=y +# CONFIG_NVMEM_ROCKCHIP_SEC_OTP is not set +# CONFIG_ROCKCHIP_SECURE_OTP is not set +CONFIG_SWAP=y +CONFIG_ZSWAP=y +CONFIG_ZSWAP_DEFAULT_ON=y +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y +CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd" diff --git a/config/sources/families/rockchip-rv1106.conf b/config/sources/families/rockchip-rv1106.conf new file mode 100644 index 000000000000..3b9c67e90af2 --- /dev/null +++ b/config/sources/families/rockchip-rv1106.conf @@ -0,0 +1,149 @@ +# +# SPDX-License-Identifier: GPL-2.0 +# +# Copyright (c) 2013-2025 Igor Pecovnik, igor@armbian.com +# +# This file is a part of the Armbian Build Framework +# https://github.com/armbian/build/ +# + +# +# RV1106 family: includes Rockchip RV1103 and RV1106 SoCs. +# This family is optimized for low-memory (64-256MB). +# +enable_extension "rkbin-tools" + +# BOOT_SOC has to be set in the board configuration file; if not set +# we resort to rv1106 +BOOT_SOC=${BOOT_SOC:="rv1106"} + +ARCH=armhf +BOOTDELAY=1 +SERIALCON="ttyFIQ0" +RKBIN_DIR="$SRC/cache/sources/rkbin-tools" +SRC_EXTLINUX="yes" +SRC_CMDLINE="cma=0 video=off console=ttyFIQ0,115200n8" +OVERLAY_PREFIX="rv1106" +OFFSET=16 +SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_optee.sh" +UBOOT_TARGET_MAP="spl/u-boot-spl.bin u-boot.dtb u-boot-nodtb.bin;;download.bin idblock.img u-boot.itb" +BOOTSOURCE="https://github.com/radxa/u-boot.git" +BOOTBRANCH="branch:next-dev-buildroot" +BOOTPATCHDIR="legacy/u-boot-rockchip-buildroot" +BOOTDIR="u-boot-rockchip" + +# Set defaults based on BOOT_SOC (overridable in board config) +if [[ "$BOOT_SOC" == "rv1103" ]]; then + DDR_BLOB="${DDR_BLOB:-"rv11/rv1103b_ddr_924MHz_v1.05.bin"}" + TEE_BLOB="${TEE_BLOB:-"rv11/rv1103b_tee_ta_v1.03.bin"}" + USBPLUG_BLOB="${USBPLUG_BLOB:-"rv11/rv1103b_usbplug_v1.00.bin"}" +elif [[ "$BOOT_SOC" == "rv1106" ]]; then + DDR_BLOB="${DDR_BLOB:-"rv11/rv1106_ddr_924MHz_v1.15.bin"}" + TEE_BLOB="${TEE_BLOB:-"rv11/rv1106_tee_ta_v1.13.bin"}" + USBPLUG_BLOB="${USBPLUG_BLOB:-"rv11/rv1106_usbplug_v1.09.bin"}" +else + display_alert "$BOARD" "Unknown BOOT_SOC: ${BOOT_SOC} in rockchip-rv1106 family" "error" + exit 1 +fi + + +case $BRANCH in + + vendor) + + declare -g KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel. + KERNELSOURCE='https://github.com/armbian/linux-rockchip.git' + KERNELBRANCH='branch:rk-6.1-rkr5.1' + KERNELPATCHDIR='rv1106-vendor-6.1' + ;; + +esac + +function post_config_uboot_target__downgrade_gcc_errors_to_warnings() { + + declare -i gcc_major_version=0 + gcc_major_version=$(gcc -dumpversion | cut -d. -f1) + display_alert "$BOARD" "GCC major version: ${gcc_major_version}" "debug" + + # Rockchip/Radxa U-Boot won't build with GCC 13 due to enum-int-mismatch + if [[ ${gcc_major_version} -ge 13 ]]; then + display_alert "$BOARD" "Adding extra CFLAGS to fix vendor U-Boot building with GCC 13+" "info" + uboot_cflags_array+=("-Wno-error=enum-int-mismatch") + fi + + return 0 +} + +function pre_config_uboot_target__copy_tee() { + + # Makefiles expect 'tee.bin' in the uboot build directory + display_alert "Copy TEE blob" "info" + run_host_command_logged cp ${RKBIN_DIR}/${TEE_BLOB} tee.bin + + return 0 +} + +uboot_custom_postprocess() { + + display_alert "Generate u-boot.its" "info" + run_host_command_logged $SPL_FIT_GENERATOR -t 0x03d00000 -c lzma > u-boot.its + + display_alert "Generate u-boot.itb" "info" + # Remove uboot-generated itb if exists + rm -f u-boot.itb + run_host_command_logged tools/mkimage -f u-boot.its -E u-boot.itb + + display_alert "Generate idblock.img with u-boot SPL" "debug" + RKBOOT_INI_FILE=rv1106.ini + cp $RKBIN_DIR/rv11/RV1106MINIALL.ini $RKBOOT_INI_FILE + sed -i "s|Path1=.*rv1106_ddr.*$|Path1=${RKBIN_DIR}/${DDR_BLOB}|g" $RKBOOT_INI_FILE + sed -i "s|Path1=.*rv1106_usbplug.*$|Path1=${RKBIN_DIR}/${USBPLUG_BLOB}|g" $RKBOOT_INI_FILE + sed -i "s|FlashData=.*$|FlashData=${RKBIN_DIR}/${DDR_BLOB}|g" $RKBOOT_INI_FILE + sed -i "s|FlashBoot=.*$|FlashBoot=./spl/u-boot-spl.bin|g" $RKBOOT_INI_FILE + sed -i "s|PATH=.*$|PATH=download.bin|g" $RKBOOT_INI_FILE + sed -i "s|IDB_PATH=.*$|IDB_PATH=idblock.img|g" $RKBOOT_INI_FILE + run_host_x86_binary_logged $RKBIN_DIR/tools/boot_merger $RKBOOT_INI_FILE + rm -f $RKBOOT_INI_FILE +} + +# Note that write_uboot_platform() is also used to install +# the bootloader in the proper place during live systems upgrade. +write_uboot_platform() { + # This is run board-side too, so account for the non-existance of run_host_command_logged + local logging_prelude="" + [[ $(type -t run_host_command_logged) == function ]] && logging_prelude="run_host_command_logged" + + ${logging_prelude} dd if=$1/idblock.img of=$2 bs=512 seek=$((0x40)) conv=notrunc status=none + ${logging_prelude} dd if=$1/u-boot.itb of=$2 bs=512 seek=$((0x440)) conv=notrunc status=none +} + +family_tweaks() { + + # Create gpio and i2c groups on the build rootfs; they are matched against + # udev rules to allow non-root user access to these resources + chroot_sdcard addgroup --system --quiet --gid 900 gpio + chroot_sdcard addgroup --system --quiet --gid 901 i2c + + return 0 + +} + +family_tweaks_bsp() { + mkdir -p $destination/etc/udev/rules.d + mkdir -p $destination/usr/local/bin + + # Peripheral access for specific groups + cp $SRC/packages/bsp/rockchip/70-gpio.rules $destination/etc/udev/rules.d + cp $SRC/packages/bsp/rockchip/71-i2c.rules $destination/etc/udev/rules.d + + # Sound + cp $SRC/packages/bsp/rockchip/asound.conf $destination/etc/ + + # AP6330 (BCM4330) firmware initramfs hook for in-kernel btbcm driver + if [[ "$INSTALL_ARMBIAN_FIRMWARE" == "yes" ]]; then + mkdir -p $destination/etc/initramfs-tools/hooks + install -m 550 $SRC/packages/bsp/rockchip/ap6330-initramfs-firmware $destination/etc/initramfs-tools/hooks + fi + + return 0 # exit with success +} diff --git a/patch/u-boot/legacy/u-boot-rockchip-buildroot/0000.patching_config.yaml b/patch/u-boot/legacy/u-boot-rockchip-buildroot/0000.patching_config.yaml new file mode 100644 index 000000000000..719cf56a8c70 --- /dev/null +++ b/patch/u-boot/legacy/u-boot-rockchip-buildroot/0000.patching_config.yaml @@ -0,0 +1,5 @@ +config: + + overlay-directories: + - { source: "defconfig", target: "configs" } # copies all files in defconfig dir to the configs/ dir in the u-boot source tree + - { source: "dt", target: "arch/arm/dts" } # copies all files in dt dir to the arch/arm/dts dir in the u-boot source tree diff --git a/patch/u-boot/legacy/u-boot-rockchip-buildroot/defconfig/luckfox_rv1106_uboot_defconfig b/patch/u-boot/legacy/u-boot-rockchip-buildroot/defconfig/luckfox_rv1106_uboot_defconfig new file mode 100644 index 000000000000..06cb1b4f7b94 --- /dev/null +++ b/patch/u-boot/legacy/u-boot-rockchip-buildroot/defconfig/luckfox_rv1106_uboot_defconfig @@ -0,0 +1,161 @@ +CONFIG_ARM=y +CONFIG_ARCH_ROCKCHIP=y +CONFIG_SPL_GPIO_SUPPORT=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SYS_MALLOC_F_LEN=0x80000 +CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_optee.sh" +CONFIG_ROCKCHIP_RV1106=y +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x0 +CONFIG_ROCKCHIP_FIT_IMAGE=y +CONFIG_USING_KERNEL_DTB_V2=y +CONFIG_ROCKCHIP_FIT_IMAGE_PACK=y +# CONFIG_ROCKCHIP_CMD="sd_update -" +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y +CONFIG_TARGET_EVB_RV1106=y +CONFIG_SPL_LIBDISK_SUPPORT=y +CONFIG_SPL_SPI_FLASH_SUPPORT=y +CONFIG_SPL_SPI_SUPPORT=y +CONFIG_DEFAULT_DEVICE_TREE="rv1106-evb" +CONFIG_DEBUG_UART=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_ANDROID_BOOT_IMAGE=n +CONFIG_FIT=y +CONFIG_FIT_HW_CRYPTO=y +CONFIG_SPL_LOAD_FIT=y +CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y +CONFIG_SPL_FIT_HW_CRYPTO=y +# CONFIG_SPL_SYS_DCACHE_OFF is not set +CONFIG_SPL_FIT_IMAGE_KB=512 +CONFIG_SPL_FIT_IMAGE_MULTIPLE=1 +CONFIG_BOOTDELAY=0 +CONFIG_SYS_CONSOLE_INFO_QUIET=y +# CONFIG_DISPLAY_CPUINFO is not set +CONFIG_ANDROID_BOOTLOADER=n +CONFIG_ANDROID_BOOT_IMAGE_HASH=n +# CONFIG_SKIP_RELOCATE_UBOOT is not set +CONFIG_SPL_BOARD_INIT=y +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x440 +CONFIG_SPL_MTD_SUPPORT=y +CONFIG_SPL_AB=n +CONFIG_HUSH_PARSER=y +# CONFIG_CMD_BDI is not set +# CONFIG_CMD_CONSOLE is not set +CONFIG_CMD_BOOTZ=y +# CONFIG_CMD_ELF is not set +CONFIG_CMD_IMI=y +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_CRC32 is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_FPGA is not set +CONFIG_CMD_GPIO=y +CONFIG_RANDOM_UUID=y +# CONFIG_CMD_LOADB is not set +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_BOOT_ANDROID=n +CONFIG_CMD_MMC=y +CONFIG_CMD_MTD=y +CONFIG_CMD_PART=y +# CONFIG_CMD_ITEST is not set +CONFIG_CMD_SCRIPT_UPDATE=y +CONFIG_CMD_SOURCE=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_TFTP_BOOTM=y +CONFIG_CMD_TFTP_FLASH=y +CONFIG_CMD_DHCP=y +# CONFIG_CMD_NFS is not set +CONFIG_CMD_PING=y +# CONFIG_CMD_MISC is not set +CONFIG_CMD_FAT=n +CONFIG_CMD_FS_GENERIC=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +# CONFIG_SPL_DOS_PARTITION is not set +CONFIG_SPL_OF_CONTROL=y +CONFIG_SPL_DTB_MINIMUM=y +CONFIG_OF_LIVE=y +CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" +CONFIG_OF_U_BOOT_REMOVE_PROPS="interrupt-parent" +CONFIG_ENVF=n +CONFIG_ENVF_LIST="blkdevparts mtdparts sys_bootargs app reserved ipaddr serverip netmask gatewayip ethaddr" +CONFIG_REGMAP=y +CONFIG_SPL_REGMAP=y +CONFIG_SYSCON=y +CONFIG_SPL_SYSCON=y +# CONFIG_SARADC_ROCKCHIP is not set +CONFIG_SARADC_ROCKCHIP_V2=y +CONFIG_CLK=y +CONFIG_SPL_CLK=y +CONFIG_DM_CRYPTO=y +CONFIG_SPL_DM_CRYPTO=y +CONFIG_ROCKCHIP_CRYPTO_V2=y +CONFIG_SPL_ROCKCHIP_CRYPTO_V2=y +CONFIG_DM_RNG=y +CONFIG_RNG_ROCKCHIP=y +CONFIG_ROCKCHIP_GPIO=y +# CONFIG_DM_I2C is not set +CONFIG_DM_KEY=y +CONFIG_ADC_KEY=y +CONFIG_MISC=y +CONFIG_SPL_MISC=y +CONFIG_ROCKCHIP_OTP=y +CONFIG_SPL_ROCKCHIP_SECURE_OTP=y +# CONFIG_SUPPORT_EMMC_RPMB is not set +CONFIG_MMC_DW=y +CONFIG_MMC_DW_ROCKCHIP=y +CONFIG_MTD=y +CONFIG_MTD_BLK=y +CONFIG_MTD_DEVICE=y +CONFIG_MTD_SPI_NAND=y +# CONFIG_PHY_RK630=y +# CONFIG_DM_ETH=y +# CONFIG_DM_ETH_PHY=y +# CONFIG_DWC_ETH_QOS=y +# CONFIG_DWC_ETH_QOS_FULL is not set +# CONFIG_GMAC_ROCKCHIP=y +CONFIG_PINCTRL=y +CONFIG_SPL_PINCTRL=y +# CONFIG_DM_REGULATOR is not set +# CONFIG_DM_PWM is not set +CONFIG_RAM=y +CONFIG_TPL_RAM=y +CONFIG_ROCKCHIP_SDRAM_COMMON=y +CONFIG_DM_RESET=y +CONFIG_DEBUG_UART_BASE=0xff4c0000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_DEBUG_UART_SHIFT=2 +CONFIG_ROCKCHIP_SFC=y +CONFIG_SYSRESET=y +# CONFIG_SYSRESET_SYSCON_REBOOT is not set +# CONFIG_FAT_WRITE is not set +CONFIG_USE_TINY_PRINTF=y +# CONFIG_REGEX is not set +CONFIG_SPL_TINY_MEMSET=y +CONFIG_RSA=y +CONFIG_SPL_RSA=y +CONFIG_RSA_N_SIZE=0x200 +CONFIG_RSA_E_SIZE=0x10 +CONFIG_RSA_C_SIZE=0x20 +CONFIG_SPL_LZMA=y +CONFIG_SPL_GZIP=y +CONFIG_ERRNO_STR=y +# CONFIG_EFI_LOADER is not set +CONFIG_ROCKCHIP_EMMC_IOMUX=y +CONFIG_ENV_IS_NOWHERE=y +CONFIG_CMD_GPT=y +CONFIG_PARTITIONS=y +CONFIG_EFI_PARTITION=y +CONFIG_PARTITION_UUIDS=y +CONFIG_CMD_SETEXPR=y +CONFIG_CMD_FDT=y +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_LEGACY_IMAGE_FORMAT=y +CONFIG_SPL_OPTEE=y +CONFIG_OPTEE=y +CONFIG_MENU=y diff --git a/patch/u-boot/legacy/u-boot-rockchip-buildroot/dt/rv1106-luckfox.dts b/patch/u-boot/legacy/u-boot-rockchip-buildroot/dt/rv1106-luckfox.dts new file mode 100644 index 000000000000..a6fa39aa9f86 --- /dev/null +++ b/patch/u-boot/legacy/u-boot-rockchip-buildroot/dt/rv1106-luckfox.dts @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2022 Rockchip Electronics Co., Ltd. + */ + +/dts-v1/; + +#include "rv1106.dtsi" +#include "rv1106-u-boot.dtsi" +#include + +/ { + model = "Rockchip RV1106 EVB2 Board"; + compatible = "rockchip,rv1106-evb2", "rockchip,rv1106"; + + chosen { + stdout-path = &uart2; + u-boot,spl-boot-order = &sdmmc, &spi_nand, &emmc; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* OP-TEE secure RAM */ + optee@3d00000 { + reg = <0x03d00000 0x00300000>; /* 3 MiB: 0x03D00000..0x04000000 */ + no-map; + }; + }; + + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 0>; + io-channel-names = "buttons"; + keyup-threshold-microvolt = <1800000>; + u-boot,dm-spl; + status = "okay"; + + volumeup-key { + u-boot,dm-spl; + linux,code = ; + label = "volume up"; + press-threshold-microvolt = <1750>; + }; + + }; +}; + +&hw_decompress { + u-boot,dm-spl; + status = "okay"; +}; + +&saradc { + u-boot,dm-spl; + status = "okay"; +}; \ No newline at end of file diff --git a/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-malloc_8_hide_optee.patch b/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-malloc_8_hide_optee.patch new file mode 100644 index 000000000000..534a2d4b8714 --- /dev/null +++ b/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-malloc_8_hide_optee.patch @@ -0,0 +1,28 @@ +diff --git a/include/configs/rv1103b_common.h b/include/configs/rv1103b_common.h +index f6ee6f88dc..32854c2af4 100644 +--- a/include/configs/rv1103b_common.h ++++ b/include/configs/rv1103b_common.h +@@ -10,7 +10,8 @@ + #include "rockchip-common.h" + + #define COUNTER_FREQUENCY 24000000 +-#define CONFIG_SYS_MALLOC_LEN (16 << 20) ++#define CONFIG_SYS_MALLOC_LEN (8 << 20) ++#define CONFIG_SYS_MEM_TOP_HIDE 0x00300000 + #define CONFIG_SYS_CBSIZE 1024 + #define CONFIG_SYS_NS16550_MEM32 + +diff --git a/include/configs/rv1106_common.h b/include/configs/rv1106_common.h +index dc927a8f36..0f062426b1 100644 +--- a/include/configs/rv1106_common.h ++++ b/include/configs/rv1106_common.h +@@ -12,7 +12,8 @@ + #include "rockchip-common.h" + + #define COUNTER_FREQUENCY 24000000 +-#define CONFIG_SYS_MALLOC_LEN (16 << 20) ++#define CONFIG_SYS_MALLOC_LEN (8 << 20) ++#define CONFIG_SYS_MEM_TOP_HIDE 0x00300000 + #define CONFIG_SYS_CBSIZE 1024 + #define CONFIG_SYS_NS16550_MEM32 + diff --git a/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-mem_layout.patch b/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-mem_layout.patch new file mode 100644 index 000000000000..d83a0c5a24f2 --- /dev/null +++ b/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-mem_layout.patch @@ -0,0 +1,62 @@ +diff --git a/include/configs/rv1103b_common.h b/include/configs/rv1103b_common.h +index f6ee6f88dc..f30d0197e0 100644 +--- a/include/configs/rv1103b_common.h ++++ b/include/configs/rv1103b_common.h +@@ -57,19 +57,14 @@ + #ifdef CONFIG_ENV_MEM_LAYOUT + #define ENV_MEM_LAYOUT_SETTINGS CONFIG_ENV_MEM_LAYOUT_SETTINGS + #else +-/* +- * Image: 0 - 8M +- * zImage: 8 - 12M +- * fdt: 12 - 13M +- * ramdisk: 14 ... +- */ + #define ENV_MEM_LAYOUT_SETTINGS \ +- "scriptaddr=0x00b00000\0" \ +- "pxefile_addr_r=0x00c00000\0" \ +- "fdt_addr_r=0x00c00000\0" \ +- "kernel_addr_c=0x00808000\0" \ +- "kernel_addr_r=0x00008000\0" \ +- "ramdisk_addr_r=0x000e00000\0" ++ "scriptaddr=0x02000000\0" \ ++ "fdt_addr_r=0x03800000\0" \ ++ "kernel_addr_r=0x00800000\0" \ ++ "ramdisk_addr_r=0x02400000\0" \ ++ "fdt_high=0x03900000\0" \ ++ "initrd_high=0x03900000\0" \ ++ "load_addr=0x02000000\0" + #endif + + #define CONFIG_EXTRA_ENV_SETTINGS \ +diff --git a/include/configs/rv1106_common.h b/include/configs/rv1106_common.h +index dc927a8f36..d6912a88ba 100644 +--- a/include/configs/rv1106_common.h ++++ b/include/configs/rv1106_common.h +@@ -67,19 +67,14 @@ + #ifdef CONFIG_ENV_MEM_LAYOUT + #define ENV_MEM_LAYOUT_SETTINGS CONFIG_ENV_MEM_LAYOUT_SETTINGS + #else +-/* +- * Image: 0 - 8M +- * zImage: 8 - 12M +- * fdt: 12 - 13M +- * ramdisk: 14 ... +- */ + #define ENV_MEM_LAYOUT_SETTINGS \ +- "scriptaddr=0x00b00000\0" \ +- "pxefile_addr_r=0x00c00000\0" \ +- "fdt_addr_r=0x00c00000\0" \ +- "kernel_addr_c=0x00808000\0" \ +- "kernel_addr_r=0x00008000\0" \ +- "ramdisk_addr_r=0x000e00000\0" ++ "scriptaddr=0x02000000\0" \ ++ "fdt_addr_r=0x03800000\0" \ ++ "kernel_addr_r=0x00800000\0" \ ++ "ramdisk_addr_r=0x02400000\0" \ ++ "fdt_high=0x03900000\0" \ ++ "initrd_high=0x03900000\0" \ ++ "load_addr=0x02000000\0" + #endif + + #define CONFIG_EXTRA_ENV_SETTINGS \ diff --git a/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-sysboot-extlinux.patch b/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-sysboot-extlinux.patch new file mode 100644 index 000000000000..5ed84017d81b --- /dev/null +++ b/patch/u-boot/legacy/u-boot-rockchip-buildroot/rv1103-rv1106-sysboot-extlinux.patch @@ -0,0 +1,30 @@ +diff --git a/include/configs/rv1103b_common.h b/include/configs/rv1103b_common.h +index f30d0197e0..5b22db2e42 100644 +--- a/include/configs/rv1103b_common.h ++++ b/include/configs/rv1103b_common.h +@@ -78,8 +78,8 @@ + "boot_fit;" + #else + #define RKIMG_BOOTCOMMAND \ +- "boot_fit;" \ +- "boot_android ${devtype} ${devnum};" ++ "setenv bootargs;" \ ++ "sysboot mmc 1:1 any ${scriptaddr} /boot/extlinux/extlinux.conf;" + #endif + + /* Update define for tiny image */ +diff --git a/include/configs/rv1106_common.h b/include/configs/rv1106_common.h +index d6912a88ba..b5378106e6 100644 +--- a/include/configs/rv1106_common.h ++++ b/include/configs/rv1106_common.h +@@ -88,8 +88,8 @@ + "boot_fit;" + #else + #define RKIMG_BOOTCOMMAND \ +- "boot_fit;" \ +- "boot_android ${devtype} ${devnum};" ++ "setenv bootargs;" \ ++ "sysboot mmc 1:1 any ${scriptaddr} /boot/extlinux/extlinux.conf;" + #endif + + /* Update define for tiny image */ diff --git a/patch/u-boot/legacy/u-boot-rockchip-buildroot/use-armv7a-for-modern-toolchain.patch b/patch/u-boot/legacy/u-boot-rockchip-buildroot/use-armv7a-for-modern-toolchain.patch new file mode 100644 index 000000000000..e14c864d2335 --- /dev/null +++ b/patch/u-boot/legacy/u-boot-rockchip-buildroot/use-armv7a-for-modern-toolchain.patch @@ -0,0 +1,17 @@ +diff --git a/arch/arm/Makefile b/arch/arm/Makefile +index 42c9ed887f..f15e10e995 100644 +--- a/arch/arm/Makefile ++++ b/arch/arm/Makefile +@@ -14,10 +14,10 @@ arch-$(CONFIG_CPU_ARM926EJS) =-march=armv5te + arch-$(CONFIG_CPU_ARM946ES) =-march=armv5te + arch-$(CONFIG_CPU_SA1100) =-march=armv4 + arch-$(CONFIG_CPU_PXA) = +-arch-$(CONFIG_CPU_ARM1136) =-march=armv5 ++arch-$(CONFIG_CPU_ARM1136) =-march=armv7-a + arch-$(CONFIG_CPU_ARM1176) =-march=armv5t + arch-$(CONFIG_CPU_V7) =$(call cc-option, -march=armv7-a, \ +- $(call cc-option, -march=armv7, -march=armv5)) ++ $(call cc-option, -march=armv7, -march=armv7-a)) + arch-$(CONFIG_ARM64) =-march=armv8-a+nosimd + + # On Tegra systems we must build SPL for the armv4 core on the device