【TI-AM5728】GPMC与FPGA高速数据通信-(1)设备树节点属性编写参考文档翻译

    阅读Linux内核目录下的设备树编写参考文档,为便于日后查阅,将内容进行了翻译,如下。在设备树文件中配置GPMC节点时需要根据各属性的含义配置参数。


    

1. 时序

    时序参见手册:
    《AM572x Sitara Processor Technical Reference Manual (Rev. K).pdf》   Page3572

  • 读操作-时序图
    【TI-AM5728】GPMC与FPGA高速数据通信-(1)设备树节点属性编写参考文档翻译_第1张图片
  • 写操作-时序图
    【TI-AM5728】GPMC与FPGA高速数据通信-(1)设备树节点属性编写参考文档翻译_第2张图片

2. 文档翻译

- 文档1

    board-support\linux-4.19.38+gitAUTOINC+4dae378bbe-g4dae378bbe\Documentation\devicetree\bindings\mtd\gpmc-nor.txt

翻译内容如下:

NOR Flash连接到TI GPMC的设备树绑定

连接TI GPMC的NOR Flash(可以在OMAP开发板上找到)作为GPMC控制器的子节点,命名为 “nor”.

所有与时序相关的属性以及通用的GPMC子属性都在另一个文件中解释,请参考:Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt

必要的属性(Required properties):

  • bank-width:   NOR Flash字节宽度。GPMC支持8位和16位设备,因此必须是1个或2个字节。
  • compatible:  参见文档Documentation/devicetree/bindings/mtd/mtd-physmap.txt
  • gpmc,cs-on-ns:  片选有效前的时间间隔 (从芯片手册的时序上看,CSONTIME是ADV拉高到CS拉低之间的时间段,是否应该理解成片选有效前的时间间隔)
  • gpmc,cs-rd-off-ns:  读操作时,片选无效前的时间间隔
  • gpmc,cs-wr-off-ns:  写操作时,片选无效前的时间间隔
  • gpmc,oe-on-ns:  读使能有效前的时间间隔
  • gpmc,oe-off-ns:  读使能无效前的时间间隔
  • gpmc,we-on-ns: 写使能有效前的时间间隔
  • gpmc,we-off-ns:  写使能无效前的时间间隔
  • gpmc,access-ns:  从开始循环到第一个数据捕获(读访问)
  • gpmc,rd-cycle-ns:  总的读操作循环时间
  • gpmc,wr-cycle-ns:  总的写操作循环时间
  • linux,mtd-name:  参见Documentation/devicetree/bindings/mtd/mtd-physmap.txt
  • reg:  Chip-select, base address (relative to chip-select) and size of NOR flash. Note that base address will be typically 0
    as this is the start of the chip-select.
    可选的属性(Optional properties):
  • gpmc,XXX   额外的GPMC时序和配置参数。参见Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
    可选的分区表属性解析:
  • #address-cells:  should be set to 1
  • #size-cells:  should be set to 1

- 文档2:

    文档:board-support\linux-4.19.38+gitAUTOINC+4dae378bbe-g4dae378bbe\Documentation\devicetree\bindings\memory-controllers\omap-gpmc.txt

翻译内容如下:

OMAP-GPMC设备树绑定

实际的设备是从GPMC节点的子结点实例化的。

必要的属性:

  • compatible:   应该设置为下列之一:
    ti,omap2420-gpmc (omap2420)
    ti,omap2430-gpmc (omap2430)
    ti,omap3430-gpmc (omap3430 & omap3630)
    ti,omap4430-gpmc (omap4430 & omap4460 & omap543x)
    ti,am3352-gpmc (am335x devices)
  • reg:   寄存器空间的一个源指示符
  • ti,hwmods:   应该设置为“tI,gpmc”直到DT发送结束
  • #address-cells:   必须设置为 2 用以允许内存地址转换
  • #size-cells:   必须设置为1用以允许内存映射
  • gpmc,num-cs:   控制器支持的最大片选数
  • gpmc,num-waitpins:   控制器支持的最大wait引脚数
  • ranges:   每一个片选必须设置成能够反映内存布局的4个整型数值:
    0
    目前,从每一个片选寄存器 GPMC_CONFIG7(由引导加载程序设置)推导的计算值被用于物理地址的解码。由于这些值在以后会被改变,必须填充正确的值。
  • interrupt-controller:   GPMC 驱动程序和中断控制器为实现NAND事件“fifoevent”和“termcount”在GPMC_WAIT引脚的上升/下降边沿触发添砖加瓦。
    中断号映射如下:
    0 – NAND_fifoevent
    1 - NAND_termcount
    2 - GPMC_WAIT0 pin edge
    3 - GPMC_WAIT1 pin edge, and so on.
  • interrupt-cells:   必须设置为2
  • gpio-controller:   GPMC驱动为GPMC WAIT引脚实现了一个GPIO控制器,该引脚可以被用作普通目的的输入。 0 映射到GPMC_WAIT0引脚。
  • gpio-cells:   必须设置为2

必要的属性当使用NAND预读取dma时:

  • dmas    GPMC NAND 预读取dma通道
  • dma-names   必须设置为“rxtx”

子节点的时序属性。所有选项都是可选的并且默认是0.

  • gpmc,sync-clk-ps:  同步模式下最小的时钟周期,单位皮秒ps

与GPMC_CONFIG2相关的片选信号时序(单位ns)

  • gpmc,cs-on-ns:  Assertion time
  • gpmc,cs-rd-off-ns:  Read deassertion time
  • gpmc,cs-wr-off-ns:  Write deassertion time

与GPMC_CONFIG3相关的ADV信号时序(单位ns)

  • gpmc,adv-on-ns:  Assertion time
  • gpmc,adv-rd-off-ns:  Read deassertion time
  • gpmc,adv-wr-off-ns:  Write deassertion time
  • gpmc,adv-aad-mux-on-ns:  Assertion time for AAD
  • gpmc,adv-aad-mux-rd-off-ns:  Read deassertion time for AAD
  • gpmc,adv-aad-mux-wr-off-ns:  Write deassertion time for AAD

与GPMC_CONFIG4相关的WE信号时序(单位ns)

  • gpmc,we-on-ns:  Assertion time
  • gpmc,we-off-ns:  Deassertion time

与GPMC_CONFIG4相关的OE信号时序(单位ns)

  • gpmc,oe-on-ns:  Assertion time
  • gpmc,oe-off-ns:  Deassertion time
  • gpmc,oe-aad-mux-on-ns:  Assertion time for AAD
  • gpmc,oe-aad-mux-off-ns:  Deassertion time for AAD

与GPMC_CONFIG5相关的Access time 和cycle time时序(单位ns)

  • gpmc,page-burst-access-ns:  Multiple access word delay
  • gpmc,access-ns:  Start-cycle to first data valid delay
  • gpmc,rd-cycle-ns:  Total read cycle time
  • gpmc,wr-cycle-ns:  Total write cycle time
  • gpmc,bus-turnaround-ns:  Turn-around time between successive accesses
  • gpmc,cycle2cycle-delay-ns:  Delay between chip-select pulses
  • gpmc,clk-activation-ns:  GPMC clock activation time
  • gpmc,wait-monitoring-ns:  Start of wait monitoring with regard to valid data

布尔时序参数。如果属性有参数,则启用。如果省略属性,则禁用。

  • gpmc,adv-extra-delay:  ADV signal is delayed by half GPMC clock
  • gpmc,cs-extra-delay:  CS signal is delayed by half GPMC clock
  • gpmc,cycle2cycle-diffcsen:  Add “cycle2cycle-delay” between successive
    accesses to a different CS
  • gpmc,cycle2cycle-samecsen:  Add “cycle2cycle-delay” between successive
    accesses to the same CS
  • gpmc,oe-extra-delay:  OE signal is delayed by half GPMC clock
  • gpmc,we-extra-delay:  WE signal is delayed by half GPMC clock
  • gpmc,time-para-granularity:  Multiply all access times by 2

下面的属性仅应用于 OMAP3+ 和 AM335x:

  • gpmc,wr-access-ns:   In synchronous write mode, for single or
    burst accesses, defines the number of GPMC_FCLK cycles from start access time to the GPMC_CLK rising edge used by the memory device for the first data capture.
  • gpmc,wr-data-mux-bus-ns:   In address-data multiplex mode, specifies the time when the first data is driven on the address-data bus.

GPMC片选为子节点的配置属性。所有的项都是可选的。

  • gpmc,burst-length   Page/burst length. Must be 4, 8 or 16.
  • gpmc,burst-wrap   Enables wrap bursting
  • gpmc,burst-read   Enables read page/burst mode
  • gpmc,burst-write   Enables write page/burst mode
  • gpmc,device-width   Total width of device(s) connected to a GPMC
    chip-select in bytes. The GPMC supports 8-bit and 16-bit devices and so this property must be 1 or 2.
  • gpmc,mux-add-data   Address and data multiplexing configuration.Valid values are 1 for address-address-data multiplexing mode and 2 for address-data multiplexing mode.
  • gpmc,sync-read   Enables synchronous read. Defaults to asynchronous is this is not set.
  • gpmc,sync-write   Enables synchronous writes. Defaults to asynchronous is this is not set.
  • gpmc,wait-pin   Wait-pin used by client. Must be less than
    “gpmc,num-waitpins”.
  • gpmc,wait-on-read   Enables wait monitoring on reads.
  • gpmc,wait-on-write   Enables wait monitoring on writes.

你可能感兴趣的:(#,TI-AM5728)