Source to iokit/Drivers/platform/drvApplePMU/pmumisc.h
/*
* Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* The contents of this file constitute Original Code as defined in and
* are subject to the Apple Public Source License Version 1.1 (the
* "License"). You may not use this file except in compliance with the
* License. Please obtain a copy of the License at
* http://www.apple.com/publicsource and read it before using this file.
*
* This Original Code and all software distributed under the License are
* distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
* License for the specific language governing rights and limitations
* under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#ifndef __cplusplus
@protocol MiscService
- (IOReturn)sendMiscCommand: (UInt32)Command
send_length: (IOByteCount *)SLength
send_contents: (UInt8 *)SBuffer
rcv_length: (IOByteCount *)RLength
rcv_contents: (UInt8 *)RBuffer;
@end
#endif
enum {
kPMUpowerCntl = 0x10, // power plane/clock control
kPMUpower1Cntl = 0x11, // more power control (DBLite)
kPMUpowerRead = 0x18, // power plane/clock status
kPMUpower1Read = 0x19, // more power status (DBLite)
kPMUpMgrADB = 0x20, // send ADB command
kPMUpMgrADBoff = 0x21, // turn ADB auto-poll off
kPMUreadADB = 0x28, // Apple Desktop Bus
kPMUpMgrADBInt = 0x2F, // get ADB interrupt data (Portable only)
kPMUtimeWrite = 0x30, // write the time to the clock chip
kPMUpramWrite = 0x31, // write the original 20 bytes of PRAM (Portable only)
kPMUxPramWrite = 0x32, // write extended PRAM byte(s)
kPMUNVRAMWrite = 0x33, // write NVRAM byte
kPMUtimeRead = 0x38, // read the time from the clock chip
kPMUpramRead = 0x39, // read the original 20 bytes of PRAM (Portable only)
kPMUxPramRead = 0x3A, // read extended PRAM byte(s)
kPMUNVRAMRead = 0x3B, // read NVRAM byte
kPMUSetContrast = 0x40, // set screen contrast
kPMUSetBrightness = 0x41, // set screen brightness
kPMUReadContrast = 0x48, // read the contrast value
kPMUReadBrightness = 0x49, // read the brightness value
kPMUDoPCMCIAEject = 0x4C, // eject PCMCIA card(s)
kPMUDoMediaBayDisp = 0x4D, // (MS 5/17/96) Get Media bay device status
kPMUDisplayDisp = 0x4F, // Get raw Contrast numbers
kPMUmodemSet = 0x50, // internal modem control
kPMUmodemClrFIFO = 0x51, // clear modem fifo's
kPMUmodemSetFIFOIntMask = 0x52, // set the mask for fifo interrupts
kPMUmodemWriteData = 0x54, // write data to modem
kPMUmodemSetDataMode = 0x55, //
kPMUmodemSetFloCtlMode = 0x56, //
kPMUmodemDAACnt = 0x57, //
kPMUmodemRead = 0x58, // internal modem status
kPMUmodemDAAID = 0x59, //
kPMUmodemGetFIFOCnt = 0x5A, //
kPMUmodemSetMaxFIFOSize = 0x5B, //
kPMUmodemReadFIFOData = 0x5C, //
kPMUmodemExtend = 0x5D, //
kPMUsetBattWarning = 0x60, // set low power warning and cutoff battery levels (PB 140/170, DBLite)
kPMUsetCutoff = 0x61, // set hardware cutoff voltage<H44>
kPMUnewSetBattWarn = 0x62, // set low power warning and 10 second battery levels (Epic/Mustang)
kPMUnewGetBattWarn = 0x63, // get low power warning and 10 second battery levels (Epic/Mustang)
kPMUbatteryRead = 0x68, // read battery/charger level and status
kPMUbatteryNow = 0x69, // read battery/charger instantaneous level and status
kPMUreadBattWarning = 0x6A, // read low power warning and cutoff battery levels (PB 140/170, DBLite)
kPMUreadExtBatt = 0x6B, // read extended battery/charger level and status (DBLite)
kPMUreadBatteryID = 0x6C, // read the battery ID
kPMUreadBatteryInfo = 0x6D, // return battery parameters
kPMUGetSOB = 0x6F, // Get Smarts of Battery
kPMUSetModem1SecInt = 0x70, //
kPMUSetModemInts = 0x71, // turn modem interrupts on/off
kPMUreadINT = 0x78, // get PMGR interrupt data
kPMUReadModemInts = 0x79, // read modem interrupt status
kPMUPmgrPWRoff = 0x7E, // turn system power off
kPMUsleepReq = 0x7F, // put the system to sleep (sleepSig='MATT')
kPMUsleepAck = 0x70, // sleep acknowledge
kPMUtimerSet = 0x80, // set the wakeup timer
kPMUtimerRead = 0x88, // read the wakeup timer setting
kPMUsoundSet = 0x90, // sound power control
kPMUSetDFAC = 0x91, // set DFAC register (DBLite)
kPMUsoundRead = 0x98, // read sound power state
kPMUReadDFAC = 0x99, // read DFAC register (DBLite)
kPMUmodemWriteReg = 0xA0, // Write Modem Register
kPMUmodemClrRegBits = 0xA1, // Clear Modem Register Bits
kPMUmodemSetRegBits = 0xA2, // Set Modem Register Bits
kPMUmodemWriteDSPRam = 0xA3, // Write DSP RAM
kPMUmodemSetFilterCoeff = 0xA4, // Set Filter Coefficients
kPMUmodemReset = 0xA5, // Reset Modem
kPMUmodemUNKNOWN = 0xA6, // <filler for now>
kPMUmodemReadReg = 0xA8, // Read Modem Register
kPMUmodemReadDSPRam = 0xAB, // Read DSP RAM
kPMUresetCPU = 0xD0, // reset the CPU
kPMUreadAtoD = 0xD8, // read A/D channel
kPMUreadButton = 0xD9, // read button values on Channel 0 = Brightness, Channel 1 = Contrast 0-31
kPMUreadExtSwitches = 0xDC, // read external switch status (DBLite)
kPMUwritePmgrRAM = 0xE0, // write to internal PMGR RAM
kPMUdownloadFlash = 0xE1, // download Flash memory
kPMUsetMachineAttr = 0xE3, // set machine id
kPMUreadPmgrRAM = 0xE8, // read from internal PMGR RAM
kPMUreadPmgrVers = 0xEA, // read the PMGR version number
kPMUreadMachineAttr = 0xEB, // read the machine id
kPMUPmgrSelfTest = 0xEC, // run the PMGR selftest
kPMUDBPMgrTest = 0xED, // DON'T USE THIS!!
kPMUFactoryTest = 0xEE, // hook for factory requests
kPMUPmgrSoftReset = 0xEF // soft reset of the PMGR
};