IMX8ulp flexCAN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
1,166件の閲覧回数
wendy-liu
Contributor II

Hi all,

    I am debugging the CAN communication function, but I cannot find the flexCAN device node in the dtb file. If I want to get it working, what's the solution?

Best regards!

 

ラベル(1)
タグ(1)
0 件の賞賛
返信
1 解決策
1,075件の閲覧回数
yipingwang
NXP TechSupport
NXP TechSupport

I just got the confirmation from the SE team.

FlexCAN is in realtime domain so it is not supported in Linux. It can only be accessed by M core. You can find driver and related examples in SDK.

元の投稿で解決策を見る

0 件の賞賛
返信
4 返答(返信)
1,136件の閲覧回数
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the following definition in arch/arm64/boot/dts/freescale/imx8mp.dtsi in Linux Kernel.

flexcan1: can@308c0000 {
compatible = "fsl,imx8mp-flexcan";
reg = <0x308c0000 0x10000>;
interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MP_CLK_IPG_ROOT>,
<&clk IMX8MP_CLK_CAN1_ROOT>;
clock-names = "ipg", "per";
assigned-clocks = <&clk IMX8MP_CLK_CAN1>;
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>;
assigned-clock-rates = <40000000>;
fsl,clk-source = /bits/ 8 <0>;
fsl,stop-mode = <&gpr 0x10 4>;
status = "disabled";
};

flexcan2: can@308d0000 {
compatible = "fsl,imx8mp-flexcan";
reg = <0x308d0000 0x10000>;
interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MP_CLK_IPG_ROOT>,
<&clk IMX8MP_CLK_CAN2_ROOT>;
clock-names = "ipg", "per";
assigned-clocks = <&clk IMX8MP_CLK_CAN2>;
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>;
assigned-clock-rates = <40000000>;
fsl,clk-source = /bits/ 8 <0>;
fsl,stop-mode = <&gpr 0x10 5>;
status = "disabled";
};
};

And the following definition in arch/arm64/boot/dts/freescale/imx8mp-evk.dts.
&flexcan1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan1>;
xceiver-supply = <&reg_can1_stby>;
status = "okay";
};

&flexcan2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan2>;
xceiver-supply = <&reg_can2_stby>;
pinctrl-assert-gpios = <&pca6416 3 GPIO_ACTIVE_HIGH>;
status = "disabled";/* can2 pin conflict with pdm */
};

0 件の賞賛
返信
1,131件の閲覧回数
wendy-liu
Contributor II
yeah, I know I can refer to other dts, but how do I reference the clock and interrupts? These are strongly related to hardware.
0 件の賞賛
返信
1,076件の閲覧回数
yipingwang
NXP TechSupport
NXP TechSupport

I just got the confirmation from the SE team.

FlexCAN is in realtime domain so it is not supported in Linux. It can only be accessed by M core. You can find driver and related examples in SDK.

0 件の賞賛
返信
1,046件の閲覧回数
wendy-liu
Contributor II
Yes, I see.Thanks a lot!
0 件の賞賛
返信