1
/* Copyright 2013-2014 IBM Corp.
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at
7
* http://www.apache.org/licenses/LICENSE-2.0
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
26
static const struct slot_table_entry firestone_phb0_0_slot[] = {
28
.etype = st_pluggable_slot,
29
.location = ST_LOC_DEVFN(0,0),
35
static const struct slot_table_entry firestone_phb0_1_slot[] = {
37
.etype = st_pluggable_slot,
38
.location = ST_LOC_DEVFN(0,0),
44
static const struct slot_table_entry firestone_phb8_0_slot[] = {
46
.etype = st_pluggable_slot,
47
.location = ST_LOC_DEVFN(0,0),
53
static const struct slot_table_entry firestone_plx_slots[] = {
55
.etype = st_pluggable_slot,
56
.location = ST_LOC_DEVFN(1,0),
60
.etype = st_builtin_dev,
61
.location = ST_LOC_DEVFN(9,0),
62
.name = "Backplane USB",
65
.etype = st_builtin_dev,
66
.location = ST_LOC_DEVFN(0xa,0),
67
.name = "Backplane SATA",
70
.etype = st_builtin_dev,
71
.location = ST_LOC_DEVFN(0xb,0),
72
.name = "Backplane BMC",
77
static const struct slot_table_entry firestone_plx_up[] = {
79
.etype = st_builtin_dev,
80
.location = ST_LOC_DEVFN(0,0),
81
.children = firestone_plx_slots,
86
static const struct slot_table_entry firestone_phb8_1_slot[] = {
88
.etype = st_builtin_dev,
89
.location = ST_LOC_DEVFN(0,0),
90
.name = "Backplane PLX",
91
.children = firestone_plx_up,
96
static const struct slot_table_entry firestone_phb8_2_slot[] = {
98
.etype = st_pluggable_slot,
99
.location = ST_LOC_DEVFN(0,0),
105
static const struct slot_table_entry firestone_phb_table[] = {
108
.location = ST_LOC_PHB(0,0),
109
.children = firestone_phb0_0_slot,
113
.location = ST_LOC_PHB(0,1),
114
.children = firestone_phb0_1_slot,
118
.location = ST_LOC_PHB(8,0),
119
.children = firestone_phb8_0_slot,
123
.location = ST_LOC_PHB(8,1),
124
.children = firestone_phb8_1_slot,
128
.location = ST_LOC_PHB(8,2),
129
.children = firestone_phb8_2_slot,
134
static bool firestone_probe(void)
136
if (!dt_node_is_compatible(dt_root, "ibm,firestone"))
139
/* Lot of common early inits here */
141
slot_table_init(firestone_phb_table);
147
DECLARE_PLATFORM(firestone) = {
149
.probe = firestone_probe,
151
.pci_get_slot_info = slot_table_get_slot_info,
152
.external_irq = astbmc_ext_irq_serirq_cpld,
153
.cec_power_down = astbmc_ipmi_power_down,
154
.cec_reboot = astbmc_ipmi_reboot,
155
.elog_commit = ipmi_elog_commit,
156
.start_preload_resource = flash_start_preload_resource,
157
.resource_loaded = flash_resource_loaded,
158
.exit = ipmi_wdt_final_reset,
159
.terminate = ipmi_terminate,