mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Chaoyi Chen <chaoyi.chen@rock-chips.com>
To: Alexey Charkov <alchark@gmail.com>, Chaoyi Chen <kernel@airkyi.com>
Cc: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Quentin Schulz <quentin.schulz@cherry.de>,
	Kever Yang <kever.yang@rock-chips.com>,
	Jonas Karlman <jonas@kwiboo.se>, John Clark <inindev@gmail.com>,
	FUKAUMI Naoki <naoki@radxa.com>,
	Jimmy Hon <honyuenkwun@gmail.com>,
	Dragan Simic <dsimic@manjaro.org>,
	Michael Riesch <michael.riesch@collabora.com>,
	Peter Robinson <pbrobinson@gmail.com>,
	Shawn Lin <shawn.lin@rock-chips.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	Andy Yan <andy.yan@rock-chips.com>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] arm64: dts: rockchip: Add rk3576 evb2 board
Date: Wed, 7 Jan 2026 17:50:38 +0800	[thread overview]
Message-ID: <37faeb47-37ef-4dda-80e4-8eb88b4dbf21@rock-chips.com> (raw)
In-Reply-To: <CABjd4Yw1Dqsa9EsMRFT8LOvyU8QN1C8VP+j0tY6h1uJhhXRSSw@mail.gmail.com>

Hi Alexey,

On 1/7/2026 3:56 PM, Alexey Charkov wrote:
> Hi Chaoyi,
> 
> On Wed, Jan 7, 2026 at 11:04 AM Chaoyi Chen <kernel@airkyi.com> wrote:
>>
>> From: Chaoyi Chen <chaoyi.chen@rock-chips.com>
>>
>> General features for rk3576 evb2 board:
>>     - Rockchip RK3576
>>     - LPDDR4/4X
>>     - eMMC5.1
>>     - RK806-2x2pcs + DiscretePower
>>     - 1x HDMI2.1 TX / HDMI2.0 RX
>>     - 1x full size DP1.4 TX (Only 2 Lanes)
>>     - 2x 10/100/1000M Ethernet
>>     - 5x SATA3.0 7Pin Slot
>>     - 2x USB3.2 Gen1 Host
>>     - 3x USB2.0 Host
>>     - WIFI/BT
>>     - ...
>>
>> Tested with eMMC/SDMMC/HDMI/USB/Ethernet/WIFI/BT module.
>>
>> Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
>> ---
>>
>> Changes in v2:
>> - Enable hdmi_sound and sai6.
>> - Add more cpu-supply.
>> - Use regulator to control sata power.
>> - Remove "cap-mmc-highspeed" prop in sdmmc.
>> - Add regulator supply for ufshc.
>> - Add the missing vcc3v3_hubreset regulator.
>> - Add otg capability for usb_drd0_dwc3.
>>
>>  arch/arm64/boot/dts/rockchip/Makefile         |   1 +
>>  .../boot/dts/rockchip/rk3576-evb2-v10.dts     | 997 ++++++++++++++++++
>>  2 files changed, 998 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
>> index c7617e06e1c1..cff95657d406 100644
>> --- a/arch/arm64/boot/dts/rockchip/Makefile
>> +++ b/arch/arm64/boot/dts/rockchip/Makefile
>> @@ -153,6 +153,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-wolfvision-pf5-io-expander.dtbo
>>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5.dtb
>>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5-v1.2-wifibt.dtbo
>>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-evb1-v10.dtb
>> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-evb2-v10.dtb
>>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-luckfox-omni3576.dtb
>>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-nanopi-m5.dtb
>>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-roc-pc.dtb
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts b/arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts
>> new file mode 100644
>> index 000000000000..52788c514ec0
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts
>> @@ -0,0 +1,997 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>> +/*
>> + * Copyright (c) 2025 Rockchip Electronics Co., Ltd.
>> + *
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> +#include <dt-bindings/pinctrl/rockchip.h>
>> +#include <dt-bindings/soc/rockchip,vop2.h>
>> +#include "rk3576.dtsi"
>> +
>> +/ {
>> +       model = "Rockchip RK3576 EVB2 V10 Board";
>> +       compatible = "rockchip,rk3576-evb2-v10", "rockchip,rk3576";
>> +
>> +       aliases {
>> +               ethernet0 = &gmac0;
>> +               ethernet1 = &gmac1;
>> +       };
>> +
>> +       chosen: chosen {
>> +               stdout-path = "serial0:1500000n8";
>> +       };
>> +
>> +       adc_keys: adc-keys {
>> +               compatible = "adc-keys";
>> +               io-channels = <&saradc 1>;
>> +               io-channel-names = "buttons";
>> +               keyup-threshold-microvolt = <1800000>;
>> +               poll-interval = <100>;
>> +
>> +               button-back {
>> +                       label = "back";
>> +                       linux,code = <KEY_BACK>;
>> +                       press-threshold-microvolt = <1235000>;
>> +               };
>> +
>> +               button-menu {
>> +                       label = "menu";
>> +                       linux,code = <KEY_MENU>;
>> +                       press-threshold-microvolt = <890000>;
>> +               };
>> +
>> +               button-vol-down {
>> +                       label = "volume down";
>> +                       linux,code = <KEY_VOLUMEDOWN>;
>> +                       press-threshold-microvolt = <417000>;
>> +               };
>> +
>> +               button-vol-up {
>> +                       label = "volume up";
>> +                       linux,code = <KEY_VOLUMEUP>;
>> +                       press-threshold-microvolt = <17000>;
>> +               };
>> +       };
>> +
>> +       hdmi-con {
>> +               compatible = "hdmi-connector";
>> +               type = "a";
>> +
>> +               port {
>> +                       hdmi_con_in: endpoint {
>> +                               remote-endpoint = <&hdmi_out_con>;
>> +                       };
>> +               };
>> +       };
>> +
>> +       leds: leds {
>> +               compatible = "gpio-leds";
>> +
>> +               work_led: led-0 {
>> +                       gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
>> +                       linux,default-trigger = "heartbeat";
>> +               };
>> +       };
>> +
>> +       sdio_pwrseq: sdio-pwrseq {
>> +               compatible = "mmc-pwrseq-simple";
>> +               pinctrl-names = "default";
>> +               pinctrl-0 = <&wifi_pwren>;
>> +
>> +               /*
>> +                * On the module itself this is one of these (depending
>> +                * on the actual card populated):
>> +                * - SDIO_RESET_L_WL_REG_ON
>> +                * - PDN (power down when low)
>> +                */
>> +               post-power-on-delay-ms = <200>;
>> +               reset-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
>> +       };
>> +
>> +       vbus5v0_typec: regulator-vbus5v0-typec {
>> +               compatible = "regulator-fixed";
>> +               regulator-name = "vbus5v0_typec";
> 
> This might better be renamed, given that last time you mentioned this
> board doesn't have a Type-C connector. Perhaps regulator-vbus5v0-otg?
> 

Sorry, I missed this part. I will fix it in v3.

>> +               regulator-min-microvolt = <5000000>;
>> +               regulator-max-microvolt = <5000000>;
>> +               enable-active-high;
>> +               gpio = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>;
>> +               vin-supply = <&vcc5v0_device>;
>> +               pinctrl-names = "default";
>> +               pinctrl-0 = <&usb_otg0_pwren>;
>> +       };
>> +
>> +       vcc12v_dcin: regulator-vcc12v-dcin {
>> +               compatible = "regulator-fixed";
>> +               regulator-name = "vcc12v_dcin";
>> +               regulator-always-on;
>> +               regulator-boot-on;
>> +               regulator-min-microvolt = <12000000>;
>> +               regulator-max-microvolt = <12000000>;
>> +       };
>> +
>> +       vcc1v2_ufs_vccq_s0: regulator-vcc1v2-ufs-vccq-s0 {
>> +               compatible = "regulator-fixed";
>> +               regulator-name = "vcc1v2_ufs_vccq_s0";
>> +               regulator-boot-on;
>> +               regulator-always-on;
>> +               regulator-min-microvolt = <1200000>;
>> +               regulator-max-microvolt = <1200000>;
>> +               vin-supply = <&vcc_sys>;
>> +       };
>> +
>> +       vcc1v8_ufs_vccq2_s0: regulator-vcc1v8-ufs-vccq2-s0 {
>> +               compatible = "regulator-fixed";
>> +               regulator-name = "vcc1v8_ufs_vccq2_s0";
>> +               regulator-boot-on;
>> +               regulator-always-on;
>> +               regulator-min-microvolt = <1800000>;
>> +               regulator-max-microvolt = <1800000>;
>> +               vin-supply = <&vcc_1v8_s3>;
>> +       };
>> +
>> +       vcc3v3_hubreset: vcc3v3-hubreset {
>> +               compatible = "regulator-fixed";
>> +               regulator-name = "vcc3v3_hubreset";
>> +               regulator-boot-on;
>> +               regulator-always-on;
> 
> If this regulator supplies a soldered-on discrete hub and is required
> to power it up, won't it be better to describe the hub in the device
> tree (see binding at [1]), make the regulator its supply, and perhaps
> drop the "regulator-boot-on/regulator-always-on" annotation here,
> letting the regulator core deal with its enabling instead?
> 
> [1] https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/usb/usb-device.yaml

Yes. I will try to do this in v3. Thank you!

> 
> [snip]
> 
> Other than these, LGTM - thanks for addressing my comments from v1!
> Feel free to include my:
> 
> Reviewed-by: Alexey Charkov <alchark@gmail.com>
> 
> Best regards,
> Alexey
> 
> 

-- 
Best, 
Chaoyi

  parent reply	other threads:[~2026-01-07 10:26 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-07  7:03 [PATCH v2 0/2] " Chaoyi Chen
2026-01-07  7:03 ` [PATCH v2 1/2] dt-bindings: arm: " Chaoyi Chen
2026-01-07  7:03 ` [PATCH v2 2/2] arm64: dts: " Chaoyi Chen
2026-01-07  7:56   ` Alexey Charkov
2026-01-07  8:21     ` Heiko Stübner
2026-01-07  9:57       ` Chaoyi Chen
2026-01-07 10:04         ` Chaoyi Chen
2026-01-07 14:54           ` Heiko Stübner
2026-01-07 14:56             ` Heiko Stübner
2026-01-07  9:50     ` Chaoyi Chen [this message]
2026-01-07 15:46   ` Quentin Schulz
2026-01-08  6:27     ` Chaoyi Chen
2026-01-08 10:07       ` Quentin Schulz
2026-01-08 10:41         ` Chaoyi Chen
2026-01-08 10:51           ` Quentin Schulz
2026-01-07 18:17   ` Andrew Lunn
2026-01-08  6:53     ` Alexey Charkov
2026-01-08  7:42       ` Chaoyi Chen
2026-01-08  8:01         ` Chaoyi Chen
2026-01-08  8:11           ` Alexey Charkov
2026-01-08  8:38             ` Chaoyi Chen
2026-01-08  8:49               ` Alexey Charkov
2026-01-08  9:02                 ` Chaoyi Chen
2026-01-08 13:53           ` Andrew Lunn
2026-01-08  6:50   ` Andy Yan
2026-01-08  8:04     ` [PATCH " Chaoyi Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=37faeb47-37ef-4dda-80e4-8eb88b4dbf21@rock-chips.com \
    --to=chaoyi.chen@rock-chips.com \
    --cc=alchark@gmail.com \
    --cc=andy.yan@rock-chips.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dsimic@manjaro.org \
    --cc=heiko@sntech.de \
    --cc=honyuenkwun@gmail.com \
    --cc=inindev@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=kernel@airkyi.com \
    --cc=kever.yang@rock-chips.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=michael.riesch@collabora.com \
    --cc=naoki@radxa.com \
    --cc=pbrobinson@gmail.com \
    --cc=quentin.schulz@cherry.de \
    --cc=robh@kernel.org \
    --cc=sebastian.reichel@collabora.com \
    --cc=shawn.lin@rock-chips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®