xref: /OK3568_Linux_fs/kernel/Documentation/driver-api/dcdbas.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun===================================
2*4882a593SmuzhiyunDell Systems Management Base Driver
3*4882a593Smuzhiyun===================================
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunOverview
6*4882a593Smuzhiyun========
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunThe Dell Systems Management Base Driver provides a sysfs interface for
9*4882a593Smuzhiyunsystems management software such as Dell OpenManage to perform system
10*4882a593Smuzhiyunmanagement interrupts and host control actions (system power cycle or
11*4882a593Smuzhiyunpower off after OS shutdown) on certain Dell systems.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunDell OpenManage requires this driver on the following Dell PowerEdge systems:
14*4882a593Smuzhiyun300, 1300, 1400, 400SC, 500SC, 1500SC, 1550, 600SC, 1600SC, 650, 1655MC,
15*4882a593Smuzhiyun700, and 750.  Other Dell software such as the open source libsmbios project
16*4882a593Smuzhiyunis expected to make use of this driver, and it may include the use of this
17*4882a593Smuzhiyundriver on other Dell systems.
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunThe Dell libsmbios project aims towards providing access to as much BIOS
20*4882a593Smuzhiyuninformation as possible.  See http://linux.dell.com/libsmbios/main/ for
21*4882a593Smuzhiyunmore information about the libsmbios project.
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunSystem Management Interrupt
25*4882a593Smuzhiyun===========================
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunOn some Dell systems, systems management software must access certain
28*4882a593Smuzhiyunmanagement information via a system management interrupt (SMI).  The SMI data
29*4882a593Smuzhiyunbuffer must reside in 32-bit address space, and the physical address of the
30*4882a593Smuzhiyunbuffer is required for the SMI.  The driver maintains the memory required for
31*4882a593Smuzhiyunthe SMI and provides a way for the application to generate the SMI.
32*4882a593SmuzhiyunThe driver creates the following sysfs entries for systems management
33*4882a593Smuzhiyunsoftware to perform these system management interrupts::
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	/sys/devices/platform/dcdbas/smi_data
36*4882a593Smuzhiyun	/sys/devices/platform/dcdbas/smi_data_buf_phys_addr
37*4882a593Smuzhiyun	/sys/devices/platform/dcdbas/smi_data_buf_size
38*4882a593Smuzhiyun	/sys/devices/platform/dcdbas/smi_request
39*4882a593Smuzhiyun
40*4882a593SmuzhiyunSystems management software must perform the following steps to execute
41*4882a593Smuzhiyuna SMI using this driver:
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun1) Lock smi_data.
44*4882a593Smuzhiyun2) Write system management command to smi_data.
45*4882a593Smuzhiyun3) Write "1" to smi_request to generate a calling interface SMI or
46*4882a593Smuzhiyun   "2" to generate a raw SMI.
47*4882a593Smuzhiyun4) Read system management command response from smi_data.
48*4882a593Smuzhiyun5) Unlock smi_data.
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun
51*4882a593SmuzhiyunHost Control Action
52*4882a593Smuzhiyun===================
53*4882a593Smuzhiyun
54*4882a593SmuzhiyunDell OpenManage supports a host control feature that allows the administrator
55*4882a593Smuzhiyunto perform a power cycle or power off of the system after the OS has finished
56*4882a593Smuzhiyunshutting down.  On some Dell systems, this host control feature requires that
57*4882a593Smuzhiyuna driver perform a SMI after the OS has finished shutting down.
58*4882a593Smuzhiyun
59*4882a593SmuzhiyunThe driver creates the following sysfs entries for systems management software
60*4882a593Smuzhiyunto schedule the driver to perform a power cycle or power off host control
61*4882a593Smuzhiyunaction after the system has finished shutting down:
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun/sys/devices/platform/dcdbas/host_control_action
64*4882a593Smuzhiyun/sys/devices/platform/dcdbas/host_control_smi_type
65*4882a593Smuzhiyun/sys/devices/platform/dcdbas/host_control_on_shutdown
66*4882a593Smuzhiyun
67*4882a593SmuzhiyunDell OpenManage performs the following steps to execute a power cycle or
68*4882a593Smuzhiyunpower off host control action using this driver:
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun1) Write host control action to be performed to host_control_action.
71*4882a593Smuzhiyun2) Write type of SMI that driver needs to perform to host_control_smi_type.
72*4882a593Smuzhiyun3) Write "1" to host_control_on_shutdown to enable host control action.
73*4882a593Smuzhiyun4) Initiate OS shutdown.
74*4882a593Smuzhiyun   (Driver will perform host control SMI when it is notified that the OS
75*4882a593Smuzhiyun   has finished shutting down.)
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun
78*4882a593SmuzhiyunHost Control SMI Type
79*4882a593Smuzhiyun=====================
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunThe following table shows the value to write to host_control_smi_type to
82*4882a593Smuzhiyunperform a power cycle or power off host control action:
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun=================== =====================
85*4882a593SmuzhiyunPowerEdge System    Host Control SMI Type
86*4882a593Smuzhiyun=================== =====================
87*4882a593Smuzhiyun      300             HC_SMITYPE_TYPE1
88*4882a593Smuzhiyun     1300             HC_SMITYPE_TYPE1
89*4882a593Smuzhiyun     1400             HC_SMITYPE_TYPE2
90*4882a593Smuzhiyun      500SC           HC_SMITYPE_TYPE2
91*4882a593Smuzhiyun     1500SC           HC_SMITYPE_TYPE2
92*4882a593Smuzhiyun     1550             HC_SMITYPE_TYPE2
93*4882a593Smuzhiyun      600SC           HC_SMITYPE_TYPE2
94*4882a593Smuzhiyun     1600SC           HC_SMITYPE_TYPE2
95*4882a593Smuzhiyun      650             HC_SMITYPE_TYPE2
96*4882a593Smuzhiyun     1655MC           HC_SMITYPE_TYPE2
97*4882a593Smuzhiyun      700             HC_SMITYPE_TYPE3
98*4882a593Smuzhiyun      750             HC_SMITYPE_TYPE3
99*4882a593Smuzhiyun=================== =====================
100