mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Quentin Schulz <quentin.schulz@cherry.de>
To: Chaoyi Chen <kernel@airkyi.com>, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Chaoyi Chen <chaoyi.chen@rock-chips.com>,
	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>,
	Alexey Charkov <alchark@gmail.com>,
	Shawn Lin <shawn.lin@rock-chips.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	Andy Yan <andy.yan@rock-chips.com>
Cc: 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 16:46:22 +0100	[thread overview]
Message-ID: <afe968a0-f14b-423d-81a7-c1046d2b32bb@cherry.de> (raw)
In-Reply-To: <20260107070322.323-3-kernel@airkyi.com>

Hi Chaoyi,

On 1/7/26 8:03 AM, Chaoyi Chen wrote:
[...]
> 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 {

Why a label here?

There are also many other instances of nodes being labelled but whose 
label is never used. I would understand for some if you want to have 
DTSOs working with this DTB, but here chosen really doesn't make much 
sense to me?

> +		stdout-path = "serial0:1500000n8";
> +	};
> +
> +	adc_keys: adc-keys {

Are we expecting to extend this node from another DT? Why the label?

Won't comment on all other labeled-but-no-phandle-use instances, please 
check.

> +	vcc3v3_rtc_s5: regulator-vcc3v3-rtc-s5 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc3v3_rtc_s5";
> +		regulator-boot-on;
> +		regulator-always-on;
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vcc_sys>;

If this is for the rtc, shouldn't we declare this dependency in the RTC 
device node and not have it always-on?

> +	};
> +
> +	vcc3v3_sata_pwren: vcc3v3-sata-pwren {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc3v3_sata_pwren";
> +		enable-active-high;
> +		regulator-boot-on;
> +		regulator-always-on;

Why do we have this always-on? Seems like we're missing a dependency on 
this regulator in the SATA controller?

> +		gpio = <&gpio4 RK_PC7 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&satapm_pwren>;
> +	};
> +
> +	vcc5v0_device: regulator-vcc5v0-device {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc5v0_device";
> +		regulator-always-on;
> +		regulator-boot-on;
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		vin-supply = <&vcc12v_dcin>;
> +	};
> +
> +	vcc5v0_host: regulator-vcc5v0-host {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc5v0_host";
> +		regulator-boot-on;
> +		regulator-always-on;
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		enable-active-high;
> +		gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
> +		vin-supply = <&vcc5v0_device>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usb_host_pwren>;
> +	};
> +

I assume both of the above are related to USB operating in host or 
device mode? Maybe there's a way to have something more useful to the 
user in regulator-name (and possibly the regulator node name) so that 
they have an idea what this pertains to?

Additionally, why is this always-on? I would assume the USB controller 
is capable of controlling its regulator(s)?

[...]

> +	vcc_ufs_s0: regulator-vcc-ufs-s0 {

We also have another regulator for UFS that is mentioned in the UFS 
controller node but not this one, why?

> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc_ufs_s0";
> +		regulator-boot-on;
> +		regulator-always-on;

Why always on?

[...]

> +&mdio0 {
> +	rgmii_phy0: ethernet-phy@1 {
> +		compatible = "ethernet-phy-id4f51.e91b";

Is MDIO auto-detection broken such that you need to specify the PHY 
vendor and product id? Which PHY is that? Why can't you use c22 or c45 
compatible? A comment would be nice.

> +		reg = <0x1>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&rgmii_phy0_rst>;
> +		reset-assert-us = <20000>;
> +		reset-deassert-us = <100000>;
> +		reset-gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>;
> +	};
> +};
> +
> +&mdio1 {
> +	rgmii_phy1: ethernet-phy@1 {
> +		compatible = "ethernet-phy-id4f51.e91b";

Ditto.

[...]

> +&sdhci {
> +	bus-width = <8>;
> +	full-pwr-cycle-in-suspend;
> +	max-frequency = <200000000>;

Already that value in rk3576.dtsi.

> +	mmc-hs400-1_8v;
> +	mmc-hs400-enhanced-strobe;
> +	no-sdio;
> +	no-sd;
> +	non-removable;
> +	status = "okay";
> +};
> +
> +&sdmmc {
> +	bus-width = <4>;
> +	cap-sd-highspeed;
> +	disable-wp;
> +	max-frequency = <200000000>;

Already that value in rk3576.dtsi.

> +	no-sdio;
> +	no-mmc;
> +	sd-uhs-sdr104;
> +	vqmmc-supply = <&vccio_sd_s0>;
> +	status = "okay";
> +};
> +
> +&saradc {

This is not alphabetically sorted, it should be before &sata0.

[...]

> +	bluetooth {
> +		compatible = "brcm,bcm43438-bt";
> +		clocks = <&hym8563>;
> +		clock-names = "lpo";
> +		device-wakeup-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <RK_PB1 IRQ_TYPE_LEVEL_HIGH>;
> +		pinctrl-0 = <&bt_reg_on &bt_wake_host &host_wake_bt>;
> +		pinctrl-names = "default";
> +		shutdown-gpios = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;

Is this GPIO only controlling Bluetooth or also WiFi? I've seen a few 
combo chips where there's a common GPIO that controls both WiFi and 
Bluetooth. Making this bluetooth-specific means we need Bluetooth on for 
WiFi to work, a bit unexpected and should probably be modeled another way.

Cheers,
Quentin

  parent reply	other threads:[~2026-01-07 15:46 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
2026-01-07 15:46   ` Quentin Schulz [this message]
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=afe968a0-f14b-423d-81a7-c1046d2b32bb@cherry.de \
    --to=quentin.schulz@cherry.de \
    --cc=alchark@gmail.com \
    --cc=andy.yan@rock-chips.com \
    --cc=chaoyi.chen@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=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®