AnsweredAssumed Answered

imx6q에서 weim 설정방법

Question asked by YongJin Kim on May 8, 2018

안녕하세요

 

imx6q칩을 사용하는데 WEIM을 사용하고 싶습니다.

DATASheet를 참고해서 devicetree를 수정했는데 cs0만 반응을 하고 cs1/cs2는 반응이 없습니다.

b_clk 핀에서 클럭도 나가게 설정했는데 오실로스코프로 측정해도 반응이 없습니다.

OE/RW/CS0 핀만 오실로스코프 사용시 신호가 변하는걸 확인 했습니다.

 

 

WEIM을 사용하기 위해서 다음과 같이 3가지 설정만 하면 되는지 궁금해서 질문합니다.

 

1. uboot -> IOMUX configurations

static iomux_v3_cfg_t mx6q_sabresd_pads[] = {....

/*Address Lines*/

MX6Q_PAD_EIM_DA0__WEIM_WEIM_DA_A_0,

MX6Q_PAD_EIM_DA1__WEIM_WEIM_DA_A_1,

...}

2. uboot -> IOMUXC_GPR1 설정

메모리 영역 설정을 위해서

 

3.Kernel->devicetree 수정

-메모리 맵 설정 -> ranges = <0 0 0x08000000 0x02000000 1 0 0x0a000000 0x02000000 ... >;

-타이밍 설정 -> fsl,weim-cs-timing = <0x31135387 0x00000000 0x10000000 0x00000000 0x10000000 0x00000000>;

 

ex)

&weim {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_weim_nor &pinctrl_weim_cs0 &pinctrl_weim_cs1 &pinctrl_weim_cs2 &pinctrl_weim_cs3>;
// weim memory map: 32MB on CS0, 32MB on CS1, 32MB on CS2
ranges = <0 0 0x08000000 0x02000000
 1 0 0x0a000000 0x02000000
 2 0 0x0c000000 0x02000000
 3 0 0x0e000000 0x02000000
>;
fsl,weim-cs-gpr = <&gpr>;

// FPGA on CS1


fpga@0,0 {
compatible = "weim_fpga";
reg = <0 0 0x00010000>;
#address-cells = <1>;
#size-cells = <1>;
bank-width = <2>;
fsl,weim-cs-timing = <0x31135387 0x00000000 0x10000000
0x00000000 0x10000000 0x00000000>;
};


// FPGA on CS1
fpga@1,0 {
compatible = "weim_fpga";
reg = <1 0 0x00010000>;
#address-cells = <1>;
#size-cells = <1>;
bank-width = <2>;
fsl,weim-cs-timing = <0x01025007 0x00000000 0x10000000
0x00000000 0x10000000 0x00000000>;
};
};

Outcomes