xref: /titanic_52/usr/src/uts/i86pc/io/ppm.conf (revision 5cff782560a1c3cf913ba5574a5123a299f3315e)
1*5cff7825Smh27603#
2*5cff7825Smh27603# CDDL HEADER START
3*5cff7825Smh27603#
4*5cff7825Smh27603# The contents of this file are subject to the terms of the
5*5cff7825Smh27603# Common Development and Distribution License (the "License").
6*5cff7825Smh27603# You may not use this file except in compliance with the License.
7*5cff7825Smh27603#
8*5cff7825Smh27603# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*5cff7825Smh27603# or http://www.opensolaris.org/os/licensing.
10*5cff7825Smh27603# See the License for the specific language governing permissions
11*5cff7825Smh27603# and limitations under the License.
12*5cff7825Smh27603#
13*5cff7825Smh27603# When distributing Covered Code, include this CDDL HEADER in each
14*5cff7825Smh27603# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*5cff7825Smh27603# If applicable, add the following below this CDDL HEADER, with the
16*5cff7825Smh27603# fields enclosed by brackets "[]" replaced with your own identifying
17*5cff7825Smh27603# information: Portions Copyright [yyyy] [name of copyright owner]
18*5cff7825Smh27603#
19*5cff7825Smh27603# CDDL HEADER END
20*5cff7825Smh27603#
21*5cff7825Smh27603#
22*5cff7825Smh27603# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23*5cff7825Smh27603# Use is subject to license terms.
24*5cff7825Smh27603#
25*5cff7825Smh27603#pragma ident	"%Z%%M%	%I%	%E% SMI"
26*5cff7825Smh27603#
27*5cff7825Smh27603
28*5cff7825Smh27603name="ppm" parent="pseudo" instance=0;
29*5cff7825Smh27603
30*5cff7825Smh27603#
31*5cff7825Smh27603# ppm configuration format
32*5cff7825Smh27603#
33*5cff7825Smh27603# "ppm-domains" - in form of "domain_xxx" where "xxx" string highlights
34*5cff7825Smh27603# the nature of the domain;
35*5cff7825Smh27603#
36*5cff7825Smh27603# "domain_xxx-model" - PM model: CPU
37*5cff7825Smh27603#
38*5cff7825Smh27603# "domain_xxx-propname" - a property name that is exported by device in
39*5cff7825Smh27603# a domain.  Currently, it is used by PCI_PROP model to identify devices
40*5cff7825Smh27603# that are to have their clocks stopped when all power-manageable devices
41*5cff7825Smh27603# in the domain are at D3 power level.
42*5cff7825Smh27603#
43*5cff7825Smh27603# "domain-xxx-devices" - a list of prom path match patterns to match devices
44*5cff7825Smh27603# that fall into "domain_xxx", where wildcard '*' is allowed by observing
45*5cff7825Smh27603# the following expectations:
46*5cff7825Smh27603#	. a single wildcard with exact match up to (but exclude) the wildcard
47*5cff7825Smh27603#	  which then terminates the match pattern;
48*5cff7825Smh27603#	. a single wildcard that does not terminate a match pattern must
49*5cff7825Smh27603#	  match driver name (followed by '@');
50*5cff7825Smh27603#	. with two wildcard occurences, the first is to match driver name,
51*5cff7825Smh27603#	  the second function id, as well as the last character of the match
52*5cff7825Smh27603#	  pattern.
53*5cff7825Smh27603#
54*5cff7825Smh27603# "domain-xxx-ctrl" - blank space separated definitions in the form of
55*5cff7825Smh27603# keyword=definition [keyword=definition...]
56*5cff7825Smh27603#    The keywords are as follows, where 'method' must come before mask as it
57*5cff7825Smh27603#       tells how to store 'mask' and 'val'.  Missing 'val' defaults to 0.
58*5cff7825Smh27603#
59*5cff7825Smh27603#    which keywords apply depends on cmd.  There are two sets as shown below.
60*5cff7825Smh27603#    Here is the first:
61*5cff7825Smh27603#	cmd=[PCI_ON | PCI_OFF]
62*5cff7825Smh27603# 	path=<prompath>	- control device's prom pathname (includes minor)
63*5cff7825Smh27603# 	method=[KIO|I2CKIO]	This selects a method which may be
64*5cff7825Smh27603#		an ioctl that sets a single value or an i2c ioctl that
65*5cff7825Smh27603#		takes a value and a mask to access gpio register
66*5cff7825Smh27603#	iord=<integer> - value of ioctl command for reading
67*5cff7825Smh27603#	iowr=<integer> - value of ioctl command for writing
68*5cff7825Smh27603# 	val=<integer>	- a single integer value, generally the value to which
69*5cff7825Smh27603#			  the relevant bits of a register will be set
70*5cff7825Smh27603#	mask=<integer>	- which bits of val are relevant (if method is I2CKIO)
71*5cff7825Smh27603#
72*5cff7825Smh27603
73*5cff7825Smh27603ppm-domains="domain_cpu";
74*5cff7825Smh27603domain_cpu-devices="/cpus/cpu@*";
75*5cff7825Smh27603domain_cpu-model="CPU";
76