All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: christian.koever-draxl@student.uibk.ac.at
Cc: devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org,
	robh@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org
Subject: Re: [PATCH 10/10] arm64: dts: amlogic: add the Amediatech X98Q
Date: Fri, 06 Nov 2026 11:00:23 +0000	[thread overview]
Message-ID: <sashiko-outbox-201263@kernel.org> (raw)
In-Reply-To: <20261106104659.54656-11-christian.koever-draxl@student.uibk.ac.at>

Thank you for your contribution! Sashiko AI review found 5 potential
issues to consider:
- [High] arm64: dts: amlogic: unimplemented amlogic,core-phase-degrees
  in x98q sd node
- [Medium] arm64: dts: amlogic: invalid rc-x98q map and wakeup-source on
  x98q ir node
- [Medium] arm64: dts: amlogic: unimplemented amlogic,shared-antenna on
  x98q bluetooth
- [Medium] arm64: dts: amlogic: x98q enables S4 usb, ge2d, and thermal
  without drivers
- [Low] arm64: dts: amlogic: unused sd_3v3 regulator claiming GPIOD_4 in
  x98q dts
--

commit 3b50767a39ee59efef6457c4aa95bbf033834748
Author: Christian Stefan Kövér-Draxl <ckoever@outlook.de>

arm64: dts: amlogic: add the Amediatech X98Q

This commit adds the device tree for the Amediatech X98Q TV box based on
the Amlogic S905W2 SoC.

> diff --git a/arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts b/arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts
> new file mode 100644
> index 0000000000000..388198756a3a2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts

[ ... ]

> +	sd_3v3: regulator-sd-3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "SD_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		gpio = <&gpio GPIOD_4 GPIO_ACTIVE_LOW>;
> +		regulator-always-on;
> +	};

[Severity: Low]
Should &sd use &sd_3v3 for vmmc-supply, or is regulator-sd-3v3 unused on
this board?

regulator-sd-3v3 claims GPIOD_4 and drives it low at boot via
regulator-always-on, but &sd below sets both vmmc-supply and vqmmc-supply
to &vddao_3v3, leaving &sd_3v3 unreferenced.

[ ... ]

> +&ir {
> +	pinctrl-0 = <&remote_pins>;
> +	pinctrl-names = "default";
> +	linux,rc-map-name = "rc-x98q";
> +	wakeup-source;
> +	status = "okay";
> +};

[Severity: Medium]
Are "rc-x98q" and wakeup-source supported on &ir?

"rc-x98q" is not in Documentation/devicetree/bindings/media/rc.yaml or
drivers/media/rc/keymaps/.  At probe, rc_prepare_rx_device() falls back to
RC_MAP_EMPTY (RC_PROTO_UNKNOWN) and passes that to
meson_ir_hw_decoder_init(), which returns early without setting
IR_DEC_REG1_ENABLE when RC_PROTO_BIT_NEC is not set, leaving the hardware
IR decoder disabled until reconfigured from userspace.

In addition, Documentation/devicetree/bindings/media/amlogic,meson6-ir.yaml
sets unevaluatedProperties: false and does not allow wakeup-source, and
drivers/media/rc/meson-ir.c does not configure wakeup support and disables
IR_DEC_REG1_ENABLE in meson_ir_suspend().

[ ... ]

> +&sd {
> +	pinctrl-0 = <&sdcard_pins>;
> +	pinctrl-1 = <&sdcard_clk_gate_pins>;
> +	pinctrl-names = "default", "clk-gate";
> +	bus-width = <4>;
> +	cap-sd-highspeed;
> +	/* Fails CRC at 50 MHz with the default 180 degree phase */
> +	amlogic,core-phase-degrees = <270>;
> +	max-frequency = <50000000>;

[Severity: High]
Does amlogic,core-phase-degrees have any effect in mainline?

Documentation/devicetree/bindings/mmc/amlogic,meson-gx-mmc.yaml sets
unevaluatedProperties: false and does not define
amlogic,core-phase-degrees, so dtbs_check fails.  At runtime,
meson_mmc_clk_init() in drivers/mmc/host/meson-gx-mmc.c unconditionally
programs CLK_PHASE_180 and never parses this property, leaving the SD
controller at the 180-degree phase where 50 MHz high-speed transfers fail
with CRC errors.

[ ... ]

> +&uart_a {
> +	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
> +	pinctrl-names = "default";
> +	uart-has-rtscts;
> +	status = "okay";
> +
> +	/* Bluetooth half of the Amlogic W1 combo chip */
> +	bluetooth {
> +		compatible = "amlogic,w155s2-bt";
> +		clocks = <&sdio_32k>;
> +		enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
> +		vddio-supply = <&vddio_ao1v8>;
> +		firmware-name = "amlogic/aml_w1_bt_uart.bin";
> +		amlogic,shared-antenna;
> +	};
> +};

[Severity: Medium]
Is amlogic,shared-antenna supported by the binding or driver for
amlogic,w155s2-bt?

Documentation/devicetree/bindings/net/bluetooth/amlogic,w155s2-bt.yaml
sets additionalProperties: false and does not define
amlogic,shared-antenna.  In drivers/bluetooth/hci_aml.c, aml_parse_dt()
does not read this property and aml_setup() passes
amldev->aml_dev_data->is_coex (false for data_w155s2) to aml_config_rf(),
configuring AML_RF_ANT_DOUBLE instead of AML_RF_ANT_SINGLE.

[ ... ]

> +&usb {
> +	status = "okay";
> +};
> +
> +&usb2_phy0 {
> +	status = "okay";
> +};
> +
> +&usb2_phy1 {
> +	status = "okay";
> +};

[Severity: Medium]
Can &usb, &ge2d, or GPU thermal throttling probe with the compatibles in
meson-s4.dtsi?

In arch/arm64/boot/dts/amlogic/meson-s4.dtsi, usb2_phy0 and usb2_phy1 use
compatible = "amlogic,s4-usb2-phy" without an "amlogic,g12a-usb2-phy"
fallback, while drivers/phy/amlogic/phy-meson-g12a-usb2.c only matches
"amlogic,g12a-usb2-phy" and "amlogic,a1-usb2-phy", causing
dwc3_meson_g12a_probe() to defer indefinitely in dwc3_meson_g12a_get_phys().
Also, usb2_phy0 and usb2_phy1 are already enabled in meson-s4.dtsi, so the
status overrides here are redundant.

Similarly, &ge2d uses "amlogic,s4-ge2d" without an "amlogic,axg-ge2d"
fallback (drivers/media/platform/amlogic/meson-ge2d/ge2d.c only matches
"amlogic,axg-ge2d"), and cpu_temp uses "amlogic,s4-thermal" without an
"amlogic,t7-thermal" fallback (drivers/thermal/amlogic_thermal.c only
matches "amlogic,t7-thermal"), so neither GE2D nor GPU thermal throttling
binds a driver despite being listed as supported in the commit message.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261106104659.54656-1-christian.koever-draxl@student.uibk.ac.at?part=10

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: christian.koever-draxl@student.uibk.ac.at
Cc: devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org,
	robh@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org
Subject: Re: [PATCH 10/10] arm64: dts: amlogic: add the Amediatech X98Q
Date: Fri, 06 Nov 2026 11:00:23 +0000	[thread overview]
Message-ID: <sashiko-outbox-201263@kernel.org> (raw)
In-Reply-To: <20261106104659.54656-11-christian.koever-draxl@student.uibk.ac.at>

Thank you for your contribution! Sashiko AI review found 5 potential
issues to consider:
- [High] arm64: dts: amlogic: unimplemented amlogic,core-phase-degrees
  in x98q sd node
- [Medium] arm64: dts: amlogic: invalid rc-x98q map and wakeup-source on
  x98q ir node
- [Medium] arm64: dts: amlogic: unimplemented amlogic,shared-antenna on
  x98q bluetooth
- [Medium] arm64: dts: amlogic: x98q enables S4 usb, ge2d, and thermal
  without drivers
- [Low] arm64: dts: amlogic: unused sd_3v3 regulator claiming GPIOD_4 in
  x98q dts
--

commit 3b50767a39ee59efef6457c4aa95bbf033834748
Author: Christian Stefan Kövér-Draxl <ckoever@outlook.de>

arm64: dts: amlogic: add the Amediatech X98Q

This commit adds the device tree for the Amediatech X98Q TV box based on
the Amlogic S905W2 SoC.

> diff --git a/arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts b/arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts
> new file mode 100644
> index 0000000000000..388198756a3a2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts

[ ... ]

> +	sd_3v3: regulator-sd-3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "SD_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		gpio = <&gpio GPIOD_4 GPIO_ACTIVE_LOW>;
> +		regulator-always-on;
> +	};

[Severity: Low]
Should &sd use &sd_3v3 for vmmc-supply, or is regulator-sd-3v3 unused on
this board?

regulator-sd-3v3 claims GPIOD_4 and drives it low at boot via
regulator-always-on, but &sd below sets both vmmc-supply and vqmmc-supply
to &vddao_3v3, leaving &sd_3v3 unreferenced.

[ ... ]

> +&ir {
> +	pinctrl-0 = <&remote_pins>;
> +	pinctrl-names = "default";
> +	linux,rc-map-name = "rc-x98q";
> +	wakeup-source;
> +	status = "okay";
> +};

[Severity: Medium]
Are "rc-x98q" and wakeup-source supported on &ir?

"rc-x98q" is not in Documentation/devicetree/bindings/media/rc.yaml or
drivers/media/rc/keymaps/.  At probe, rc_prepare_rx_device() falls back to
RC_MAP_EMPTY (RC_PROTO_UNKNOWN) and passes that to
meson_ir_hw_decoder_init(), which returns early without setting
IR_DEC_REG1_ENABLE when RC_PROTO_BIT_NEC is not set, leaving the hardware
IR decoder disabled until reconfigured from userspace.

In addition, Documentation/devicetree/bindings/media/amlogic,meson6-ir.yaml
sets unevaluatedProperties: false and does not allow wakeup-source, and
drivers/media/rc/meson-ir.c does not configure wakeup support and disables
IR_DEC_REG1_ENABLE in meson_ir_suspend().

[ ... ]

> +&sd {
> +	pinctrl-0 = <&sdcard_pins>;
> +	pinctrl-1 = <&sdcard_clk_gate_pins>;
> +	pinctrl-names = "default", "clk-gate";
> +	bus-width = <4>;
> +	cap-sd-highspeed;
> +	/* Fails CRC at 50 MHz with the default 180 degree phase */
> +	amlogic,core-phase-degrees = <270>;
> +	max-frequency = <50000000>;

[Severity: High]
Does amlogic,core-phase-degrees have any effect in mainline?

Documentation/devicetree/bindings/mmc/amlogic,meson-gx-mmc.yaml sets
unevaluatedProperties: false and does not define
amlogic,core-phase-degrees, so dtbs_check fails.  At runtime,
meson_mmc_clk_init() in drivers/mmc/host/meson-gx-mmc.c unconditionally
programs CLK_PHASE_180 and never parses this property, leaving the SD
controller at the 180-degree phase where 50 MHz high-speed transfers fail
with CRC errors.

[ ... ]

> +&uart_a {
> +	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
> +	pinctrl-names = "default";
> +	uart-has-rtscts;
> +	status = "okay";
> +
> +	/* Bluetooth half of the Amlogic W1 combo chip */
> +	bluetooth {
> +		compatible = "amlogic,w155s2-bt";
> +		clocks = <&sdio_32k>;
> +		enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
> +		vddio-supply = <&vddio_ao1v8>;
> +		firmware-name = "amlogic/aml_w1_bt_uart.bin";
> +		amlogic,shared-antenna;
> +	};
> +};

[Severity: Medium]
Is amlogic,shared-antenna supported by the binding or driver for
amlogic,w155s2-bt?

Documentation/devicetree/bindings/net/bluetooth/amlogic,w155s2-bt.yaml
sets additionalProperties: false and does not define
amlogic,shared-antenna.  In drivers/bluetooth/hci_aml.c, aml_parse_dt()
does not read this property and aml_setup() passes
amldev->aml_dev_data->is_coex (false for data_w155s2) to aml_config_rf(),
configuring AML_RF_ANT_DOUBLE instead of AML_RF_ANT_SINGLE.

[ ... ]

> +&usb {
> +	status = "okay";
> +};
> +
> +&usb2_phy0 {
> +	status = "okay";
> +};
> +
> +&usb2_phy1 {
> +	status = "okay";
> +};

[Severity: Medium]
Can &usb, &ge2d, or GPU thermal throttling probe with the compatibles in
meson-s4.dtsi?

In arch/arm64/boot/dts/amlogic/meson-s4.dtsi, usb2_phy0 and usb2_phy1 use
compatible = "amlogic,s4-usb2-phy" without an "amlogic,g12a-usb2-phy"
fallback, while drivers/phy/amlogic/phy-meson-g12a-usb2.c only matches
"amlogic,g12a-usb2-phy" and "amlogic,a1-usb2-phy", causing
dwc3_meson_g12a_probe() to defer indefinitely in dwc3_meson_g12a_get_phys().
Also, usb2_phy0 and usb2_phy1 are already enabled in meson-s4.dtsi, so the
status overrides here are redundant.

Similarly, &ge2d uses "amlogic,s4-ge2d" without an "amlogic,axg-ge2d"
fallback (drivers/media/platform/amlogic/meson-ge2d/ge2d.c only matches
"amlogic,axg-ge2d"), and cpu_temp uses "amlogic,s4-thermal" without an
"amlogic,t7-thermal" fallback (drivers/thermal/amlogic_thermal.c only
matches "amlogic,t7-thermal"), so neither GE2D nor GPU thermal throttling
binds a driver despite being listed as supported in the commit message.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261106104659.54656-1-christian.koever-draxl@student.uibk.ac.at?part=10

  reply	other threads:[~2026-11-06 11:00 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-06 10:46 [PATCH 00/10] arm64: dts: amlogic: S4 SoC additions and the Amediatech X98Q christian.koever-draxl
2026-11-06 10:46 ` christian.koever-draxl
2026-11-06 10:46 ` [PATCH 01/10] dt-bindings: arm: amlogic: add " christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 17:17   ` Conor Dooley
2026-11-06 17:17     ` Conor Dooley
2026-11-06 10:46 ` [PATCH 02/10] arm64: dts: amlogic: meson-s4: describe the CPU caches christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 10:52   ` neil.armstrong
2026-11-06 10:52     ` neil.armstrong
2026-11-06 10:46 ` [PATCH 03/10] arm64: dts: amlogic: meson-s4: add the PSCI CPU idle state christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 10:54   ` neil.armstrong
2026-11-06 10:54     ` neil.armstrong
2026-11-06 10:46 ` [PATCH 04/10] arm64: dts: amlogic: meson-s4: use the S4 secure monitor compatible christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 10:54   ` sashiko-bot
2026-11-06 10:54     ` sashiko-bot
2026-11-06 10:46 ` [PATCH 05/10] arm64: dts: amlogic: meson-s4: add the Mali GPU christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 17:18   ` Conor Dooley
2026-11-06 17:18     ` Conor Dooley
2026-11-06 10:46 ` [PATCH 06/10] arm64: dts: amlogic: meson-s4: add the CPU thermal sensor and zone christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 10:53   ` sashiko-bot
2026-11-06 10:53     ` sashiko-bot
2026-11-06 10:46 ` [PATCH 07/10] arm64: dts: amlogic: meson-s4: add the GE2D christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 10:53   ` sashiko-bot
2026-11-06 10:53     ` sashiko-bot
2026-11-06 10:46 ` [PATCH 08/10] arm64: dts: amlogic: meson-s4: add the USB host christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 10:55   ` neil.armstrong
2026-11-06 10:55     ` neil.armstrong
2026-11-06 10:59   ` sashiko-bot
2026-11-06 10:59     ` sashiko-bot
2026-11-06 10:46 ` [PATCH 09/10] arm64: dts: amlogic: meson-s4: add the AO CEC controller christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 10:55   ` neil.armstrong
2026-11-06 10:55     ` neil.armstrong
2026-11-06 17:19   ` Conor Dooley
2026-11-06 17:19     ` Conor Dooley
2026-11-06 10:46 ` [PATCH 10/10] arm64: dts: amlogic: add the Amediatech X98Q christian.koever-draxl
2026-11-06 10:46   ` christian.koever-draxl
2026-11-06 11:00   ` sashiko-bot [this message]
2026-11-06 11:00     ` sashiko-bot

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=sashiko-outbox-201263@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=christian.koever-draxl@student.uibk.ac.at \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=neil.armstrong@linaro.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 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.