RK3588S_Android15 mcp2515 SPI转CAN 背景RK3588S默认没有can口需要mcp2515去SPI转、SDK/driver/net默认有mcp251x的驱动打开相关宏定义即可。原理图查看SPI0m2,引用相关pinctrl配置中断和复位dts配置diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-xiding.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-xiding.dtsi index d7b92705ce0f..a7c7b68d03d6 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-xiding.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-xiding.dtsi -129,6 129,17 fan2_en_h: fan2-en-h { rockchip,pins 1 RK_PA6 RK_FUNC_GPIO pcfg_pull_up; }; }; //pinctrl mcp2515_int_rst { mcp2515_int_grp: mcp2515-int-grp { rockchip,pins 3 RK_PC4 RK_FUNC_GPIO pcfg_pull_up; }; mcp2515_rst_grp: mcp2515-rst-grp { rockchip,pins 3 RK_PC5 RK_FUNC_GPIO pcfg_pull_up; }; }; }; /* -147,3 158,35 hdptxphy_hdmi0 { status disabled; }; spi0 { status okay; pinctrl-names default,high-speed; pinctrl-0 spi0m2_pins spi0m2_cs0; cs-gpios gpio1 RK_PB4 1; /* MCP2515 CAN 控制器 */ mcp25150 { status okay; compatible microchip,mcp2515; reg 0; /* SPI0 CS0 */ spi-max-frequency 10000000; // spi-max-frequency 10000000; /* 改为 1 MHz */ interrupt-parent gpio3; interrupts RK_PC4 IRQ_TYPE_EDGE_FALLING; reset-gpios gpio3 RK_PC5 GPIO_ACTIVE_HIGH; clocks clk8m; pinctrl-names default; pinctrl-0 mcp2515_int_grp mcp2515_rst_grp; }; clk8m: clk8 { compatible fixed-clock; #clock-cells 0; clock-frequency 8000000; //8m }; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi index 91202cb80e3e..0d87cc7e0274 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi -7033,7 7033,7 spi0: spifeb00000 { dmas dmac0 14, dmac0 15; dma-names tx, rx; pinctrl-names default; - pinctrl-0 spi0m0_cs0 spi0m0_cs1 spi0m0_pins; pinctrl-0 spi0m2_cs0 spi0m2_cs1 spi0m2_pins; num-cs 2; status disabled; }; diff --git a/arch/arm64/configs/rk3588.config b/arch/arm64/configs/rk3588.config index b53203bc70e7..2c7b388bc541 100644 --- a/arch/arm64/configs/rk3588.config b/arch/arm64/configs/rk3588.config -2,9 2,13 CONFIG_MALI_VALHALLy CONFIG_AIC_LOADFW_SUPPORTm CONFIG_SENSORS_GPIO_FANy CONFIG_CANy CONFIG_CAN_MCP251Xy CONFIG_CAN_MCP251XFDy 附完整文件 #include dt-bindings/usb/pd.h #include rk3588s.dtsi #include rk3588s-evb.dtsi #include rk3588-rk806-single.dtsi /{ panel-edp { status okay; compatible simple-panel; backlight backlight; power-supply vcc3v3_lcd_edp; prepare-delay-ms 120; enable-delay-ms 120; unprepare-delay-ms 120; disable-delay-ms 120; //width-mm 120; //height-mm 160; panel-timing { clock-frequency 135000000; hactive 1920;//160 vactive 1080;//31 hfront-porch 148; hsync-len 54; hback-porch 88; vfront-porch 36; vsync-len 10; vback-porch 14; hsync-active 0; vsync-active 0; de-active 0; pixelclk-active 0; }; port { panel_in_edp: endpoint { remote-endpoint edp_out_panel; }; }; }; vcc3v3_lcd_edp: vcc3v3-lcd-edp { compatible regulator-fixed; regulator-name vcc3v3_lcd_edp; gpio gpio4 RK_PB3 GPIO_ACTIVE_HIGH; pinctrl-names default; pinctrl-0 edp0_pwren; enable-active-high; regulator-boot-on; vin-supply vcc_3v3_s3; }; /*fan: pwm-fan { compatible pwm-fan; gpios gpio1 RK_PA5 GPIO_ACTIVE_HIGH; gpio-fan,speed-map 0 0 4500 1; pinctrl-names default; pinctrl-0 fan_en_h; #cooling-cells 2; };*/ gpio_fan1: gpio-fan1 { compatible gpio-fan; gpio-fan,speed-map 0 0 8600 1; gpios gpio1 RK_PA5 GPIO_ACTIVE_HIGH; #cooling-cells 2; pinctrl-names default; pinctrl-0 fan1_en_h; status okay; }; gpio_fan2: gpio-fan2 { compatible gpio-fan; gpio-fan,speed-map 0 0 8600 1; gpios gpio1 RK_PA6 GPIO_ACTIVE_HIGH; #cooling-cells 2; pinctrl-names default; pinctrl-0 fan2_en_h; status okay; }; }; backlight { pwms pwm13 0 25000 0; status okay; }; edp0 { force-hpd; status okay; ports { port1 { reg 1; edp_out_panel: endpoint { remote-endpoint panel_in_edp; }; }; }; }; edp0_in_vp0 { status disabled; }; edp0_in_vp1 { status disabled; }; edp0_in_vp2 { status okay; }; pinctrl { edp0{ edp0_pwren: edp0-pwren { rockchip,pins 4 RK_PB3 RK_FUNC_GPIO pcfg_pull_up; }; }; fan { fan1_en_h: fan1-en-h { rockchip,pins 1 RK_PA5 RK_FUNC_GPIO pcfg_pull_up; }; fan2_en_h: fan2-en-h { rockchip,pins 1 RK_PA6 RK_FUNC_GPIO pcfg_pull_up; }; }; mcp2515_int_rst { mcp2515_int_grp: mcp2515-int-grp { rockchip,pins 3 RK_PC4 RK_FUNC_GPIO pcfg_pull_up; }; mcp2515_rst_grp: mcp2515-rst-grp { rockchip,pins 3 RK_PC5 RK_FUNC_GPIO pcfg_pull_up; }; }; }; route_edp0 { status okay; connect vp2_out_edp0; }; hdptxphy0 { status okay; }; hdptxphy_hdmi0 { status disabled; }; spi0 { status okay; pinctrl-names default,high-speed; pinctrl-0 spi0m2_pins spi0m2_cs0; //cs-gpios gpio1 RK_PB4 1; /* MCP2515 CAN 控制器 */ mcp25150 { status okay; compatible microchip,mcp2515; reg 0; /* SPI0 CS0 */ spi-max-frequency 10000000; // spi-max-frequency 10000000; /* 改为 1 MHz */ interrupt-parent gpio3; interrupts RK_PC4 IRQ_TYPE_EDGE_FALLING; reset-gpios gpio3 RK_PC5 GPIO_ACTIVE_HIGH; clocks clk8m; pinctrl-names default; pinctrl-0 mcp2515_int_grp mcp2515_rst_grp; }; clk8m: clk8 { compatible fixed-clock; #clock-cells 0; clock-frequency 8000000; //8m }; };cat sys/kernel/debug/**/pinmux-pins相关引脚是否正常烧录固件ifconfig -a 是否有can节点测试github下载canutils交叉编译。附RK3588S的candump和cansend

相关新闻

最新新闻

Claude Code Skills开发指南:从入门到企业级应用

Claude Code Skills开发指南:从入门到企业级应用

1. Claude Code Skills 核心概念解析Claude Code Skills 是 Claude 开发者平台中的一项核心功能,它允许用户通过创建自定义技能来扩展 Claude 的能力边界。这些技能本质上是一组可重复使用的指令集,能够将复杂的多步操作封装为简单的命令调用。与传统聊天…

2026/7/18 7:04:51
三步轻松获取官方教材:国家中小学智慧教育平台电子课本下载器使用指南

三步轻松获取官方教材:国家中小学智慧教育平台电子课本下载器使用指南

三步轻松获取官方教材:国家中小学智慧教育平台电子课本下载器使用指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内…

2026/7/18 7:04:51
NeuronOS:基于浏览器操控电脑的创新操作系统解析

NeuronOS:基于浏览器操控电脑的创新操作系统解析

1. NeuronOS:浏览器操控电脑的革命性突破最近在开发者圈子里疯传的NeuronOS,彻底颠覆了传统操作系统的交互模式。这个创新系统允许用户直接通过浏览器界面操控整台电脑,无需记忆复杂命令或编写脚本。作为一名长期与命令行打交道的全栈工程师&…

2026/7/18 7:04:51
Rust错误处理:anyhow与thiserror实战指南

Rust错误处理:anyhow与thiserror实战指南

1. Rust错误处理生态概览在Rust生态系统中,错误处理一直是个值得深入探讨的话题。与传统的异常机制不同,Rust采用了基于返回值的显式错误处理方式,这带来了更好的可控性和可预测性,但也增加了代码复杂度。anyhow和thiserror这两个…

2026/7/18 7:04:51
DaVinci Resolve陀螺仪防抖终极指南:3步实现专业级视频稳定

DaVinci Resolve陀螺仪防抖终极指南:3步实现专业级视频稳定

DaVinci Resolve陀螺仪防抖终极指南:3步实现专业级视频稳定 【免费下载链接】gyroflow Video stabilization using gyroscope data 项目地址: https://gitcode.com/GitHub_Trending/gy/gyroflow 你是否厌倦了传统视频防抖带来的画面裁切和果冻效应&#xff1…

2026/7/18 7:04:51
MLX平台上的DiffusionGemma-26B-A4B-it-6bit:Apple Silicon上的高效AI推理

MLX平台上的DiffusionGemma-26B-A4B-it-6bit:Apple Silicon上的高效AI推理

MLX平台上的DiffusionGemma-26B-A4B-it-6bit:Apple Silicon上的高效AI推理 【免费下载链接】diffusiongemma-26B-A4B-it-6bit 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/diffusiongemma-26B-A4B-it-6bit DiffusionGemma-26B-A4B-it-6bit是…

2026/7/18 6:59:51

月新闻