08 RK3588 平台关联与使用场景详解
1. net/ 内 Rockchip 代码范围
全 net/ grep Rockchip 仅 4 个文件:
| 文件 | 内容 |
|---|---|
| rfkill/rfkill-wlan.c | WiFi 电源、SDIO 卡检测、OOB IRQ、MAC、WiFi 内存预分配 |
| rfkill/rfkill-bt.c | 蓝牙射频控制 |
| rfkill/Kconfig | CONFIG_RFKILL_RK |
| wireless/Kconfig | default y if !ROCKCHIP_THUNDER_BOOT(2 处) |
协议栈主体(ipv4、tcp、netfilter…)均为上游通用实现。
2. CONFIG_RFKILL_RK
1 | config RFKILL_RK |
产物:rfkill-wlan、rfkill-bt 模块(或 built-in)。
2.1 导出 API(WLAN)
| 符号 | 用途 |
|---|---|
rockchip_wifi_power |
上/下电 |
rockchip_wifi_set_carddetect |
SDIO 卡检测 GPIO |
rockchip_wifi_get_oob_irq |
外带中断线 |
rockchip_wifi_mac_addr |
从 rk_vendor_storage 读 MAC |
rockchip_mem_prealloc |
WiFi 固件内存预留 |
无线 芯片驱动(如 SDIO)在 probe 时调用上述接口,而非在 net/ipv4 内写死。
2.2 BSP 集成
- defconfig 常开
CONFIG_RFKILL=y+CONFIG_RFKILL_RK=m/y; - U-Boot/loader 与 regulator 在 DT 定义,rfkill 脚本按 OF 解析
rockchip,grf等。
3. 以太网(不在 net/)
RK3588 千兆:
- DT:
gmac0、stmmac或rk_gmac节点; - 驱动:
drivers/net/ethernet/; - 调优:
ethtool、netdev_budget、rps_sock_flow_table。
net/core 仅见 同一套 dev_queue_xmit 路径。
4. 典型产品场景
| 场景 | 涉及 net/ 子系统 |
|---|---|
| 嵌入式网关 | ipv4、netfilter、bridge、sched |
| Android/盒子 | ipv4、netfilter、rfkill、cfg80211 |
| 工业网关 | can、ipv4、bridge |
| 摄像头/NVR 上云 | ipv4 TCP、TLS(可选 kTLS) |
| 容器 | veth、netfilter、ipv4 命名空间 |
5. 推荐 defconfig 关注点
1 | CONFIG_NET=y |
关闭无用协议(ATM、TIPC、SMC…)可显著减小 vmlinux。
6. 调试命令(板端)
1 | ip link |
7. 关联文档
- 子目录横向:rk3588-kernel-6.1-net目录分析_zh.md
- RFKILL:rk3588-kernel-6.1-net-rfkill分析_zh.md
- 驱动:BSP
drivers/net/ethernet、drivers/net/wireless - 编号专题:本目录 01–07
8. 小结
RK3588 上 net/ 分析 = 通用 Linux 网络栈 + 少量 rfkill 平台 glue;性能与稳定性关键在 GMAC/无线驱动 + DT 电源时序,而非 ipv4 协议差异。
正在加载留言…