主题中讨论的其他器件:AM5728
工具/软件:Linux
您好!
在针对572x 的 u-boot 焊盘配置中、焊盘配置寄存器似乎被写入两个单独的步进/级、首先是主焊盘配置、然后是"Δ 阵列"焊盘配置。 这两个数组出现在 mux_data.h 中,而 pad IO 配置似乎在 board.c 中的 rechature_iodelay()中的两个独立阶段中完成:
1) 1) rechatch_iodelay ()中的第一个初始化步骤使用主焊盘配置阵列(例如 core_padconf_array_Essential _X15)写入焊盘配置寄存器
2) rechatch_iodelay ()中的第二个初始化步骤从"delta"数组( 例如 core_padconf_array_delta_X15)写入填充配置寄存器、该数组似乎主要是 VIN/VOUT、多路复用模式0。
* pinmux 应用手册 sprac44 (我使用的是较旧版本)中的 Perl 脚本在 padconf.h 中生成一个大表,其中包含所有 PAD 配置,包括 VOUT、VIN、 然后、您似乎 需要将 Perl 脚本输出中的 VOUT/VIN 条目拆分为"delta array"、并将其他所有内容放在 main、array 中(焊盘配置必不可少)。
问题:
1) 1) 为什么焊盘配置寄存器写入操作分为两个阶段、例如初级阶段和差值阶段? 如果您将所有内容写在一个大循环中而不是将其分解、会发生什么情况? 这是因为需要限制每个配置步骤的执行时间、还是需要在所有其他步骤之后启动视频?
2) 2)这种顺序是否依赖于首先配置所有非视频焊盘、然后是模拟视频焊盘(例如 Δ 阵列)、仅适用于配置用于模拟视频的焊盘?
3) 3)如果我们将 M0模式为模拟视频的焊盘重新配置为不同的多路复用模式(请参阅下面的示例)、我们是否仍然需要将该特定的焊盘配置放置在 Δ 阵列元件中、或者该焊盘配置是否可以放置在主阵列中?
{VOUT1_D12、(M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}、// vout1_d12.vout1_d12 *
{VOUT1_D12、(M10 | PIN_OUTPUT)}、// vout1_d12.PR2_uart0_rts_n *
我认为这在 sprac 44中没有得到解决。 如果我错过了 TRM 中的解释、请原谅我!
谢谢!!!
Jeff