[Q3]We can only use Iclass(GUID) to realize PWM, but using DeviceName will not do, why?--[i.MX53,WEC7]

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[Q3]We can only use Iclass(GUID) to realize PWM, but using DeviceName will not do, why?--[i.MX53,WEC7]

1,281 Views
johnphy
Contributor I

[Q3]We can only use Iclass(GUID) to realize PWM, but using DeviceName will not do, why?--[i.MX53,WEC7]

   We want to disable the GPIO keypad when the screen is off, and the GPIO keypad should go to D4 mode. But we can only use the Iclass(GUID) to realize this function.

   The registery set below will not work(Set GPIO Keypad Iclass as Generic power-manageable devices and set GKP1 go to D4 mode when screenoff,but the GPIO Keypad Driver can not get power control command):

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

; GPIO Keypad Driver

;

IF BSP_GPIO_KEYPAD

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GPIOKEYPAD]

   "Prefix"="GKP"

   "Dll"="gpiokeypad.dll"

   "Index"=dword:1

   "Order"=dword:12

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

   "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"   ;"Generic power-manageable devices"

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

ENDIF ;BSP_GPIO_KEYPAD

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

;

; Normal operation, but with UI disabled

;

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff]

    "Default"=dword:0       ; D0

    "Flags"=dword:100000    ; POWER_STATE_IDLE

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

    "GKP1:"=dword:4         ; D4 (This set will not work, why !)

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

; @CESYSGEN IF CE_MODULES_BACKLIGHT

; The default behaviour for backlight drivers is to go to D4 in ScreenOff.

; OEMS who support D2/D3 can override this in the platform

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff\{0007AE3D-413C-4e7e-8786-E2A696E73A6E}]

    "Default"=dword:4           ; D4    ; backlight off

; @CESYSGEN ELSE

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff]

    "BKL1:"=dword:4    ; legacy support

; @CESYSGEN ENDIF CE_MODULES_BACKLIGHT

 

  But the registery set below will work well(Set GPIO Keypad Iclass as "Power-manageable backlight", when screenoff the GPIO Keypad Driver can get power control command and go to D4 mode):

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

; GPIO Keypad Driver

;

IF BSP_GPIO_KEYPAD

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GPIOKEYPAD]

   "Prefix"="GKP"

   "Dll"="gpiokeypad.dll"

   "Index"=dword:1

   "Order"=dword:12

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

   "IClass"="{0007AE3D-413C-4e7e-8786-E2A696E73A6E}"    ;"Power-manageable backlight"

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

ENDIF ;BSP_GPIO_KEYPAD

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

;

; Normal operation, but with UI disabled

;

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff]

    "Default"=dword:0       ; D0

    "Flags"=dword:100000    ; POWER_STATE_IDLE 

; @CESYSGEN IF CE_MODULES_BACKLIGHT

; The default behaviour for backlight drivers is to go to D4 in ScreenOff.

; OEMS who support D2/D3 can override this in the platform

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff\{0007AE3D-413C-4e7e-8786-E2A696E73A6E}]

    "Default"=dword:4           ; D4    ; backlight off

; @CESYSGEN ELSE

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff]

    "BKL1:"=dword:4    ; legacy support

; @CESYSGEN ENDIF CE_MODULES_BACKLIGHT

Labels (1)
0 Kudos
Reply
3 Replies

1,086 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

If a driver does not implement the IOCTL_POWER_CAPABILITIES, the power manager assumes that the driver does implement the other IOCTLs and does not send them. During initialization, through IOCTL_POWER_CAPABILITIES, the device driver should put the device into D0 and not D4 since D4 is completely device turned off.

Regards

0 Kudos
Reply

1,086 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 .

the settings below just tell the power manager, if goes to  "ScreenOff " sate , set all the drivers to D0 state except GKP1 to D4 state. But it does not work.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff]

    "Default"=dword:0       ; D0

    "Flags"=dword:100000    ; POWER_STATE_IDLE

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

    "GKP1:"=dword:4         ; D4 (This set will not work, why !)

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

0 Kudos
Reply

1,086 Views
johnphy
Contributor I

Can anybody give any suggestion?

0 Kudos
Reply