RK3588 引脚组与外设复用

RK3588 引脚组与外设复用

1. 数据来源

rk3588s-pinctrl.dtsi含400余个 rockchip,pins group,供 RK3588/RK3588S及板级DTS引用。它是候选功能集合,不表示所有功能同时启用。

2. 主要类别

  • UART及 flow-control;
  • I2C;
  • SPI和 chip select;
  • PWM/IR;
  • I2S/TDM/PDM/SPDIF;
  • SDMMC/eMMC;
  • GMAC;
  • CAN;
  • PCIe reset/clkreq/wake;
  • USB VBUS/OTG ID;
  • HDMI/DP/eDP sideband;
  • camera clock/control;
  • MIPI/BT接口;
  • JTAG;
  • PMIC/clock/reset。

3. M0/M1/M2

名称如 uart2m0_xfer表示同一 controller的第0套路由。选择步骤:

1.查看原理图 ball连接;
2.在 pinctrl include找对应 group;
3.确认所有信号来自同一路由;
4.检查 pins是否被其它 enabled node引用;
5.确认选择的 M0/M1组和其 mux编码匹配板级走线;
6.检查 VCCIO。

4. Consumer例

1
2
3
4
5
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};

不要仅启用 controller而遗漏 pinctrl,也不要同时启用两套复用到相同 pins的 controller。

5. GPIO命名

GPIO3_B5

1
2
3
4
5
bank = 3
port B offset = 8
index = 5
bank line = 13
global pin = 3*32 + 13 = 109

Linux GPIO character device以 chip+line为主,不保证传统全局 GPIO number稳定。

6. 存储

eMMC pins跨专用 IOC区域,时钟、命令、数据和 reset需成套。SDMMC还需 card detect/power GPIO及 voltage switching。错误 drive/pull常表现为高频 CRC错误。

7. UART调试

确认 bootargs console、chosen stdout-path、FIQ debugger和 UART node使用同一 controller/route。复用 debug UART pins会造成启动后日志突然消失。

8. PCIe

PERST#、CLKREQ#、WAKE#是 sideband,并不等于 PCIe PHY lane。Active-low和上电时序由 consumer driver/GPIO flags处理。

9. 板级覆盖

SoC .dtsi提供 definitions;板级 .dts/.dtsi选择 states。评审应从最终 enabled consumer反向追踪 pin group,而不是把 definitions当已占用资源。

文章互动

阅读 --

留言

0 条留言

正在加载留言…