[PATCH 10/10] board: rockchip: add rk3368 ymd8_mb support

Quentin Schulz quentin.schulz at cherry.de
Mon Aug 11 17:01:30 CEST 2025


Hi WeiHao Li,

On 8/7/25 9:44 AM, WeiHao Li wrote:
> [You don't often get email from cn.liweihao at gmail.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 

Please always include a few words in the commit log.

I believe the description of the board as told in the cover letter is 
good enough, so start with that maybe :)

> Signed-off-by: WeiHao Li <ieiao at outlook.com>
> ---
>   arch/arm/dts/Makefile                   |   1 +
>   arch/arm/dts/rk3368-ymd8-mb-u-boot.dtsi |  44 ++++
>   arch/arm/dts/rk3368-ymd8-mb.dts         | 326 ++++++++++++++++++++++++
>   arch/arm/dts/rk3368.dtsi                | 258 +++++++++++++++++++
>   arch/arm/mach-rockchip/rk3368/Kconfig   |   6 +
>   board/rockchip/ymd8_mb/Kconfig          |  12 +
>   board/rockchip/ymd8_mb/MAINTAINERS      |   6 +
>   board/rockchip/ymd8_mb/Makefile         |   7 +
>   board/rockchip/ymd8_mb/README           |   1 +
>   board/rockchip/ymd8_mb/ymd8_mb_rk3368.c |  19 ++
>   configs/ymd8-mb_defconfig               |  72 ++++++
>   include/configs/ymd8_mb.h               |  11 +
>   12 files changed, 763 insertions(+)
>   create mode 100644 arch/arm/dts/rk3368-ymd8-mb-u-boot.dtsi
>   create mode 100644 arch/arm/dts/rk3368-ymd8-mb.dts
>   create mode 100644 board/rockchip/ymd8_mb/Kconfig
>   create mode 100644 board/rockchip/ymd8_mb/MAINTAINERS
>   create mode 100644 board/rockchip/ymd8_mb/Makefile
>   create mode 100644 board/rockchip/ymd8_mb/README
>   create mode 100644 board/rockchip/ymd8_mb/ymd8_mb_rk3368.c
>   create mode 100644 configs/ymd8-mb_defconfig
>   create mode 100644 include/configs/ymd8_mb.h
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 0dc7e190eb..1dfd1c5236 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -73,6 +73,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3368) += \
>          rk3368-sheep.dtb \
>          rk3368-geekbox.dtb \
>          rk3368-px5-evb.dtb \
> +       rk3368-ymd8-mb.dtb
> 
>   dtb-$(CONFIG_ARCH_S5P4418) += \
>          s5p4418-nanopi2.dtb
> diff --git a/arch/arm/dts/rk3368-ymd8-mb-u-boot.dtsi b/arch/arm/dts/rk3368-ymd8-mb-u-boot.dtsi
> new file mode 100644
> index 0000000000..925264e620
> --- /dev/null
> +++ b/arch/arm/dts/rk3368-ymd8-mb-u-boot.dtsi
> @@ -0,0 +1,44 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR X11
> +/*
> + * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
> + */
> +

I'm quite sure Theobroma didn't work on that, and not in 2017 :)

Please remove us (Theobroma got renamed to Cherry Embedded Solutions 
last year) from this copyright notice and provide the appropriate 
copyright holder there instead.

> +#include "rk3368-u-boot.dtsi"
> +
> +&pinctrl {
> +       bootph-all;
> +};
> +
> +&service_msch {
> +       bootph-all;
> +};
> +
> +&dmc {
> +       bootph-all;
> +       status = "okay";
> +};
> +
> +&pmugrf {
> +       bootph-all;
> +};
> +
> +&cru {
> +       bootph-all;
> +};
> +
> +&grf {
> +       bootph-all;
> +};
> +
> +&uart2 {
> +       bootph-all;
> +       clock-frequency = <24000000>;
> +};
> +
> +&pwm1 {
> +       bootph-all;
> +};
> +
> +&vop {
> +       bootph-all;
> +};
> diff --git a/arch/arm/dts/rk3368-ymd8-mb.dts b/arch/arm/dts/rk3368-ymd8-mb.dts
> new file mode 100644
> index 0000000000..661390b9d5
> --- /dev/null
> +++ b/arch/arm/dts/rk3368-ymd8-mb.dts

Are you planning to support this board in upstream Linux as well? I'm 
sure Heiko would welcome it. If so, maybe think about selecting 
OF_UPSTREAM for your board once the device tree is merged upstream and 
appears in dts/upstream directory in U-Boot? It may not be easy to do as 
no RK3368-based board has been migrated to use OF_UPSTREAM yet.

We typically do not allow (in Rockchip) to support new boards without 
OF_UPSTREAM, but considering how old and how little activity we see for 
RK3368 maybe Kever will let this pass?

> @@ -0,0 +1,326 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2025 Weihao Li
> + */
> +
> +/dts-v1/;
> +#include "rk3368.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +       model = "YMD8_MB";
> +       compatible = "rockchip,YMD8_MB", "rockchip,rk3368";

The first compatible isn't right if Rockchip isn't the actual 
manufacturer/seller of the whole product. I couldn't see anything on the 
PCB picture you posted on your wiki but maybe there's some information 
on the casing or elsewhere?

[...]

> diff --git a/arch/arm/dts/rk3368.dtsi b/arch/arm/dts/rk3368.dtsi
> index 4c64fbefb4..77ff551681 100644
> --- a/arch/arm/dts/rk3368.dtsi
> +++ b/arch/arm/dts/rk3368.dtsi

Nope, this we won't allow.

If you add support for a board, don't modify the device tree of the SoC 
in the same patch. Please separate those changes from the patch adding 
supoprt for the board.

Here, because the rk3368.dtsi already exists, you'll need a patch per 
logical thing you are adding. There are a few I could notice here:
- hdmi
- lvds
- rgb
- edp
- dsi
- vop

First, only add what you tested. I believe this would be DSI+VOP only?

Second, where did you get all the info? I don't see anything in upstream 
Linux's rk3368.dtsi so it must come from somewhere else? Where? Please 
specify this in the commit logs. it would be very nice to have this sent 
and reviewed by the Linux kernel community as well.

[...]

> diff --git a/arch/arm/mach-rockchip/rk3368/Kconfig b/arch/arm/mach-rockchip/rk3368/Kconfig
> index a7be30bbd8..1d05a6784f 100644
> --- a/arch/arm/mach-rockchip/rk3368/Kconfig
> +++ b/arch/arm/mach-rockchip/rk3368/Kconfig
> @@ -21,6 +21,11 @@ config TARGET_EVB_PX5
>            HDMI video input/output interface, audio codec ES8396,
>            WIFI/BT (on RTL8723BS), Gsensor BMA250E and light&proximity
>            sensor STK3410.
> +
> +config TARGET_YMD8_MB
> +       select BOARD_EARLY_INIT_R
> +       bool "YMD8_MB board"
> +

Please add a help text so we have some clue what this board actually is.

[...]

> diff --git a/board/rockchip/ymd8_mb/MAINTAINERS b/board/rockchip/ymd8_mb/MAINTAINERS
> new file mode 100644
> index 0000000000..a5156b8be3
> --- /dev/null
> +++ b/board/rockchip/ymd8_mb/MAINTAINERS
> @@ -0,0 +1,6 @@
> +RK3368 YMD8_MB Board
> +M:     Weihao Li <cn.liweihao at gmail.com>
> +S:     Maintained
> +F:     board/rockchip/ymd8_mb_rk3368/

This is also missing the new device tree you added which you need to 
maintain.

> +F:     include/configs/ymd8_mb.h
> +F:     configs/ymd8-mb_defconfig
> diff --git a/board/rockchip/ymd8_mb/Makefile b/board/rockchip/ymd8_mb/Makefile
> new file mode 100644
> index 0000000000..a3a34edb43
> --- /dev/null
> +++ b/board/rockchip/ymd8_mb/Makefile
> @@ -0,0 +1,7 @@
> +#
> +# (C) Copyright 2016 Rockchip Electronics Co., Ltd
> +#
> +# SPDX-License-Identifier:     GPL-2.0+
> +#
> +
> +obj-y  += ymd8_mb_rk3368.o
> diff --git a/board/rockchip/ymd8_mb/README b/board/rockchip/ymd8_mb/README
> new file mode 100644
> index 0000000000..de980f2f23
> --- /dev/null
> +++ b/board/rockchip/ymd8_mb/README
> @@ -0,0 +1 @@
> +see board/rockchip/sheep_rk3368/README

I don't think that's right.

Remove this file and add a proper entry in doc/board/rockchip for this 
board (or its own documentation file like we did for Theobroma boards, 
up to you if there are important details that typically differ from 
other Rockchip boards).

Cheers,
Quentin


More information about the U-Boot mailing list