RZ/G2UL微處理器配備Cortex-A55(1.0 GHz)CPU、16位DDR3L/DDR4接口以及簡單的LCD控制器。此外,這款微處理器還配備有大量接口,如攝像頭輸入、顯示輸出、USB 2.0和千兆以太網,因此特別適用于入門級工業網關控制器和具有簡單GUI功能的嵌入式設備等應用。
G2UL共有361個引腳,分布著不同的功能。
對于剛接觸產品的用戶或者在PCB調試前期,對引腳的使用不可避免有各種疑惑和問題,比如,規格標有361個引腳,但是GPIO為什么只支持82個?單個引腳又如何確認使用的是哪個功能?
為什么要有引腳復用和重定義功能?
節省資源:引腳復用和重定義功能可以允許多個功能共享相同的物理引腳,從而節省了硬件資源。
靈活性和適應性:引腳復用和重定義功能使得設計能夠靈活地適應不同的需求和變化的規格。通過重新配置引腳功能,可以實現不同的連接和交互方式,提高了系統的適應性和靈活性。
減少設計復雜性:引腳的復用和重定義功能可以簡化電路板布局和設計。通過減少所需的物理引腳數量,可以降低設計的復雜性和成本,并簡化整體設計流程。
在PCB板功能調試中,如果某個外圍端口功能異常,我們首先需要排查的是引腳功能配置是否正確。下面介紹一些常用的手段。
我們以P5_0引腳舉例分析,該引腳支持4個功能,軟件該如何配置?
在Linux系統中,內核都使用設備樹(DTS)配置功能引腳和pinctrl軟件框架進行初始化,但最終本質都是操作寄存器。
P5_0配做scif2 Tx端口,如RZG2L_PORT_PINMUX,(5,0,2),為引腳配置接口,對應GPIO P5_0 Function2:
如果終端打印出以下信息,可以直接在.r9a07g043u11-smarc.dtb.dts.tmp文件中查找沖突,在源文件把不需要的配置屏蔽:
對如上(5)*8詳細理解,參考WIKI鏈接。
另外一種方法查找手冊,分析寄存器值。主要涉及PMC(端口模式控制)/PFC(端口功能控制)寄存器。
通過手冊查找P5_0引腳對應的PMC和PFC寄存器偏移地址和對應的bit位信息。
查取A55寄存器基地址:
Linux系統可以使用devmem(可以在yocto工程內編譯)工具讀取寄存器值(寄存器地址為基地址加偏移地址):
上邊獲取的兩個值為十六進制,0x1D和0x51101,轉換為二進制如下:
Pinctrl驅動加調試信息分析調用關系,內核節點分析。
左右滑動查看完整內容
diff --git a/drivers/pinctrl/renesas/pinctrl-rzg2l.c b/drivers/pinctrl/renesas/pinctrl-rzg2l.c index 30140def2e28..fc9753419163 100644 --- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c +++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c @@ -349,6 +349,13 @@staticintrzg2l_pinctrl_set_mux(struct pinctrl_dev *pctldev, dev_dbg(pctrl->dev, "port:%u pin: %u PSEL:%u ", RZG2L_PIN_ID_TO_PORT(pins[i]), RZG2L_PIN_ID_TO_PIN(pins[i]), psel_val[i]); + if(5 == RZG2L_PIN_ID_TO_PORT(pins[i])) + { + dev_err(pctrl->dev, "port:%u pin: %u PSEL:%u ", + RZG2L_PIN_ID_TO_PORT(pins[i]), RZG2L_PIN_ID_TO_PIN(pins[i]), + psel_val[i]); + dump_stack(); + } rzg2l_pinctrl_set_pfc_mode(pctrl, RZG2L_PIN_ID_TO_PORT_OFFSET(data), RZG2L_PIN_ID_TO_PIN(pins[i]), psel_val[i]); }
左右滑動查看完整內容
[ 0.193120] pinctrl-rzg2l11030000.pinctrl: pinctrl-rzg2l support registered [ 0.193788] pinctrl-rzg2l11030000.pinctrl: port:5pin:0PSEL:1 [ 0.193819] CPU:0PID:78Comm: kworker/0:3Not tainted5.10.184-cip36-yocto-standard#1 [ 0.193836] Hardware name:Renesas SMARC EVK basedonr9a07g043u11(DT) [ 0.193867] Workqueue: events deferred_probe_work_func [ 0.193885] Call trace: [ 0.193902] dump_backtrace+0x0/0x1c0 [ 0.193917] show_stack+0x18/0x38 [ 0.193933] dump_stack+0xf0/0x12c [ 0.193948] rzg2l_pinctrl_set_mux+0xec/0x2b0 [ 0.193964] pinmux_enable_setting+0x118/0x290 [ 0.193979] pinctrl_commit_state+0x94/0x178 [ 0.193992] pinctrl_select_state+0x1c/0x30 [ 0.194008] pinctrl_bind_pins+0xf4/0x148 [ 0.194023] really_probe+0x84/0x3e8 [ 0.194036] driver_probe_device+0x58/0xf0 [ 0.194050] __device_attach_driver+0xb8/0xe0 [ 0.194063] bus_for_each_drv+0x7c/0xd0 [ 0.194077] __device_attach+0xec/0x180 [ 0.194089] device_initial_probe+0x14/0x20 [ 0.194103] bus_probe_device+0x9c/0xa8 [ 0.194116] deferred_probe_work_func+0x88/0xc0 [ 0.194132] process_one_work+0x1e8/0x380 [ 0.194147] worker_thread+0x210/0x4a0 [ 0.194160] kthread+0x154/0x158 [ 0.194174] ret_from_fork+0x10/0x30 ……
Linux系統節點信息確認:
以上就是常用的引腳使用分析方法。
-
控制器
+關注
關注
114文章
17022瀏覽量
183266 -
瑞薩
+關注
關注
36文章
22375瀏覽量
87832 -
微處理器
+關注
關注
11文章
2373瀏覽量
83924 -
引腳
+關注
關注
16文章
1628瀏覽量
52497
原文標題:RZ/G2UL引腳復用分析方法
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
【米爾-瑞薩RZ/G2UL開發板】1.開箱
【米爾-瑞薩RZ/G2UL開發板】3.雜項測試
【米爾瑞薩RZ/G2L開發板-試用體驗】開箱
瑞薩電子推全新RZ/G2L MPU,可實現降低整體系統成本
RZ/G2UL、RZ/A3UL、RZ/Five SMARC 模塊板用戶手冊:硬件

RZ/G2UL、RZ/A3UL、RZ/Five SMARC 模塊板用戶手冊:硬件

RZ/G2L RZ/G2LC RZ/G2UL用靈活的軟件包設置GPIO

RZ/G2L、RZ/G2LC和RZ/G2UL的SMARC EVK啟動指南Rev.1.01

瑞薩電子推出面向高性能機器人應用的RZ/V2H微處理器
帶雙通道千兆以太網RZ/G2UL通用型微處理器數據手冊

評論