关于"daisy chain"可以参考BSP porting guide中关于寄存器的描述:
"Daisy Chain" control registers (IOMUXC_<Instance_port>_SELECT_INPUT)-
control the input path to a module when more than one pad may drive the module's
input。另外可以参考RM手册,其中有关于DAISY CHAIN 的描述,具体应该在IOMUX那一章里,37.3.3 Daisy chain - multi pads driving same module input pin
比如你要用到AUD4_RXD这个信号,其芯片外部显示的管脚名(也就是PAD名)有DISP0_DAT23或者SD2_DAT0这两个管脚可以当做AUD4_RXD来使用(首先要用到管脚的MUX功能,然后通过"Daisy Chain" control registers指定要用哪个PAD作为AUD4_RXD这个信号使用),也就是说有两个外部管脚对应到AUD4_RXD这个信号上,一个PORT对应两个PAD。
附件有个图,你看一下:
你在RM手册中IOMUXC 那一章 随便搜一个比如IOMUXC_SW_MUX_CTL_PAD_SD2_DATA2寄存器,看一下SION的说明,其中第已经说的很明确了:
Force the selected mux mode input path no matter of MUX_MODE functionality.
1 ENABLED — Force input path of pad SD2_DAT2.
0 DISABLED — Input Path is determined by functionality of the selected mux mode (regular).
正常SION这个位的值默认为0,那么这个管脚的功能就以下面MUX_MODE中的值决定,比如MUX_MODE的值为“001”那么这个管脚就被用作ECSPI5_SS1,说白了默认就是可以使用管脚的复用功能(MUX MODE),这个管脚除了当做SD2_DAT2来用也可以通过MUX_MODE选择用作其他管脚使用。
如果SION这个位值设置为1,那么强制这个管脚的功能为SD2_DAT2,无论你下面MUX_MODE怎么设置,这个管脚都智能用作SD2_DAT2,与MUX_MODE无关了。
至于你说的是不是调试用,我就不清楚了。
在手册中找了几处SION的说明
在“SW Loopback through SION Bit”中介绍的是 “ force the input path to be active (ipp_ibe==1'b1) regardless of the value driven by the corresponding module.”,这个input path指的是什么?我理解好像就是Daisy Chain选择的哪个pads!
在第一张图中,ALT0、ALT2、ALT4和ALT6模式下,在代码里面SION都会被设置为1,对你这句话
“说白了默认就是可以使用管脚的复用功能(MUX MODE),这个管脚除了当做SD2_DAT2来用也可以通过MUX_MODE选择用作其他管脚使用。
如果SION这个位值设置为1,那么强制这个管脚的功能为SD2_DAT2,无论你下面MUX_MODE怎么设置,这个管脚都智能用作SD2_DAT2,与MUX_MODE无关了”
不是很理解,SD2_DAT2是一个pad的名字,而IOMUXC寄存器是把SD2_DAT2配置成 ECSPI5_SS1 、**或者gpio模式,你说的”这个管脚都智能用作SD2_DAT2“是什么意思呢? 对这个实在不能理解。