Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: BG9OXA <bg9oxa@163.com>
Cc: robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v4 2/2] arm64: dts: rockchip: add ALIENTEK QuarkPi-CA2
Date: Thu, 01 Oct 2026 14:04:28 +0000	[thread overview]
Message-ID: <20261001140429.1710C1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <179086266668.29834.5300530518863942845@163.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] dts: type-c dual data-role contradicts usb controller host mode
- [Medium] dts: parallel dapm routing bypasses headphone amplifier
--

commit 9f35004d471e8daa3f6d6ace7fb6441749b6b25d
Author: BG9OXA <bg9oxa@163.com>

arm64: dts: rockchip: add ALIENTEK QuarkPi-CA2

This commit adds the device tree for the RK3588S-based ALIENTEK QuarkPi-CA2
board. It configures memory, networking, video outputs, and USB interfaces.

> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-quarkpi-ca2.dts b/arch/arm64/boot/dts/rockchip/rk3588s-quarkpi-ca2.dts
> new file mode 100644
> index 0000000000000..d9d679d99266f
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3588s-quarkpi-ca2.dts

[ ... ]

> +	husb311: typec-port@4e {
> +		compatible = "hynetek,husb311", "richtek,rt1711h";
> +		reg = <0x4e>;
> +		interrupt-parent = <&gpio1>;
> +		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usbc0_int>;
> +		vbus-supply = <&vbus5v0_typec>;
> +
> +		usb_con: connector {
> +			compatible = "usb-c-connector";
> +			label = "USB-C";
> +			power-role = "dual";
> +			data-role = "dual";

[Severity: Medium]
Does this type-C connector configuration contradict the USB controller mode?

This connector advertises dual data-role capability to the Type-C subsystem,
which might negotiate device mode with a connected partner. However, looking
at usb_host0_xhci later in this file, the underlying controller is hardcoded
to host mode (dr_mode = "host") and lacks a usb-role-switch property.

If device mode is negotiated here, will this cause the USB link to fail
completely since the controller cannot switch modes?

> +			try-power-role = "sink";
> +			source-pdos = <0x401912c>;
> +			sink-pdos = <0x4019064>;

[ ... ]

> +	analog_sound: analog-sound {
> +		compatible = "simple-audio-card";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&hp_det &hp_con>;
> +		simple-audio-card,name = "QuarkPi-CA2 ES8388";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&sound_cpu>;
> +		simple-audio-card,frame-master = <&sound_cpu>;
> +		simple-audio-card,mclk-fs = <256>;
> +		simple-audio-card,aux-devs = <&hp_amp>;
> +		simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
> +		simple-audio-card,pin-switches = "Headphones";
> +		simple-audio-card,widgets =
> +			"Headphone", "Headphones",
> +			"Microphone", "Headset Mic",
> +			"Microphone", "Main Mic";
> +		simple-audio-card,routing =
> +			"Headphones", "LOUT1",
> +			"Headphones", "ROUT1",

[Severity: Medium]
Does this DAPM audio graph routing logically bypass the headphone amplifier?

This configuration connects the raw codec output (LOUT1/ROUT1) directly to
Headphones, simultaneously with the headphone amplifier's output (Headphone
Power OUTL/OUTR) on the lines immediately following this.

Will this contradictory parallel routing allow the DAPM subsystem to bypass
the amplifier entirely during playback, potentially leaving the amplifier
powered off and resulting in no or faint audio?

> +			"Headphones", "Headphone Power OUTL",
> +			"Headphones", "Headphone Power OUTR",
> +			"Headphone Power INL", "LOUT1",
> +			"Headphone Power INR", "ROUT1",
> +			"LINPUT1", "Headset Mic",

[ ... ]

> +&usb_host0_xhci {
> +	dr_mode = "host";
> +	status = "okay";

[Severity: Medium]
As mentioned above for the usb_con node, the USB controller is forced into
host-only mode here and lacks a usb-role-switch property. Does this need
to support dual-role to match the connector's data-role capability?

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

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/179086266302.29834.11881496781543805639@163.com?part=2

      reply	other threads:[~2026-10-01 14:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <179086264917.29834.5543033479795788817@163.com>
2026-10-01 13:51 ` [PATCH v4 1/2] dt-bindings: arm: rockchip: add ALIENTEK QuarkPi-CA2 BG9OXA
2026-10-02  9:09   ` Krzysztof Kozlowski
2026-10-01 13:51 ` [PATCH v4 2/2] arm64: dts: " BG9OXA
2026-10-01 14:04   ` 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=20261001140429.1710C1F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=bg9oxa@163.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --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