RE: [EXT] Re: [PATCH 2/2] arm64: dts: freescale: add i.MX952 FRDM Board support device tree
Joseph Guo <[email protected]>
| Newsgroups | dev.linux.lists.imx,dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-devicetree |
|---|---|
| Message-ID | <MRWPR04MB12117DA2847C308FDF2108B7394C12@MRWPR04MB12117.eurprd04.prod.outlook.com> |
> > On Mon, Jul 20, 2026 at 03:03:20PM +0800, Joseph Guo wrote: > > On 7/20/2026 2:55 PM, [email protected] wrote: > > > [You don't often get email from [email protected]. Learn why > > > this is important at https://aka.ms/LearnAboutSenderIdentification ] > > > > > > Caution: This is an external email. Please take care when clicking > > > links or opening attachments. When in doubt, report the message > > > using the 'Report this email' button > > > > > > > > > Thank you for your contribution! Sashiko AI review found 2 potential > issue(s) to consider: > > > - [High] Shared GPIO requested exclusively by two CAN transceivers > causes probe failure for the second transceiver. > > > - [Low] Use of undocumented, downstream-only device tree property > `fsl,cd-gpio-wakeup-disable`. > > > -- > > > > > > --- Patch [2]: [PATCH 2/2] arm64: dts: freescale: add i.MX952 FRDM > > > Board support device tree --- commit > > > 8bbcb28d08a05e0f4c57023333492b4e023f7caf > > > Author: Joseph Guo <[email protected]> > > > > > > arm64: dts: freescale: add i.MX952 FRDM Board support device tree > > > > > > Add basic device tree support for i.MX952 FRDM Board. The > > > board-common hardware description is placed in imx952-frdm.dtsi so > > > that it can be shared with future i.MX952-based FRDM derivative boards. > > > > > >> diff --git a/arch/arm64/boot/dts/freescale/imx952-frdm.dtsi > > >> b/arch/arm64/boot/dts/freescale/imx952-frdm.dtsi > > >> new file mode 100644 > > >> index 0000000000000..b9ef6bec2bd5a > > >> --- /dev/null > > >> +++ b/arch/arm64/boot/dts/freescale/imx952-frdm.dtsi > > >> @@ -0,0 +1,727 @@ > > > [ ... ] > > >> + flexcan2_phy: can-phy0 { > > >> + compatible = "nxp,tja1051"; > > >> + #phy-cells = <0>; > > >> + max-bitrate = <8000000>; > > >> + silent-gpios = <&pcal6416 6 GPIO_ACTIVE_HIGH>; > > >> + }; > > >> + > > >> + flexcan3_phy: can-phy1 { > > >> + compatible = "nxp,tja1051"; > > >> + #phy-cells = <0>; > > >> + max-bitrate = <8000000>; > > >> + silent-gpios = <&pcal6416 6 GPIO_ACTIVE_HIGH>; > > > > > > [Severity: High] > > > Does this cause a probe failure for the second transceiver? > > > > > > The first PHY node successfully requests this GPIO line, taking > > > exclusive ownership. Because the phy-can-transceiver driver uses > > > standard exclusive requests (without > GPIOD_FLAGS_BIT_NONEXCLUSIVE), > > > the second request for the exact same GPIO line fails with -EBUSY. > > > > > > This prevents the flexcan3_phy and the flexcan3 controller from > > > probing and functioning. > > > > > > > This two CAN PHY did share same pin as their silent-gpio on hardware. > > Hardware share gpio, but driver may not handle this case. Are you sure > > flexcan3_phy probed if can-phy0 already probed? > > Frank > Hi Frank, root@imx952-15x15-lpddr5-frdm:~# ls /sys/bus/platform/drivers/flexcan/ 421d0000.can 42220000.can bind module uevent unbind root@imx952-15x15-lpddr5-frdm:~# ls /sys/bus/platform/drivers/can-transceiver-phy/ bind can-phy0 can-phy1 module uevent unbind From the log I think both can-phy probe successfully. Regards, Joseph > > > > The same design on i.MX95 15x15 FRDM. This should be fine. > > > > Regards, > > Joseph > > > > >> + }; > > > [ ... ] > > >> +&usdhc2 { > > >> + bus-width = <4>; > > >> + cd-gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; > > >> + pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; > > >> + pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; > > >> + pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; > > >> + pinctrl-3 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; > > >> + pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; > > >> + vmmc-supply = <®_usdhc2_vmmc>; > > >> + fsl,cd-gpio-wakeup-disable; > > > > > > [Severity: Low] > > > Is this out-of-tree vendor property invalid in the upstream kernel? > > > > > > The property fsl,cd-gpio-wakeup-disable does not exist in any > > > upstream device tree bindings (such as fsl-imx-esdhc.yaml) and is > > > not handled by any driver code in the upstream Linux tree. This acts > > > as dead code and will trigger `make dtbs_check` validation warnings. > > > > > >> + status = "okay"; > > >> +}; > > > > > > -- > > > Sashiko AI review * > > > https://sashiko.dev/#/patchset/20260720-imx952_frdm-v1-0- > 6d145eaaa5c > > > [email protected]?part=2 > > > > -- > > Best Regards, > > Joseph