[Q4]When waking up, how to set the drivers reload by oder?--[i.MX53,WEC7]

cancel
Showing results for 
Search instead for 
Did you mean: 

[Q4]When waking up, how to set the drivers reload by oder?--[i.MX53,WEC7]

356 Views
johnphy
Contributor I

Hi,

   Thanks for your attenion.

   We use I.MX53 running WEC7. The registery storage is "Hive-based Registry" and the file system is  "RAM and ROM file system".

   There are some problems need your help. Any suggestion is welcome, thanks!

[Q4]When waking up, how to set the drivers reload by oder?--[i.MX53,WEC7]

   When system wakes up from suspend, we want to relod display driver first, and then the backlight dirver. But it seems that the backlight power off first when suspending, and power on first when resuming too. Can we change this order?Why And how?

Below is the  test info:

Suspend and power off order:

;------------------------------------------------------------------------------

PID:00400002 TID:01C10006 ---+BSPTouchPowerHandler()------------------------------

PID:00400002 TID:01C10006 ---+BSPTouchInterruptDisable()-----------------------

PID:00400002 TID:01C10006 ADCDrv: IOCTL_POWER_SET called

PID:00400002 TID:01C10006 +BSPPmicPowerNotifySuspend

PID:00400002 TID:01C10006 GKP::requests a change of device power state D4!

PID:00400002 TID:01C10006 GKP:: setting power state is D4!

PID:00400002 TID:01C10006 BKL::Power state is = D4.

PID:00400002 TID:01C10006 +BSPBacklightSetIntensity

PID:00400002 TID:01C10006 BKL::Backlight to Level = +0

PID:00400002 TID:01C10006 -BSPBacklightSetIntensity

.........................

PID:00400002 TID:01C10006 SetDisplayPower = D4.

PID:00400002 TID:01C10006  CLAADisablePanel: Set Panel sleep.

PID:00400002 TID:01C10006 +SPI_PowerOff_LD9042

PID:00400002 TID:01C10006 -SPI_PowerOff_LD9042

PID:00400002 TID:01C10006  CLAADisablePanel: Set Panel power down.

;------------------------------------------------------------------------------

Wake up driver load order:

;------------------------------------------------------------------------------

PID:00400002 TID:00C00012 PWB::(+)PwrBtnThread():handle event

PID:00400002 TID:01C10006 ---+BSPTouchPowerHandler()------------------------------

PID:00400002 TID:01C10006 ---+BSPTouchInterruptEnable()-----------------------

PID:00400002 TID:01C10006 ADCDrv: IOCTL_POWER_SET called

PID:00400002 TID:01C10006 GKP::requests a change of device power state D0!

PID:00400002 TID:01C10006 GKP:: setting power state is D0!

PID:00400002 TID:01C10006 BKL::Power state is = D0.

PID:00400002 TID:01C10006 +BSPBacklightSetIntensity

PID:00400002 TID:01C10006 BKL::Backlight to Level = +27

PID:00400002 TID:01C10006 -BSPBacklightSetIntensity

.........................

PID:00400002 TID:01C10006 SetDisplayPower = D0.

PID:00400002 TID:01C10006 start initilization of LCD-------.

PID:00400002 TID:01C10006 Initialize LD9042------------.

PID:00400002 TID:01C10006 In CLAA.cpp set.

PID:00400002 TID:00C00012 PWB::(-)SetSystemPowerState ON

PID:00400002 TID:00C00012 PWB::(-)PwrBtnThread():handle event

;------------------------------------------------------------------------------

Labels (1)
0 Kudos
3 Replies

223 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

All drivers that account for power must be handle by IOCTL_POWER_SET. The driver should not be set the device state to the requested value. your application should not call this control directly to set the device to power and resume. Instead, it should use the SetDevicePower function which goes through the power manager.

Regards

0 Kudos

223 Views
johnphy
Contributor I

Thanks for your reply.

Yes,we have applied the IOCTL_POWER_CAPABILITIES,IOCTL_POWER_SET and IOCTL_POWER_GET in the driver's IO control function . So the device's power state can be controled by the power manager. But

1 , if the drivers are A,B and C,

2, and when the system goes to suspending state, the power manager sets devices to D4 state by order:A,B,C

3, when the system resumes, the power manager SHOULD set devices to  D0 state in the reverse order,that is C,B,A;

4, the question is WHY the divers of backlight and display on my board did not obey the rules? 

0 Kudos

223 Views
johnphy
Contributor I

Can anybody give any suggestion?

0 Kudos