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.

[参考译文] Linux:AM335x-EVM-Linux-SDK-Arago-src-03.03.00.04(Linux Kernel 4.4.4.41)

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/764712/linux-am335x-evm-linux-sdk-arago-src-03-03-00-04-linux-kernel-4-4-41

主题中讨论的其他器件:TL16C550C

工具/软件:Linux

尊敬的 先生:

  我们使用了,SDK 03.03.00.04、使用的芯片是3352、定制了一块核心板,增加扩展芯片CH438(1扩8串口),目前的串口使用的和NAND 闪 存共同使用 GPMC、NAND 闪存使用 CS0、CH438使用CS1

芯片CH438脚 ALE 接到GPMC ALE 上。(Linux Kernel 4.4.41)

在GPMC 中打算使用(C14) EMU0.GPIO3[7]作为共享中断使用请帮忙份分析一下,对应的DTS 该如何配置。

dts 中(C14) EMU0.GPIO3[7]该如何配置。

    中断父级=;
   中断=     

   配置的对应TI 3352关系是如何 μ A

2. DTS 中对应的    

REG =<1 0x20 8>; 这一块,第二位的0X20和GPMC 的对应关系如何。Ω

很棒!

关云

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

    请以英文发布、以便我们能够理解您的问题。

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

    Yordan、

    我们使用了 SDK 03.03.00.04。 使用的芯片为3352。 我们定制了内核板并添加了 CH438 (1个扩展8串行端口)。 当前串行端口将 GPMC 与 NAND 闪存一起使用、NAND 闪存使用 CS0、CH438使用 CS1。

    CH438 Foot ALE 芯片连接到 GPMC ALE。 (Linux 内核4.4.4.41)

    在 GPMC 中、我们打算使用(C14) EMU0.GPIO3[7]作为 CH438共享中断。 请帮助我们分析如何配置相应的 DTS。

    很棒!

    关云

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

    我不熟悉 CH438。 但是、要了解如何同时使用 GPMC 的 CS0和 CS1、您可以查看内核文档:
    documentation/devictree/bindings/MTD/gpmc-nand.txt

    另外、看看以下 E2E:
    e2e.ti.com/.../1530903
    e2e.ti.com/.../343017

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

    Yordan,
    感谢你的答复。

    我查看了它、但不了解如何计算器件的访问地址。 假设

    器件如何访问 GPMC 总线下器件的地址

    00h-07h 是器件0的寄存器、10H-17H 是器件1、18h-1Fh 是器件2、20H-27H 是器件2。

    ALE 信号控制如何计算数据总线锁存地址下的器件地址。

    请帮助进行分析。

          GPMC:GPMC@50000000{
             兼容="ti、am3352-gpmC";
             ti、hwmds ="gpmC";
             TI、无空闲启动;
             REG =<0x50000000 0x2000>;
             中断=<100>;
             DMA =<&EDMA 52 0>;
             dma-names ="rxtx";
             GPMC、num-cs =<7>;
             GPMC、num-waitpins =<2>;
             #address-cells =<2>;
             大小单元格=<1>;
             中断控制器;
             #interrupt-cells =<2>;
             GPIO 控制器;
             #GPIO-cells =<2>;

       pinctrl-names ="default"、"sleep";

       范围=<0 0x08000000 0x1000000>、//* CS0:16MB 用于 NAND *
       1 0 0x09000000 0x01000000>;/* CS1: 用于 Duart */       
       Duart@1、0{
       兼容="mrvl、MMP-UART";
       reg =<1? 8>;/* CS1,偏移量0,IO 大小8 */
       interrupt-parent =<&GPIO?>;
       中断= ; /* gpio103 */
          };
       };
    此致、
    关云

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan
    如果是 TL16C550C、我会咨询 CH438和 TL16C550C 是兼容芯片。
    此致、
    关云
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    [引用]器件如何访问 GPMC 总线下器件的地址
    处理器访问给定的 CS 地址空间。 在您的案例中:
    范围=<0 0x08000000 0x1000000>、//* CS0:16MB 用于 NAND *
    1 0 0x09000000 0x01000000>;/* CS1:用于 Duart */

    0x08000000 -> CS0上 NAND 的起始地址
    0x09000000 --> CS1上 Duart 的起始地址

    此致、
    Yordan