From: sashiko-bot@kernel.org
To: "Robert Nelson" <robertcnelson@gmail.com>
Cc: robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 2/3] arm: dts: omap: Add support for BeagleBone Black RevD
Date: Tue, 01 Sep 2026 21:56:58 +0000 [thread overview]
Message-ID: <20260901215659.265961F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260901-v7-3-rc1-beaglebone-black-revd-v1-2-f521950b777a@gmail.com>
Thank you for your contribution! Sashiko AI review found 7 potential issue(s) to consider:
- [High] Hardware/Driver mismatch: The BeagleBone Black physically routes 16-bit video data, but the DT and bridge driver are configured for a 24-bit bus, leading to severely corrupted video output.
- [Medium] The IT66122 bridge interrupt is incorrectly configured as edge-falling instead of level-low, which can lead to missed interrupts.
- [Medium] The board compatible string is missing standard fallback identifiers, breaking userspace board detection.
- [Low] The new board compatible string 'beagle,am335x-bone-black-revd' is not documented in the Devicetree bindings.
- [Low] Stale gpio-line-names entry masks the HDMI reset pin (GPIO1_9) as 'NC' (Not Connected).
- [Low] The lcdc endpoint node uses a unit address without a matching reg property, causing dtc warnings.
- [Low] A stale comment incorrectly references the removed TDA19988 HDMI framer node.
--
commit d7b1924005badde2a155d4ba4a4cb12a5f9be451
Author: Robert Nelson <robertcnelson@gmail.com>
arm: dts: omap: Add support for BeagleBone Black RevD
The BeagleBoard.org BeagleBone Black RevD and Industrial (00D0/EID0) are
redesigns of the BeagleBone Black Rev C3. They feature an IT66122 HDMI PHY to
replace the EOL NXP TDA19988. Additionally, these models include a larger eMMC
capacity to address the limited availability of 4GB modules.
> diff --git a/arch/arm/boot/dts/ti/omap/am335x-boneblack-ite-hdmi.dtsi b/arch/arm/boot/dts/ti/omap/am335x-boneblack-ite-hdmi.dtsi
> new file mode 100644
> index 0000000000000..77dd7d9aa57d9
> --- /dev/null
> +++ b/arch/arm/boot/dts/ti/omap/am335x-boneblack-ite-hdmi.dtsi
> @@ -0,0 +1,184 @@
[ ... ]
> +&lcdc {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
> +
> + /* If you want to get 24 bit RGB and 16 BGR mode instead of
> + * current 16 bit RGB and 24 BGR modes, set the propety
> + * below to "crossed" and uncomment the video-ports -property
> + * in tda19988 node.
> + */
[Severity: Low]
Is this comment still accurate? The comment instructs to uncomment a property
in the tda19988 node, but the Rev D board replaced this chip with the IT66122.
> + blue-and-red-wiring = "straight";
> +
> + port {
> + lcdc_0: endpoint@0 {
[Severity: Low]
Does this node need a matching reg property? The node uses a unit address
(endpoint@0) but lacks a corresponding reg = <0>; property, which can
trigger devicetree compiler unit_address_vs_reg warnings.
> + remote-endpoint = <&it66122_in>;
> + };
> + };
> +};
> +
> +&i2c0 {
> + it66122: bridge-hdmi@4c {
> + compatible = "ite,it66122";
> + reg = <0x4c>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&hdmi_gpio_pins_default>;
> + vcn33-supply = <&vmmcsd_fixed>;
> + vcn18-supply = <&it66122_vcn18_fixed>;
> + vrf12-supply = <&it66122_vcn12_fixed>;
> + reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
> + interrupt-parent = <&gpio1>;
> + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
[Severity: Medium]
Should this interrupt trigger type be level-low instead of edge-falling?
I2C bridge chips like the IT66122 use active-low, open-drain interrupts.
If configured as edge-falling, a second interrupt condition occurring while
the line is already low won't generate a new falling edge. Because the kernel
uses a threaded interrupt handler for this device, this can race with the
clearing of the first event and lead to missed interrupts.
> + #sound-dai-cells = <0>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + it66122_in: endpoint {
> + bus-width = <24>;
[Severity: High]
Does this bus-width configuration mismatch the physical hardware?
The BeagleBone Black routes only 16 LCD data pins (LCD_DATA0 to LCD_DATA15)
for the display, as pins 16-23 are reserved for eMMC. This can be seen in
the pinmux setup in nxp_hdmi_bonelt_pins.
However, configuring the IT66122 endpoint for a 24-bit bus causes the
bridge driver to request a 24-bit input format. The bridge will then read
floating or eMMC data on its upper 8 bits, which leads to severely corrupted
video output on HDMI.
> + remote-endpoint = <&lcdc_0>;
> + };
> + };
[ ... ]
> diff --git a/arch/arm/boot/dts/ti/omap/am335x-boneblack-revd.dts b/arch/arm/boot/dts/ti/omap/am335x-boneblack-revd.dts
> new file mode 100644
> index 0000000000000..fe9536d5f55ea
> --- /dev/null
> +++ b/arch/arm/boot/dts/ti/omap/am335x-boneblack-revd.dts
> @@ -0,0 +1,166 @@
[ ... ]
> +/ {
> + model = "TI AM335x BeagleBone Black Rev D";
> + compatible = "beagle,am335x-bone-black-revd", "ti,am33xx";
[Severity: Medium]
Are the standard BeagleBone fallback identifiers intentionally omitted?
This compatible string omits standard fallbacks like "ti,am335x-bone-black"
and "ti,am335x-bone" used by all other variants. Without them, existing
userspace tools, cape managers, and distributions will fail to detect the
board and apply BeagleBone-specific quirks.
[Severity: Low]
Also, has the new board compatible string "beagle,am335x-bone-black-revd"
been documented in the Devicetree bindings? Omitting it from the bindings
will produce validation warnings during devicetree checks.
> +};
> +
> +&gpio0 {
[ ... ]
> +&gpio1 {
> + gpio-line-names =
> + "P8_25 [mmc1_dat0]",
> + "[mmc1_dat1]",
> + "P8_5 [mmc1_dat2]",
> + "P8_6 [mmc1_dat3]",
> + "P8_23 [mmc1_dat4]",
> + "P8_22 [mmc1_dat5]",
> + "P8_3 [mmc1_dat6]",
> + "P8_4 [mmc1_dat7]",
> + "NC",
> + "NC",
[Severity: Low]
Is this "NC" label accurate for GPIO1_9?
The am335x-boneblack-ite-hdmi.dtsi file routes the IT66122 bridge's
active-low reset to GPIO1_9. Retaining the old "NC" (Not Connected)
label masks the HDMI reset pin from userspace tools like libgpiod.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260901-v7-3-rc1-beaglebone-black-revd-v1-0-f521950b777a@gmail.com?part=2
next prev parent reply other threads:[~2026-09-01 21:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-01 21:42 [PATCH 0/3] Add support for BeagleBone Black RevD Robert Nelson
2026-09-01 21:42 ` [PATCH 1/3] dt-bindings: omap: Add " Robert Nelson
2026-09-01 21:51 ` sashiko-bot
2026-09-02 18:05 ` Conor Dooley
2026-09-01 21:42 ` [PATCH 2/3] arm: dts: omap: Add support for " Robert Nelson
2026-09-01 21:56 ` sashiko-bot [this message]
2026-09-01 21:42 ` [PATCH 3/3] arm: dts: ti: Enable overlays " Robert Nelson
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=20260901215659.265961F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robertcnelson@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 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.