Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Lefteris Koutrakis" <lefteris.koutrakis@gmail.com>,
	devicetree@vger.kernel.org
Cc: robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v3] powerpc/dts: Add Device Tree for WatchGuard Firebox T30
Date: Wed, 28 Oct 2026 14:47:10 +0000	[thread overview]
Message-ID: <sashiko-outbox-188010@kernel.org> (raw)
In-Reply-To: <20261028143421.145290-1-lefteris.koutrakis@gmail.com>

Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
- [Medium] powerpc/dts: invalid compatible string in firebox-t30 tpm@29 node
- [Low] powerpc/dts: duplicate firebox-t30.dtb entry in fsl/Makefile
- [Low] powerpc/dts: malformed spi@7000 interrupts and redundant SoC properties
- [Low] powerpc/dts: firebox-t30: undocumented compatible and unsupported DT properties
--

commit 68d1b53d33f85dd0ec26113a393584818efd23a1
Author: Lefteris Koutrakis <lefteris.koutrakis@gmail.com>

powerpc/dts: Add Device Tree for WatchGuard Firebox T30

This commit adds a new Device Tree source file for the WatchGuard Firebox T30
board based on the Freescale P1020 SoC and hooks it into the Freescale PowerPC
DTS Makefile.

> diff --git a/arch/powerpc/boot/dts/fsl/Makefile b/arch/powerpc/boot/dts/fsl/Makefile
> index d2cc8e1f007ea..0a5c8b5967335 100644
> --- a/arch/powerpc/boot/dts/fsl/Makefile
> +++ b/arch/powerpc/boot/dts/fsl/Makefile
> @@ -3,6 +3,7 @@
>  dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(src)/%.dts,%.dtb, $(wildcard $(src)/*.dts))
>  
>  # MPC85xx platforms
> +dtb-$(CONFIG_MPC85xx_RDB) += firebox-t30.dtb
>  dtb-$(CONFIG_BSC9131_RDB) += bsc9131rdb.dtb
>  dtb-$(CONFIG_BSC9132_QDS) += bsc9132qds.dtb
>  dtb-$(CONFIG_C293_PCIE) += c293pcie.dtb
> @@ -44,3 +45,4 @@ dtb-$(CONFIG_GEF_SBC310) += gef_sbc310.dtb
>  dtb-$(CONFIG_GEF_SBC610) += gef_sbc610.dtb
>  dtb-$(CONFIG_GEF_PPC9A) += gef_ppc9a.dtb
>  dtb-$(CONFIG_MVME7100) += mvme7100.dtb
> +dtb-$(CONFIG_MPC85xx_RDB) += firebox-t30.dtb

[Severity: Low]
Is this second addition of firebox-t30.dtb to dtb-$(CONFIG_MPC85xx_RDB) at
the bottom of arch/powerpc/boot/dts/fsl/Makefile (under the MPC86xx platforms
section) unintended?

Since firebox-t30.dtb is already appended to dtb-$(CONFIG_MPC85xx_RDB) at the
start of the MPC85xx platforms section, building with CONFIG_MPC85xx_RDB=y
causes firebox-t30.dtb to be listed twice in $(dtb-y) and $(obj)/dtbs-list via
scripts/Makefile.dtbs.

> diff --git a/arch/powerpc/boot/dts/fsl/firebox-t30.dts b/arch/powerpc/boot/dts/fsl/firebox-t30.dts
> new file mode 100644
> index 0000000000000..6e9ec7f90ece2
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/fsl/firebox-t30.dts
> @@ -0,0 +1,398 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/leds/common.h>
> +
> +/include/ "p1020si-pre.dtsi"
> +
> +/ {
> +	model = "Watchguard Firebox T30";
> +	compatible = "watchguard,firebox-t30", "fsl,P1020RDB";

[ ... ]

> +	soc: soc@ffe00000 {
> +		ranges = <0x0 0x0 0xffe00000 0x100000>;
> +
> +		i2c@3000 {
> +			rtc@30 {
> +				compatible = "sii,s35390a";
> +				reg = <0x30>;
> +			};
> +		};
> +
> +		i2c@3100 {
> +			tpm@29 {
> +				compatible = "tpm,tpm_i2c_atmel";
> +				reg = <0x29>;
> +			};
> +		};

[Severity: Medium]
Should the compatible property for tpm@29 under i2c@3100 be
"atmel,at97sc3204t" instead of "tpm,tpm_i2c_atmel"?

In drivers/char/tpm/tpm_i2c_atmel.c, the OF match table only matches
"atmel,at97sc3204t":

    static const struct of_device_id i2c_atmel_of_match[] = {
        {.compatible = "atmel,at97sc3204t"},
        {},
    };
    MODULE_DEVICE_TABLE(of, i2c_atmel_of_match);

When an I2C device is instantiated from Device Tree, i2c_device_uevent() in
drivers/i2c/i2c-core-base.c emits only the OF modalias and returns before
emitting the legacy i2c: modalias:

    rc = of_device_uevent_modalias(dev, env);
    if (rc != -ENODEV)
        return rc;

With compatible = "tpm,tpm_i2c_atmel", the kernel emits
MODALIAS=of:NtpmT(null)Ctpm,tpm_i2c_atmel, which prevents automatic module
loading when CONFIG_TCG_TIS_I2C_ATMEL=m and fails DT schema validation against
Documentation/devicetree/bindings/tpm/tcg,tpm-tis-i2c.yaml.

> +
> +		sdhc@2e000 {
> +			compatible = "fsl,p1020-esdhc", "fsl,esdhc";
> +			sdhci,auto-cmd12;
> +			reg = <0x2e000 0x1000>;
> +			interrupts = <0x48 0x2 0x0 0x0>;
> +			interrupt-parent = <&mpic>;
> +			clock-frequency = <0>;
> +		};
> +
> +		spi0: spi@7000 {
> +			compatible = "fsl,mpc8536-espi";
> +			reg = <0x7000 0x1000>;
> +			interrupts = <0x3b 0x2>;
> +			interrupt-parent = <&mpic>;
> +			fsl,espi-num-chipselects = <4>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;

[Severity: Low]
Can the SoC-level properties in sdhc@2e000 and spi0: spi@7000 be dropped here
so they are inherited from p1020si-post.dtsi?

In spi0: spi@7000, interrupts = <0x3b 0x2> only provides 2 cells for &mpic,
whereas mpic: pic@40000 in pq3-mpic.dtsi requires #interrupt-cells = <4>.
Because p1020si-post.dtsi (which includes pq3-espi-0.dtsi and pq3-esdhc-0.dtsi)
is included at the bottom of firebox-t30.dts, dtc overwrites this 2-cell
specifier with the 4-cell interrupts = <59 0x2 0 0> definition from
pq3-espi-0.dtsi.

Furthermore, sdhc@2e000 only repeats properties already defined in
p1020si-post.dtsi and pq3-esdhc-0.dtsi without adding any board-specific
configuration, and spi@7000 only needs to define its flash@0 and slic@1 child
nodes.

[ ... ]

> +		enet0: ethernet@b0000 {
> +			phy-connection-type = "rgmii-id";
> +			rx-internal-delay-ps = <2000>;
> +			tx-internal-delay-ps = <2000>;
> +			nvmem-cells = <&macaddr_nor_cfg0_1830 0>;
> +			nvmem-cell-names = "mac-address";
> +
> +			fixed-link {
> +				speed = <1000>;
> +				full-duplex;
> +			};
> +		};

[ ... ]

> +			ath10k: wifi@0,0 {
> +				reg = <0x0000 0 0 0 0>;
> +				#gpio-cells = <2>;
> +				gpio-controller;
> +				nvmem-cells = <&macaddr_nor_cfg0_1894 0>;
> +				nvmem-cell-names = "mac-address";
> +			};

[Severity: Low]
Are the following bindings and properties in firebox-t30.dts intentional?

1. The root node uses compatible = "watchguard,firebox-t30", "fsl,P1020RDB",
   where neither the "watchguard" vendor prefix (in
   Documentation/devicetree/bindings/vendor-prefixes.yaml) nor the
   "watchguard,firebox-t30" board compatible string is documented.

2. enet0: ethernet@b0000 (an fsl,etsec2 device from pq3-etsec2-0.dtsi) sets
   rx-internal-delay-ps = <2000> and tx-internal-delay-ps = <2000>, which the
   gianfar driver in drivers/net/ethernet/freescale/gianfar.c does not parse
   or support.

3. ath10k: wifi@0,0 declares gpio-controller and #gpio-cells = <2>, which are
   not supported by the ath10k driver or its binding in
   Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml, and are
   not referenced elsewhere in this DTS.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261028143421.145290-1-lefteris.koutrakis@gmail.com?part=1

  reply	other threads:[~2026-10-28 14:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-28 14:34 [PATCH v3] powerpc/dts: Add Device Tree for WatchGuard Firebox T30 Lefteris Koutrakis
2026-10-28 14:47 ` sashiko-bot [this message]
2026-10-28 14:58 ` 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=sashiko-outbox-188010@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lefteris.koutrakis@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