imx6q EIM interface for FPGA 配置

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6q EIM interface for FPGA 配置

5,735 Views
sharpjison
Contributor II

        现在FPGA接在imx6q的EIM接口上,现在做如下配置,才能从EIM接口获取到数据,配置哪些寄存器,怎么配置才能做好,才能达到同步模式读/写访问。

 内核:linux-4.1.15   所有的硬件信息都在设备树中配置

 硬件:imx6q

 使用的管脚:

            EIM_DA[15:0]

            EIM_EB0

            EIM_EB1

            EIM_OE

            EIM_RW

            EIM_LBA

            EIM_A[24:17]

            EIM_BCLK

            EIM_WAIT

你要做的配置是:
(1)配置为16位复用方式
(2)配置为25位地址线
(3)同步模式访问
(4)配置为CS0有效

测试EIM接口配置:在驱动程序中,现将eim接口的物理地址进行ioremap映射,然后使用printk将eim中的数据进行打印出来。

目前的寄存器配置如下:

linux-4.1.15/arch/arm/boot/dts/imx6qdl.dtsi

            weim: weim@021b8000 {
                compatible = "fsl,imx6q-weim";
                reg = <0x021b8000 0x4000>;
                clocks = <&clks 196>;
                #address-cells = <2>;
                #size-cells = <1>;
                ranges = <0 0 0x08000000 0x08000000>;
                fsl,weim-cs-gpr = <&gpr>;

                fpga@0,0 {
                    compatible = "cfi-flash";
                    reg = <0 0 0x02000000>;
                    #address-cells = <1>;
                    #size-cells = <1>;
                    bank-width = <2>;
                    fsl,weim-cs-timing = <0x00010CB1 0x00001010 0x0C015100
                                0x00000000 0xCC1C7640 0x00000000>;
              };
            };

斜体部分就是需要配置的寄存器!

Tags (2)
0 Kudos
4 Replies

3,549 Views
igorpadykov
NXP Employee
NXP Employee

Hi Sharp

to change EIM configuration please check

linux/Documentation/devicetree/bindings/bus/imx-weim.txt

linux-imx.git - i.MX Linux Kernel 

and description of EIM registers in i.MX6Q RM Chapter 22 External Interface Module (EIM)

http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

3,549 Views
sharpjison
Contributor II

我就是参照这两个文档进行配置的,可是怎么配置寄存器达到 16位地/址数据复用、25根地址线、同步读/写访问、使能CS0

DSZ.png

DSZ如果配置成001是不是就意味着EIM的数据线就是采用的EIM_DATA[15:0]这15个管脚,而非采用的地址/数据服用方式下的EIM_AD[15:0]呢,还用同步读/写访问俄是不是就是配置以下下图CS0GCR1的SRD、SWR、MUM这三个位

选区_005.png

怎么配置CS0GCR1的寄存器才能产生同步模式下的BCLK时钟

选区_006.png

选区_007.png

0 Kudos

3,549 Views
igorpadykov
NXP Employee
NXP Employee

for available EIM configurations please check

Table 39. EIM Internal Module Multiplexing i.MX6DQ Datasheet

http://cache.freescale.com/files/32bit/doc/data_sheet/IMX6DQCEC.pdf

Best regards
igor

0 Kudos

3,549 Views
sharpjison
Contributor II

请问一下,这样配置对不对,如果不对,又该怎么配置寄存器呢

0 Kudos