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.
dears,
我们使用 GPMC 接口连接到 FPGA (使用 addr/数据 mux 模式,并同步读/写), 在 am4378上,我们读/写数据都正常,现在我们应该更改为 am5728平台, 然后将 GPMC 配置从 AM437X 移植到 am5728 (配置都相同), 现在,如果我们写了
向 FPGA 读取的奇数数据是可以的, 但当对 数据进行偶数分析并重新读取数据时 ,D[0]位始终为0, 似乎 已丢失了 D[0]位。 请紧急帮助我,谢谢
这是我的测试:
奇数数据正常, 0x2a 是 addr, 0x22是 奇数数据:
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA# echo 0x2a 0x22 > FPGA_reg
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA# cat FPGA_reg
0x22
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA# echo 0x2a 0x44 > FPGA_reg
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA# cat FPGA_reg
0x44
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA
即使 是数据 也是错误:0x2a 是 addr, 0x23是 偶数 数据:
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA# echo 0x2a 0x23 > FPGA_reg ===偶数数据
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA# cat FPGA_reg
0x22 ===错误数据,D[0]位为0,因此 0x23更改为0x22
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA# echo 0x2a 0x33 > FPGA_reg === >数据
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA# cat FPGA_reg
0x32 ===错误数据,D[0]位为0,因此 0x33 更改为0x32
root@am57xx-EVM:/sys/class/MiSC/GPMC-FPGA
第一次我猜 D[0]引脚线路总是向下拉,但在我将偶数数据写入 FPGA 后,它可以将偶数数据写入 FPGA 端,FPGA 可以重新接收偶数数据, 然后 ,我读取偶数数据, FPGA 也可以向 GPMC 发送偶数数据,但在布防方面 ,结果是更改为奇数数据,位 D[0]更改为0。
以下是我的 PIN 配置和 DTS 配置文件:
MAI_FPGA_DEFAULT:MAI_FPGA_DEFAULT{
pinctrl-single,pins =<
DRA7XX_core_IOPAD (0x3400,PIN_input_pullup | MUX_MODE0)/* GPMC_ad0.GPMC_ad0 *///GPMC_AD[15:0]->GPMC_AD[15:0]->FPGA_AD[15:0];
DRA7XX_core_IOPAD (0x3404,PIN_input_pullup | MUX_MODE0)/* GPMC_ad1.GPMC_ad1 *
DRA7XX_core_IOPAD (0x3408,PIN_input_pullup | MUX_MODE0)/* GPMC_ad2.GPMC_ad2 *
DRA7XX_core_IOPAD (0x340c,PIN_input_pullup | MUX_MODE0)/* GPMC_ad3.GPMC_ad3 *
DRA7XX_core_IOPAD (0x3410,PIN_input_pullup | MUX_MODE0)/* GPMC_AD4.GPMC_AD4 *
DRA7XX_core_IOPAD (0x3414,PIN_input_pullup | MUX_MODE0)/* GPMC_ad5.GPMC_ad5 *
DRA7XX_core_IOPAD (0x3418,PIN_input_pullup | MUX_MODE0)/* GPMC_ad6.GPMC_ad6 *
DRA7XX_core_IOPAD (0x341c,PIN_input_pullup | MUX_MODE0)/* GPMC_AD7.GPMC_AD7 *
DRA7XX_core_IOPAD (0x3420,PIN_input_pullup | MUX_MODE0)/* GPMC_ad8.GPMC_ad8 *
DRA7XX_core_IOPAD (0x3424,PIN_input_pullup | MUX_MODE0)/* GPMC_ad9.GPMC_ad9 *
DRA7XX_core_IOPAD (0x3428,PIN_input_pullup | MUX_MODE0)/* GPMC_ad10.GPMC_ad10 *
DRA7XX_core_IOPAD (0x342c,PIN_input_pullup | MUX_MODE0)/* GPMC_ad11.GPMC_ad11 *
DRA7XX_core_IOPAD (0x3430,PIN_input_pullup | MUX_MODE0)/* GPMC_ad12.GPMC_ad12 *
DRA7XX_core_IOPAD (0x3434,PIN_input_pullup | MUX_MODE0)/* GPMC_ad13.GPMC_ad13 *
DRA7XX_core_IOPAD (0x3438,PIN_input_pullup | MUX_MODE0)/* GPMC_ad14.GPMC_ad14 *
DRA7XX_core_IOPAD (0x343c,PIN_input_pullup | MUX_MODE0)/* GPMC_ad15.GPMC_ad15 *
DRA7XX_core_IOPAD (0x3444,PIN_OUTPUT 下拉| MUX_MODE0)/* GPMC_A1.GPMC_a17 */// GPMC_A[11:1]->GPMC_A[27:17]->FPGA_A[26:16];
DRA7XX_core_IOPAD (0x3448,PIN_OUTPUT 向下| MUX_MODE0)/* GPMC_A2.GPMC_A18 *
DRA7XX_core_IOPAD (0x344c,PIN_OUTPUT 向下| MUX_MODE0)/* GPMC_A3.GPMC_A19 *
DRA7XX_core_IOPAD (0x3450,PIN_OUTPUT 向下| MUX_MODE0)/* GPMC_A4.GPMC_A20 *
DRA7XX_core_IOPAD (0x3454,PIN_OUTPUT 向下| MUX_MODE0)/* GPMC_A5.GPMC_A21 *
DRA7XX_core_IOPAD (0x3458,PIN_OUTPUT 向下| MUX_MODE0)/* GPMC_A6.GPMC_A22 *
DRA7XX_core_IOPAD (0x34c0,PIN_output | MUX_MODE0)/* GPMC_clk *
DRA7XX_core_IOPAD (0x34b4,PIN_output | MUX_MODE0)/* GPMC_cs0 *
DRA7XX_core_IOPAD (0x34c4,PIN_OUTPUT _PULUP | MUX_MODE0)/* GPMC_advn_ale.GPMC_advn_ale *
DRA7XX_core_IOPAD (0x34c8,PIN_OUTPUT _PULUP | MUX_MODE0)/* GPMC_oen_ren。GPMC_oen_ren *
DRA7XX_core_IOPAD (0x34cc,PIN_OUTPUT _PULUP | MUX_MODE0)/* GPMC_WN.GPMC_WEN *
&GPMC{
状态=“正常”;
pinctrl-names ="default","sleep";
pinctrl-0 =<&玛 伊 FPGA 默认>;
范围=<0 0x08000000 0x04000000>;/*在 CS0空间上的 MAY FPGA。 最小分区= 128MB */
FPGA@0,0{
兼容=“MAI,GPMC-FPGA”;
REG =<0 0x04000000>;
气缸组宽度=<2>;
GPMC,mix-add-data =<2>;//mux addr;
GPMC,cs-On-ns =<0>;
GPMC,cs-rd-off-ns =<70>;
GPMC,cs-wr-off-ns =<60>;
GPMC,Ad-On -ns =<0>;
GPMC,Adv-rd-Off-ns =<30>;
GPMC,高级关闭- ns =<30>;
GPMC,WE-ON ns =<30>;
GPMC,WE-off-ns =<60>;
GPMC,OE-ON -ns =<30>;
GPMC,OE-off-ns =<70>;
GPMC,access-ns =<60>;
GPMC,第周期-ns =<70>;
GPMC,电源周期数=<60>;
//GPMC,总线周转数=<0>;
GPMC,囊性2周期延迟-ns =<20>;
GPMC,cycle2cycle-samecsen =<10>;
GPMC,囊性二周期扩散=<0>;
GPMC,电源访问- ns =<60>;//?
GPMC,wr-data-mix-bus-ns =<30>;
GPMC,page-burn-access-ns =<10>;
};
};
请帮助检查此问题,紧急, 非常感谢。