Home
last modified time | relevance | path

Searched full:kcs (Results 1 – 25 of 151) sorted by relevance

1234567

/openbmc/linux/drivers/char/ipmi/
H A Dipmi_kcs_sm.c5 * State machine for handling IPMI KCS interfaces.
43 /* The states the KCS driver may be in. */
45 /* The KCS interface is currently doing nothing. */
125 static unsigned int init_kcs_data_with_state(struct si_sm_data *kcs, in init_kcs_data_with_state() argument
128 kcs->state = state; in init_kcs_data_with_state()
129 kcs->io = io; in init_kcs_data_with_state()
130 kcs->write_pos = 0; in init_kcs_data_with_state()
131 kcs->write_count = 0; in init_kcs_data_with_state()
132 kcs->orig_write_count = 0; in init_kcs_data_with_state()
133 kcs->read_pos = 0; in init_kcs_data_with_state()
[all …]
H A DKconfig66 Provides a driver for System Interfaces (KCS, SMIC, BT).
67 Currently, only KCS and SMIC are supported. If
113 tristate "Aspeed KCS IPMI BMC driver"
115 Provides a driver for the KCS (Keyboard Controller Style) IPMI
118 The driver implements the BMC side of the KCS contorller, it
119 provides the access of KCS IO space for BMC side.
125 tristate "NPCM KCS IPMI BMC driver"
127 Provides a driver for the KCS (Keyboard Controller Style) IPMI
130 The driver implements the BMC side of the KCS contorller, it
131 provides the access of KCS IO space for BMC side.
[all …]
H A Dkcs_bmc_npcm7xx.c7 #define pr_fmt(fmt) "nuvoton-kcs-bmc: " fmt
22 #define DEVICE_NAME "npcm-kcs-bmc"
50 * 7.2.4 Core KCS Registers
54 * sts: KCS Channel n Status Register (KCSnST).
55 * dob: KCS Channel n Data Out Buffer Register (KCSnDO).
56 * dib: KCS Channel n Data In Buffer Register (KCSnDI).
57 * ctl: KCS Channel n Control Register (KCSnCTL).
58 * ie : KCS Channel n Interrupt Enable Register (KCSnIE).
235 { .compatible = "nuvoton,npcm750-kcs-bmc" },
253 MODULE_DESCRIPTION("NPCM7xx device interface to the KCS BMC device");
H A Dkcs_bmc.c120 dev_err(kcs_bmc->dev, "Failed to add chardev for KCS channel %d: %d", in kcs_bmc_add_device()
140 dev_err(kcs_bmc->dev, "Failed to remove chardev for KCS channel %d: %d", in kcs_bmc_remove_device()
157 dev_err(kcs_bmc->dev, "Failed to add driver for KCS channel %d: %d", in kcs_bmc_register_driver()
174 dev_err(kcs_bmc->dev, "Failed to remove driver for KCS channel %d: %d", in kcs_bmc_unregister_driver()
190 MODULE_DESCRIPTION("KCS BMC to handle the IPMI request from system software");
H A Dkcs_bmc_cdev_ipmi.c6 #define pr_fmt(fmt) "kcs-bmc: " fmt
22 /* Different phases of the KCS BMC module.
60 /* IPMI 2.0 - Table 9-4, KCS Interface Status Codes */
94 #define DEVICE_NAME "ipmi-kcs"
100 /* IPMI 2.0 - Table 9-1, KCS Interface Status Register Bits */
108 /* IPMI 2.0 - Table 9-2, KCS Interface State Bits */
116 /* IPMI 2.0 - Table 9-3, KCS Interface Control Codes */
568 MODULE_DESCRIPTION("KCS BMC to handle the IPMI request from system software");
/openbmc/libmctp/tests/
H A Dtest_astlpc.c41 uint8_t (*kcs)[2]; member
56 uint8_t kcs[2]; member
72 *val = (*mmio->kcs)[reg]; in mctp_astlpc_mmio_kcs_read()
79 (*mmio->kcs)[MCTP_ASTLPC_KCS_REG_STATUS] &= ~flag; in mctp_astlpc_mmio_kcs_read()
97 (*mmio->kcs)[MCTP_ASTLPC_KCS_REG_STATUS] |= flag; in mctp_astlpc_mmio_kcs_write()
100 regp = &(*mmio->kcs)[reg]; in mctp_astlpc_mmio_kcs_write()
172 uint8_t mode, uint32_t mtu, uint8_t (*kcs)[2], in endpoint_init()
176 * Configure the direction of the KCS interface so we know whether to in endpoint_init()
184 /* Inject KCS registers */ in endpoint_init()
185 ep->mmio.kcs = kcs; in endpoint_init()
[all …]
/openbmc/qemu/hw/ipmi/
H A Disa_ipmi_kcs.c2 * QEMU ISA IPMI KCS emulation
36 #define TYPE_ISA_IPMI_KCS "isa-ipmi-kcs"
43 IPMIKCS kcs; member
51 ipmi_kcs_get_fwinfo(&iik->kcs, info); in isa_ipmi_kcs_get_fwinfo()
80 VMSTATE_VSTRUCT_TEST(kcs, ISAIPMIKCSDevice, vmstate_kcs_before_version2,
82 VMSTATE_VSTRUCT_V(kcs, ISAIPMIKCSDevice, 2, vmstate_IPMIKCS,
96 if (!iik->kcs.bmc) { in ipmi_isa_realize()
103 iik->kcs.bmc->intf = ii; in ipmi_isa_realize()
104 iik->kcs.opaque = iik; in ipmi_isa_realize()
114 iik->kcs.use_irq = 1; in ipmi_isa_realize()
[all …]
H A Dpci_ipmi_kcs.c2 * QEMU PCI IPMI KCS emulation
31 #define TYPE_PCI_IPMI_KCS "pci-ipmi-kcs"
36 IPMIKCS kcs; member
62 if (!pik->kcs.bmc) { in pci_ipmi_kcs_realize()
69 pik->kcs.bmc->intf = ii; in pci_ipmi_kcs_realize()
70 pik->kcs.opaque = pik; in pci_ipmi_kcs_realize()
72 pci_config_set_prog_interface(pd->config, 0x01); /* KCS */ in pci_ipmi_kcs_realize()
74 pik->kcs.use_irq = 1; in pci_ipmi_kcs_realize()
75 pik->kcs.raise_irq = pci_ipmi_raise_irq; in pci_ipmi_kcs_realize()
76 pik->kcs.lower_irq = pci_ipmi_lower_irq; in pci_ipmi_kcs_realize()
[all …]
/openbmc/linux/Documentation/devicetree/bindings/ipmi/
H A Daspeed,ast2400-kcs-bmc.yaml4 $id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml#
7 title: ASPEED BMC KCS Devices
13 The Aspeed BMC SoCs typically use the Keyboard-Controller-Style (KCS)
22 - aspeed,ast2400-kcs-bmc-v2
23 - aspeed,ast2500-kcs-bmc-v2
24 - aspeed,ast2600-kcs-bmc
30 - aspeed,ast2400-kcs-bmc
31 - aspeed,ast2500-kcs-bmc
86 - aspeed,ast2400-kcs-bmc
87 - aspeed,ast2500-kcs-bmc
[all …]
H A Dnpcm7xx-kcs-bmc.txt1 * Nuvoton NPCM KCS (Keyboard Controller Style) IPMI interface
4 (Baseboard Management Controllers) and the KCS interface can be
9 "nuvoton,npcm750-kcs-bmc"
10 "nuvoton,npcm845-kcs-bmc", "nuvoton,npcm750-kcs-bmc"
12 - kcs_chan : The KCS channel number in the controller
17 compatible = "nuvoton,npcm750-lpc-kcs", "simple-mfd", "syscon";
26 compatible = "nuvoton,npcm750-kcs-bmc";
34 compatible = "nuvoton,npcm750-kcs-bmc";
/openbmc/openbmc/meta-google/recipes-google/bare-metal-ipmi-kcs/
H A Dbare-metal-ipmi-kcs.bb1 SUMMARY = "Disable ipmi kcs while in Guest Os"
2 DESCRIPTION = "Disable ipmi kcs while an untrusted host OS is running"
11 file://disable-ipmi-kcs.service.in \
22 disable-ipmi-kcs.service \
25 # This should be aligned with the phosphor-ipmi-kcs and override per platform
30 sed ${UNPACKDIR}/disable-ipmi-kcs.service.in \
32 > ${UNPACKDIR}/disable-ipmi-kcs.service
35 install -m 0644 ${UNPACKDIR}/disable-ipmi-kcs.service ${D}${systemd_system_unitdir}
/openbmc/openbmc-test-automation/ipmi/
H A Dtest_ipmi_kcs.robot3 Documentation To Verify KCS interface.
21 Verify KCS interface
22 [Documentation] Verify KCS interface.
25 Verify KCS Interface Commands
28 Verify KCS Raw IPMI Multiple Times
29 [Documentation] Verify KCS interface raw ipmi command for multiple times.
32 Repeat Keyword ${LOOP_COUNT} times Verify KCS Interface Commands
/openbmc/kcsbridge/src/
H A Dserver.cpp17 void setAttention(sdbusplus::message_t& m, stdplus::Fd& kcs) in setAttention() argument
19 stdplus::fd::ioctl(kcs, IPMI_BMC_IOCTL_SET_SMS_ATN, nullptr); in setAttention()
23 void clearAttention(sdbusplus::message_t& m, stdplus::Fd& kcs) in clearAttention() argument
25 stdplus::fd::ioctl(kcs, IPMI_BMC_IOCTL_CLEAR_SMS_ATN, nullptr); in clearAttention()
29 void forceAbort(sdbusplus::message_t& m, stdplus::Fd& kcs) in forceAbort() argument
31 stdplus::fd::ioctl(kcs, IPMI_BMC_IOCTL_FORCE_ABORT, nullptr); in forceAbort()
66 sdbusplus::bus_t& bus, const char* obj, stdplus::Fd& kcs) in createSMSHandler() argument
70 dbusMethods<stdplus::Fd>, reinterpret_cast<stdplus::Fd*>(&kcs)); in createSMSHandler()
H A Dcmd.cpp29 void write(stdplus::Fd& kcs, message_t&& m) in write() argument
45 // Based on the IPMI KCS spec Figure 9-2 in write()
46 // netfn needs to be changed to odd in KCS responses in write()
65 stdplus::fd::writeExact(kcs, out); in write()
68 void read(stdplus::Fd& kcs, bus_t& bus, slot_t& outstanding) in read() argument
71 auto in = stdplus::fd::read(kcs, buffer); in read()
90 // Based on the IPMI KCS spec Figure 9-1 in read()
94 stdplus::exception::ignore([&outstanding, &kcs](message_t&& m) { in read()
96 write(kcs, std::move(m)); in read()
H A Dmain.cpp49 // Open an FD for the KCS channel in execute()
50 stdplus::ManagedFd kcs = stdplus::fd::open( in execute() local
57 event, kcs.get(), EPOLLIN | EPOLLET, in execute()
58 stdplus::exception::ignore([&kcs, &bus, &slot](IO&, int, uint32_t) { in execute()
59 read(kcs, bus, slot); in execute()
67 auto intf = createSMSHandler(bus, obj.c_str(), kcs); in execute()
/openbmc/libmctp/docs/bindings/
H A Dvendor-ibm-astlpc.md33 A hardware-defined flag bit in a KCS device's Status Register (STR). The IBF
39 One of the three register interfaces exposed by a KCS device. The IDR is a one
42 ### KCS: Keyboard-Controller-Style
49 microcontrollers. Data is transferred across the KCS interface using a per-byte
72 A hardware-defined flag bit in a KCS device's Status Register (STR). The OBF
78 One of the three register interfaces exposed by a KCS device. The ODR is a one
83 One of the three register interfaces exposed by a KCS device. STR is a
100 - An interrupt mechanism using the IPMI KCS interface
110 2. Trigger an interrupt on the remote side, by writing to the KCS data buffer
114 1. Read from the KCS status register, which shows that the single-byte KCS data
[all …]
/openbmc/linux/Documentation/ABI/testing/
H A Ddev-raw-kcs1 What: /dev/raw-kcs*
7 Description: ``/dev/raw-kcs*`` exposes to userspace the data and
8 status registers of Keyboard-Controller-Style (KCS) IPMI
12 over the device. A typical approach is to use KCS
/openbmc/openbmc/meta-google/recipes-google/bare-metal-ipmi-kcs/bare-metal-ipmi-kcs/
H A Ddisable-ipmi-kcs.service.in2 Description=Disable ipmi kcs
9 ExecStart=/bin/sh -c 'systemctl stop phosphor-ipmi-kcs@@KCS_DEV@'
10 ExecStop=/bin/sh -c 'systemctl start phosphor-ipmi-kcs@@KCS_DEV@'
/openbmc/linux/drivers/s390/crypto/
H A Dpkey_api.c1362 struct pkey_clr2seck kcs; in pkey_unlocked_ioctl() local
1364 if (copy_from_user(&kcs, ucs, sizeof(kcs))) in pkey_unlocked_ioctl()
1366 rc = cca_clr2seckey(kcs.cardnr, kcs.domain, kcs.keytype, in pkey_unlocked_ioctl()
1367 kcs.clrkey.clrkey, kcs.seckey.seckey); in pkey_unlocked_ioctl()
1369 if (!rc && copy_to_user(ucs, &kcs, sizeof(kcs))) in pkey_unlocked_ioctl()
1371 memzero_explicit(&kcs, sizeof(kcs)); in pkey_unlocked_ioctl()
1547 struct pkey_clr2seck2 kcs; in pkey_unlocked_ioctl() local
1551 if (copy_from_user(&kcs, ucs, sizeof(kcs))) in pkey_unlocked_ioctl()
1553 apqns = _copy_apqns_from_user(kcs.apqns, kcs.apqn_entries); in pkey_unlocked_ioctl()
1555 memzero_explicit(&kcs, sizeof(kcs)); in pkey_unlocked_ioctl()
[all …]
/openbmc/linux/fs/proc/
H A Duptime.c22 struct kernel_cpustat kcs; in uptime_proc_show() local
24 kcpustat_cpu_fetch(&kcs, i); in uptime_proc_show()
25 idle_nsec += get_idle_time(&kcs, i); in uptime_proc_show()
/openbmc/openbmc-test-automation/lib/
H A Dipmi_utils.robot3 Documentation Keywords for KCS and Lanplus interface command.
14 Verify KCS Interface Commands
15 [Documentation] Execute set of IPMI raw KCS interface commands and verify it is
27 ## Waiting time to get KCS interface enabled.
/openbmc/docs/designs/
H A Dbmc-service-failure-debug-and-recovery.md256 4. A KCS device for a vendor-defined MCTP LPC binding
263 3. An otherwise unused KCS device
277 This draws us towards the use of a KCS device, which is best aligned with the
278 simple need of generating an IRQ on the BMC. AST2600 has at least 4 KCS devices
307 #### A Idealised KCS-based Protocol for Power10 Platforms
354 The host must be prepared to handle LPC SYNC errors when accessing the KCS
356 that the KCS device will remain available during BMC resets.
366 The layout of the KCS Status Register (STR) is as follows:
379 #### A Real-World Implementation of the KCS Protocol for Power10 Platforms
405 https://github.com/amboar/linux/compare/2dbb5aeba6e55e2a97e150f8371ffc1cc4d18180...for/openbmc/kcs-…
[all …]
/openbmc/debug-trigger/udev/rules.d/
H A Ddebug-trigger-kcs1.rules1 ACTION=="add", DEVPATH=="*/1e789024.kcs/*", SUBSYSTEM=="serio", RUN{program}+="/bin/sh -c 'echo -n …
2 ACTION=="add", DEVPATH=="*/1e789024.kcs/*", SUBSYSTEMS=="serio", SUBSYSTEM=="misc", TAG+="systemd",…
H A Ddebug-trigger-kcs2.rules1 ACTION=="add", DEVPATH=="*/1e789028.kcs/*", SUBSYSTEM=="serio", RUN{program}+="/bin/sh -c 'echo -n …
2 ACTION=="add", DEVPATH=="*/1e789028.kcs/*", SUBSYSTEMS=="serio", SUBSYSTEM=="misc", TAG+="systemd",…
H A Ddebug-trigger-kcs4.rules1 ACTION=="add", DEVPATH=="*/1e789114.kcs/*", SUBSYSTEM=="serio", RUN{program}+="/bin/sh -c 'echo -n …
2 ACTION=="add", DEVPATH=="*/1e789114.kcs/*", SUBSYSTEMS=="serio", SUBSYSTEM=="misc", TAG+="systemd",…

1234567