Dear All,
I'm used i.MX28 LCD module(Seiko 4.3" WVGA) on I.MX6 EVK connect to DISP0(J504).
The LCD is work but the seiko touchscreen didn't work.
The driver of max11801 default is enable.
The function max11801_ts_interrupt of max11801_ts.c is enter when I touch the seiko touch screen.
Could you tell me what are we need to modify of code to enable max11801.
Sean
Solved! Go to Solution.
Hello,Sean,
Please check 2 files :
(1)Open linux/arch/arm/mach-mx6/board-mx6dl_sabresd.h
Check if there are these 2 lines in static iomux_v3_cfg_t mx6dl_sabresd_pads[]:
/* TS_INT - MAX11801 */
MX6DL_PAD_EIM_D26__GPIO_3_26,
(2)Open linux/arch/arm/mach-mx6/board-mx6q_sabresd.h
Check if there are these 2 lines in static iomux_v3_cfg_t mx6q_sabresd_pads[]
/* TS_INT - MAX11801 */
MX6DL_PAD_EIM_D26__GPIO_3_26,
Note, From i.mx6q BSP file board-mx6q_sabresd.c, we can see IOMUX pins in function "static void __init mx6_sabresd_board_init(void)"
.....
if (cpu_is_mx6q())
mxc_iomux_v3_setup_multiple_pads(mx6q_sabresd_pads,
ARRAY_SIZE(mx6q_sabresd_pads));
else if (cpu_is_mx6dl()) {
mxc_iomux_v3_setup_multiple_pads(mx6dl_sabresd_pads,
ARRAY_SIZE(mx6dl_sabresd_pads));
}
......
So your questions should be generated by IOMUX of EIM_D26 .
If you find no IOMUX for this pin , add it please !
Regards,
Weidong
Hello,Sean,
Did you add "calibration" parameter in u-boot environment ?
Regards,
Weidong
Dear Weidong Sun,
I tried same max11801_ts.c code for i.MX6Q is work.
But for i.MX6DL isn't work.
I can't understand what's different between this two EVK(6DL and 6Q)
Hello sean,
It'seemed you have solved this problem on MX6Q board, what's code you changed,Could you tell me?Thanks
I tried same max11801_ts.c code for i.MX6Q is work.
But for i.MX6DL isn't work.
I can't understand what's different between this two EVK(6DL and 6Q)
Dear Jiandong,
For this issue I'm still trying.
My Seiko 4.3 LCD is broke, I'm waiting for neq Seiko LCD.
Do you have any idea's?
Sean
Hello,Sean,
Freescale released 3 types of EVK, they are SDB,SDP & AI board, but they are all based on i.MX6Q, Where did you buy EVK board based on i.MX6DL ? Would you like to share it's schematic with me ? Let me see !
Regards,
Weidong
Hi Weidong Sun,
The board name is MCIMX6DL-SDP.
You could find schematic in the FSL website.
Sean
Hello,Sean,
Sorry ! Because I focus on i.mx6Q , I didn't notice this SDP board. Yes, I checked touch circuit and compared it with mx6q-SDP board, they are same .
When you use touch screen on i.mx6dl-sdp board, could you find if CPU responses interrupt from MAX11801 ?
Regards,
Weidong
Dear Weidong Sun,
I'm very appreciate your help,
I checked there is no interrupt generate form MAX11801 when I touch touchscreen.
The XP XN YP YN has signal output form touchscree when I touch.
But MAX11801 no interrupt generate.
Sean
Hello,Sean,
Please check 2 files :
(1)Open linux/arch/arm/mach-mx6/board-mx6dl_sabresd.h
Check if there are these 2 lines in static iomux_v3_cfg_t mx6dl_sabresd_pads[]:
/* TS_INT - MAX11801 */
MX6DL_PAD_EIM_D26__GPIO_3_26,
(2)Open linux/arch/arm/mach-mx6/board-mx6q_sabresd.h
Check if there are these 2 lines in static iomux_v3_cfg_t mx6q_sabresd_pads[]
/* TS_INT - MAX11801 */
MX6DL_PAD_EIM_D26__GPIO_3_26,
Note, From i.mx6q BSP file board-mx6q_sabresd.c, we can see IOMUX pins in function "static void __init mx6_sabresd_board_init(void)"
.....
if (cpu_is_mx6q())
mxc_iomux_v3_setup_multiple_pads(mx6q_sabresd_pads,
ARRAY_SIZE(mx6q_sabresd_pads));
else if (cpu_is_mx6dl()) {
mxc_iomux_v3_setup_multiple_pads(mx6dl_sabresd_pads,
ARRAY_SIZE(mx6dl_sabresd_pads));
}
......
So your questions should be generated by IOMUX of EIM_D26 .
If you find no IOMUX for this pin , add it please !
Regards,
Weidong
Hi Weidong,
I am also working on MX6Duallite / solo SabreSD based customer board
I have some problem in Touch screen (max11801)
Touch screen is working fine in in 7" LCD (WVGA 600 x 480)
but the same driver is not working proper in 10" LVDS (SVGA 800 x 600)
NOTE:
Touch is working but it's not proper.
when i touch the left corner of the LVDS, it's not showing (0,0) some other values are coming
If i touch anywhere of the LVDS, the cursor is taking place in the touching part.
when i left the touch, the cursor is going back to the center of the LVDS
What is the issue ???
Thanks in Advance
Regards,
J.P.Raja
Hi Raana,
I have experienced the same problem on MX6Q-SDB Board. Max11801 was configured as Autonomous mode.
If i touch anywhere of the LVDS, the cursor is taking place in the touching part.
when i left the touch, the cursor is going back to the center of the LVDS.
I spent a few time to identify the problem and fixed it by increasing Rough and Fine pullup time.
/* Rough pullup time (5mS), Fine pullup time (5ms) */
max11801_write_reg(client, TOUCH_DETECT_PULLUP_CONF_REG, 0xAA);
Hope that help you.
Hello,
I have experience same problem on MX6Q-SDB Board and Seiko 4.3" WVGA panel,and add the following code in the linux/arch/arm/mach-mx6/board-mx6q_sabresd.h
* TS_INT - MAX11801 */
MX6Q_PAD_EIM_D26__GPIO_3_26,
The touchscreen still not work. Could you help on this case?