The TJA1048 used on i.MX8MP-EVK is actually high-speed CAN
transceiver, not a regulator supply. So use phys to reflect the truth.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 43 +++++++++-------------------
1 file changed, 13 insertions(+), 30 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index c0cc5611048e6a739f13c14bbd2e7b26f2715696..d238d419d87cc7c99d472720c96aade90275cb0f 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -56,6 +56,16 @@ memory@40000000 {
<0x1 0x00000000 0 0xc0000000>;
};
+ flexcan_phy: can-phy {
+ compatible = "nxp,tja1048";
+ #phy-cells = <1>;
+ max-bitrate = <5000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan_phy>;
+ standby-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>,
+ <&gpio4 27 GPIO_ACTIVE_LOW>;
+ };
+
native-hdmi-connector {
compatible = "hdmi-connector";
label = "HDMI OUT";
@@ -103,28 +113,6 @@ reg_audio_pwr: regulator-audio-pwr {
enable-active-high;
};
- reg_can1_stby: regulator-can1-stby {
- compatible = "regulator-fixed";
- regulator-name = "can1-stby";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_flexcan1_reg>;
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- };
-
- reg_can2_stby: regulator-can2-stby {
- compatible = "regulator-fixed";
- regulator-name = "can2-stby";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_flexcan2_reg>;
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- };
-
reg_pcie0: regulator-pcie {
compatible = "regulator-fixed";
pinctrl-names = "default";
@@ -431,14 +419,14 @@ ethphy1: ethernet-phy@1 {
&flexcan1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan1>;
- xceiver-supply = <®_can1_stby>;
+ phys = <&flexcan_phy 0>;
status = "okay";
};
&flexcan2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan2>;
- xceiver-supply = <®_can2_stby>;
+ phys = <&flexcan_phy 1>;
status = "disabled";/* can2 pin conflict with pdm */
};
@@ -903,14 +891,9 @@ MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154
>;
};
- pinctrl_flexcan1_reg: flexcan1reggrp {
+ pinctrl_flexcan_phy: flexcanphygrp {
fsl,pins = <
MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x154 /* CAN1_STBY */
- >;
- };
-
- pinctrl_flexcan2_reg: flexcan2reggrp {
- fsl,pins = <
MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x154 /* CAN2_STBY */
>;
};
--
2.37.1
On Mon, Aug 25, 2025 at 04:36:45PM +0800, Peng Fan wrote: > The TJA1048 used on i.MX8MP-EVK is actually high-speed CAN > transceiver, not a regulator supply. So use phys to reflect the truth. nit: wrap at 75 chars. 'transceiver', should be at first line. Reviewed-by: Frank Li <Frank.Li@nxp.com> > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 43 +++++++++------------------- > 1 file changed, 13 insertions(+), 30 deletions(-) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts > index c0cc5611048e6a739f13c14bbd2e7b26f2715696..d238d419d87cc7c99d472720c96aade90275cb0f 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts > @@ -56,6 +56,16 @@ memory@40000000 { > <0x1 0x00000000 0 0xc0000000>; > }; > > + flexcan_phy: can-phy { > + compatible = "nxp,tja1048"; > + #phy-cells = <1>; > + max-bitrate = <5000000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_flexcan_phy>; > + standby-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>, > + <&gpio4 27 GPIO_ACTIVE_LOW>; > + }; > + > native-hdmi-connector { > compatible = "hdmi-connector"; > label = "HDMI OUT"; > @@ -103,28 +113,6 @@ reg_audio_pwr: regulator-audio-pwr { > enable-active-high; > }; > > - reg_can1_stby: regulator-can1-stby { > - compatible = "regulator-fixed"; > - regulator-name = "can1-stby"; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_flexcan1_reg>; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>; > - enable-active-high; > - }; > - > - reg_can2_stby: regulator-can2-stby { > - compatible = "regulator-fixed"; > - regulator-name = "can2-stby"; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_flexcan2_reg>; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>; > - enable-active-high; > - }; > - > reg_pcie0: regulator-pcie { > compatible = "regulator-fixed"; > pinctrl-names = "default"; > @@ -431,14 +419,14 @@ ethphy1: ethernet-phy@1 { > &flexcan1 { > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_flexcan1>; > - xceiver-supply = <®_can1_stby>; > + phys = <&flexcan_phy 0>; > status = "okay"; > }; > > &flexcan2 { > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_flexcan2>; > - xceiver-supply = <®_can2_stby>; > + phys = <&flexcan_phy 1>; > status = "disabled";/* can2 pin conflict with pdm */ > }; > > @@ -903,14 +891,9 @@ MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154 > >; > }; > > - pinctrl_flexcan1_reg: flexcan1reggrp { > + pinctrl_flexcan_phy: flexcanphygrp { > fsl,pins = < > MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x154 /* CAN1_STBY */ > - >; > - }; > - > - pinctrl_flexcan2_reg: flexcan2reggrp { > - fsl,pins = < > MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x154 /* CAN2_STBY */ > >; > }; > > -- > 2.37.1 >
© 2016 - 2025 Red Hat, Inc.