xref: /illumos-gate/usr/src/uts/i86pc/io/ppm.conf (revision cfb2f55f)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25
26name="ppm" parent="pseudo" instance=0;
27
28#
29# ppm configuration format
30#
31# "ppm-domains" - in form of "domain_xxx" where "xxx" string highlights
32# the nature of the domain;
33#
34# "domain_xxx-model" - PM model: CPU
35# "domain_xxx-model" - PM model: SX
36#
37# "domain_xxx-propname" - a property name that is exported by device in
38# a domain.  Currently, it is used by PCI_PROP model to identify devices
39# that are to have their clocks stopped when all power-manageable devices
40# in the domain are at D3 power level.
41#
42# "domain-xxx-devices" - a list of prom path match patterns to match devices
43# that fall into "domain_xxx", where wildcard '*' is allowed by observing
44# the following expectations:
45#	. a single wildcard with exact match up to (but exclude) the wildcard
46#	  which then terminates the match pattern;
47#	. a single wildcard that does not terminate a match pattern must
48#	  match driver name (followed by '@');
49#	. with two wildcard occurences, the first is to match driver name,
50#	  the second function id, as well as the last character of the match
51#	  pattern.
52#
53# "domain-xxx-ctrl" - blank space separated definitions in the form of
54# keyword=definition [keyword=definition...]
55#    The keywords are as follows, where 'method' must come before mask as it
56#       tells how to store 'mask' and 'val'.  Missing 'val' defaults to 0.
57#
58#    which keywords apply depends on cmd.  There are two sets as shown below.
59#    Here is the first:
60#	cmd=[ENTER_S3 | ENTER_S4]
61# 	path=<prompath>	- control device's prom pathname (includes minor)
62# 	method=[KIO|I2CKIO]	This selects a method which may be
63#		an ioctl that sets a single value or an i2c ioctl that
64#		takes a value and a mask to access gpio register
65#	iord=<integer> - value of ioctl command for reading
66#	iowr=<integer> - value of ioctl command for writing
67# 	val=<integer>	- a single integer value, generally the value to which
68#			  the relevant bits of a register will be set
69#	mask=<integer>	- which bits of val are relevant (if method is I2CKIO)
70#
71ppm-domains="domain_cpu" , "domain_estar";
72
73#
74# CPU domain
75# A special rule exists on x86 to catch all CPU devices by using "/" as the
76# device path.
77#
78domain_cpu-devices="/";
79domain_cpu-model="CPU";
80
81#
82# Estar domain
83#   0x4101 is APPMIOC_ENTER_S3	(('A' << 8) | 1)
84#   0x4102 is APPMIOC_EXIT_S3	(('A' << 8) | 2)
85#
86domain_estar-devices="/";
87domain_estar-model="SX";
88domain_estar-control=
89    "cmd=ENTER_S3 path=/pseudo/acpippm@0:acpi-ppm method=KIO iowr=0x4101",
90    "cmd=EXIT_S3 path=/pseudo/acpippm@0:acpi-ppm method=KIO iowr=0x4102";
91
92#
93# S3-enable whitelist
94#
95S3-support-enable =
96    "TOSHIBA", "TECRA M8",
97    "TOSHIBA", "TECRA M9",
98    "TOSHIBA", "TECRA M10",
99    "TOSHIBA", "TECRA A9",
100    "TOSHIBA", "Satellite A205",
101    "TOSHIBA", "PORTEGE R500",
102    "TOSHIBA", "PORTEGE R600",
103    "TOSHIBA", "TOSHIBA NB205",
104    "TOSHIBA", "TOSHIBA NB200",
105    "LENOVO", "64608VU",
106    "LENOVO", "889703U",
107    "Sony Corporation", "VGN-CR490N",
108    "Dell Inc.", "Latitude X1                     ",
109    "Dell Inc.", "Latitude D630                   ",
110    "Dell Inc.", "Precision M4300                 ",
111    "Sun Microsystems", "Ultra 24",
112    "Sun Microsystems", "Sun Ultra 40 Workstation",
113    "Sun Microsystems", "Sun Ultra 20 Workstation";
114
115S3-support-disable =
116    "Sun Microsystems", "Sun Blade x8400 Server Module",
117    "Sun Microsystems", "Sun Fire*";
118
119S3-autoenable =
120    "TOSHIBA", "TECRA M8",
121    "TOSHIBA", "TECRA M9",
122    "TOSHIBA", "TECRA M10",
123    "TOSHIBA", "TECRA A9",
124    "TOSHIBA", "Satellite A205",
125    "TOSHIBA", "PORTEGE R500",
126    "TOSHIBA", "PORTEGE R600",
127    "LENOVO", "64608VU",
128    "LENOVO", "889703U",
129    "Sony Corporation", "VGN-CR490N",
130    "Dell Inc.", "Latitude X1                     ",
131    "Dell Inc.", "Latitude D630                   ",
132    "Dell Inc.", "Precision M4300                 ",
133    "Sun Microsystems", "Ultra 24",
134    "Sun Microsystems", "Sun Ultra 40 Workstation",
135    "Sun Microsystems", "Sun Ultra 20 Workstation";
136
137S3-autodisable =
138    "Sun Microsystems", "Sun Blade x8400 Server Module",
139    "Sun Microsystems", "Sun Fire*";
140
141autopm-enable =
142    "TOSHIBA", "TECRA M8",
143    "TOSHIBA", "TECRA M9",
144    "TOSHIBA", "TECRA M10",
145    "TOSHIBA", "TECRA A9",
146    "TOSHIBA", "Satellite A205",
147    "TOSHIBA", "PORTEGE R500",
148    "TOSHIBA", "PORTEGE R600",
149    "LENOVO", "64608VU",
150    "LENOVO", "889703U",
151    "Sony Corporation", "VGN-CR490N",
152    "Dell Inc.", "Latitude X1                     ",
153    "Dell Inc.", "Latitude D630                   ",
154    "Dell Inc.", "Precision M4300                 ",
155    "Sun Microsystems", "Ultra 24",
156    "Sun Microsystems", "Sun Ultra 40 Workstation",
157    "Sun Microsystems", "Sun Ultra 20 Workstation";
158
159autopm-disable =
160    "Sun Microsystems", "Sun Blade x8400 Server Module",
161    "Sun Microsystems", "Sun Fire*";
162