xref: /openbmc/skeleton/configs/Palmetto.py (revision 1902990d)
1## System states
2##   state can change to next state in 2 ways:
3##   - a process emits a GotoSystemState signal with state name to goto
4##   - objects specified in EXIT_STATE_DEPEND have started
5SYSTEM_STATES = [
6	'BASE_APPS',
7	'BMC_STARTING',
8	'BMC_READY',
9	'HOST_POWERING_ON',
10	'HOST_POWERED_ON',
11	'HOST_BOOTING',
12	'HOST_BOOTED',
13	'HOST_POWERED_OFF',
14]
15
16EXIT_STATE_DEPEND = {
17	'BASE_APPS' : {
18		'/org/openbmc/sensors': 0,
19	},
20	'BMC_STARTING' : {
21		'/org/openbmc/control/chassis0': 0,
22		'/org/openbmc/control/power0' : 0,
23		'/org/openbmc/control/led/identify' : 0,
24		'/org/openbmc/control/host0' : 0,
25		'/org/openbmc/control/flash/bios' : 0,
26	}
27}
28
29ID_LOOKUP = {
30	'FRU' : {
31		0x0d : '<inventory_root>/system/chassis',
32		0x34 : '<inventory_root>/system/chassis/motherboard',
33		0x01 : '<inventory_root>/system/chassis/motherboard/cpu',
34		0x02 : '<inventory_root>/system/chassis/motherboard/membuf',
35		0x03 : '<inventory_root>/system/chassis/motherboard/dimm0',
36		0x04 : '<inventory_root>/system/chassis/motherboard/dimm1',
37		0x05 : '<inventory_root>/system/chassis/motherboard/dimm2',
38		0x06 : '<inventory_root>/system/chassis/motherboard/dimm3',
39		0x35 : '<inventory_root>/system',
40	},
41	'FRU_STR' : {
42		'PRODUCT_15' : '<inventory_root>/system',
43		'CHASSIS_2' : '<inventory_root>/system/chassis',
44		'BOARD_1'   : '<inventory_root>/system/chassis/motherboard/cpu',
45		'BOARD_2'   : '<inventory_root>/system/chassis/motherboard/membuf',
46		'BOARD_14'   : '<inventory_root>/system/chassis/motherboard',
47		'PRODUCT_3'   : '<inventory_root>/system/chassis/motherboard/dimm0',
48		'PRODUCT_4'   : '<inventory_root>/system/chassis/motherboard/dimm1',
49		'PRODUCT_5'   : '<inventory_root>/system/chassis/motherboard/dimm2',
50		'PRODUCT_6'   : '<inventory_root>/system/chassis/motherboard/dimm3',
51	},
52	'SENSOR' : {
53		0x34 : '<inventory_root>/system/chassis/motherboard',
54		0x37 : '<inventory_root>/system/chassis/motherboard/refclock',
55		0x38 : '<inventory_root>/system/chassis/motherboard/pcieclock',
56		0x39 : '<inventory_root>/system/chassis/motherboard/todclock',
57		0x3A : '<inventory_root>/system/chassis/apss',
58		0x2f : '<inventory_root>/system/chassis/motherboard/cpu',
59		0x22 : '<inventory_root>/system/chassis/motherboard/cpu/core1',
60		0x23 : '<inventory_root>/system/chassis/motherboard/cpu/core2',
61		0x24 : '<inventory_root>/system/chassis/motherboard/cpu/core3',
62		0x25 : '<inventory_root>/system/chassis/motherboard/cpu/core4',
63		0x26 : '<inventory_root>/system/chassis/motherboard/cpu/core5',
64		0x27 : '<inventory_root>/system/chassis/motherboard/cpu/core6',
65		0x28 : '<inventory_root>/system/chassis/motherboard/cpu/core9',
66		0x29 : '<inventory_root>/system/chassis/motherboard/cpu/core10',
67		0x2a : '<inventory_root>/system/chassis/motherboard/cpu/core11',
68		0x2b : '<inventory_root>/system/chassis/motherboard/cpu/core12',
69		0x2c : '<inventory_root>/system/chassis/motherboard/cpu/core13',
70		0x2d : '<inventory_root>/system/chassis/motherboard/cpu/core14',
71		0x2e : '<inventory_root>/system/chassis/motherboard/membuf',
72		0x1e : '<inventory_root>/system/chassis/motherboard/dimm0',
73		0x1f : '<inventory_root>/system/chassis/motherboard/dimm1',
74		0x20 : '<inventory_root>/system/chassis/motherboard/dimm2',
75		0x21 : '<inventory_root>/system/chassis/motherboard/dimm3',
76		0x09 : '/org/openbmc/sensors/host/BootCount',
77		0x05 : '/org/openbmc/sensors/host/BootProgress',
78		0x32 : '/org/openbmc/sensors/host/OperatingSystemStatus',
79	},
80	'GPIO_PRESENT' : {
81		'SLOT0_PRESENT' : '<inventory_root>/system/chassis/motherboard/pciecard_x16',
82		'SLOT1_PRESENT' : '<inventory_root>/system/chassis/motherboard/pciecard_x8',
83	}
84}
85
86GPIO_CONFIG = {}
87GPIO_CONFIG['FSI_CLK']    =   { 'gpio_pin': 'A4', 'direction': 'out' }
88GPIO_CONFIG['FSI_DATA']   =   { 'gpio_pin': 'A5', 'direction': 'out' }
89GPIO_CONFIG['FSI_ENABLE'] =   { 'gpio_pin': 'D0', 'direction': 'out' }
90GPIO_CONFIG['POWER_PIN']  =   { 'gpio_pin': 'E1', 'direction': 'out'  }
91GPIO_CONFIG['CRONUS_SEL'] =   { 'gpio_pin': 'A6', 'direction': 'out'  }
92GPIO_CONFIG['PGOOD']      =   { 'gpio_pin': 'C7', 'direction': 'in'  }
93GPIO_CONFIG['BMC_THROTTLE'] = { 'gpio_pin': 'J3', 'direction': 'out' }
94GPIO_CONFIG['IDBTN']       = { 'gpio_pin': 'Q7', 'direction': 'out' }
95GPIO_CONFIG['POWER_BUTTON'] = { 'gpio_pin': 'E0', 'direction': 'both' }
96GPIO_CONFIG['PCIE_RESET']   = { 'gpio_pin': 'B5', 'direction': 'out' }
97GPIO_CONFIG['USB_RESET']    = { 'gpio_pin': 'B6', 'direction': 'out' }
98GPIO_CONFIG['SLOT0_RISER_PRESENT'] =   { 'gpio_pin': 'N0', 'direction': 'in' }
99GPIO_CONFIG['SLOT1_RISER_PRESENT'] =   { 'gpio_pin': 'N1', 'direction': 'in' }
100GPIO_CONFIG['SLOT2_RISER_PRESENT'] =   { 'gpio_pin': 'N2', 'direction': 'in' }
101GPIO_CONFIG['SLOT0_PRESENT'] =         { 'gpio_pin': 'N3', 'direction': 'in' }
102GPIO_CONFIG['SLOT1_PRESENT'] =         { 'gpio_pin': 'N4', 'direction': 'in' }
103GPIO_CONFIG['SLOT2_PRESENT'] =         { 'gpio_pin': 'N5', 'direction': 'in' }
104GPIO_CONFIG['MEZZ0_PRESENT'] =         { 'gpio_pin': 'O0', 'direction': 'in' }
105GPIO_CONFIG['MEZZ1_PRESENT'] =         { 'gpio_pin': 'O1', 'direction': 'in' }
106GPIO_CONFIG['CHECKSTOP']      =   { 'gpio_pin': 'P5', 'direction': 'falling' }
107
108GPIO_CONFIGS = {
109    'power_config' : {
110        'power_good_in' : 'PGOOD',
111        'power_up_outs' : [
112            ('POWER_PIN', False),
113        ],
114        'reset_outs' : [
115            ('USB_RESET', False),
116        ],
117        'pci_reset_outs': [
118            # net name, polarity, reset hold
119            ('PCIE_RESET', False, False),
120        ],
121    },
122    'hostctl_config' : {
123        'fsi_data' : 'FSI_DATA',
124        'fsi_clk' : 'FSI_CLK',
125        'fsi_enable' : 'FSI_ENABLE',
126        'cronus_sel' : 'CRONUS_SEL',
127        'optionals' : [
128            ('BMC_THROTTLE', True),
129            ('IDBTN', False),
130        ],
131    },
132}
133
134# Miscellaneous non-poll sensor with system specific properties.
135# The sensor id is the same as those defined in ID_LOOKUP['SENSOR'].
136MISC_SENSORS = {
137	0x09 : { 'class' : 'BootCountSensor' },
138	0x05 : { 'class' : 'BootProgressSensor' },
139	0x32 : { 'class' : 'OperatingSystemStatusSensor' },
140}
141
142# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
143