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 = <ð0m0_miim
> + ð0m0_tx_bus2
> + ð0m0_rx_bus2
> + ð0m0_rgmii_clk
> + ð0m0_rgmii_bus
> + ðm0_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
prev parent reply other threads:[~2026-07-16 1:40 UTC|newest]
Thread overview: 4+ 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 ` [PATCH 1/2] dt-bindings: arm: " Jiaxing Hu
2026-07-16 1:28 ` [PATCH 2/2] arm64: dts: " Jiaxing Hu
2026-07-16 1:40 ` sashiko-bot [this message]
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox