We are trying to use EIM_AD14 pin (pin 239) on our Apalis iMX6Q 1GB module in order to use the EIM interface.
But the pin is stuck to 0. It is configured in ALT function 0.
We tried to configure it as GPIO (with GPIO configuration tool) and set it to 1 and 0 but it is stuck at 0. We measured it with an oscilloscope on the Apalis evaluation board (connector X9 pin 29).
We have two Apalis module and both behave the same.
All other EIM address pins (from 0 to 17) works fine.
Do you have any idea why we can not use this pin?
The Pin 239 primary purpose is to display backlight control. Maybe display driver is accessing the pin, could you set a different pin for BL_GPIO the backlight here : https://developer.toradex.com/knowledge-base/display-driver-registry-settings#fn:x
Did you connect display over the Unified Display interface?
Which carrier board or eval board are you using? Could you check the on the eval board or carrier board schematic does it connected to driving IC and if possible remove the connection from module to the carrier board.
I am using the Apalis evaluation board.
I have checked and the BL_GPIO registry setting is set to 0.
I have removed the eval board strap between rank A & B of X3 connector for the pin 239. The result is the same.
Please refer this forum question for Apalis i.MX6 PWM4 and Backlight PWM sharing concept : https://www.toradex.com/community/questions/39563/apalis-imx-6-pwm4-backlight-pwm-sharing.html
You need to disable buffer by setting output 1 in EIM_A25 pin using Gpio tool. Also, you need to configure IOMUXC_SW_PAD_CTL_PAD_EIM_AD14 register to set correct drive strength as like IOMUXC_SW_PAD_CTL_PAD_EIM_AD13. Please download i.MX6 Reference manual from here. You would use Reg Access tool for that
Maybe we set Drive Strength Field to HIZ. Could you wait for few days, let me discuss with our developer meeting and would like to get back on this.
I think we are on the good way but it still does not work.
I have set the IOMUXC_SW_PAD_CTL_PAD_EIM_AD14 to 0xB0B1 as for IOMUXC_SW_PAD_CTL_PAD_EIM_AD13. It was previously set to 0x10080.
No when I set pin 8 (EIM_A25) to 1, EIM_AD14 switched from 0 to 1 but EIM write does not change AD14 state (it is stuck at 1). Now if I set pin 8 to 0, EIM_AD14 switch to 0.
Does you have an idea of what can still be wrong?
If Gpio Input and Output modes are working then obviously EIM alternate functionality should also work.
Could you please share reproducuble demo code with us, let us try to look at the problem with your code.
Did you test this : Basic Usage of the External EIM Bus on Colibri iMX6
Could you try test EIM functionality on Embedded Linux, if it works there then we can figure out what configuration needed to work on WinCE?
Please let us know if you have any other questions.
I did not say that GPIO input and output are working. I have just observed some transient on pin EIM_AD14 when changing EIM_ADDR25 state.
Today I am trying to reproduce my previous test but pin EIM_AD14 is stuck at 0.
To reproduce the behaviour, I do not need any code execution.
You can try the following on a Apalis Evaluation board:
- Whith Reg access tool V1.5, set IOMUXC_SW_PAD_CTL_PAD_EIM_AD14 (0x20E460) to 0xB0B1
- With iMX6 GPIO V1.1, set EIM_ADDR25 output to 1 (disable PWM sharing)
- With iMX6 GPIO V1.1, set EIM_AD14 pin as GPIO output and set level to 0 and 1 and check electrical signal on connector X8 pin 29. You should see no electrical change.
Doing the same operation on pin EIM_AD13 works.
I did the procedure I have sent in my previous comments and now it works.
I was doing my test on our prototype board that may have an other problem.
I will let you know if I still need some suport.
Thank you for the help.
Thank you for your reply. Wish you good luck with your product development!