[PATCH 10/13] arm64: dts: freescale: imx93-phyboard-segin: Add CAN support

Frank Li Frank.li at nxp.com
Fri Apr 11 07:30:18 PDT 2025


On Fri, Apr 11, 2025 at 10:08:21AM +0200, Primoz Fiser wrote:
> Hi Frank,
>
> On 10. 04. 25 17:23, Frank Li wrote:
> > On Thu, Apr 10, 2025 at 11:02:48AM +0200, Primoz Fiser wrote:
> >> Add support for CAN networking on phyBOARD-Segin-i.MX93 via the flexcan1
> >> interface. The CAN1_EN regulator enables the SN65HVD234 CAN transceiver
> >> chip.
> >
> > Can you use drivers/phy/phy-can-transceiver.c to enable CAN phy instead
> > of use hacked regulator-flexcan1-en.
>
> Sorry can't do.
>
> This doesn't align with other i.MX PHYTEC products using flexcan such as
> imx8mp-phyboard-pollux-rdk.dts.
>
> Even the i.MX93 EVK uses the same mechanism.

I think previous method is NOT good enough. Suggest involve CAN and PHY
maintainer to discuss these.

Frank

>
> BR,
> Primoz
>
>
> >
> > Frank
> >
> >>
> >> Signed-off-by: Primoz Fiser <primoz.fiser at norik.com>
> >> ---
> >>  .../dts/freescale/imx93-phyboard-segin.dts    | 32 +++++++++++++++++++
> >>  1 file changed, 32 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/freescale/imx93-phyboard-segin.dts b/arch/arm64/boot/dts/freescale/imx93-phyboard-segin.dts
> >> index 38b89398e646..027a34dbaf04 100644
> >> --- a/arch/arm64/boot/dts/freescale/imx93-phyboard-segin.dts
> >> +++ b/arch/arm64/boot/dts/freescale/imx93-phyboard-segin.dts
> >> @@ -26,6 +26,17 @@ chosen {
> >>  		stdout-path = &lpuart1;
> >>  	};
> >>
> >> +	reg_flexcan1_en: regulator-flexcan1-en {
> >> +		compatible = "regulator-fixed";
> >> +		enable-active-high;
> >> +		gpio = <&gpio4 16 GPIO_ACTIVE_HIGH>;
> >> +		pinctrl-names = "default";
> >> +		pinctrl-0 = <&pinctrl_reg_flexcan1_en>;
> >> +		regulator-max-microvolt = <3300000>;
> >> +		regulator-min-microvolt = <3300000>;
> >> +		regulator-name = "CAN1_EN";
> >> +	};
> >> +
> >>  	reg_usdhc2_vmmc: regulator-usdhc2 {
> >>  		compatible = "regulator-fixed";
> >>  		enable-active-high;
> >> @@ -38,6 +49,14 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
> >>  	};
> >>  };
> >>
> >> +/* CAN */
> >> +&flexcan1 {
> >> +	pinctrl-names = "default";
> >> +	pinctrl-0 = <&pinctrl_flexcan1>;
> >> +	xceiver-supply = <&reg_flexcan1_en>;
> >> +	status = "okay";
> >> +};
> >> +
> >>  /* I2C2 */
> >>  &lpi2c2 {
> >>  	clock-frequency = <400000>;
> >> @@ -79,6 +98,19 @@ &usdhc2 {
> >>  };
> >>
> >>  &iomuxc {
> >> +	pinctrl_flexcan1: flexcan1grp {
> >> +		fsl,pins = <
> >> +			MX93_PAD_PDM_BIT_STREAM0__CAN1_RX	0x139e
> >> +			MX93_PAD_PDM_CLK__CAN1_TX		0x139e
> >> +		>;
> >> +	};
> >> +
> >> +	pinctrl_reg_flexcan1_en: regflexcan1engrp {
> >> +		fsl,pins = <
> >> +			MX93_PAD_ENET2_TD3__GPIO4_IO16		0x31e
> >> +		>;
> >> +	};
> >> +
> >>  	pinctrl_lpi2c2: lpi2c2grp {
> >>  		fsl,pins = <
> >>  			MX93_PAD_I2C2_SCL__LPI2C2_SCL		0x40000b9e
> >> --
> >> 2.34.1
> >>
>
> --
> Primoz Fiser
> phone: +386-41-390-545
> email: primoz.fiser at norik.com
> --
> Norik systems d.o.o.
> Your embedded software partner
> Slovenia, EU
> phone: +386-41-540-545
> email: info at norik.com



More information about the linux-arm-kernel mailing list