Configuration of colibri imx6dl EIM bus in wince

Hi we are using colibri imx6dl module and wanted to configure EIM bus in 16 bit data(D0-D15) & 8 bit address(A0-A7) in Asynchronous non multiplex mode.
we have followed toradex link external eim bus usage and did some changes by using imx6DQRM datasheet and colibri imx6 som datasheet.
here are the changes we made.

const uIo eimIo[] =
		COLIBRI_PIN(89),   // RW
		COLIBRI_PIN(91),   // OE
		COLIBRI_PIN(105),   // CS0_B
		COLIBRI_PIN(111),   // AD0
		COLIBRI_PIN(113),   // AD1
		COLIBRI_PIN(115),   // AD2
		COLIBRI_PIN(117),   // AD3
		COLIBRI_PIN(119),   // AD4
		COLIBRI_PIN(121),   // AD5
		COLIBRI_PIN(123),   // AD6
		COLIBRI_PIN(125),   // AD7
	/*	COLIBRI_PIN(110),   // AD8
		COLIBRI_PIN(112),   // AD9
		COLIBRI_PIN(114),   // AD10
		COLIBRI_PIN(116),   // AD11
		COLIBRI_PIN(118),   // AD12
		COLIBRI_PIN(120),   // AD13
		COLIBRI_PIN(122),   // AD14
		COLIBRI_PIN(124),   // AD15  */

		COLIBRI_PIN(149),   // D0
		COLIBRI_PIN(151),   // D1
		COLIBRI_PIN(153),   // D2
		COLIBRI_PIN(155),   // D3
		COLIBRI_PIN(157),   // D4
		COLIBRI_PIN(159),   // D5
		COLIBRI_PIN(161),   // D6
		COLIBRI_PIN(163),   // D7
		COLIBRI_PIN(165),    // D8
		COLIBRI_PIN(167),   // D9
		COLIBRI_PIN(169),    // D10
		COLIBRI_PIN(171),    // D11
		COLIBRI_PIN(173),    // D12
		COLIBRI_PIN(175),    // D13
		COLIBRI_PIN(177),    // D14
		COLIBRI_PIN(179)    // D15

	/// The EIM functionality is on Alternate Function 0 for all EIM pins. 
	/// (this is different for the iMX7)
	for (i = 0; i <= (10); i++){
		fSuccess &= Imx6Gpio_SetConfigString(hGpio, eimIo[i], NULL, L"AltFn=0", StoreVolatile);
	for (i = 11; i <= (26); i++){
		fSuccess &= Imx6Gpio_SetConfigString(hGpio, eimIo[i], NULL, L"AltFn=1", StoreVolatile);

and also configured CS0GCR1 register for 16bit data.

pEimReg->EIM_CS0GCR1 = 0x0061A081 // 16bit data line DATA[15:0]

is this much changes are enough or we need to add some more configuration.


We didn’t use the EIM bus a lot, so I can’t answer your question safely.

At a first glance your modifications look good to me. I recommend you use ou iMX6 Gpio Tool to verify that the alternate functions are setup correctly.

As a second step you probably need an oscilloscope to verify that the signal timings all look as expected. I recommend to measure all relevant control signals and pick one or two address and data signals for the verification.

Regards, Andy