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