[PATCH] board: rockchip: Add for 9Tripod X3568 v4

Coia Prant coiaprant at gmail.com
Thu Jun 25 16:52:23 CEST 2026


On June 25, 2026 7:07:53 PM GMT+08:00, Quentin Schulz <quentin.schulz at cherry.de> wrote:
>Hi Coia,
>
>On 6/25/26 12:54 PM, Coia Prant wrote:
>> [You don't often get email from coiaprant at gmail.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>> 
>> On June 25, 2026 6:30:46 PM GMT+08:00, Quentin Schulz <quentin.schulz at cherry.de> wrote:
>>> Hi Coia,
>>> 
>>> On 5/27/26 1:29 PM, Coia Prant wrote:
>>>> [You don't often get email from coiaprant at gmail.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>>>> 
>>>> The 9Tripod X3568 v4 is an RK3568-based SBC, just like the RK3568-EVB.
>>>> It always uses soldered connections between the X3568CV2/X3568CV3/X3568CV4 core board
>>>> and the X3568bv4 I/O board.
>>>> 
>>>> The differences between the core boards
>>>> - PCB size, layout
>>>> - CPU (RKK3568B2/RK3568J)
>>>> - Memory type (DDR4/LPDDR4/LPDDR4X) and size
>>>> - eMMC size
>>>> - DSI/EDP resistor values
>>>> Although the components vary, they maintain full compatibility.
>>>> 
>>>> The X3568 board has multiple hardware revisions, and we currently support v4 (I/O board).
>>>> 
>>>> Specification:
>>>> - SoC: RockChip RK3568 ARM64 (4 cores)
>>>> - eMMC: 16-128 GB
>>>> - RAM: 2-16 GB
>>>> - Power: DC 12V 2A
>>>> - Ethernet: 2x YT8521SC RGMII (10/100/1000 Mbps)
>>>> - Wireless radio: 802.11b/g/n/ac/ax dual-band
>>>> - LED:
>>>>     Power: AlwaysOn
>>>>     User: GPIO
>>>> - Button:
>>>>     VOL+: SARADC/0 <35k µV>
>>>>     VOL-: SARADC/0 <450k µV>
>>>>     Power/Reset: PMIC RK809
>>>> - CAN
>>>>     CAN/1: 4-pin (PH 2.0)
>>>> - PWM
>>>>     PWM/4: Backlight DSI/0 DSI/1
>>>>     PWM/7: IR Receiver [may not install]
>>>> - UART:
>>>>     UART/2: Debug TTL - 1500000 8N1 (1.25mm)
>>>>     UART/3: TTL (PH 2.0)
>>>>     UART/4: TTL (PH 2.0)
>>>>     UART/8: AP6275S Bluetooth
>>>>     UART/9: TTL (PH 2.0)
>>>> - I2C:
>>>>     I2C/0: PMIC RK809
>>>>     I2C/1: Touchscreen DSI/0 DSI/1
>>>>     I2C/4: Camera
>>>>     I2C/5: RTC at 51 PCF8563
>>>> - I2S:
>>>>     I2S/0: miniHDMI Sound
>>>>     I2S/1: RK809 Audio Codec
>>>>     I2S/3: AP6275S Bluetooth Sound
>>>> - SDMMC:
>>>>     SDMMC/0: microSD (TF) slot
>>>>     SDMMC/2: AP6275S SDIO WiFi card
>>>> - Camera: 1x CSI
>>>> - Video: miniHDMI / DSI0 (MIPI/LVDS) / DSI1 (MIPI/EDP)
>>>> - Audio: miniHDMI / MIC on-board / Speaker / SPDIF / 3.5mm Headphones / AP6275S Bluetooth
>>>> - USB:
>>>>     USB 2.0 HOST x2
>>>>     USB 2.0 HOST x3 (4-pin)
>>>>     USB 2.0 OTG x1 (shared with USB 3.0 OTG/HOST) [slot may not install]
>>>>     USB 3.0 HOST x1
>>>>     USB 3.0 OTG/HOST x1
>>>> - SATA: 1x SATA 3.0 with Power/4-pin [slot may not install]
>>>> - PCIe: 1x PCIe 3.0 x2 (x4 connecter) [power/clock/slot may not install]
>>>> 
>>>> Link:
>>>> - https://appletsapi.52solution.com/media/X3568V4%E5%BC%80%E5%8F%91%E6%9D%BF%E7%A1%AC%E4%BB%B6%E6%89%8B%E5%86%8C.pdf
>>>> - https://blog.gov.cooking/archives/research-ninetripod-x3568-v4-and-flash.html
>>>> 
>>>> Signed-off-by: Coia Prant <coiaprant at gmail.com>
>>>> ---
>>>>    .../dts/rk3568-9tripod-x3568-v4-u-boot.dtsi   |  3 +
>>>>    board/rockchip/evb_rk3568/MAINTAINERS         |  7 ++
>>>>    configs/9tripod-x3568-v4-rk3568_defconfig     | 80 +++++++++++++++++++
>>>>    doc/board/rockchip/rockchip.rst               |  1 +
>>>>    4 files changed, 91 insertions(+)
>>>>    create mode 100644 arch/arm/dts/rk3568-9tripod-x3568-v4-u-boot.dtsi
>>>>    create mode 100644 configs/9tripod-x3568-v4-rk3568_defconfig
>>>> 
>>>> diff --git a/arch/arm/dts/rk3568-9tripod-x3568-v4-u-boot.dtsi b/arch/arm/dts/rk3568-9tripod-x3568-v4-u-boot.dtsi
>>>> new file mode 100644
>>>> index 00000000000..e0cb8e3e7c8
>>>> --- /dev/null
>>>> +++ b/arch/arm/dts/rk3568-9tripod-x3568-v4-u-boot.dtsi
>>>> @@ -0,0 +1,3 @@
>>>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>>>> +
>>>> +#include "rk3568-u-boot.dtsi"
>>> 
>>> This file is not necessary as if rk3568-9tripod-x3568-v4-u-boot.dtsi is not present, rk3568-u-boot.dtsi will be included automatically (due to CONFIG_SYS_SOC being "rk3568").
>>> 
>>>> diff --git a/board/rockchip/evb_rk3568/MAINTAINERS b/board/rockchip/evb_rk3568/MAINTAINERS
>>>> index 030cdbe6f3d..0783fb203c3 100644
>>>> --- a/board/rockchip/evb_rk3568/MAINTAINERS
>>>> +++ b/board/rockchip/evb_rk3568/MAINTAINERS
>>>> @@ -1,3 +1,10 @@
>>>> +9TRIPOD-X3568-V4
>>>> +M:     Coia Prant <coiaprant at gmail.com>
>>>> +R:     Jonas Karlman <jonas at kwiboo.se>
>>> 
>>> I'm not sure Jonas has agreed to do this so please drop him from the Reviewer, except if he publicly asks you to.
>>> 
>>>> +S:     Maintained
>>>> +F:     configs/9tripod-x3568-v4-rk3568_defconfig
>>>> +F:     arch/arm/dts/rk3568-9tripod-x3568-v4-u-boot.dtsi
>>>> +
>>> 
>>> Since you can remove the file, this line can also be removed.
>>> 
>>>>    BANANAPI-BPI-R2-PRO
>>>>    M:     Frank Wunderlich <frank-w at public-files.de>
>>>>    S:     Maintained
>>>> diff --git a/configs/9tripod-x3568-v4-rk3568_defconfig b/configs/9tripod-x3568-v4-rk3568_defconfig
>>>> new file mode 100644
>>>> index 00000000000..71c0087d369
>>>> --- /dev/null
>>>> +++ b/configs/9tripod-x3568-v4-rk3568_defconfig
>>>> @@ -0,0 +1,80 @@
>>>> +CONFIG_ARM=y
>>>> +CONFIG_SKIP_LOWLEVEL_INIT=y
>>>> +CONFIG_SYS_HAS_NONCACHED_MEMORY=y
>>>> +CONFIG_COUNTER_FREQUENCY=24000000
>>>> +CONFIG_ARCH_ROCKCHIP=y
>>>> +CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3568-9tripod-x3568-v4"
>>>> +CONFIG_ROCKCHIP_RK3568=y
>>>> +CONFIG_SPL_SERIAL=y
>>>> +CONFIG_DEBUG_UART_BASE=0xFE660000
>>>> +CONFIG_DEBUG_UART_CLOCK=24000000
>>>> +CONFIG_SYS_LOAD_ADDR=0xc00800
>>>> +CONFIG_PCI=y
>>>> +CONFIG_DEBUG_UART=y
>>>> +CONFIG_AHCI=y
>>>> +CONFIG_FIT=y
>>>> +CONFIG_FIT_VERBOSE=y
>>>> +CONFIG_SPL_FIT_SIGNATURE=y
>>>> +CONFIG_SPL_LOAD_FIT=y
>>>> +CONFIG_LEGACY_IMAGE_FORMAT=y
>>>> +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-9tripod-x3568-v4.dtb"
>>>> +# CONFIG_DISPLAY_CPUINFO is not set
>>>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>>>> +CONFIG_SPL_MAX_SIZE=0x40000
>>>> +CONFIG_SPL_PAD_TO=0x7f8000
>>>> +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
>>>> +CONFIG_SPL_ATF=y
>>>> +CONFIG_CMD_GPIO=y
>>>> +CONFIG_CMD_GPT=y
>>>> +CONFIG_CMD_I2C=y
>>>> +CONFIG_CMD_MMC=y
>>>> +CONFIG_CMD_PCI=y
>>>> +CONFIG_CMD_USB=y
>>>> +CONFIG_CMD_PMIC=y
>>>> +CONFIG_CMD_REGULATOR=y
>>>> +# CONFIG_SPL_DOS_PARTITION is not set
>>>> +CONFIG_SPL_OF_CONTROL=y
>>>> +CONFIG_OF_LIVE=y
>>>> +# CONFIG_OF_UPSTREAM is not set
>>>> +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
>>> 
>>> Any reason for removing clock-names from xPL DTB?
>>> 
>>> Looks ok to me otherwise.
>>> 
>>> Cheers,
>>> Quentin
>> 
>> Hi Quentin,
>> 
>> Thanks for review, this is the first time I've submitted a patch to u-boot.
>> 
>
>Welcome to the community :) !
>
>> I referred to some other rk3568 boards that had the clock name removed, so I left it as it was. There was no problem with the board starting, and I don't know why them remove clocks name.
>> 
>
>Yeah I guessed, it's what most people do but I don't think it should have made it in the first place for other boards, at least not without an explanation (maybe we need to fix a bug somewhere else such that we don't need to remove it in xPL stages?).
>
>> The board is working fine.
>> 
>
>If you remove clock-names from CONFIG_OF_SPL_REMOVE_PROPS?
>
>Cheers,
>Quentin

Hi Quentin,

I have tested you said, after remove it. It still works fine.

I will post PATCH v2 later.

Thanks.

Best,
Coia


More information about the U-Boot mailing list