Lines Matching +full:ipmi +full:- +full:smic

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
46 #include <ipmi.h>
49 #include <sys/ipmi.h>
50 #include <dev/ipmi/ipmivars.h>
60 device_find_child(parent, "ipmi", DEVICE_UNIT_ANY) == NULL) { in ipmi_isa_identify()
62 * XXX: Hack alert. On some broken systems, the IPMI in ipmi_isa_identify()
65 * the PCI device attach ipmi instead. In that case don't in ipmi_isa_identify()
66 * create an isa ipmi device. For now we hardcode the list in ipmi_isa_identify()
73 BUS_ADD_CHILD(parent, 0, "ipmi", DEVICE_UNIT_ANY); in ipmi_isa_identify()
84 * that's later on the bus than the PCI-ISA bridge. in ipmi_isa_probe()
93 device_set_desc(dev, "IPMI System Interface"); in ipmi_isa_probe()
112 info->iface_type = KCS_MODE; in ipmi_hint_identify()
113 info->address = 0xca2; in ipmi_hint_identify()
114 info->io_mode = 1; in ipmi_hint_identify()
115 info->offset = 1; in ipmi_hint_identify()
116 } else if (strcasecmp(mode, "SMIC") == 0) { in ipmi_hint_identify()
117 info->iface_type = SMIC_MODE; in ipmi_hint_identify()
118 info->address = 0xca9; in ipmi_hint_identify()
119 info->io_mode = 1; in ipmi_hint_identify()
120 info->offset = 1; in ipmi_hint_identify()
122 info->iface_type = BT_MODE; in ipmi_hint_identify()
123 info->address = 0xe4; in ipmi_hint_identify()
124 info->io_mode = 1; in ipmi_hint_identify()
125 info->offset = 1; in ipmi_hint_identify()
142 info->address = val; in ipmi_hint_identify()
143 info->io_mode = 1; in ipmi_hint_identify()
146 info->address = val; in ipmi_hint_identify()
147 info->io_mode = 0; in ipmi_hint_identify()
154 info->offset = 1; in ipmi_hint_identify()
157 info->offset = 2; in ipmi_hint_identify()
160 info->offset = 4; in ipmi_hint_identify()
193 mode = "SMIC"; in ipmi_isa_attach()
203 sc->ipmi_dev = dev; in ipmi_isa_attach()
214 sc->ipmi_io_type = type; in ipmi_isa_attach()
215 sc->ipmi_io_spacing = info.offset; in ipmi_isa_attach()
217 sc->ipmi_io_rid = 0; in ipmi_isa_attach()
218 sc->ipmi_io_res[0] = bus_alloc_resource(dev, type, in ipmi_isa_attach()
219 &sc->ipmi_io_rid, info.address, info.address + count - 1, in ipmi_isa_attach()
221 if (sc->ipmi_io_res[0] == NULL) { in ipmi_isa_attach()
227 sc->ipmi_io_rid = i; in ipmi_isa_attach()
228 sc->ipmi_io_res[i] = bus_alloc_resource(dev, type, in ipmi_isa_attach()
229 &sc->ipmi_io_rid, info.address + i * info.offset, in ipmi_isa_attach()
231 if (sc->ipmi_io_res[i] == NULL) { in ipmi_isa_attach()
235 sc->ipmi_io_rid = 0; in ipmi_isa_attach()
239 sc->ipmi_io_rid = 0; in ipmi_isa_attach()
243 sc->ipmi_irq_rid = 0; in ipmi_isa_attach()
244 sc->ipmi_irq_res = bus_alloc_resource(dev, SYS_RES_IRQ, in ipmi_isa_attach()
245 &sc->ipmi_irq_rid, info.irq, info.irq, 1, in ipmi_isa_attach()
284 "ipmi",