From: sashiko-bot@kernel.org
To: "Judith Mendez" <jm@ti.com>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org,
krzk+dt@kernel.org
Subject: Re: [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge
Date: Fri, 15 May 2026 16:19:40 +0000 [thread overview]
Message-ID: <20260515161940.E4EC2C2BCC7@smtp.kernel.org> (raw)
In-Reply-To: <20260515153541.294698-3-jm@ti.com>
Thank you for your contribution! Sashiko AI review found 5 potential issue(s) to consider:
- [High] Unmanaged Board Control GPIOs (Missing GPIO Hogs / Regulators) for `BOOST_5V_ENA` and `USB_HUB_RST`.
- [High] Driver/DTB Interface Violation: `microchip,spi-present-mask` length mismatch.
- [High] Missing `bootph-all` property on referenced pinctrl nodes will cause U-Boot SPL probe failures.
- [Medium] Misplaced Consumer Pinctrl Configurations on the `&gpio0` provider node.
- [Low] Deprecated `gpio` property used instead of `gpios` in `regulator-fixed` nodes.
--
commit 535e2cddc8d18ba0025f3f27f6e67f150156d239
Author: Judith Mendez <jm@ti.com>
arm64: dts: ti: Add k3-am62l3-beaglebadge
This patch introduces the device tree for the BeagleBoard.org BeagleBadge,
a compact single board computer based on the TI AM62L3 SoC. It provides
the initial hardware description including regulators, GPIOs, pinmux
configurations, and basic peripherals.
> diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts
> new file mode 100644
> index 0000000000000..30fc9c83b1f44
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts
[ ... ]
> + vdd_3v3_sd: regulator-3 {
> + /* TPS22918DBVR */
> + compatible = "regulator-fixed";
> + regulator-name = "VDD_3V3_SD";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + vin-supply = <&vdd_3v3>;
> + regulator-boot-on;
> + enable-active-high;
> + gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>;
This isn't a bug, but could the gpios property be used here instead of the
deprecated gpio property? The wlan_en node later in this file correctly uses
the plural form.
> + pinctrl-names = "default";
> + pinctrl-0 = <&vdd_3v3_sd_ena_pins_default>;
> + bootph-all;
> + };
> +
> + sensor_3v3: regulator-4 {
> + /* TPS22918DBVR */
> + compatible = "regulator-fixed";
> + regulator-name = "Sensor_3V3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + vin-supply = <&vdd_3v3>;
> + regulator-boot-on;
> + regulator-always-on;
> + enable-active-high;
> + gpio = <&wkup_gpio0 1 GPIO_ACTIVE_HIGH>;
Could this also be updated to use the gpios property?
[ ... ]
> + usr_button_pins_default: usr-button-default-pins {
> + pinctrl-single,pins = <
> + AM62LX_IOPAD(0x00a4, PIN_INPUT, 7) /* (H18) GPMC0_AD11.GPIO0_26 */
> + AM62LX_IOPAD(0x01e4, PIN_INPUT, 7) /* (D16) EXT_REFCLK1.GPIO0_104 */
> + AM62LX_IOPAD(0x00c0, PIN_INPUT, 7) /* (N19) GPMC0_ADVn_ALE.GPIO0_32 */
> + AM62LX_IOPAD(0x00e8, PIN_INPUT, 7) /* (L19) GPMC0_CSn1.GPIO0_42 */
> + AM62LX_IOPAD(0x00b8, PIN_INPUT, 7) /* (L21) GPMC0_CLK.GPIO0_31 */
> + AM62LX_IOPAD(0x01c0, PIN_INPUT, 7) /* (B13) UART0_RTSn.GPIO0_95 */
> + >;
> + };
Because the gpio0 node later in the file includes the bootph-all property and
references this node, does this node also need bootph-all? Without it,
U-Boot's fdtgrep might strip this node, leaving a dangling phandle and
causing probe failures in SPL.
[ ... ]
> + sensor_3v3_ena_pins_default: sensor-3v3-ena-default-pins {
> + pinctrl-single,pins = <
> + AM62LX_IOPAD(0x004, PIN_OUTPUT, 7) /* (AA23) WKUP_UART0_TXD.WKUP_GPIO0_1 */
> + >;
> + };
Does this node also need the bootph-all property? The sensor_3v3 regulator
node uses this pinctrl configuration and has bootph-all.
[ ... ]
> + lora_control_pins_default: lora-control-default-pins {
> + pinctrl-single,pins = <
> + AM62LX_IOPAD(0x00c8, PIN_OUTPUT, 7) /* (M19) GPMC0_WEn.GPIO0_34 */
> + AM62LX_IOPAD(0x00e4, PIN_OUTPUT, 7) /* (L20) GPMC0_CSn0.GPIO0_41 */
> + AM62LX_IOPAD(0x01a4, PIN_INPUT, 7) /* (D11) SPI0_CS1.GPIO0_88 */
> + AM62LX_IOPAD(0x01bc, PIN_INPUT, 7) /* (B14) UART0_CTSn.GPIO0_94 */
> + >;
> + };
Same question here regarding the bootph-all property since this is referenced
by the gpio0 node.
> +
> + gpio0_pins_default: gpio0-default-pins {
> + pinctrl-single,pins = <
> + AM62LX_IOPAD(0x0078, PIN_OUTPUT, 7) /* (L22) GPMC0_AD0.GPIO0_15 */
> + AM62LX_IOPAD(0x00e0, PIN_INPUT, 7) /* (M21) GPMC0_DIR.GPIO0_40 */
> + AM62LX_IOPAD(0x00ec, PIN_OUTPUT, 7) /* (M23) GPMC0_CSn2.GPIO0_43 */
> + AM62LX_IOPAD(0x00f0, PIN_INPUT, 7) /* (M22) GPMC0_CSn3.GPIO0_44 */
> + AM62LX_IOPAD(0x0194, PIN_OUTPUT, 7) /* (B11) MCASP0_AFSX.GPIO0_84 */
> + >;
> + };
Does this node also need bootph-all to match the gpio0 node?
Also, I noticed that GPIO0_15 (BOOST_5V_ENA) and GPIO0_43 (USB_HUB_RST)
are configured as PIN_OUTPUT here. Because configuring PIN_OUTPUT in pinctrl
only sets the pad multiplexing and does not actively drive a logic level on
the GPIO controller, will these pins remain floating?
Should there be a gpio-hog or consumer regulator node to manage the direction
and logic level for these control pins?
[ ... ]
> +&gpio0 {
> + gpio-line-names ="","","","","","","","","","", /* 0-9 */
> + "","","","","","BOOST_5V_ENA","VDD_3V3_SD_ENA","","","", /* 10-19 */
> + "","","","","","MCP23S18_RESET","BTN_SELECT","","","", /* 20-29 */
> + "","BTN_LEFT","BTN_UP","","LORA_RESET","","","","","", /* 30-39 */
> + "FUEL_GAUGE_BATLOW","LORA_RFSW","BTN_DOWN","USB_HUB_RST","MIKROBUS_INT","","","","","", /* 40-49 */
> + "","WLAN_EN","","","","","","","","", /* 50-59 */
> + "","","","","","","","","","", /* 60-69 */
> + "","","","","","","","","","", /* 70-79 */
> + "","","","","MIKROBUS_RST","","","","LORA_BUSY","", /* 80-89 */
> + "","","","","LORA_DIO","BTN_RIGHT","","","","", /* 90-99 */
> + "","","","","BTN_BACK","","","","","", /* 100-109 */
> + "","","","","","","","","","", /* 110-119 */
> + "","","SD_CD","","",""; /* 120-125 */
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpio0_pins_default>, <&usr_button_pins_default>, <&lora_control_pins_default>;
Is it expected to place the pinctrl configurations for consumer devices
(usr_button_pins_default and lora_control_pins_default) on the gpio0
provider node?
This causes the pins to be claimed when the GPIO controller probes. Could
these be moved to the respective consumer device nodes instead?
[ ... ]
> + mcp23s18: gpio@0 {
> + compatible = "microchip,mcp23s18";
> + reg = <0>;
> + spi-max-frequency = <10000000>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + reset-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&mcp23s18_reset_pins_default>;
> + microchip,spi-present-mask = /bits/ 8 <0x01>;
Will this cause a probe failure in the pinctrl-mcp23s08_spi driver?
The driver uses device_property_read_u32() to parse the
microchip,spi-present-mask property. Because the property is defined here
as an 8-bit value, the property read API will see a length mismatch and
might return -EOVERFLOW.
Could this be specified as a standard 32-bit cell (i.e., <0x01>)?
> + };
> +};
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260515153541.294698-1-jm@ti.com?part=2
next prev parent reply other threads:[~2026-05-15 16:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-15 15:35 [PATCH v4 0/3] arm64: dts/bindings: Add support for BeagleBadge Judith Mendez
2026-05-15 15:35 ` [PATCH v4 1/3] dt-bindings: arm: ti: Add am62l3-beaglebadge Judith Mendez
2026-05-15 17:06 ` Conor Dooley
2026-05-15 15:35 ` [PATCH v4 2/3] arm64: dts: ti: Add k3-am62l3-beaglebadge Judith Mendez
2026-05-15 16:19 ` sashiko-bot [this message]
2026-05-15 15:35 ` [PATCH v4 3/3] arm64: defconfig: Enable drivers for BeagleBadge Judith Mendez
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=20260515161940.E4EC2C2BCC7@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jm@ti.com \
--cc=krzk+dt@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 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.