This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

am3359 wince touch panel driver problem

I have a new board which is very similar to EVM board.

The main differences are:

RAMSIZE==>256M

NAND FLASH===>SAMSUNG 16GBIT MLC

I have downloaded the BSP source code from www.adeneo-embedded.com. After modified I/O mux and memory setting, the board can boot up. But it will stuck in touch calibration, the calibration picture showed up on screen, but the key press can't move the cross. I open some debug print function in touch drivers,  when the panel is pressed, touch event is shown up.

If I remove IMGNOCALIBRATION definition in the reg file, the system can boot up, but without touch function.  If the panel is pressed,touch event is shown up too.

Could someone help me?

PID:00400002 TID:01320006 Cpsw3g_InitializeAdapter: mode=1, port=1, txCh=0, rxChMask=0x01, ActiveCpgmac=1
PID:00400002 TID:01320006 SDHC: CPU revision 0xffffffff
PID:00400002 TID:01320006 SDHC host controller initialize: m_fastPathSDIO:1 m_fastPathSDMEM:0
PID:00400002 TID:01320006 TCH: DllMain: dll attach.
PID:00400002 TID:01320006 TCH: +TCH_Init
PID:00400002 TID:01320006 TCH: CCircBuffer Size=20 samples
PID:00400002 TID:01320006 TchPdd_Init+
PID:00400002 TID:01320006 PDDInitializeHardware+
PID:00400002 TID:01320006  TOUCH: touch sysintr:30.
PID:00400002 TID:01320006 clock rate is 24000000

PID:00400002 TID:01320006 PDDInitializeHardware-
PID:00400002 TID:01320006 TchPdd_Init-
PID:00400002 TID:01320006 TCH: -TCH_Init
PID:00400002 TID:01560006 TCH: +TCH_Open
PID:00400002 TID:01560006 TCH: -TCH_Open
PID:00400002 TID:01560006 TchPdd_Ioctl: IOCTL_POWER_CAPABILITIES
PID:00400002 TID:01560006 TCH: +TCH_Open
PID:00400002 TID:01560006 TCH: -TCH_Open
PID:00400002 TID:01560006 TCH: +TCH_PreClose
PID:00400002 TID:01560006 TCH: -TCH_PreClose
PID:00400002 TID:01560006 TCH: +TCH_Close
PID:00400002 TID:01560006 TCH: -TCH_Close
PID:00400002 TID:01320006 CAM3xxOTG::Init DEVCTL 80
PID:00400002 TID:0279000E CalibrationThread+
PID:00400002 TID:01320006 CAM3xxOTG::Init DEVCTL 98
PID:00400002 TID:028B002E PVR:getCpuFamily: 5
PID:00400002 TID:028B002E PVR:omapsgxddgpe getCpuFamily: 5
PID:00400002 TID:05D30006 TchProxy: TCH1: driver attachedjerrycrc
PID:00400002 TID:05D30006 TCH: +TCH_Open
PID:00400002 TID:05D30006 TCH: -TCH_Open
PID:00400002 TID:05D30006 TchPdd_Ioctl: IOCTL_TOUCH_ENABLE_TOUCHPANEL
PID:00400002 TID:05D30006 PDDTouchPanelEnable+
PID:00400002 TID:05DC0006 PDDTouchIST: IST thread started
PID:00400002 TID:05DC0006 PEN UP,X,Y=(0, 0)
PID:00400002 TID:05DC0006 input Sample:   (0, 0, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (   0,    0, 0x00000004)
PID:00400002 TID:05DC0006 TCH: SaveSamples: PDD passed passed 1 samples when the maximum is 0.
PID:00400002 TID:05DC0006 Sample:   (0, 0)
PID:00400002 TID:05D30006 PDDTouchPanelEnable-
PID:00400002 TID:05D30006 TCH: maxSimultaneousSamples = 1 - cbPropertyMax = 0 - cbSampleSetMax = 44
PID:00400002 TID:02FC0002 _cpsw3g_phy_update_link, Port:0  LINK:UP  SPEED:0  DUPLEX:HD
PID:00400002 TID:05DC0006 PEN UP,X,Y=(0, 0)
PID:00400002 TID:05DC0006 input Sample:   (0, 0, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (   0,    0, 0x00000004)
PID:00400002 TID:05DC0006 Sample:   (0, 0)
PID:00400002 TID:05DC0006 PEN UP,X,Y=(0, 0)
PID:00400002 TID:05DC0006 input Sample:   (0, 0, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (   0,    0, 0x00000004)
PID:00400002 TID:05DC0006 TCH: Circular buffer size is 1
PID:00400002 TID:05DC0006 Sample:   (0, 0)
PID:00400002 TID:05DC0006 PEN UP,X,Y=(0, 0)
PID:00400002 TID:05DC0006 input Sample:   (0, 0, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (   0,    0, 0x00000004)
PID:00400002 TID:05DC0006 Sample:   (0, 0)
PID:00400002 TID:05DC0006 PEN UP,X,Y=(0, 0)
PID:00400002 TID:05DC0006 input Sample:   (0, 0, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (   0,    0, 0x00000004)
PID:00400002 TID:05DC0006 Sample:   (0, 0)
PID:00400002 TID:05DC0006 PEN UP,X,Y=(0, 0)
PID:00400002 TID:05DC0006 input Sample:   (0, 0, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (   0,    0, 0x00000004)
PID:00400002 TID:05DC0006 TCH: Circular buffer size is 1
PID:00400002 TID:05DC0006 Sample:   (0, 0)
PID:00400002 TID:05DC0006 PEN DOWN,X,Y=(1813, 2219)
PID:00400002 TID:05DC0006 input Sample:   (1813, 2219, a)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (1813, 2219, 0x0000000a)
PID:00400002 TID:05DC0006 Sample:   (1813, 2219)
PID:00400002 TID:05DC0006 PEN DOWN,X,Y=(1804, 2223)
PID:00400002 TID:05DC0006 input Sample:   (1804, 2223, 9)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (1804, 2223, 0x00000009)
PID:00400002 TID:05DC0006 Sample:   (1804, 2223)
PID:00400002 TID:05DC0006 PEN UP,X,Y=(1804, 2223)
PID:00400002 TID:05DC0006 input Sample:   (1804, 2223, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (1804, 2223, 0x00000004)
PID:00400002 TID:05DC0006 Sample:   (1804, 2223)
PID:00400002 TID:05DC0006 PEN UP,X,Y=(1804, 2223)
PID:00400002 TID:05DC0006 input Sample:   (1804, 2223, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (1804, 2223, 0x00000004)
PID:00400002 TID:05DC0006 Sample:   (1804, 2223)
PID:00400002 TID:05DC0006 PEN UP,X,Y=(1804, 2223)
PID:00400002 TID:05DC0006 input Sample:   (1804, 2223, 4)
PID:00400002 TID:05DC0006 TCH: MDD buffering the following set of 1 samples: (1804, 2223, 0x00000004)
PID:00400002 TID:05DC0006 TCH: Circular buffer size is 1
PID:00400002 TID:05DC0006 Sample:   (1804, 2223)

  • The bsp version is BSP_WINCE_ARM_A8 02.30.00.01.

    Texas Instruments Windows CE EBOOT for AM33x, Built Sep 25 2012 at 14:44:59
    EBOOT Version 0.0.1, BSP BSP_WINCE_ARM_A8 02.30.00.01

  • When the touch calibration screen shown up,  if the panel isn't pressed for some time, the power state will switch to D1.

    PID:00400002 TID:01720006 kernel PVRSRV_IOCTL_POWER_SET setting state 1
    PID:00400002 TID:01720006 TchPdd_Ioctl: IOCTL_POWER_SET
    PID:00400002 TID:01720006 TchPdd_Ioctl: IOCTL_POWER_SET = to D1


    Then if the touch panel is pressed, the power state will switch back to D0.

    PID:00400002 TID:01720006 kernel PVRSRV_IOCTL_POWER_SET setting state 1
    PID:00400002 TID:01720006 TchPdd_Ioctl: IOCTL_POWER_SET
    PID:00400002 TID:01720006 TchPdd_Ioctl: IOCTL_POWER_SET = to D1


    It seems the touch panel driver works, but for some unknown reason, the WINCE gwes system can't fetch the input.

    But since there is no source code of TouchCalibrate, this can not be confirmed.

  • Problem solved. The hang up is caused by audio driver. TouchCalibrate may depend on it.