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.

[参考译文] AM5716:无CS,我们...控制来自GPMC的信号输出

Guru**** 633105 points
Other Parts Discussed in Thread: AM5716, AM5728
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1090390/am5716-no-cs-we-control-signals-output-from-gpmc

部件号:AM5716
主题中讨论的其他部件: AM5728

您好,Champs:

软件:06.03 00.106-Linux-x86-Install.bin  

客户将AM5716 GPMC连接到FPGA。 从内核日志中,似乎GPMC已正确初始化,但只有地址信号输出,没有CS和其他控制信号输出。  

以下是内核日志:

[ GPMC] devices_kset:正在将2.24.4863万 移动到列表末尾
[ 2.24.4872万 GPMC]平台5000万.GPMC:正在从延迟列表重试
[ 2.24.4894万 GPMC]总线:'platform':driver_probe_device:匹配器件5000万.GPMC与驱动器OMAP-GPMC
[ 2.24.4901万 GPMC]总线:'platform':fety_probe:探查驱动程序OMAP-GPMC与设备5000万.GPMC
[ 2.24.505万 OMAP-GPMC 5000万.GPMC:无初始化控制状态
[ 2.24.5079万 OMAP-GPMC 5000万.GPMC:无空闲pinctrl状态
[ GPMC] OMAP-GPMC 50万.GPMC:2.24.5253万 修订版6.0
[ 2.25.042万 GPMC_mem_init:禁用在0x0-0x100万处映射的cs 0
[ GPIO ]GPIO gpiochip8:(OMAP-GPMC):添加的2.25.6722万 chardev (254:8)
[ GPI] gpiochip_setup_dev:在设备上注册的2.25.6801万 510至511:gpiochip8 (OMAP-GPMC)
[ GPMC] 2.25.699万 CS3早于GPMC_CS_PROGRAM SETTINGS:
[ GPMC] 2.28.7258万 CS3访问配置:
[ GPMC] 2.29.1371万 ,mix-add-data =<2>;
[ GPMC] 2.29.496万 ,device-width =<2>;
[ GPMC] 2.29.8548万 ,等待PIN =<0>;
[ GPMC] 2.30.1789万 ,burst-length =<4>;
[ GPMC] 2.30.5381万 ,cycle2cycle-samecsen =<1>;
[ GPMC] 2.32.341万 CS3计时配置:
[ GPMC] 2.33.3096万 ,cs-on - ns =<0>;/* 0 ns - 0 ns;0 ticks */
[ GPMC] 2.34.2264万 ,cs-rd-off-ns =<60>;/* 57 ns - 60 ns;16 ticks */
[ GPMC] 2.34.8559万 ,cs-wr-off-ns =<60>;/* 57 ns - 60 ns;16 ticks */
[ GPMC] 2.35.4867万 ,Adv-On-ns =<3>;/* 1 ns-3 ns;1 tick */
[ GPMC] 2.36.055万 ,adv-rd-off-ns =<11>;/* 8 ns - 11 ns;3 ticks */
[ GPMC] 2.36.6766万 ,Adv-wr-off-ns =<11>;/* 8 ns - 11 ns;3 ticks */
[ GPMC] 2.37.2973万 ,Adv-aad-mux-on-ns =<0>;/* 0 ns-0 ns;0 ticks */
[ GPMC] 2.37.9354万 ,Ad-aad-mix-rd-off-ns =<0>;/* 0 ns - 0 ns;0 ticks */
[ GPMC] 2.38.6084万 ,Adv-aad-mux-wr-off-ns =<0>;/* 0 ns-0 ns;0 ticks */
[ GPMC] 2.39.2814万 ,OE接通- ns =<15>;/* 12 ns - 15 ns;4 tick */
[ GPMC] 2.39.8672万 ,OE - off-ns =<60>;/* 57 ns - 60 ns;16 tick */
[ GPMC] 2.40.4703万 ,OE-aad-mix-On -ns =<0>;/* 0 ns - 0 ns;0 tick */
[ GPMC] 2.41.0995万 ,OE-aad-mix-off-ns =<0>;/* 0 ns - 0 ns;0 ticks */
[ GPMC] 2.41.7376万 ,WE-ON - ns =<15>;/* 12 ns - 15 ns;4 ticks */
[ GPMC] 2.42.3232万 ,WE-off-ns =<60>;/* 57 ns - 60 ns;16 ticks */
[ GPMC] 2.42.9264万 ,rd-cycle-ns =<60>;/* 57 ns - 60 ns;16 ticks */
[ 2.43.5471万 gpmc] gpmc,wr-cycle-ns =<60>;/* 57 ns -60 ns;16 ticks */
[ GPMC] 2.44.1676万 ,access-ns =<45>;/* 42 ns -45 ns;12 ticks */
[ GPMC] 2.44.7707万 ,page-burst-access-ns =<0>;/* 0 ns - 0 ns;0 ticks */
[ GPMC] 2.45.4349万 ,bus-talne-ns =<0>;/* 0 ns - 0 ns;0 tick */
[ GPMC] 2.46.0729万 ,cycle2cycle-delay-ns =<7>;/* 4 ns - 7 ns;2 ticks */
[ GPMC] 2.46.7371万 ,wait-monitoring-ns =<0>;/* 0 ns - 0 ns;0 tick */
[ GPMC] 2.47.3838万 ,clk-activation-ns =<0>;/* 0 ns - 0 ns;0 ticks */
[ GPMC] 2.48.0217万 ,wr-data-mix-bus-ns =<26>;/* 23 ns -26 ns;7 tick */
[ 2.48.6947万 gpmc,wr-access-ns =<30>;/* 27 ns -30 ns;8 ticks */
[ GPMC] 2.68.5761万 CS3在GPMC_CS_Set_Timings之后:
[ GPMC] 2.71.5498万 CS3访问配置:
[ GPMC] 2.71.9609万 ,mix-add-data =<2>;
[ GPMC] 2.72.3195万 ,device-width =<2>;
[ GPMC] 2.72.6783万 ,等待PIN =<0>;
[ GPMC] 2.73.0022万 ,burst-length =<4>;
[ GPMC] 2.73.361万 ,cycle2cycle-samecsen =<1>;
[ GPMC] 2.73.7895万 CS3计时配置:
[ GPMC] 2.74.2094万 ,cs-on - ns =<3>;/* 1 ns - 3 ns;1 tick *
[ GPMC] 2.74.7689万 ,cs-rd-off-ns =<112>;/* 110 ns - 112 ns;30 ticks */
[ GPMC] 2.75.4246万 ,cs-wr-off-ns =<112>;/* 110 ns - 112 ns;30 ticks */
[ GPMC] 2.76.0801万 ,Adv-On-ns =<11>;/* 8 ns-11 ns;3 ticks */
[ GPMC] 2.76.6658万 ,Adv-rd-off-ns =<52>;/* 49 ns - 52 ns;14 ticks */
[ GPMC] 2.77.3038万 ,Adv-wr-off-ns =<52>;/* 49 ns - 52 ns;14 ticks */
[ GPMC] 2.77.9418万 ,Adv-aad-mux-on-ns =<0>;/* 0 ns-0 ns;0 ticks */
[ GPMC] 2.78.5798万 ,Ad-aad-mix-rd-off-ns =<0>;/* 0 ns - 0 ns;0 ticks */
[ GPMC] 2.79.2527万 ,Adv-aad-mux-wr-off-ns =<0>;/* 0 ns-0 ns;0 ticks */
[ GPMC] 2.79.9257万 ,OE接通- ns =<52>;/* 49 ns - 52 ns;14 tick */
[ GPMC] 2.80.5202万 ,OE - off-ns =<112>;/* 110 ns - 112 ns;30 tick */
[ GPMC] 2.81.1495万 ,OE-aad-mix-On -ns =<0>;/* 0 ns - 0 ns;0 tick */
[ GPMC] 2.81.7786万 ,OE-aad-mix-off-ns =<0>;/* 0 ns - 0 ns;0 ticks */
[ GPMC] 2.82.4167万 ,WE-ON - ns =<52>;/* 49 ns - 52 ns;14 ticks */
[ GPMC] 2.83.0111万 ,WE-off-ns =<112>;/* 110 ns - 112 ns;30 ticks */
[ GPMC] 2.83.6405万 ,rd-cycle-ns =<112>;/* 110 ns - 112 ns;30 ticks */
[ GPMC] 2.84.2873万 ,wr-cycle-ns =<112>;/* 110 ns - 112 ns;30 ticks */
[ GPMC] 2.84.934万 ,access-ns =<82>;/* 79 ns - 82 ns;22 ticks */
[ GPMC] 2.85.5372万 ,page-burst-access-ns =<11>;/* 8 ns - 11 ns;3 ticks */
[ GPMC] 2.86.2187万 ,bus-talne-ns =<0>;/* 0 ns - 0 ns;0 tick */
[ GPMC] 2.86.8568万 ,cycle2cycle-delay-ns =<30>;/* 27 ns -30 ns;8 ticks */
[ GPMC] 2.87.5472万 ,wait-monitoring-ns =<0>;/* 0 ns - 0 ns;0 tick */
[ GPMC] 2.88.1938万 ,clk-activation-ns =<0>;/* 0 ns - 0 ns;0 ticks */
[ GPMC] 2.88.8318万 ,wr-data-mix-bus-ns =<52>;/* 49 ns -52 ns;14 tick */
[ GPMC] 2.89.5134万 ,wr-access-ns =<90>;/* 87 ns - 90 ns;24 ticks */
[ 2.90.182万 GPMC]驱动程序:'OMAP-GPMC':DRIVER_Bound:绑定到设备'5000万.GPMC'
[ 2.90.1847万 GPMC]总线:'platform':fety_probe:绑定设备5000万.GPMC以驱动OMAP-GPMC


使用MD 推荐检查GPMC配置。

=> MD 0x50万f0

50万f0:0.0012万00 001010000.0001万01000 0003030110亿01 100410040.11万41004 ........4.1004万 ........
5000.01万:000c101.008万 0807.028万 00000f48 008700864.8008万70086 ........7.0086万 ........ H......
5000.011万:0.89万88 008b008a8.8008万b008a 0万00 000000000万00000 ........0万 ........
5000.012万:0.001万00 001010010.0001万01001 2206051410.01220605亿14 100570161.41万57016 ........5.7016万 ........ ".p.
5000.013万:010f1111 8f7万 0万f00 000000000万00000 ........0万 ........
5000.014万:00000000 000000000万 00000000 000000000万 00000000 ........0万 ........</s>00000000

访问GPMC基本地址,他可以获得地址,但不能获得CS3。

=> mD.w 0x800万   
800万:0000 0001 0002 0003 0004 0005 0006 0007 ........
800.001万:0008 0009 000a 000b 000c 000d 000e 000f ........

PINMUX模式0:

=> MD 0x4A0034BC
4a0034bc:0.06万00 000400000万40000 00040000400亿00 000600000万60000 ........6万 ........
4a0034cc:0.06万00 000400000万40000 0001000e4万 0001000e 000e00000.1万 000e0000 ........0000 ........

谢谢。
Rgds
闪耀

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我再次检查此问题,AM5728 IDK也有相同的结果:

    PAD PINMUX配置:

    GPMC计时配置:

    我在GEL文件中配置和访问GPMC:


    热菜单gpmc_configure()

    无符号int i=0;
    int temp=0;
    GEL_TextOut("-->>> AM572x GPMC PAD配置! <<<!--\n");
    *(unsigned int *)(0x4A0034B4)= 0<17;//CS0
    *(unsigned int *)(0x4A0034BC)= 1<17;//CS3

    *(unsigned int *)(0x4A0034c0)= 1<17;//CLK
    *(unsigned int *)(0x4A0034c4)= 1<17;//ale
    *(unsigned int *)(0x4A0034c8)= 1<17;//oen
    *(unsigned int *)(0x4A0034cc)= 1<17;//Wen
    *(unsigned int *)(0x4A0034D0)= 1<17;//BEN0
    *(unsigned int *)(0x4A0034D4)= 1<17;//BEN1

    *(unsigned int *)(0x4A0.3418万)= 0<17;//ad6 sysboot6外部PD
    *(unsigned int *)(0x4A0.0341万c)= 1<17;//AD7


    GEL_TextOut("-->>AM572x GPMC计时配置! <<<!--\n");

    *(unsigned int *)(0x5000.006万)= 0x0.1万;//CS0
    *(unsigned int *)(0x5000.0064万)= 0x10.1万;
    *(unsigned int *)(0x5000.0068万)= 0x3.0301万;
    *(unsigned int *)(0x500.0006万c)= 0x1004.1004万;
    *(unsigned int *)(0x5000.007万)= 0x000c1f1f;
    *(unsigned int *)(0x5000.0074万)= 0x807.028万;
    *(unsigned int *)(0x5000.0078万)= 0x0万f48;//0x0800 0000

    }

    热菜单gpmc_access-()

    无符号int i=0;
    无符号int j=0;
    无符号int temp=0;
    用于(i=0;i<200;i++)

    *(unsigned int *)(0x800万+4*i)= 0x5555aaaa;
    用于(j=0;j<500;j++);
    *(unsigned int *)(0x800万+4*i)= 0xaaaa5555;
    用于(j=0;j<500;j++);
    }

    用于(i=0;i<200;i++)

    temp =*(unsigned int *)(0x800万+4*I);
    用于(j=0;j<500;j++);
    }

    }

    探头数据引脚与控制引脚一起,可以观察数据开关,但任何控制信号上都没有信号开关。

    绿色通道2:数据6或数据7。

    黄色通道1,探头在CS1,WR,OE,ADV上。  

    这些引脚可以在GPIO模式下切换,因此硬件良好。客户主板和IDK上出现相同现象。

    需要特殊配置才能在AM57xx上启用GPMC控制信号?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    今天我捕获了GPMC命令信号,实际上昨天的示波器时间标度设置不合适。

    与访问周期相比,从Gel文件访问两次的间隔时间要大得多。  

    还从CCS BareMetal Simple测试代码以及 使用MW,MD命令的uBoot捕获波形以配置寄存器。

    当从CCS运行代码时,请记住关闭MMU。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    托尼

    是否可以在CTRL_core_pad寄存器中尝试以下设置?


    Ctrl_core_pad_GPMC_CS0 = 0x6万;

    Ctrl_core_pad_GPMC_CLK = 0x6万;

    似乎也没有正确设置GPMC_config寄存器。  客户是否已通过TRM检查,以根据其使用案例更新值?  

    作为参考,GPMC_config1[1:0]控制来自GPMC_FCLK (L3MAIN1_L3_GICLK)的时钟分配器,通常为266 MHz。  如果值为0x0,则表示GPMC_CLK直接使用266 MHz,这似乎 太高。

    谢谢,此致,

    石尾

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    邵美

    谢谢。

    根据测试结果,我发现GPMC_config1[1:0] 只将GPMC_FCLK划分为GPMC_CLK引脚上的输出,不影响GPMC计时参数。

    仅 限GPMC_config1[4] TIMEPAGRANULARITY碰撞定时。

    它遵循此帖子的一致性:  https://e2e.ti.com/support/processors-group/processors/f/processors-forum/97.7468万/am5749-gpmc_fclk-frequency/3610498</s>5749 361.0498万