Can FD开发指南
1.Can FD 驱动
1.1 驱动文件
驱动文件所在位置:
drivers/net/can/rockchip/rockchip_canfd.c
1.2 DTS 节点配置
主要参数:
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
转换完成,产生中断信号。clock
clocks = <&cru CLK_CAN1>, <&cru PCLK_CAN1>;
clock-names = "baudclk", "apb_pclk";
resets = <&cru SRST_CAN1>, <&cru SRST_P_CAN1>;
reset-names = "can", "can-apb";
时钟属性,用于驱动开关 clk;reset 属性,用于每次复位总线。
pinctrl
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <200000000>;
pinctrl-names = "default";
pinctrl-0 = <&can1m1_pins>;
status = "okay";
};
时钟频率可以修改,如果 CAN 的比特率低于等于 3M 建议修改 CAN 时钟到 100M, 信号更稳定。高于 3M 比特率的,时钟设置 200M 就可以。
配置can_h
和can_l
的iomux
作为can
功能使用。
1.3 内核配置
Symbol: CANFD_ROCKCHIP [=y]
| Type : tristate
| Prompt: Rockchip CANFD controller
| Location:
| -> Networking support (NET [=y])
| -> CAN bus subsystem support (CAN [=y])
| -> CAN Device Drivers
| -> Platform CAN drivers with Netlink support (CAN_DEV [=y])
| Defined at drivers/net/can/rockchip/Kconfig:10
| Depends on: NET [=y] && CAN [=y] && CAN_DEV [=y] && ARCH_ROCKCHIP [=y]