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

Quentin Schulz quentin.schulz at cherry.de
Thu Jun 25 13:07:53 CEST 2026


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


More information about the U-Boot mailing list