#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#pragma ident	"%Z%%M%	%I%	%E% SMI"
#

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-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=[PCI_ON | PCI_OFF]
# 	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_cpu-devices="/cpus/cpu@*";
domain_cpu-model="CPU";