All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Lukasz Majewski" <lukma@nabladev.com>
Cc: devicetree@vger.kernel.org, imx@lists.linux.dev, robh@kernel.org,
	conor+dt@kernel.org, Frank.Li@kernel.org
Subject: Re: [PATCH] arm64: dts: freescale: Add device tree definition for Cloos CBASE with i.MX8MM
Date: Tue, 10 Nov 2026 15:27:53 +0000	[thread overview]
Message-ID: <sashiko-outbox-207264@kernel.org> (raw)
In-Reply-To: <20261110150546.1535950-1-lukma@nabladev.com>

Thank you for your contribution! Sashiko AI review found 6 potential
issues to consider:
- [High] arm64: dts: freescale: usdhc2 fails probe due to disabled
  reg_usdhc2_vqmmc
- [Medium] arm64: dts: freescale: missing Makefile entry for
  imx8mm-cbase.dtb
- [Medium] arm64: dts: freescale: lcdif enabled without mipi_dsi or
  display bridge
- [Medium] arm64: dts: freescale: undocumented compatibles and missing
  lm77 OF table
- [Low] arm64: dts: freescale: decimal unit-address port@10 for reg =
  <10>
- [Low] arm64: dts: freescale: flexspi left enabled after deleting
  flash0 node
--

commit ed8bce86f8c6ce432aef83c22f5cd48f6151d1c7
Author: Lukasz Majewski <lukma@nabladev.com>

arm64: dts: freescale: Add device tree definition for Cloos CBASE with i.MX8MM

This commit adds the device tree source for the Cloos CBASE board based on
the i.MX8MM TQMa8MQML system-on-module.

> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-cbase.dts b/arch/arm64/boot/dts/freescale/imx8mm-cbase.dts
> new file mode 100644
> index 0000000000000..0bbd724f3aabc
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-cbase.dts
> @@ -0,0 +1,577 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2022 Fabio Estevam <festevam@denx.de>
> + * Copyright 2026 Lukasz Majewski <lukma@nabladev.com>
> + */
> +
> +/dts-v1/;
> +
> +#include "imx8mm-tqma8mqml.dtsi"
> +
> +/ {
> +	model = "Cloos i.MX8MM CBASE board";
> +	compatible = "cloos,imx8mm-cbase", "tq,imx8mm-tqma8mqml", "fsl,imx8mm";

[Severity: Medium]
Should arch/arm64/boot/dts/freescale/Makefile also add
dtb-$(CONFIG_ARCH_MXC) += imx8mm-cbase.dtb?  Without that entry, kbuild
never compiles imx8mm-cbase.dts during make dtbs or make dtbs_check.

[ ... ]

> +				port@9 {
> +					reg = <9>;
> +					label = "lan-sfp1";
> +					phy-mode = "sgmii";
> +					sfp = <&sfp_top>;
> +					managed = "in-band-status";
> +				};
> +
> +				port@10 {
> +					reg = <10>;
> +					label = "lan-sfp2";
> +					phy-mode = "sgmii";
> +					sfp = <&sfp_bot>;
> +					managed = "in-band-status";
> +				};

[Severity: Low]
Should port@10 be named port@a to match reg = <10>?  Unit-addresses in node
names are hexadecimal, so port@10 triggers a dtc unit_address_vs_reg warning
and fails dtbs_check against ethernet-switch.yaml.

[ ... ]

> +&i2c2 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c2>;
> +	status = "okay";
> +
> +	onewire@18 {
> +		compatible = "maxim,ds2484";
> +		reg = <0x18>;
> +	};
> +
> +	temp@49 {
> +		compatible = "national,lm77";
> +		reg = <0x49>;
> +	};
> +};

[Severity: Medium]
Will temp@49 fail module autoloading and schema validation?

drivers/hwmon/lm77.c only defines an i2c_device_id table and has no
of_device_id table, while i2c_device_uevent() emits an OF modalias for DT
nodes, so the lm77 module will not autoload when CONFIG_SENSORS_LM77=m.
In addition, neither "national,lm77" (nor the node name temp@49 instead of
temperature-sensor@49) nor the board compatible "cloos,imx8mm-cbase" is
documented in the Devicetree bindings, which causes make dtbs_check to fail.

[ ... ]

> +&lcdif {
> +	status = "okay";
> +};

[Severity: Medium]
Why is lcdif enabled here when mipi_dsi remains disabled and no display
bridge or panel is defined?

In imx8mm.dtsi, lcdif's output endpoint connects to mipi_dsi, which defaults
to status = "disabled".  During boot, mxsfb_probe() -> mxsfb_load() ->
mxsfb_attach_bridge() fails to find an enabled remote bridge or panel and
aborts probe with -ENODEV ("Cannot connect bridge").

[ ... ]

> +&usdhc2 {
> +	assigned-clocks = <&clk IMX8MM_CLK_USDHC2>;
> +	assigned-clock-rates = <400000000>;
> +	assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_400M>;
> +	pinctrl-names = "default", "state_100mhz", "state_200mhz";
> +	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
> +	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
> +	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
> +	bus-width = <4>;
> +	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
> +	disable-wp;
> +	no-mmc;
> +	no-sdio;
> +	sd-uhs-sdr104;
> +	sd-uhs-ddr50;
> +	vmmc-supply = <&reg_usdhc2_vmmc>;
> +	status = "okay";
> +};

[Severity: High]
Does usdhc2 fail to probe because reg_usdhc2_vqmmc is left disabled?

imx8mm-tqma8mqml.dtsi sets vqmmc-supply = <&reg_usdhc2_vqmmc> on usdhc2,
where reg_usdhc2_vqmmc has status = "disabled":

arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml.dtsi:
	reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc {
		compatible = "regulator-gpio";
		...
		vin-supply = <&ldo5_reg>;
		status = "disabled";
	};

Because imx8mm-cbase.dts does not enable reg_usdhc2_vqmmc,
sdhci_esdhc_imx_probe() -> mmc_regulator_get_supply() ->
of_regulator_dev_lookup() finds the disabled DT node with no registered
regulator device and returns -EPROBE_DEFER permanently, leaving the SD card
slot unusable.

[ ... ]

> +/* SPI-NOR memory is not mounted on the used SoM */
> +/delete-node/ &flash0;

[Severity: Low]
Should &flexspi be disabled instead of only deleting &flash0?

imx8mm-tqma8mqml.dtsi sets status = "okay" on &flexspi, so deleting only the
child flash0 node leaves the FlexSPI controller enabled to claim its QSPI
pins, IRQ, and clocks in nxp_fspi_probe() with no flash attached.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261110150546.1535950-1-lukma@nabladev.com?part=1

  reply	other threads:[~2026-11-10 15:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-10 15:05 [PATCH] arm64: dts: freescale: Add device tree definition for Cloos CBASE with i.MX8MM Lukasz Majewski
2026-11-10 15:27 ` sashiko-bot [this message]
2026-11-10 18:41 ` Fabio Estevam
2026-11-11  8:26   ` Łukasz Majewski
2026-11-11  8:54     ` Daniel Baluta

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-207264@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=Frank.Li@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=imx@lists.linux.dev \
    --cc=lukma@nabladev.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.