工具与软件:
您好、TI 专家:
我想在 Linux 端使用 mcan0器件。 因此、我 在 k3-am62a7-sk.dts 中添加一个新节点 、如下所示:
kernel/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts:
////// Add by mason 2024/11/07 begin ////
别名{
Serial0 =&MCU_uart0;
SERIAL1 =&wkup_uart0;
SERIAL2 =&MAIN_UART0;
mmc0 =&sdhci0;
mmc1 =&sdhci1;
Ethernet0 =&cpsw_port1;
spi0 =对象0 (&O);
CAN0 =&nullmax_CAN;
};
MAIN_mcan0_PINS_DEFAULT:MAIN-mcan0-PINS-DEFAULT{
PINCTL-SINGLE、PINS =<
AM62PX_IOPAD (0x41DC、PIN_INPUT、0)/*(C18) MCAN0_RX */
AM62PX_IOPAD (0x41D8、PIN_OUTPUT、0)/*(B17) MCAN0_TX */
/* AM62PX_IOPAD (0x41D0、PIN_OUTPUT、7)(F14) UART0_CTSn、SOC_CAN0_STBz */
>;
};
Transceiver1: can-phy0 {
兼容="ti、TJA1051TK";
#phy-cells =<0>;
最大比特率=<5000000>;
};
nullmax_can:mason_canfd{
状态="正常";
兼容="Bosch、m_can";
pinctrl-names ="默认值";
pinctrl-0 =<&MAIN_mcan0_PINS_DEFAULT>;
phys=<&transceiver1>;
REG =<0x00 0x20701000 0x00 0x200>
<0x00 0x20708000 0x00 0x8000>;
reg-names ="m_can"、"message_ram";
电源域=<&K3_PDS 98 TI_SCI_PD_Exclusive>;
时钟=<&K3_CLKS 98 6>、<&K3_CLKS 98 1>;
时钟名称="hclk"、"cclk";
/*======== GICSS0_COMMON_0_INTERRUPT_MAP TRM 页:1231 =====================
MCAN0_COMMON_0_MCANSS_EXT_TS_ROLLOSS_LVL_INT_0 GICSS0_COMMON_0_SPI_IN_186
MCAN0_COMMON_0_MCANSS_MCAN_LVL_INT_0 GICSS0_COMMON_0_SPI_IN_187
MCAN0_COMMON_0_MCANSS_MCAN_LVL_INT_1、GICSS0_COMMON_0_SPI_IN_188
*/
中断= 、
;
中断名称="int0"、"int1";
Bosch、MRAM-cfg =<0x0 128 64 64 64 32 32>;
};
////// 添加由 mason 2024/11/07结束////
};
并删除 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi 中的 main_mcan0节点、如下所示:
/*
MAIN_MCAN0:CAN@20701000{
兼容="Bosch、m_can";
REG =<0x00 0x20701000 0x00 0x200>
<0x00 0x20708000 0x00 0x8000>;
reg-names ="m_can"、"message_ram";
电源域=<&K3_PDS 98 TI_SCI_PD_Exclusive>;
时钟=<&K3_CLKS 98 6>、<&K3_CLKS 98 1>;
时钟名称="hclk"、"cclk";
中断= 、
;
中断名称="int0"、"int1";
Bosch、MRAM-cfg =<0x0 128 64 64 64 32 32>;
状态="已禁用";
};*/
在更新 DTB 并重新启动 Linux 之后。 我找不到 CAN0器件:

我喜欢通过 dmesg 命令出错:

在 MCU1-0中、只能使用 MCU_CAN0和 MCU_CAN1。
SDK 版本:9.2
能否帮助我分析根本原因?
谢谢。










