Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
powerpc
include
asm
pmi.h
Go to the documentation of this file.
1
#ifndef _POWERPC_PMI_H
2
#define _POWERPC_PMI_H
3
4
/*
5
* Definitions for talking with PMI device on PowerPC
6
*
7
* PMI (Platform Management Interrupt) is a way to communicate
8
* with the BMC (Baseboard Management Controller) via interrupts.
9
* Unlike IPMI it is bidirectional and has a low latency.
10
*
11
* (C) Copyright IBM Deutschland Entwicklung GmbH 2005
12
*
13
* Author: Christian Krafft <
[email protected]
>
14
*
15
* This program is free software; you can redistribute it and/or modify
16
* it under the terms of the GNU General Public License as published by
17
* the Free Software Foundation; either version 2, or (at your option)
18
* any later version.
19
*
20
* This program is distributed in the hope that it will be useful,
21
* but WITHOUT ANY WARRANTY; without even the implied warranty of
22
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
* GNU General Public License for more details.
24
*
25
* You should have received a copy of the GNU General Public License
26
* along with this program; if not, write to the Free Software
27
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28
*/
29
30
#ifdef __KERNEL__
31
32
#define PMI_TYPE_FREQ_CHANGE 0x01
33
#define PMI_TYPE_POWER_BUTTON 0x02
34
#define PMI_READ_TYPE 0
35
#define PMI_READ_DATA0 1
36
#define PMI_READ_DATA1 2
37
#define PMI_READ_DATA2 3
38
#define PMI_WRITE_TYPE 4
39
#define PMI_WRITE_DATA0 5
40
#define PMI_WRITE_DATA1 6
41
#define PMI_WRITE_DATA2 7
42
43
#define PMI_ACK 0x80
44
45
#define PMI_TIMEOUT 100
46
47
typedef
struct
{
48
u8
type
;
49
u8
data0
;
50
u8
data1
;
51
u8
data2
;
52
} pmi_message_t;
53
54
struct
pmi_handler {
55
struct
list_head
node
;
56
u8
type
;
57
void
(*handle_pmi_message) (pmi_message_t);
58
};
59
60
int
pmi_register_handler
(
struct
pmi_handler *);
61
void
pmi_unregister_handler
(
struct
pmi_handler *);
62
63
int
pmi_send_message
(pmi_message_t);
64
65
#endif
/* __KERNEL__ */
66
#endif
/* _POWERPC_PMI_H */
Generated on Thu Jan 10 2013 13:13:25 for Linux Kernel by
1.8.2