工具/软件:Linux
尊敬的团队:
我正在使用基于 AM571x 的 IDK
从 u-boot 引脚到多路复用器的配置是使用,do 设置多路复用32((*ctrl)->control_padconf_core_base、pconf、pconf_sz);
它使用数组 core_padconf_array_0ess_am571x_idk 中定义的以下设置
在引脚多路复用器阵列中、D0和 D1配置为引脚配置中的输入上拉电阻
{SPI2_SCLK、(M0 | PIN_INPUT 下拉)}、 /* SPI2_SCLK/SPI2_SCLK *
{SPI2_D1、(M0 | PIN_INPUT_SLEW)}、 /* SPI2_D1.SPI2_D1 *
{SPI2_D0、(M0 | PIN_INPUT_SLEW)}、 /* SPI2_d0.SPI2_d0 *
{SPI2_CS0、(M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}、 // SPI2_cs0.SPI2_cs0 *
在通道配置中的内核 SPI-OMAP2-mcspi.c 中、它们被组合为 D0作为输入、D1作为输出、反之亦然。
if (mcspi->pin_dir =MCSPI_PINDIR_D0_in_D1_OUT){
L &=~OMAP2_MCSPI_CHCONF_IS;
L &=~OMAP2_MCSPI_CHCONF_DPE1;
L |= OMAP2_MCSPI_CHCONF_DPE0;
}否则{
L |= OMAP2_MCSPI_CHCONF_IS;
L |= OMAP2_MCSPI_CHCONF_DPE1;
L &=~OMAP2_MCSPI_CHCONF_DPE0;
}
以下是我的问题:
1) 1)为何在 U-boot 中 D1未配置为输出、或在 u-boot 中的其他位置配置?
2) 2)通过对 SPI 外设的通道配置寄存器进行编程、是否会影响管脚配置寄存器?
谢谢、
Vamshi