lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABjd4Yw1Dqsa9EsMRFT8LOvyU8QN1C8VP+j0tY6h1uJhhXRSSw@mail.gmail.com>
Date: Wed, 7 Jan 2026 11:56:04 +0400
From: Alexey Charkov <alchark@...il.com>
To: Chaoyi Chen <kernel@...kyi.com>
Cc: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, 
	Conor Dooley <conor+dt@...nel.org>, Heiko Stuebner <heiko@...ech.de>, 
	Quentin Schulz <quentin.schulz@...rry.de>, Chaoyi Chen <chaoyi.chen@...k-chips.com>, 
	Kever Yang <kever.yang@...k-chips.com>, Jonas Karlman <jonas@...boo.se>, 
	John Clark <inindev@...il.com>, FUKAUMI Naoki <naoki@...xa.com>, Jimmy Hon <honyuenkwun@...il.com>, 
	Dragan Simic <dsimic@...jaro.org>, Michael Riesch <michael.riesch@...labora.com>, 
	Peter Robinson <pbrobinson@...il.com>, Shawn Lin <shawn.lin@...k-chips.com>, 
	Sebastian Reichel <sebastian.reichel@...labora.com>, Andy Yan <andy.yan@...k-chips.com>, 
	devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, 
	linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] arm64: dts: rockchip: Add rk3576 evb2 board

Hi Chaoyi,

On Wed, Jan 7, 2026 at 11:04 AM Chaoyi Chen <kernel@...kyi.com> wrote:
>
> From: Chaoyi Chen <chaoyi.chen@...k-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@...k-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?

> +               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

[snip]

Other than these, LGTM - thanks for addressing my comments from v1!
Feel free to include my:

Reviewed-by: Alexey Charkov <alchark@...il.com>

Best regards,
Alexey

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ