Home
last modified time | relevance | path

Searched +full:ipmi +full:- +full:bt (Results 1 – 25 of 69) sorted by relevance

123

/openbmc/qemu/hw/ipmi/
H A Dpci_ipmi_bt.c2 * QEMU PCI IPMI BT emulation
27 #include "hw/ipmi/ipmi_bt.h"
31 #define TYPE_PCI_IPMI_BT "pci-ipmi-bt"
36 IPMIBT bt; member
43 PCIIPMIBTDevice *pik = ik->opaque; in pci_ipmi_raise_irq()
45 pci_set_irq(&pik->dev, true); in pci_ipmi_raise_irq()
50 PCIIPMIBTDevice *pik = ik->opaque; in pci_ipmi_lower_irq()
52 pci_set_irq(&pik->dev, false); in pci_ipmi_lower_irq()
62 if (!pik->bt.bmc) { in pci_ipmi_bt_realize()
63 error_setg(errp, "IPMI device requires a bmc attribute to be set"); in pci_ipmi_bt_realize()
[all …]
H A Disa_ipmi_bt.c2 * QEMU ISA IPMI BT emulation
29 #include "hw/ipmi/ipmi_bt.h"
31 #include "hw/qdev-properties.h"
34 #include "hw/acpi/ipmi.h"
36 #define TYPE_ISA_IPMI_BT "isa-ipmi-bt"
43 IPMIBT bt; member
51 ipmi_bt_get_fwinfo(&iib->bt, info); in isa_ipmi_bt_get_fwinfo()
52 info->interrupt_number = iib->isairq; in isa_ipmi_bt_get_fwinfo()
53 info->i2c_slave_address = iib->bt.bmc->slave_addr; in isa_ipmi_bt_get_fwinfo()
54 info->uuid = iib->uuid; in isa_ipmi_bt_get_fwinfo()
[all …]
H A Dipmi_bt.c2 * QEMU IPMI BT emulation
28 #include "hw/ipmi/ipmi_bt.h"
83 if (ib->use_irq && ib->irqs_enabled && ib->raise_irq) { in ipmi_bt_raise_irq()
84 ib->raise_irq(ib); in ipmi_bt_raise_irq()
90 if (ib->lower_irq) { in ipmi_bt_lower_irq()
91 ib->lower_irq(ib); in ipmi_bt_lower_irq()
98 IPMIBT *ib = iic->get_backend_data(ii); in ipmi_bt_handle_event()
100 if (ib->inlen < 4) { in ipmi_bt_handle_event()
104 if (ib->inmsg[0] != (ib->inlen - 1)) { in ipmi_bt_handle_event()
106 IPMI_BT_SET_BBUSY(ib->control_reg, 1); in ipmi_bt_handle_event()
[all …]
/openbmc/linux/drivers/char/ipmi/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 # IPMI device configuration
7 tristate 'IPMI top-level message handler'
11 This enables the central IPMI message handler, required for IPMI
14 IPMI is a standard for managing sensors (temperature,
17 See <file:Documentation/driver-api/ipmi.rst> for more details on the driver.
33 When a panic occurs, this will cause the IPMI message handler to,
34 by default, generate an IPMI event describing the panic to each
44 When a panic occurs, this will cause the IPMI message handler to,
45 by default, generate IPMI OEM type f0 events holding the IPMB
[all …]
H A Dipmi_bt_sm.c1 // SPDX-License-Identifier: GPL-2.0+
5 * The state machine for an Open IPMI BT sub-driver under ipmi_si.c, part
35 * Typical "Get BT Capabilities" values are 2-3 retries, 5-10 seconds,
38 * Since the Open IPMI architecture is single-message oriented at this
39 * stage, the queue depth of BT is of no concern.
48 * multiple rows of the state table discussion in the IPMI spec.
64 BT_STATE_LONG_BUSY /* BT doesn't get hosed :-) */
72 #define BT_STATE_CHANGE(X, Y) { bt->state = X; return Y; }
78 unsigned char seq; /* BT sequence number */
93 #define BT_CLR_WR_PTR 0x01 /* See IPMI 1.5 table 11.6.4 */
[all …]
H A Dipmi_si_hardcode.c1 // SPDX-License-Identifier: GPL-2.0+
36 …e types are 'kcs', 'smic', and 'bt'. For example si_type=kcs,bt will set the first interface to k…
51 …fic IPMI register in bytes. This should generally be 1, 2, 4, or 8 for an 8-bit, 16-bit, 32-bit, o…
54 …e data read from the. IPMI register, in bits. For instance, if the data is read from a 32-bit wor…
73 t = match_string(si_to_str, -1, si_type_str); in ipmi_hardcode_init_one()
90 ipmi_platform_add("hardcode-ipmi-si", i, &p); in ipmi_hardcode_init_one()
129 ipmi_remove_platform_device_by_name("hardcode-ipmi-si"); in ipmi_si_hardcode_exit()
H A Dipmi_si_hotmod.c1 // SPDX-License-Identifier: GPL-2.0+
5 * Handling for dynamically adding/removing IPMI devices through
12 #include <linux/ipmi.h>
21 …"Add and remove interfaces. See Documentation/driver-api/ipmi.rst in the kernel sources for the g…
25 * add|remove,kcs|bt|smic,mem|i/o,<address>[,<opt1>[,<opt2>[,...]]]
48 { "bt", SI_BT },
67 return -EINVAL; in parse_str()
80 return -EINVAL; in parse_str()
91 return -EINVAL; in check_hotmod_int_op()
96 return -EINVAL; in check_hotmod_int_op()
[all …]
H A Dipmi_si_platform.c1 // SPDX-License-Identifier: GPL-2.0+
5 * Handling for platform devices in IPMI (ACPI, OF, and things
56 /* For GPE-type interrupts. */
62 ipmi_si_irq_handler(io->irq, io->irq_handler_data); in ipmi_acpi_gpe()
68 if (!io->irq) in acpi_gpe_irq_cleanup()
72 acpi_remove_gpe_handler(NULL, io->irq, &ipmi_acpi_gpe); in acpi_gpe_irq_cleanup()
79 if (!io->irq) in acpi_gpe_irq_setup()
83 io->irq, in acpi_gpe_irq_setup()
88 dev_warn(io->dev, in acpi_gpe_irq_setup()
90 io->irq); in acpi_gpe_irq_setup()
[all …]
H A Dbt-bmc.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright (c) 2015-2016, IBM Corporation.
7 #include <linux/bt-bmc.h>
22 #define DEVICE_NAME "ipmi-bt-host"
71 return readb(bt_bmc->base + reg); in bt_inb()
76 writeb(data, bt_bmc->base + reg); in bt_outb()
146 return container_of(file->private_data, struct bt_bmc, miscdev); in file_bt_bmc()
159 return -EBUSY; in bt_bmc_open()
163 * The BT (Block Transfer) interface means that entire messages are
169 * BT Message format :
[all …]
/openbmc/openbmc-test-automation/data/
H A Dipmi_variable.py4 Contains channel-related constants.
10 "ICMB v1.0": "icmb-v1.0",
11 "ICMB v0.9": "icmb-v0.9",
12 "802.3 LAN": "lan-802.3",
14 "Other LAN": "other-lan",
15 "PCI SMBus": "pci-smbus",
16 "SMBus v1.0/v1.1": "smbus-v1.0",
17 "SMBus v2.0": "smbus-v2.0",
18 "USB 1.x": "usb-1x",
19 "USB 2.x": "usb-2x",
[all …]
/openbmc/openbmc/meta-phosphor/recipes-phosphor/ipmi/
H A Dphosphor-ipmi-bt_git.bb1 SUMMARY = "Phosphor OpenBMC BT to DBUS"
2 DESCRIPTION = "Phosphor OpenBMC BT to DBUS."
3 LICENSE = "Apache-2.0"
6 PROVIDES += "virtual/obmc-host-ipmi-hw"
16 inherit obmc-phosphor-dbus-service
18 RRECOMMENDS:${PN} += "phosphor-ipmi-host"
20 RPROVIDES:${PN} += "virtual-obmc-host-ipmi-hw"
/openbmc/linux/Documentation/devicetree/bindings/ipmi/
H A Daspeed,ast2400-ibt-bmc.txt1 * Aspeed BT (Block Transfer) IPMI interface
4 (BaseBoard Management Controllers) and the BT interface can be used to
5 perform in-band IPMI communication with their host.
9 - compatible : should be one of
10 "aspeed,ast2400-ibt-bmc"
11 "aspeed,ast2500-ibt-bmc"
12 "aspeed,ast2600-ibt-bmc"
13 - reg: physical address and size of the registers
14 - clocks: clock for the device
18 - interrupts: interrupt generated by the BT interface. without an
[all …]
H A Dipmi-smic.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/ipmi/ipmi-smic.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: IPMI device
9 description: IPMI device bindings
12 - Corey Minyard <cminyard@mvista.com>
17 - ipmi-kcs
18 - ipmi-smic
19 - ipmi-bt
[all …]
/openbmc/docs/architecture/
H A Dipmi-architecture.md1 # IPMI Architecture
3 IPMI is made up of commands and channels. Commands are provided by providers and
6 command handlers via the main IPMI daemon.
8 ## High-Level Overview
10 IPMI is all about commands and responses. Channels provide a mechanism for
12 layer, but ultimately, the highest level data is a raw IPMI command consisting
15 and the IPMI queue.
18 /------------------\
19 /----------------------------\ | |
20 | KCS/BT - Host | <-All IPMI cmds-> | |
[all …]
/openbmc/linux/include/uapi/linux/
H A Dipmi_msgdefs.h1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
5 * MontaVista IPMI system management interface
18 /* Various definitions for IPMI messages used by almost everything in
19 the IPMI stack. */
21 /* NetFNs and commands used inside the IPMI stack. */
58 /* The BT interface on high-end HP systems supports up to 255 bytes in
62 * on the results of the "Get BT Capabilities" command. */
74 #define IPMI_NOT_IN_MY_STATE_ERR 0xd5 /* IPMI 2.0 */
/openbmc/linux/Documentation/driver-api/
H A Dipmi.rst2 The Linux IPMI Driver
7 The Intelligent Platform Management Interface, or IPMI, is a
12 standardized database for field-replaceable units (FRUs) and a watchdog
15 To use this, you need an interface to an IPMI controller in your
17 management software that can use the IPMI system.
19 This document describes how to use the IPMI driver for Linux. If you
20 are not familiar with IPMI itself, see the web site at
21 https://www.intel.com/design/servers/ipmi/index.htm. IPMI is a big
25 -------------
27 The Linux IPMI driver is modular, which means you have to pick several
[all …]
/openbmc/openbmc/meta-quanta/meta-q71l/conf/machine/
H A Dquanta-q71l.conf2 KERNEL_DEVICETREE = "aspeed/${KMACHINE}-bmc-${MACHINE}.dtb"
5 require conf/machine/include/obmc-bsp-common.inc
7 PREFERRED_PROVIDER_virtual/bootloader = "u-boot-aspeed"
8 PREFERRED_PROVIDER_u-boot = "u-boot-aspeed"
9 PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils-aspeed"
19 # obmc-phosphor-fan-mgmt \
20 # obmc-phosphor-chassis-mgmt \
21 # obmc-phosphor-flash-mgmt \
22 # obmc-host-ipmi \
23 # obmc-host-state-mgmt \
[all …]
/openbmc/linux/Documentation/devicetree/bindings/arm/hisilicon/
H A Dlow-pin-count.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/arm/hisilicon/low-pin-count.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Wei Xu <xuwei5@hisilicon.com>
21 pattern: '^isa@[0-9a-f]+$'
28 - hisilicon,hip06-lpc
29 - hisilicon,hip07-lpc
34 '#address-cells':
37 '#size-cells':
[all …]
/openbmc/openbmc/meta-openpower/conf/machine/include/
H A Dopenpower.inc2 obmc-phosphor-fan-mgmt \
3 obmc-phosphor-chassis-mgmt \
4 obmc-phosphor-flash-mgmt \
5 obmc-host-ipmi \
6 obmc-host-ctl \
7 obmc-host-state-mgmt \
8 obmc-chassis-state-mgmt \
9 obmc-bmc-state-mgmt \
13 VIRTUAL-RUNTIME_phosphor-ipmi-providers:append:df-openpower = " \
14 openpower-ipmi-oem \
[all …]
/openbmc/qemu/docs/system/ppc/
H A Dpowernv.rst4 PowerNV (as Non-Virtualized) is the "bare metal" platform using the
16 -----------------
24 * Simple OCC is an on-chip micro-controller used for power management tasks.
30 ---------------
44 --------
49 GitHub <https://github.com/open-power>`_.
52 `OpenPOWER <https://github.com/open-power/op-build/releases/>`__ site.
58 ---------------------------
60 KVM acceleration in Linux Power hosts is provided by the kvm-hv and
61 kvm-pr modules. kvm-hv is adherent to PAPR and it's not compliant with
[all …]
/openbmc/phosphor-host-ipmid/docs/
H A Doem-extension-numbering.md8 - Briefly recap OEM Extension layout as described in IPMI Specification.
9 - Enumerate Command codes allocated for use with the OpenBMC OEM Number.
10 - For each such code, describe the associated messages, including
16 [IPMI Specification](http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-second-gen-interface-
17 To keep it both simple and concrete, only BT Tansport is described. Please
22 Per section 11.1 of IPMI Spec
25 | :-----: | ---: | :------- | :---: | :---------------------------------------- |
26 | 0 | | Length\* | - | Number of bytes to follow in this request |
28 | 1 | 0:1 | LUN | - | Allow any LUN |
29 | 2 | | Seq\* | - | Per section 11.3 of IPMI Spec |
[all …]
/openbmc/qemu/hw/misc/
H A Daspeed_ibt.c4 * Copyright (c) 2016-2021 Cédric Le Goater, IBM Corporation.
7 * the COPYING file in the top-level directory.
16 #include "qemu/error-report.h"
18 #include "hw/qdev-properties.h"
19 #include "hw/qdev-properties-system.h"
57 * VM IPMI defines
83 * These routines are inspired by the 'ipmi-bmc-extern' model and by
92 for (; size > 0; size--, data++) { in ipmb_checksum()
122 n += snprintf(tmp + n, size - n, "%02x:", msg[i]); in aspeed_ibt_dump_msg()
124 tmp[size - 1] = 0; in aspeed_ibt_dump_msg()
[all …]
/openbmc/docs/designs/
H A Dfirmware-update-via-blobs.md1 # In-Band Update of BMC Firmware (and others) using OEM IPMI Blob Transport
5 Created: 2018-10-18
15 BMC hardware provides at a minimum some interface for sending and receiving IPMI
19 update mechanism that can be done in-band between the host and the BMC.
21 In-band here refers to a communications channel that is directly connected
25 1. IPMI over LPC
26 1. IPMI over i2c
27 1. LPC Memory-Mapped Region
32 Please read the IPMI BLOB protocol design as primer
33 [here](https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md).
[all …]
/openbmc/docs/designs/mctp/
H A Dmctp.md8 BMC. This is primarily IPMI-based, but also includes a few hardware-specific
9 side-channels, like hiomap. On OpenPOWER hardware at least, we've definitely
10 started to hit some of the limitations of IPMI (for example, we have need
11 for >255 sensors), as well as the hardware channels that IPMI typically uses.
17 encountered with IPMI.
22 allows us to design these parts separately. Currently, IPMI defines both of
23 these; we currently have BT and KCS (both defined as part of the IPMI 2.0
24 standard) as the transports, and IPMI itself as the messaging protocol.
26 Some efforts of improving the hardware transport mechanism of IPMI have been
27 attempted, but not in a cross-implementation manner so far. This does not
[all …]
/openbmc/openbmc/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-bt/
H A Dorg.openbmc.HostIpmi.service2 Description=Phosphor IPMI BT DBus Bridge
12 WantedBy=multi-user.target

123