主题中讨论的其他器件:TCAN4550、
您好!
我们计划在嵌入式 Linux 6.1 SDK 中的 SPI 下设置 tcan4550
我们需要查看 SPI 线路在引导时发送时钟-但无法使 Tcan 正常工作
现在、我们使用 tcan4550evm 板-将 SPI 连接到 SPI
并将 PIN16连接到 VBAT、以便为器件
这是我们正在使用的设备树:
SPI1:SPI@fc000000{ //使用 PA16在 SPI1上进行加电
pinctrl-names ="默认";
pinctrl-0 =<&pinctrL_SPI1_default>
Clocks =&&PMC PMC_TYPE_PERIOD 34>;
时钟名称="spi_clk";
状态="可以";
// spidev@0{
// compatible ="spidev";
// reg =<0>;
// SPI-max-frequency =<100000>;
// #address-sells =<1>;
// #size-cells =<1>;
//};
tcan:can@0 {
// Device_Tree: https://docs.zephyrproject.org/latest/build/dts/api/bindings/can/ti,tcan4x5x.html
//驱动程序: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/can/m_can
//示例: https://stackoverflow.com/questions/41828308/reading-writing-spi-devices
兼容="ti、tcan4x5x";
寄存器=<0>;
#address-Cells =<1>;
#size-cells =<1>;
SPI-max-frequency =<1000000>;
// Clocks =<&main_xtal>;
时钟频率=<20000000>;
Clocks =&&PMC PMC_TYPE_PERIOD 34>;
时钟名称="spi_clk";
// clock-names ="spi_clk";
// device-state-gpio =<&pioA PIN_PA16 GPIO_ACTIVE_HIGH>;
// DEVICE-WAKE-GPIO =<&GPIO0 1 GPIO_ACTIVE_HIGH>;
// RESET-GPIO =<&GPIO0 2 GPIO_ACTIVE_HIGH>;
INT-GPIO =<&pioA PIN_PC5 GPIO_ACTIVE_HIGH>;
// Bosch、MRAM-cfg =<0x0 15 5 5 0 10 10>;
Bosch、MRAM-cfg =<0x0 0 0 16 0 1 1>;
总线速度=<25000>;
bus-speed-data =<1000000>;
状态="已禁用";
// CAN 收发器{
// 最大比特率=<8000000>;
//};
};
};
在演示中、我们得到:
dmesg | grep SPI
Atmel_SPI fc000000.spi:使用 dma0chan0 (tx)和 dma0chan1 (Rx)进行 DMA 传输
Atmel_SPI fc000000.SPI:使用 FIFO (16个数据)
Atmel_SPI fc000000.spi:注册的主器件 spi3
SPI spi3.0:设置:BPW 8模式0x0 -> csr0 0000000a
SPI spi3.0:停用 NPCS、MR 000f0031
SPI spi3.0:设置模式0、8位/w、最大1000000 Hz --> 0
Atmel_SPI fc000000.spi:注册的子级 spi3.0
Atmel_SPI fc000000.SPI:0xfc000000的 Atmel SPI 控制器版本0x311 (IRQ 153)
tcan4x5x spi3.0:找不到时钟
tcan4x5x spi3.0:未定义 CAN 时钟源
tcan4x5x spi3.0:设置:bpw 8模式0x0 -> csr0 0000000a
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:设置模式0、8位/w、最大1000000 Hz --> 0
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:激活 NPCS、MR 000e0031
Atmel_spi fc000000.spi: 开始 fio xfer (ptrval):len 8 tx (ptrval) rx (ptrval) bitpw 8
tcan4x5x spi3.0:停用 NPCS、MR 000f0031
tcan4x5x spi3.0:不支持的版本号: 0
tcan4x5x:spi3.0的探测器失败,错误-22
有人能指出缺少什么吗? 问题是什么?
或在哪里搜索问题?
谢谢!