IMX8ulp flexCAN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IMX8ulp flexCAN

跳至解决方案
2,003 次查看
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,912 次查看
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,973 次查看
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,968 次查看
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,913 次查看
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,883 次查看
wendy-liu
Contributor II
Yes, I see.Thanks a lot!
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2040549%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX8ulp%20flexCAN%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2040549%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20all%EF%BC%8C%3C%2FP%3E%3CP%3E%3CSPAN%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E8%B0%83%E8%AF%95CAN%E9%80%9A%E4%BF%A1%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%86%E6%98%AF%E5%9C%A8dtb%E6%96%87%E4%BB%B6%E4%B8%AD%E6%89%BE%E4%B8%8D%E5%88%B0flexCAN%E8%AE%BE%E5%A4%87%E8%8A%82%E7%82%B9%E3%80%82%E5%A6%82%E6%9E%9C%E6%88%91%E6%83%B3%E8%AE%A9%E5%AE%83%E5%B7%A5%E4%BD%9C%EF%BC%8C%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E9%A1%BA%E7%A5%9D%E5%95%86%E7%A5%BA%EF%BC%81%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2040549%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX8ULP%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2044989%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9AIMX8ulp%20flexCAN%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2044989%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%98%AF%E7%9A%84%EF%BC%8C%E6%88%91%E6%98%8E%E7%99%BD%E4%BA%86%E3%80%82%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%EF%BC%81%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2044478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9AIMX8ulp%20flexCAN%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2044478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E5%88%9A%E5%88%9A%E6%94%B6%E5%88%B0%20SE%20%E5%9B%A2%E9%98%9F%E7%9A%84%E7%A1%AE%E8%AE%A4%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EFlexCAN%20%E5%B1%9E%E4%BA%8E%E5%AE%9E%E6%97%B6%E9%A2%86%E5%9F%9F%EF%BC%8C%E5%9B%A0%E6%AD%A4%20Linux%20%E4%B8%8D%E6%94%AF%E6%8C%81%E5%AE%83%E3%80%82%E4%BB%85%E5%8F%AF%E7%94%B1%20M%20%E6%A0%B8%E5%BF%83%E8%AE%BF%E9%97%AE%E3%80%82%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%9C%A8%20SDK%20%E4%B8%AD%E6%89%BE%E5%88%B0%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%92%8C%E7%9B%B8%E5%85%B3%E7%A4%BA%E4%BE%8B%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2040703%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9AIMX8ulp%20flexCAN%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2040703%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%98%AF%E7%9A%84%EF%BC%8C%E6%88%91%E7%9F%A5%E9%81%93%E6%88%91%E5%8F%AF%E4%BB%A5%E5%8F%82%E8%80%83%E5%85%B6%E4%BB%96%20dts%EF%BC%8C%E4%BD%86%E6%98%AF%E6%88%91%E5%A6%82%E4%BD%95%E5%8F%82%E8%80%83%E6%97%B6%E9%92%9F%E5%92%8C%E4%B8%AD%E6%96%AD%EF%BC%9F%E8%BF%99%E4%BA%9B%E4%B8%8E%E7%A1%AC%E4%BB%B6%E5%AF%86%E5%88%87%E7%9B%B8%E5%85%B3%E3%80%82%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2040698%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9AIMX8ulp%20flexCAN%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2040698%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%AF%B7%E5%8F%82%E8%80%83Linux%20Kernel%E4%B8%ADarch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mp.dtsi%E4%B8%AD%E7%9A%84%E4%BB%A5%E4%B8%8B%E5%AE%9A%E4%B9%89%E3%80%82%3C%2FP%3E%0A%3CP%3Eflexcan1%EF%BC%9Acan%40308c0000%7B%3CBR%20%2F%3E%E5%85%BC%E5%AE%B9%3D%E2%80%9Cfsl%EF%BC%8Cimx8mp%20flexcan%E2%80%9D%EF%BC%9B%3CBR%20%2F%3E%20reg%20%3D%20%26lt%3B0x308c0000%200x10000%26gt%3B%3B%3CBR%20%2F%3E%E4%B8%AD%E6%96%AD%20%3D%20%3CGIC_SPI%20142%3D%22%22%20irq_type_level_high%3D%22%22%3E%3B%3CBR%20%2F%3E%E6%97%B6%E9%92%9F%3D%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_IPG_ROOT%26gt%3B%EF%BC%8C%3CBR%20%2F%3E%20%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_CAN1_ROOT%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E6%97%B6%E9%92%9F%E5%90%8D%E7%A7%B0%3D%E2%80%9Cipg%E2%80%9D%EF%BC%8C%E2%80%9Cper%E2%80%9D%EF%BC%9B%3CBR%20%2F%3E%E5%88%86%E9%85%8D%E6%97%B6%E9%92%9F%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_CAN1%26gt%3B%3B%3CBR%20%2F%3E%E5%88%86%E9%85%8D%E7%9A%84%E6%97%B6%E9%92%9F%E7%88%B6%E7%BA%A7%3D%26lt%3B%26amp%3Bclk%20IMX8MP_SYS_PLL1_40M%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E5%88%86%E9%85%8D%E7%9A%84%E6%97%B6%E9%92%9F%E9%80%9F%E7%8E%87%3D%26lt%3B40000000%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%20fsl%EF%BC%8Cclk%E6%BA%90%3D%2F%E4%BD%8D%2F%208%20%26lt%3B0%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%20fsl%EF%BC%8C%E5%81%9C%E6%AD%A2%E6%A8%A1%E5%BC%8F%3D%26lt%3B%26amp%3Bgpr%200x10%204%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E7%8A%B6%E6%80%81%3D%E2%80%9C%E5%B7%B2%E7%A6%81%E7%94%A8%E2%80%9D%EF%BC%9B%3CBR%20%2F%3E%20%7D%3B%3C%2FGIC_SPI%3E%3C%2FP%3E%0A%3CP%3Eflexcan2%EF%BC%9Acan%40308d0000%7B%3CBR%20%2F%3E%E5%85%BC%E5%AE%B9%3D%E2%80%9Cfsl%EF%BC%8Cimx8mp%20flexcan%E2%80%9D%EF%BC%9B%3CBR%20%2F%3E%E6%B3%A8%E5%86%8C%3D%26lt%3B0x308d0000%200x10000%26gt%3B%3B%3CBR%20%2F%3E%E4%B8%AD%E6%96%AD%20%3D%20%3CGIC_SPI%20144%3D%22%22%20irq_type_level_high%3D%22%22%3E%3B%3CBR%20%2F%3E%E6%97%B6%E9%92%9F%3D%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_IPG_ROOT%26gt%3B%EF%BC%8C%3CBR%20%2F%3E%20%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_CAN2_ROOT%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E6%97%B6%E9%92%9F%E5%90%8D%E7%A7%B0%3D%E2%80%9Cipg%E2%80%9D%EF%BC%8C%E2%80%9Cper%E2%80%9D%EF%BC%9B%3CBR%20%2F%3E%E5%88%86%E9%85%8D%E6%97%B6%E9%92%9F%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_CAN2%26gt%3B%3B%3CBR%20%2F%3E%E5%88%86%E9%85%8D%E7%9A%84%E6%97%B6%E9%92%9F%E7%88%B6%E7%BA%A7%3D%26lt%3B%26amp%3Bclk%20IMX8MP_SYS_PLL1_40M%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E5%88%86%E9%85%8D%E7%9A%84%E6%97%B6%E9%92%9F%E9%80%9F%E7%8E%87%3D%26lt%3B40000000%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%20fsl%EF%BC%8Cclk%E6%BA%90%3D%2F%E4%BD%8D%2F%208%20%26lt%3B0%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%20fsl%EF%BC%8C%E5%81%9C%E6%AD%A2%E6%A8%A1%E5%BC%8F%3D%26lt%3B%26amp%3Bgpr%200x10%205%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E7%8A%B6%E6%80%81%3D%E2%80%9C%E5%B7%B2%E7%A6%81%E7%94%A8%E2%80%9D%EF%BC%9B%3CBR%20%2F%3E%20%7D%3B%3CBR%20%2F%3E%20%7D%3B%3C%2FGIC_SPI%3E%3C%2FP%3E%0A%3CP%3E%E4%BB%A5%E5%8F%8A%20arch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mp-evk.dts%20%E4%B8%AD%E7%9A%84%E4%BB%A5%E4%B8%8B%E5%AE%9A%E4%B9%89%E3%80%82%3CBR%20%2F%3E%26amp%3Bflexcan1%20%7B%3CBR%20%2F%3E%20pinctrl%20%E5%90%8D%E7%A7%B0%20%3D%20%E2%80%9C%E9%BB%98%E8%AE%A4%E2%80%9D%EF%BC%9B%3CBR%20%2F%3E%20pinctrl-0%3D%26lt%3B%26amp%3Bpinctrl_flexcan1%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E6%8E%A5%E6%94%B6%E5%99%A8%E7%94%B5%E6%BA%90%20%3D%20%26lt%3B%26amp%3Breg_can1_stby%26gt%3B%3B%3CBR%20%2F%3E%E7%8A%B6%E6%80%81%20%3D%20%E2%80%9C%E5%A5%BD%E7%9A%84%E2%80%9D%3B%3CBR%20%2F%3E%20%7D%3B%3C%2FP%3E%0A%3CP%3E%26amp%3Bflexcan2%20%7B%3CBR%20%2F%3E%20pinctrl%20%E5%90%8D%E7%A7%B0%20%3D%20%E2%80%9C%E9%BB%98%E8%AE%A4%E2%80%9D%EF%BC%9B%3CBR%20%2F%3E%20pinctrl-0%3D%26lt%3B%26amp%3Bpinctrl_flexcan2%26gt%3B%EF%BC%9B%3CBR%20%2F%3E%E6%8E%A5%E6%94%B6%E5%99%A8%E7%94%B5%E6%BA%90%20%3D%20%26lt%3B%26amp%3Breg_can2_stby%26gt%3B%3B%3CBR%20%2F%3E%20pinctrl%20%E6%96%AD%E8%A8%80%20gpios%20%3D%20%26lt%3B%26amp%3Bpca6416%203%20GPIO_ACTIVE_HIGH%26gt%3B%3B%3CBR%20%2F%3E%20status%20%3D%20%22disabled%22%3B%2F*%20can2%20%E5%BC%95%E8%84%9A%E4%B8%8E%20pdm%20%E5%86%B2%E7%AA%81%20*%2F%3CBR%20%2F%3E%20%7D%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E