Current File : //platform/i86pc/kernel/drv/ppm.conf
#
# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
#

name="ppm" parent="pseudo" instance=0;

#
# ppm configuration format
#
# "ppm-domains" - in form of "domain_xxx" where "xxx" string highlights 
# the nature of the domain;
# 
# "domain_xxx-model" - PM model: CPU 
# "domain_xxx-model" - PM model: SX
#
# "domain_xxx-propname" - a property name that is exported by device in
# a domain.  Currently, it is used by PCI_PROP model to identify devices
# that are to have their clocks stopped when all power-manageable devices
# in the domain are at D3 power level.
#
# "domain-xxx-devices" - a list of prom path match patterns to match devices
# that fall into "domain_xxx", where wildcard '*' is allowed by observing
# the following expectations:
#	. a single wildcard with exact match up to (but exclude) the wildcard
#	  which then terminates the match pattern;
#	. a single wildcard that does not terminate a match pattern must
#	  match driver name (followed by '@');
#	. with two wildcard occurences, the first is to match driver name,
#	  the second function id, as well as the last character of the match
#	  pattern.
# 
# "domain-xxx-ctrl" - blank space separated definitions in the form of
# keyword=definition [keyword=definition...]
#    The keywords are as follows, where 'method' must come before mask as it
#       tells how to store 'mask' and 'val'.  Missing 'val' defaults to 0.
# 
#    which keywords apply depends on cmd.  There are two sets as shown below.
#    Here is the first:
#	cmd=ENTER_SUSPEND
# 	path=<prompath>	- control device's prom pathname (includes minor)
# 	method=[KIO|I2CKIO]	This selects a method which may be
#		an ioctl that sets a single value or an i2c ioctl that
#		takes a value and a mask to access gpio register
#	iord=<integer> - value of ioctl command for reading
#	iowr=<integer> - value of ioctl command for writing
# 	val=<integer>	- a single integer value, generally the value to which
#			  the relevant bits of a register will be set
#	mask=<integer>	- which bits of val are relevant (if method is I2CKIO)
#
ppm-domains="domain_cpu" , "domain_estar";

#
# CPU domain
# A special rule exists on x86 to catch all CPU devices by using "/" as the
# device path.
#
domain_cpu-devices="/";
domain_cpu-model="CPU";

#
# Estar domain
#   0x4101 is APPMIOC_ENTER_SUSPEND	(('A' << 8) | 1)
#   0x4102 is APPMIOC_EXIT_SUSPEND	(('A' << 8) | 2)
#
domain_estar-devices="/";
domain_estar-model="SX";
domain_estar-control=
    "cmd=ENTER_SUSPEND path=/pseudo/acpippm@0:acpi-ppm method=KIO iowr=0x4101",
    "cmd=EXIT_SUSPEND path=/pseudo/acpippm@0:acpi-ppm method=KIO iowr=0x4102";