下午好!
我使用的是具有 MMC0 SD 卡引导功能的定制 AM3351板、最初使用的是引导序列
MMC0 -> SPI0 -> UART0 -> USB0
我看到我的引导顺序发生了变化、因为它有时无法从 MMC0引导、并且会在 USB0上挂起。 我的新引导顺序是 XIP [MUX mode2]-> UART0 -> EMAC1 -> MMC0。 但是、使用新的引导序列时、我无法使用 GPIO2[22]和 GPIO2[23]。 XIP 引导程序可能会重新分配这些引脚、这样我就不能再将它们切换为 GPIO-LED 了。 我知道这些 GPIO 和 XIP 引脚之间有一些重叠。 我非常困惑、因为在我的器件树中、我要将它们设置为输出、高电平有效并启用、但它们在启动后输出低电平。 如果我更改引导顺序以删除 XIP 引导、则它将工作正常。
如果您有任何建议、请告诉我。
设备树中
LED{
兼容="GPIO-LED";
pinctrl-names ="default";
pinctrl-0 =<&USB_HUD_PINs>;
RESET_LEed{
标签="HUD_RESET";
GPIO =<&GPIO2 24 GPIO_ACTIVE_HIGH_>;
默认状态="on";
};
心跳 LED{
标签="心跳";
GPIO =<&GPIO2 0 GPIO_ACTIVE_LOW>;
默认状态="on";
};
audio_codec_enable{
标签="Audio 编解码器启用";
GPIO =<&GPIO2 16 GPIO_ACTIVE_HIGH_>;
默认状态="on";
};
audio_amp_enable{
标签="Audio Amp_enable";
GPIO =<&GPIO2 5 GPIO_ACTIVE_LOW>;
默认状态="off";
};
AUDIO_GAIN_0{
标签="音频_增益_0";
GPIO =<&GPIO2 GPIO_ACTIVE_HIGH_>;
默认状态="off";
};
AUDIO_GAIN_1{
标签="音频_增益_1";
GPIO =<&GPIO2 3 GPIO_ACTIVE_HIGH_>;
默认状态="off";
};
FAN_ENABLE{
标签="FAN_ENABLE";
GPIO =<&GPIO2 20 GPIO_ACTIVE_HIGH_>;
默认状态="off";
};
battery_charge 启用{
标签="battery_charge _enable";
GPIO =<&GPIO2 22 GPIO_ACTIVE_HIGH_>;
默认状态="on";
};
battery_backup_enable{
标签="battery_backup_enable";
GPIO =<&GPIO2 23 GPIO_ACTIVE_HIGH_>;
默认状态="off";
};
};
GPIO_Pins:GPIO_Pins{
pinctrl-single、pins =<
0x88 (PIN_INPUT | MUX_MODE7)/*(U17) GPMC_csn3.GPIO2[0]*/
0x8c (PIN_INPUT | MUX_MODE7)/*(V16) GPMC_clk.GPIO2[1]*/
0x90 (PIN_INPUT | MUX_MODE7)/*(V10) GPMC_advn_ALe.GPIO2[2]*/
0x94 (PIN_INPUT | MUX_MODE7)/*(W9) GPMC_oen_ren。GPIO2[3]*/
0x98 (PIN_INPUT | MUX_MODE7)/*(U8) GPMC_WN.GPIO2[4]*/
0x9C (PIN_INPUT | MUX_MODE7)/*(V8) GPMC_be0n_cle。GPIO2[5]*/
0xA0 (PIN_INPUT | MUX_MODE7)/*(U1) LCD_Data0.GPIO2[6]*/
0xa4 (PIN_INPUT | MUX_MODE7)/*(U2) LCD_data1.GPIO2[7]*/
0xa8 (PIN_INPUT | MUX_MODE7)/*(V1) LCD_data2.GPIO2[8]*/
0xac (PIN_INPUT | MUX_MODE7)/*(V2) LCD_data3.GPIO2[9]*/
0xb0 (PIN_INPUT | MUX_MODE7)/*(W2) LCD_data4.GPIO2[10]*/
0xb4 (PIN_INPUT | MUX_MODE7)/*(W3) LCD_data5.GPIO2[11]*/
0xb8 (PIN_INPUT | MUX_MODE7)/*(V3) LCD_data6.GPIO2[12]*/
0xbc (PIN_INPUT | MUX_MODE7)/*(U3) LCD_data7.GPIO2[13]*/
0xc0 (PIN_INPUT | MUX_MODE7)/*(V4) LCD_data8.GPIO2[14]*/
0xc4 (PIN_INPUT | MUX_MODE7)/*(W4) LCD_data9.GPIO2[15]*/
0xc8 (PIN_INPUT | MUX_MODE7)/*(U5) LCD_data10.GPIO2[16]*/
0xcc (PIN_INPUT | MUX_MODE7)/*(V5) LCD_data11.GPIO2[17]*/
0x138 (PIN_INPUT | MUX_MODE7)/*(N16) gmii1_rxd2.gpio2[19]*/
0x13c (PIN_INPUT | MUX_MODE7)/*(P19) gmii1_rxd1.GPIO2[20]*/
0xe0 (PIN_OUTPUT | MUX_MODE7)/*(U7) LCD_vSYNC.GPIO2[22]*/
0xe4 (PIN_OUTPUT | MUX_MODE7)/*(T7) LCD_HSYNC.GPIO2[23]*/
0xEC (PIN_INPUT | MUX_MODE7)/*(W7) LCD_AC_BIAS_EN.GPIO2[25]*/
>;
};