Other Parts Discussed in Thread: DRA722
主题中讨论的其他器件:DRA722
工具/软件:Linux
我一直在尝试在 Linux 上识别3个外部 MCP25625 Microchip CAN 器件、但我没有取得太大的成功。
DCAN1和 DCAN2用作 CAN0和 CAN1
我希望看到其他三个分别为 CAN2、CAN3和 CAN4
这三个器件都连接到 SPI1
GPIO6_7 B16上第一个器件的 int
GPIO6_8 C15上第二个器件的 INT
GPIO6_9 A16上第三个器件的 int
SPI1 cs0 A24
SPI1 CS1 A22
SPI1 CS2 B21
SPI1 SCLK A25
SPI1 d0 B25 -> CAN SI
SPI1 D1 F16 ->可以
FIRS 器件具有16MHz xtal、CLKOUT 连接到其他2个器件
我的 Linux 设备树条目是否正确?
时钟{
clk16m:CLK@1{
兼容="固定时钟";
reg=<0>;
#clock-cells =<0>;
时钟频率=<16000000>;
clock-output-names ="clk16m";
};
};
mcspi1_pins:pinmux_mcspi1_pins{
pinctrl-single、pins =<
0x3a4 (PIN_OUTPUT | MUX_MODE0) /* SPI1_SCLK/SPI1_SCLK *
0x3ac (PIN_INPUT | MUX_MODE0) /* SPI1_d0.SPI1_d0 *
0x3a8 (PIN_OUTPUT | MUX_MODE0) /* SPI1_D1.SPI1_D1 *
0x380 (PIN_OUTPUT | MUX_MODE0) /* SPI1_cs0.SPI1_cs0 *
0x384 (PIN_OUTPUT | MUX_MODE0) /* SPI1_CS1.SPI1_cs0 *
0x388 (PIN_OUTPUT | MUX_MODE0 | SLEWCONTROL) /* SPI1_CS2.SPI1_cs0 *
>;
};
mcspi1{(&M)
pinctrl-names ="default";
pinctrl-0 =<&mcspi1_PINs>;
Dcan3:Dcan3@0{
状态="正常";
兼容="微芯片、MCP2515";
reg =<0>;
MODE =<0>;
时钟=<&clk16m>;
interrupt-parent =<&GPIO>;
中断=<199 IRQ_TYPE_LEVEL_LOW_>;
SPI-max-frequency =<10000000>;
mcp251x、enable-clkout =<1>;
};
Dcan4:Dcan4@1{
状态="正常";
兼容="微芯片、MCP2515";
reg =<1>;
MODE =<0>;
时钟=<&clk16m>;
interrupt-parent =<&GPIO>;
中断=<200 IRQ_TYPE_LEVEL_LOW_>;
SPI-max-frequency =<10000000>;
};
Dcan5:Dcan5@2{
状态="正常";
兼容="微芯片、MCP2515";
reg =<2>;
MODE =<0>;
时钟=<&clk16m>;
interrupt-parent =<&GPIO>;
中断=<201 IRQ_TYPE_LEVEL_LOW_>;
SPI-max-frequency =<10000000>;
};
};
Linux 配置:
编号
#网络测试
编号
未设置# CONFIG_NET_PKTGEN
# CONFIG_HAMRADIO 未设置
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
未设置# CONFIG_CAN_GW
编号
# CAN 设备驱动程序
编号
未设置# CONFIG_CAN_VCAN
未设置# CONFIG_CAN_SLCAN
CONFIG_CAN_DEV_m
CONFIG_CAN_CAL_BITMING=y
未设置# CONFIG_CAN_LED
CONFIG_CAN_TI_HECC=m
未设置# CONFIG_CAN_FLEXCAN
未设置# CONFIG_CAN_GRCAN
未设置# CONFIG_CAN_RCAR
未设置# CONFIG_CAN_SJA1000
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_Platform=m
CONFIG_CAN_M_CAN=m
未设置# CONFIG_CAN_CC770
编号
# CAN SPI 接口
编号
CONFIG_CAN_MCP251X=m
CONFIG_SPI=y
CONFIG_SPI_DEBUG=y
CONFIG_SPI_MASTER=y
编号
# SPI 主控制器驱动程序
编号
CONFIG_SPI_OMAP24xx=y
在 u-boot 中
{SPI1_SCLK、(M0 | PIN_OUTPUT)}、 // SPI1_SCLK/SPI1_SCLK *
{SPI1_D1、(M0 | PIN_INPUT)}、 // SPI1_D1.SPI1_D1 *
{SPI1_D0、(M0 | PIN_OUTPUT)}、 // SPI1_d0.SPI1_d0 *
{SPI1_CS0、(M0 | PIN_OUTPUT)}、 // SPI1_cs0.SPI1_cs0 *
{SPI1_CS1、(M0 | PIN_OUTPUT)}、 // SPI1_CS1.SPI1_CS1 *
{SPI1_CS2、(M0 | PIN_OUTPUT | SLEWCONTROL)}、 // SPI1_CS2.SPI1_CS2 *