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.

AM3517 GPMC访问CPLD的问题

Other Parts Discussed in Thread: AM3517, SYSCONFIG

我使用的是AM3517 CPU, GPMC的CS3 上挂了CPLD器件,使用同步方式16bit NOR-Like device访问.

我配置了地址线寄存器,数据线寄存器,CS线寄存器,nADV_ALE, nOE, nWE, gpmc_clk

然后配置GPMC的寄存器。

现在遇到了这样的问题:

1. 读取数据时,从示波器上看,只GPMC_CLK线上只发送了一次clock,数据被正确读出,然后就再也不发clock了,是什么原因呢?

如下是我的配置代码,哪里有问题吗?

#define         NAND_PADCONF_SDRC_DQS3_CLR              0x0000FFFF

   #define         NAND_PADCONF_SDRC_DQS3_EN               (AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN1   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DIS1    |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_A2_EN                 (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN0   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN1   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_A4_EN                 (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN0   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN1   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_A6_EN                 (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN0   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN1   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_A8_EN                 (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN0   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN1   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_A10_EN                (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN0   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_D1_EN                 (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_D3_EN                 (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_D5_EN                 (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_D7_EN                 (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_D9_EN                 (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_D11_EN                (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_D13_EN                (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_D15_EN                (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_NCS1_EN               (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_NCS3_EN               (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_NCS5_EN               (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN1   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DIS1    |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_NCS7_EN               (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_NADV_ALE_EN           (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN0   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DIS0    |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN1   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DIS1    |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_NWE_EN                (AM3X_CTRL_PADCONF_INPUT_DIS0       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN0   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DIS0    |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_DIS1       |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_NBE1_EN               (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DOWN1   |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_DIS1    |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

   #define         NAND_PADCONF_GPMC_WAIT0_EN              (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                            AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                            AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                            AM3X_CTRL_PADCONF_MODE0_1)

#define         NAND_PADCONF_GPMC_WAIT2_EN               (AM3X_CTRL_PADCONF_INPUT_EN0        |    \

                                                           AM3X_CTRL_PADCONF_PULLTYPE_UP0     |    \

                                                           AM3X_CTRL_PADCONF_PULLTYPE_EN0     |    \

                                                           AM3X_CTRL_PADCONF_MODE0_0          |    \

                                                           AM3X_CTRL_PADCONF_INPUT_EN1        |    \

                                                           AM3X_CTRL_PADCONF_PULLTYPE_UP1     |    \

                                                           AM3X_CTRL_PADCONF_PULLTYPE_EN1     |    \

                                                           AM3X_CTRL_PADCONF_MODE0_1)

       /* Setup SDRC_DQS3 register. */

       reg32 = ESAL_GE_MEM_READ32(AM3X_CTRL_PADCONF_SDRC_DQS3);

       reg32 &= NAND_PADCONF_SDRC_DQS3_CLR;

       reg32 |= NAND_PADCONF_SDRC_DQS3_EN;

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_SDRC_DQS3, reg32);

       /* Setup GPMC_A2 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_A2, NAND_PADCONF_GPMC_A2_EN);

       /* Setup GPMC_A4 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_A4, NAND_PADCONF_GPMC_A4_EN);

       /* Setup GPMC_A6 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_A6, NAND_PADCONF_GPMC_A6_EN);

       /* Setup GPMC_A8 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_A8, NAND_PADCONF_GPMC_A8_EN);

       /* Setup GPMC_A10 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_A10, NAND_PADCONF_GPMC_A10_EN);

       /* Setup GPMC_D1 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_D1, NAND_PADCONF_GPMC_D1_EN);

       /* Setup GPMC_D3 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_D3, NAND_PADCONF_GPMC_D3_EN);

       /* Setup GPMC_D5 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_D5, NAND_PADCONF_GPMC_D5_EN);

       /* Setup GPMC_D7 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_D7, NAND_PADCONF_GPMC_D7_EN);

       /* Setup GPMC_D9 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_D9, NAND_PADCONF_GPMC_D9_EN);

       /* Setup GPMC_D11 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_D11, NAND_PADCONF_GPMC_D11_EN);

       /* Setup GPMC_D13 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_D13, NAND_PADCONF_GPMC_D13_EN);

       /* Setup GPMC_D15 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_D15, NAND_PADCONF_GPMC_D15_EN);

       /* Setup GPMC_NCS1 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_NCS1, NAND_PADCONF_GPMC_NCS1_EN);

       /* Setup GPMC_NCS3 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_NCS3, NAND_PADCONF_GPMC_NCS3_EN);

       /* Setup GPMC_NCS5 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_NCS5, NAND_PADCONF_GPMC_NCS5_EN);

       /* Setup GPMC_NCS7 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_NCS7, NAND_PADCONF_GPMC_NCS7_EN);

       /* Setup GPMC_NADV_ALE register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_NADV_ALE, NAND_PADCONF_GPMC_NADV_ALE_EN);

       /* Setup GPMC_NWE register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_NWE, NAND_PADCONF_GPMC_NWE_EN);

       /* Setup GPMC_NBE1 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_NBE1, NAND_PADCONF_GPMC_NBE1_EN);

       /* Setup GPMC_WAIT0 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_WAIT0, NAND_PADCONF_GPMC_WAIT0_EN);

       /* Setup GPMC_WAIT2 register. */

       ESAL_GE_MEM_WRITE32(AM3X_CTRL_PADCONF_GPMC_WAIT2, NAND_PADCONF_GPMC_WAIT2_EN);

       /* Reset GPMC controller. */

       ESAL_GE_MEM_WRITE32(AM3X_GPMC_SYSCONFIG, 0x00000002);

       /* Wait till the reset clears. */

       while (!(ESAL_GE_MEM_READ32(AM3X_GPMC_SYSSTATUS)));

       /* Clear GPMC timeout control register. */

       ESAL_GE_MEM_WRITE32(AM3X_GPMC_TIMEOUT_CTRL, 0);

       /* Disable GPMC IRQ. */

       ESAL_GE_MEM_WRITE32(AM3X_GPMC_IRQEN, 0);

       /* Configure limited address device support. */

       ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG, 0x00000002);

    /**********************************************************/

  /* CS3 -> CPLD 0x18000000                            */

  /**********************************************************/

  /* GPMC_CONFIG1                                           */

  /* Name                          bits      data           */

  /* ----                          ----      ----           */

  /* wrapburst                     31        0x00000000     */

  /* readmultiple                  30        0x00000000     */

  /* readtype                      29        0x00000000     */

  /* writemultiple                 28        0x00000000     */

  /* writetype                     27        0x00000000     */

  /* clkactivationtime             25-26     0x00000000     */

  /* attacheddevicepagelength      23-24     0x00000000     */

  /* waitreadmonitoring            22        0x00000000     */

  /* waitwritemonitoring           21        0x00000000     */

  /* reserved                      20        0x00000000     */

  /* waitmonitoringtime            18-19     0x00000000     */

  /* waitpinselect                 16-17     0x00000000     */

  /* reserved                      14-15     0x00000000     */

  /* devicesize                    12-13     0x00001000     */

  /* devicetype                    10-11     0x00000000     */

  /* muxadddata                    9         0x00000000     */

  /* reserved                      5-8       0x00000000     */

  /* timeparagranularity           4         0x00000000     */

  /* reserved                      2-3       0x00000000     */

  /* gpmcfclkdivider               0-1       0x00000000     */

  /*                                         ----------     */

  /*                                         0x00001000     */

  /**********************************************************/

ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG1_3, 0x28001000);

  /**********************************************************/

  /* GPMC_CONFIG2                                           */

  /* Name                          bits      data           */

  /* ----                          ----      ----           */

  /* reserved                      21-31     0x00000000     */

  /* cswrofftime                   16-20     0x00080000     */

  /* reserved                      13-15     0x00000000     */

  /* csrdofftime                   8-12      0x00000800     */

  /* csextradelay                  7         0x00000000     */

  /* reserved                      4-6       0x00000000     */

  /* csontime                      0-3       0x00000000     */

  /*                                         ----------     */

  /*                                         0x00080800     */

  /**********************************************************/

  //ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG2_3, 0x001e1e01);

  /**********************************************************/

  /* GPMC_CONFIG3                                           */

  /* Name                          bits      data           */

  /* ----                          ----      ----           */

  /* reserved                      21-31     0x00000000     */

  /* advwrofftime                  16-20     0x00080000     */

  /* reserved                      13-15     0x00000000     */

  /* advrdofftime                  8-12      0x00000800     */

  /* advextradelay                 7         0x00000000     */

  /* reserved                      4-6       0x00000000     */

  /* advontime                     0-3       0x00000000     */

  /*                                         ----------     */

  /*                                         0x00080800     */

  /**********************************************************/

  //ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG3_3, 0x00080300);

  /**********************************************************/

  /* GPMC_CONFIG4                                           */

  /* Name                          bits      data           */

  /* ----                          ----      ----           */

  /* reserved                      29-31     0x00000000     */

  /* weofftime                     24-28     0x06000000     */

  /* weextradelay                  23        0x00000000     */

  /* reserved                      20-22     0x00000000     */

  /* weontime                      16-19     0x00000000     */

  /* reserved                      13-15     0x00000000     */

  /* oeofftime                     8-12      0x00000600     */

  /* oeextradelay                  7         0x00000000     */

  /* reserved                      4-6       0x00000000     */

  /* oeontime                      0-3       0x00000000     */

  /*                                         ----------     */

  /*                                         0x06000600     */

  /**********************************************************/

  //ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG4_3, 0x1c091c09);

  /**********************************************************/

  /* GPMC_CONFIG5                                           */

  /* Name                          bits      data           */

  /* ----                          ----      ----           */

  /* reserved                      28-31     0x00000000     */

  /* pageburstaccesstime           24-27     0x00000000     */

  /* reserved                      21-23     0x00000000     */

  /* rdaccesstime                  16-20     0x00080000     */

  /* reserved                      13-15     0x00000000     */

  /* wrcycletime                   8-12      0x00000800     */

  /* reserved                      5-7       0x00000000     */

  /* rdcycletime                   0-4       0x00000008     */

  /*                                         ----------     */

  /*                                         0x00080808     */

  /**********************************************************/

  //ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG5_3, 0x00181f1f);

  /**********************************************************/

  /* GPMC_CONFIG6                                           */

  /* Name                          bits      data           */

  /* ----                          ----      ----           */

  /* reserved                      29-31     0x00000000     */

  /* wraccesstime                  24-28     0x00000000     */

  /* reserved                      20-23     0x00000000     */

  /* wrdataonadmuxbus              16-19     0x00000000     */

  /* reserved                      12-15     0x00000000     */

  /* cycle2cycledelay              8-11      0x00000300     */

  /* cycle2cyclesamecsen           7         0x00000080     */

  /* cycle2cyclediffcsen           6         0x00000040     */

  /* reserved                      4-5       0x00000000     */

  /* busturnaround                 0-3       0x0000000F     */

  /*                                         ----------     */

  /*                                         0x000003CF     */

  /**********************************************************/

  //ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG6_3, 0x00000FCF);

/**********************************************************/

/* GPMC_CONFIG7                                           */

/* Name                          bits      data           */

/* ----                          ----      ----           */

/* reserved                      12-31     0x00000000     */

/* maskaddress                   8-11      0x00000F00     */

/* reserved                      7         0x00000000     */

/* csvalid                       6         0x00000040     */

/* baseaddress                   0-5       0x00000018     */

/*                                         ----------     */

/*                                         0x00000F58     */

/**********************************************************/

ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG7_3, 0x00000F58);

/* ================= CS4 SRAM Test ================= */

ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG1_4, 0x28001203);

//ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG2_4, 0x00000000);

//ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG3_4, 0x00000000);

//ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG4_4, 0x00000000);

//ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG5_4, 0x00000000);

//ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG6_4, 0x00000000);

/* base add: 0x20000000, 16MB */

ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG7_4, 0x00000F60);

/* ================================================= */

       /* Disable write protect. */

       ESAL_GE_MEM_WRITE32(AM3X_GPMC_CONFIG, 0x00000010);

       /* Enable GPMC controller. */

       ESAL_GE_MEM_WRITE32(AM3X_GPMC_SYSCONFIG, 0x00000008);

如需要进一步的信息,请回复,

感激不尽!