This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

再次请教AM335X的GPMC_AD8 到GPMC_AD15的GPIO功能



你好:

    我在项目中使用AM335X,出现如下问题:

NAND设备已经使用了GPMC_AD0 ~GPMC_AD7。LCD的RGB信号为565格式。

用于启动的BOOT[15...0]配置如下:1000 0010 0011 0011b

由于管脚紧张,想使用GPMC_AD8 ~ GPMC_AD15的GPIO功能控制LED灯。目前调试时发现对应管脚上无电平变化。

还有,这样做是否会影响LCD的显示?因为下文中将其屏蔽。

谢谢!

 

                      附录:

1. LINUX内核board-am335xevm.c文件中,修改如下:

/* Module pin mux for LCDC */

static struct pinmux_config lcdc_pin_mux[] = {

    {"lcd_data0.lcd_data0",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data1.lcd_data1",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data2.lcd_data2",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data3.lcd_data3",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data4.lcd_data4",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data5.lcd_data5",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data6.lcd_data6",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data7.lcd_data7",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data8.lcd_data8",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data9.lcd_data9",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data10.lcd_data10",   OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data11.lcd_data11",   OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data12.lcd_data12",   OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data13.lcd_data13",   OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data14.lcd_data14",   OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    {"lcd_data15.lcd_data15",   OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT

                               | AM33XX_PULL_DISA},

    // {"gpmc_ad8.lcd_data23",      OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

    // {"gpmc_ad9.lcd_data22",      OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

    // {"gpmc_ad10.lcd_data21", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

    // {"gpmc_ad11.lcd_data20", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

    // {"gpmc_ad12.lcd_data19", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

    // {"gpmc_ad13.lcd_data18", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

    // {"gpmc_ad14.lcd_data17", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

    // {"gpmc_ad15.lcd_data16", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

    {"lcd_vsync.lcd_vsync",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},

    {"lcd_hsync.lcd_hsync",     OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},

    {"lcd_pclk.lcd_pclk",       OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},

    {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},

    {NULL, 0},

};

 

/* Pin mux for GPMC bus */

static struct pinmux_config gpmc_pin_mux[] = {

    {"gpmc_ad0.gpmc_ad0",     OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_ad1.gpmc_ad1",     OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_ad2.gpmc_ad2",     OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_ad3.gpmc_ad3",     OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_ad4.gpmc_ad4",     OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_ad5.gpmc_ad5",     OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_ad6.gpmc_ad6",     OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_ad7.gpmc_ad7",     OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

 

    {"gpmc_ad8.gpio0_22",     OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

    {"gpmc_ad9.gpio0_23",     OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

    {"gpmc_ad10.gpio0_26",    OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

    {"gpmc_ad11.gpio0_27",    OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

    {"gpmc_ad12.gpio1_12",    OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

    {"gpmc_ad13.gpio1_13",    OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

    {"gpmc_ad14.gpio1_14",    OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

    {"gpmc_ad15.gpio1_15",    OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},

 

    {"gpmc_wait0.gpmc_wait0", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_wpn.gpmc_wpn",     OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},

    {"gpmc_csn1.gpmc_csn1",   OMAP_MUX_MODE0 | AM33XX_PULL_DISA},

    {"gpmc_advn_ale.gpmc_advn_ale",  OMAP_MUX_MODE0 | AM33XX_PULL_DISA},

    {"gpmc_oen_ren.gpmc_oen_ren",   OMAP_MUX_MODE0 | AM33XX_PULL_DISA},

    {"gpmc_wen.gpmc_wen",     OMAP_MUX_MODE0 | AM33XX_PULL_DISA},

    {"gpmc_ben0_cle.gpmc_ben0_cle", OMAP_MUX_MODE0 | AM33XX_PULL_DISA},

    {"gpmc_clk.gpmc_clk",   OMAP_MUX_MODE0 | AM33XX_PIN_INPUT},

    {"ecap0_in_pwm0_out.xdma_event_intr2", OMAP_MUX_MODE6 | AM33XX_PIN_INPUT}, // DMAREQ

    {NULL, 0},

};

GPIO设备的驱动程序见附件。

谢谢!!