[PATCH v2 12/12] rockchip: board: qnap-tsx33: add support for Qnap TS233 devices

Quentin Schulz quentin.schulz at cherry.de
Fri Feb 13 18:06:16 CET 2026


Hi Heiko,

On 1/14/26 9:28 AM, Heiko Stuebner wrote:
> The TS233 shares the same basic peripheral setup for
> SoC, DDR, EMMC, 3 USB-ports, 1G network interface, SoC-SATA ports,
> serial and maskrom access.
> 
> It could just share the same U-Boot binary with the TS433, and the type-
> selection would take care of loading the right DTB for the operating
> system. But right now we can't select the correct DTB for inside U-Boot
> itself.
> 
> So for the time being, add separate defconfig and documentation for it.
> 
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> ---
>   arch/arm/dts/rk3568-qnap-ts233-u-boot.dtsi |  6 ++
>   board/qnap/tsx33_rk356x/MAINTAINERS        |  2 +
>   board/qnap/tsx33_rk356x/board.c            |  4 +-
>   configs/qnap-ts233-rk3568_defconfig        | 85 ++++++++++++++++++++++
>   doc/board/qnap/ts233.rst                   | 37 ++++++++++
>   5 files changed, 132 insertions(+), 2 deletions(-)
>   create mode 100644 arch/arm/dts/rk3568-qnap-ts233-u-boot.dtsi
>   create mode 100644 configs/qnap-ts233-rk3568_defconfig
>   create mode 100644 doc/board/qnap/ts233.rst
> 
> diff --git a/arch/arm/dts/rk3568-qnap-ts233-u-boot.dtsi b/arch/arm/dts/rk3568-qnap-ts233-u-boot.dtsi
> new file mode 100644
> index 00000000000..19acbceb468
> --- /dev/null
> +++ b/arch/arm/dts/rk3568-qnap-ts233-u-boot.dtsi
> @@ -0,0 +1,6 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * (C) Copyright 2024 Heiko Stuebner <heiko at sntech.de>
> + */
> +
> +#include "rk356x-u-boot.dtsi"
> diff --git a/board/qnap/tsx33_rk356x/MAINTAINERS b/board/qnap/tsx33_rk356x/MAINTAINERS
> index b91274c7b43..af9bf9fe0c5 100644
> --- a/board/qnap/tsx33_rk356x/MAINTAINERS
> +++ b/board/qnap/tsx33_rk356x/MAINTAINERS
> @@ -4,5 +4,7 @@ S:	Maintained
>   F:	board/qnap/tsx33_rk356x/
>   F:	doc/board/qnap/
>   F:	include/configs/qnap_tsx33.h
> +F:	configs/qnap-ts233-rk3568_defconfig
>   F:	configs/qnap-ts433-rk3568_defconfig
> +F:	arch/arm/dts/rk3568-qnap-ts233-u-boot.dtsi
>   F:	arch/arm/dts/rk3568-qnap-ts433-u-boot.dtsi
> diff --git a/board/qnap/tsx33_rk356x/board.c b/board/qnap/tsx33_rk356x/board.c
> index 006add6fb30..7cfff372d8e 100644
> --- a/board/qnap/tsx33_rk356x/board.c
> +++ b/board/qnap/tsx33_rk356x/board.c
> @@ -85,7 +85,7 @@ static const struct tsx33_model tsx33_models[TSX33_MODELS] = {
>   		"Q0AM0",
>   		11,
>   		"TS233",
> -		NULL, /* not yet supported */
> +		DTB_DIR "rk3568-qnap-ts233.dtb",
>   	},
>   	[Q0AJ0_Q0AM0_11_10] = {
>   		"Q0AJ0",
> @@ -93,7 +93,7 @@ static const struct tsx33_model tsx33_models[TSX33_MODELS] = {
>   		"Q0AM0",
>   		10,
>   		"TS233",
> -		NULL, /* not yet supported */
> +		DTB_DIR "rk3568-qnap-ts233.dtb",
>   	},
>   	[Q0B20_Q0AW0_12_10] = {
>   		"Q0B20",
> diff --git a/configs/qnap-ts233-rk3568_defconfig b/configs/qnap-ts233-rk3568_defconfig
> new file mode 100644
> index 00000000000..53ac5b25bd0
> --- /dev/null
> +++ b/configs/qnap-ts233-rk3568_defconfig
> @@ -0,0 +1,85 @@
> +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-qnap-ts233"
> +CONFIG_ROCKCHIP_RK3568=y
> +CONFIG_SPL_SERIAL=y
> +CONFIG_TARGET_QNAP_TSX33_RK356X=y
> +CONFIG_SYS_LOAD_ADDR=0xc00800
> +CONFIG_DEBUG_UART_BASE=0xFE660000
> +CONFIG_DEBUG_UART_CLOCK=24000000
> +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-qnap-ts233.dtb"
> +# CONFIG_DISPLAY_CPUINFO is not set
> +CONFIG_DISPLAY_BOARDINFO_LATE=y
> +CONFIG_SPL_MAX_SIZE=0x40000
> +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
> +CONFIG_SPL_ATF=y
> +CONFIG_BOARD_TYPES=y
> +CONFIG_CMD_GPIO=y
> +CONFIG_CMD_GPT=y
> +CONFIG_CMD_I2C=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_PCI=y
> +CONFIG_CMD_SATA=y
> +CONFIG_CMD_USB=y
> +# CONFIG_CMD_SETEXPR is not set
> +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_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
> +CONFIG_ENV_RELOC_GD_ENV_ADDR=y
> +CONFIG_SPL_DM_SEQ_ALIAS=y
> +CONFIG_SPL_REGMAP=y
> +CONFIG_SPL_SYSCON=y
> +CONFIG_AHCI_PCI=y
> +CONFIG_DWC_AHCI=y
> +CONFIG_SPL_CLK=y
> +CONFIG_ROCKCHIP_GPIO=y
> +CONFIG_SYS_I2C_ROCKCHIP=y
> +CONFIG_LED=y
> +CONFIG_LED_GPIO=y
> +CONFIG_MISC=y
> +CONFIG_I2C_EEPROM=y
> +CONFIG_SUPPORT_EMMC_RPMB=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_SDMA=y
> +CONFIG_MMC_SDHCI_ROCKCHIP=y
> +CONFIG_DWC_ETH_QOS=y
> +CONFIG_DWC_ETH_QOS_ROCKCHIP=y
> +CONFIG_RTL8169=y
> +CONFIG_PHY_ROCKCHIP_INNO_USB2=y
> +CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
> +CONFIG_SPL_PINCTRL=y
> +CONFIG_DM_PMIC=y
> +CONFIG_DM_PMIC_FAN53555=y
> +CONFIG_PMIC_RK8XX=y
> +CONFIG_REGULATOR_RK8XX=y
> +CONFIG_PWM_ROCKCHIP=y
> +CONFIG_SPL_RAM=y
> +CONFIG_SCSI=y
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_SYS_NS16550_MEM32=y
> +CONFIG_SYSRESET=y
> +CONFIG_USB=y
> +CONFIG_USB_XHCI_HCD=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_EHCI_GENERIC=y
> +CONFIG_USB_OHCI_HCD=y
> +CONFIG_USB_OHCI_GENERIC=y
> +CONFIG_USB_DWC3=y
> +CONFIG_USB_DWC3_GENERIC=y
> +CONFIG_ERRNO_STR=y
> +# CONFIG_SPL_ATF_NO_PLATFORM_PARAM is not set

NAK. This forces upstream TF-A to be used with this device and differs 
from the config used for TS433.

> +CONFIG_OPTEE_LIB=y
> diff --git a/doc/board/qnap/ts233.rst b/doc/board/qnap/ts233.rst
> new file mode 100644
> index 00000000000..b706d97afa0
> --- /dev/null
> +++ b/doc/board/qnap/ts233.rst

You need to add ts233.rst to doc/board/qnap/index.rst (or use :glob: 
with a pattern in the toctree, see 
https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-option-toctree-glob).

> @@ -0,0 +1,37 @@
> +.. SPDX-License-Identifier: GPL-2.0+
> +
> +U-Boot for Qnap TS233 Devices
> +=============================
> +
> +This allows U-Boot to boot the Qnap TS233 NAS
> +
> +The device is similar to the TS433 in terms of its basic peripheral setup
> +of SoC, DDR, EMMC, 3 USB-ports, 1G network interface, SoC-SATA ports,
> +serial and maskrom access.
> +
> +Please follow the TS433 steps but with the following changes.

Please link to it, e.g. with :doc:`../ts433` (not tested).

Otherwise, I can suggest to make use of the include directive such that 
you have a file with the common content for TS233 and TS433 that you

.. include:: building-u-boot.rst

See https://docutils.sourceforge.io/docs/ref/rst/directives.html#include.

Maybe we should provide such a base file for Rockchip SoCs such that we 
don't need to duplicate this for all boards. And they won't be outdated. 
For another time :)

Cheers,
Quentin


More information about the U-Boot mailing list