All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Jiaxing Hu" <huhuvmb88@gmail.com>
Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, robh@kernel.org
Subject: Re: [PATCH 2/2] arm64: dts: rockchip: Add ArmSoM CM5 and CM5-IO
Date: Thu, 16 Jul 2026 01:40:58 +0000	[thread overview]
Message-ID: <20260716014059.1966E1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260716012838.2353939-3-huhuvmb88@gmail.com>

Thank you for your contribution! Sashiko AI review found 5 potential issue(s) to consider:
- [High] Type-C DP Altmode configuration errors (SVID format, missing mode-switch, and misplaced SVID)
- [High] Wireless (SYN43752 WiFi/BT) missing child nodes and unreferenced pinctrls
- [Medium] ES8388 audio is advertised in the commit message but functionally missing
- [Medium] Missing vmmc-supply and vqmmc-supply for the eMMC
- [Low] The gmac0_rst pinctrl is defined but omitted from &gmac0
--

--- Patch [2]: [PATCH 2/2] arm64: dts: rockchip: Add ArmSoM CM5 and CM5-IO ---
commit 0ff6fbd7a765dd8a49516e69aa071bce9122a7bd
Author: Jiaxing Hu <huhuvmb88@gmail.com>

arm64: dts: rockchip: Add ArmSoM CM5 and CM5-IO
    
Adds the RK3576-based ArmSoM CM5 compute module and its CM5-IO carrier
board. This includes support for the RK806 PMIC, HYM8563 RTC, eMMC,
GMAC, SYN43752 WiFi/BT, HDMI, PCIe, and USB.

> diff --git a/arch/arm64/boot/dts/rockchip/rk3576-armsom-cm5-io.dts b/arch/arm64/boot/dts/rockchip/rk3576-armsom-cm5-io.dts
> new file mode 100644
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3576-armsom-cm5-io.dts

[ ... ]

> +&i2c0 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c0m1_xfer>;
> +
> +	es8388: es8388@10 {
> +		#sound-dai-cells = <0>;
> +		compatible = "everest,es8388", "everest,es8323";
> +		reg = <0x10>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&sai1m0_mclk>;
> +		status = "disabled";
> +	};

[Severity: Medium]
The commit message mentions adding ES8388 audio support, but the node is
explicitly set to disabled here. 

Is this board missing a sound card node (like simple-audio-card) or I2S
integration to make the audio codec functionally available?

[ ... ]

> +				altmodes {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					altmode@0 {
> +						reg = <0>;
> +						svid = <0xff01>;

[Severity: High]
Does this property format result in a 32-bit property being created?

When fwnode_property_read_u16() reads this, it will extract the first two
bytes, which might evaluate to an invalid SVID of 0 rather than 0xff01.

Should this be specified as a 16-bit property, such as:
svid = /bits/ 16 <0xff01>;

> +						vdo = <0xffffffff>;
> +					};
> +				};

[ ... ]

> +&usbdp_phy {
> +	status = "okay";
> +	orientation-switch;
> +	svid = <0xff01>;
> +	sbu1-dc-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
> +	sbu2-dc-gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;

[Severity: High]
Does the Rockchip USB/DP PHY driver expect an svid property at this level?

Also, is this node missing the mode-switch; boolean property? Without it,
the PHY driver might fail to register as a Type-C mux, preventing DP Altmode
from negotiating successfully.

> +
> +	port {
> +		#address-cells = <1>;
> +		#size-cells = <0>;

[ ... ]

> diff --git a/arch/arm64/boot/dts/rockchip/rk3576-armsom-cm5.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-armsom-cm5.dtsi
> new file mode 100644
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3576-armsom-cm5.dtsi

[ ... ]

> +&gmac0 {
> +	phy-mode = "rgmii-rxid";
> +	clock_in_out = "output";
> +	clocks = <&cru CLK_GMAC0_125M_SRC>, <&cru CLK_GMAC0_RMII_CRU>,
> +		 <&cru PCLK_GMAC0>, <&cru ACLK_GMAC0>,
> +		 <&cru CLK_GMAC0_PTP_REF>, <&cru REFCLKO25M_GMAC0_OUT>;
> +	clock-names = "stmmaceth", "clk_mac_ref", "pclk_mac", "aclk_mac",
> +		      "ptp_ref", "clk_mac_refout";
> +	tx_delay = <0x21>;
> +	rx_delay = <0x00>;
> +	phy-handle = <&rgmii_phy0>;
> +	phy-supply = <&vcc_3v3_s3>;
> +	snps,reset-gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
> +	snps,reset-delays-us = <0 20000 100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&eth0m0_miim
> +		     &eth0m0_tx_bus2
> +		     &eth0m0_rx_bus2
> +		     &eth0m0_rgmii_clk
> +		     &eth0m0_rgmii_bus
> +		     &ethm0_clk0_25m_out>;

[Severity: Low]
Is &gmac0_rst missing from this pinctrl-0 list? 

The gmac0-rst pinctrl is defined later in this file to configure the PHY reset
pin without pull resistors. Although snps,reset-gpios drives the pin, missing
the pinctrl assignment leaves the configuration as dead code and might result
in undefined pin states during boot or sleep.

> +	status = "okay";
> +};

[ ... ]

> +/* eMMC: on-module, HS400 200 MHz with enhanced strobe. */
> +&sdhci {
> +	bus-width = <8>;
> +	full-pwr-cycle-in-suspend;
> +	max-frequency = <200000000>;

[Severity: Medium]
Are vmmc-supply and vqmmc-supply required for this node?

By specifying full-pwr-cycle-in-suspend without defining the regulator supplies,
the MMC subsystem cannot actively perform the requested power cycle. This might
fall back to a dummy regulator and cause improper suspend/resume behavior.

> +	mmc-hs400-1_8v;
> +	mmc-hs400-enhanced-strobe;
> +	no-sdio;
> +	no-sd;
> +	non-removable;
> +	/delete-property/ supports-cqe;
> +	status = "okay";
> +};
> +
> +/* SDIO: SYN43752 WiFi, power-sequenced by sdio_pwrseq, clock from HYM8563. */
> +&sdio {
> +	bus-width = <4>;
> +	cap-sdio-irq;

[Severity: High]
Is a WiFi child node missing here to configure out-of-band interrupts?

Without the child node, the wifi_host_wake_irq pinctrl defined later is
unreferenced, which might break host-wake interrupt functionality.

> +	disable-wp;
> +	keep-power-in-suspend;
> +	mmc-pwrseq = <&sdio_pwrseq>;
> +	no-sd;
> +	no-mmc;
> +	non-removable;
> +	sd-uhs-sdr50;
> +	sd-uhs-sdr104;
> +	vmmc-supply = <&vcc_3v3_s3>;
> +	vqmmc-supply = <&vcc_1v8_s3>;
> +	wakeup-source;
> +	status = "okay";
> +};
> +
> +/* UART4: Bluetooth (SYN43752). */
> +&uart4 {
> +	pinctrl-0 = <&uart4m1_xfer &uart4m1_ctsn &uart4m1_rtsn>;
> +	pinctrl-names = "default";
> +	uart-has-rtscts;
> +	status = "okay";
> +};

[Severity: High]
Should there be a bluetooth child node added to this UART configuration?

Without it, the Bluetooth driver cannot probe, and the bt_reg_on pinctrl
defined below remains unused, preventing the chip from being taken out of
reset.

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260716012838.2353939-1-huhuvmb88@gmail.com?part=2

  reply	other threads:[~2026-07-16  1:40 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-16  1:28 [PATCH 0/2] arm64: dts: rockchip: Add ArmSoM CM5 and CM5-IO Jiaxing Hu
2026-07-16  1:28 ` Jiaxing Hu
2026-07-16  1:28 ` [PATCH 1/2] dt-bindings: arm: " Jiaxing Hu
2026-07-16  1:28   ` Jiaxing Hu
2026-07-16  8:23   ` Krzysztof Kozlowski
2026-07-16  8:23     ` Krzysztof Kozlowski
2026-07-16  1:28 ` [PATCH 2/2] arm64: dts: " Jiaxing Hu
2026-07-16  1:28   ` Jiaxing Hu
2026-07-16  1:40   ` sashiko-bot [this message]
2026-07-16  6:55     ` Jiaxing Hu
2026-07-16  6:55     ` Jiaxing Hu
2026-07-16  6:55     ` Jiaxing Hu
2026-07-16  6:55     ` Jiaxing Hu
2026-07-16  8:23   ` Krzysztof Kozlowski
2026-07-16  8:23     ` Krzysztof Kozlowski

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=20260716014059.1966E1F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=huhuvmb88@gmail.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.