/openbmc/linux/Documentation/devicetree/bindings/mfd/ |
H A D | aspeed-lpc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/mfd/aspeed-lpc.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Aspeed Low Pin Count (LPC) Bus Controller 11 - Andrew Jeffery <andrew@aj.id.au> 12 - Chia-Wei Wang <chiawei_wang@aspeedtech.com> 15 The LPC bus is a means to bridge a host CPU to a number of low-bandwidth 17 primary use case of the Aspeed LPC controller is as a slave on the bus 21 The LPC controller is represented as a multi-function device to account for the [all …]
|
/openbmc/phosphor-mboxd/ |
H A D | configure.ac | 5 AM_INIT_AUTOMAKE([subdir-objects -Wall foreign dist-xz]) 17 AC_CHECK_HEADER(linux/aspeed-lpc-ctrl.h,[HAVE_UAPI_LINUX_LPC_CTRL_H=""],[HAVE_UAPI_LINUX_LPC_CTRL_H… 19 …-lpc-ctrl.h: Attempting to download locally for building from https://git.kernel.org/pub/scm/linux… 20 …-f linux/aspeed-lpc-ctrl.h && mkdir -p linux && wget --quiet https://git.kernel.org/pub/scm/linux/… 25 AX_APPEND_COMPILE_FLAGS([-fpic -Wall], [CFLAGS]) 26 AX_APPEND_COMPILE_FLAGS([-fpic -Wall], [CXXFLAGS]) 31 PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging],,\ 32 AC_MSG_ERROR(["Requires phosphor-logging package."])) 34 AX_PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [],[phosphor-dbus-interfaces],\ 35 [], [AC_MSG_ERROR(["phosphor-dbus-interfaces required and not found."])]) [all …]
|
H A D | mboxd_lpc.c | 1 // SPDX-License-Identifier: Apache-2.0 31 #include <linux/aspeed-lpc-ctrl.h> 33 #define LPC_CTRL_PATH "/dev/aspeed-lpc-ctrl" 47 /* Open LPC Device */ in __init_lpc_dev() 53 return -errno; in __init_lpc_dev() 56 context->fds[LPC_CTRL_FD].fd = fd; in __init_lpc_dev() 61 MSG_ERR("Couldn't get lpc control buffer size: %s\n", in __init_lpc_dev() 63 return -errno; in __init_lpc_dev() 66 context->mem_size = map.size; in __init_lpc_dev() 67 /* Map at the top of the 28-bit LPC firmware address space-0 */ in __init_lpc_dev() [all …]
|
/openbmc/hiomapd/ |
H A D | configure.ac | 5 AM_INIT_AUTOMAKE([subdir-objects -Wall -Wno-portability foreign dist-xz]) 17 AC_CHECK_HEADER(linux/aspeed-lpc-ctrl.h,[HAVE_UAPI_LINUX_LPC_CTRL_H=""],[HAVE_UAPI_LINUX_LPC_CTRL_H… 19 …-lpc-ctrl.h: Attempting to download locally for building from https://git.kernel.org/pub/scm/linux… 20 …-f linux/aspeed-lpc-ctrl.h && mkdir -p linux && wget --quiet https://git.kernel.org/pub/scm/linux/… 25 AX_APPEND_COMPILE_FLAGS([-fpic -Wall], [CFLAGS]) 26 AX_APPEND_COMPILE_FLAGS([-fpic -Wall], [CXXFLAGS]) 29 LT_INIT # Removes 'unrecognized options: --with-libtool-sysroot' 31 AC_ARG_ENABLE([oe-sdk], 32 …AS_HELP_STRING([--enable-oe-sdk], [Link testcases absolutely against OE SDK so they can be ran wit… 38 AC_MSG_ERROR([OECORE_TARGET_SYSROOT must be set with --enable-oe-sdk]) [all …]
|
H A D | lpc.c | 1 // SPDX-License-Identifier: Apache-2.0 29 #include "lpc.h" 31 #include <linux/aspeed-lpc-ctrl.h> 33 #define LPC_CTRL_PATH "/dev/aspeed-lpc-ctrl" 47 /* Open LPC Device */ in __lpc_dev_init() 53 return -errno; in __lpc_dev_init() 56 context->fds[LPC_CTRL_FD].fd = fd; in __lpc_dev_init() 61 MSG_ERR("Couldn't get lpc control buffer size: %s\n", in __lpc_dev_init() 63 return -errno; in __lpc_dev_init() 66 context->mem_size = map.size; in __lpc_dev_init() [all …]
|
/openbmc/linux/drivers/soc/aspeed/ |
H A D | aspeed-lpc-ctrl.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 #include <linux/aspeed-lpc-ctrl.h> 19 #define DEVICE_NAME "aspeed-lpc-ctrl" 45 return container_of(file->private_data, struct aspeed_lpc_ctrl, in file_aspeed_lpc_ctrl() 52 unsigned long vsize = vma->vm_end - vma->vm_start; in aspeed_lpc_ctrl_mmap() 53 pgprot_t prot = vma->vm_page_prot; in aspeed_lpc_ctrl_mmap() 55 if (vma->vm_pgoff + vma_pages(vma) > lpc_ctrl->mem_size >> PAGE_SHIFT) in aspeed_lpc_ctrl_mmap() 56 return -EINVAL; in aspeed_lpc_ctrl_mmap() 61 if (remap_pfn_range(vma, vma->vm_start, in aspeed_lpc_ctrl_mmap() 62 (lpc_ctrl->mem_base >> PAGE_SHIFT) + vma->vm_pgoff, in aspeed_lpc_ctrl_mmap() [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 2 obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o 3 obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o 4 obj-$(CONFIG_ASPEED_UART_ROUTING) += aspeed-uart-routing.o 5 obj-$(CONFIG_ASPEED_P2A_CTRL) += aspeed-p2a-ctrl.o 6 obj-$(CONFIG_ASPEED_SOCINFO) += aspeed-socinfo.o 7 obj-$(CONFIG_ASPEED_SBC) += aspeed-sbc.o 8 obj-$(CONFIG_ASPEED_XDMA) += aspeed-xdma.o
|
/openbmc/libmctp/docs/bindings/ |
H A D | vendor-ibm-astlpc.md | 1 # Management Component Transport Protocol (MCTP) LPC Transport Binding Specification for ASPEED BMC… 6 host and BMC over the LPC bus on ASPEED BMC platforms. 17 2. Intel (R) Low Pin Count (LPC) Interface Specification 1.1, 18 …<https://www.intel.com/content/dam/www/program/design/us/en/documents/low-pin-count-interface-spec… 29 MCTP-compliant endpoints must accept. 33 A hardware-defined flag bit in a KCS device's Status Register (STR). The IBF 42 ### KCS: Keyboard-Controller-Style 48 systems. This interface is available built-in to several commercially available 49 microcontrollers. Data is transferred across the KCS interface using a per-byte 52 ### LPC Bus: Low Pin Count Bus [all …]
|
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/ |
H A D | lpc_aspeed.cpp | 8 * http://www.apache.org/licenses/LICENSE-2.0 23 #include <linux/aspeed-lpc-ctrl.h> 36 const std::string LpcMapperAspeed::lpcControlPath = "/dev/aspeed-lpc-ctrl"; 51 sys->munmap(mappedRegion, regionSize); in close() 55 if (mappedFd != -1) in close() 57 sys->close(mappedFd); in close() 58 mappedFd = -1; in close() 78 result.windowSize = regionSize - offset; in mapWindow() 92 "requesting Aspeed LPC window at %#" PRIx32 " of size %" PRIu32 in mapWindow() 96 const auto lpcControlFd = sys->open(lpcControlPath.c_str(), O_RDWR); in mapWindow() [all …]
|
H A D | lpc_handler.cpp | 8 * http://www.apache.org/licenses/LICENSE-2.0 36 memory = mapper->open(); in setInitializedAndReturn() 51 /* For the ASPEED LPC CTRL driver, the ioctl is required to set up the in open() 59 mapper->close(); in close() 66 /* TODO: implement this -- in an earlier and different version of this that in copyFrom() 67 * didn't use BLOBs, the region was memory-mapped and the writes to the data in copyFrom() 68 * were just done directly from the memory-mapped region instead of a in copyFrom() 70 * able to get a memory-mapped handle from the driver from which to in copyFrom() 101 mappingResult = mapper->mapWindow(lpcRegion.address, lpcRegion.length); in writeMeta()
|
/openbmc/openbmc/meta-phosphor/recipes-phosphor/mboxd/ |
H A D | mboxd_git.bb | 3 LICENSE = "Apache-2.0" 5 DEPENDS += "autoconf-archive-native" 7 DEPENDS += "phosphor-logging" 10 # Enable virtual-pnor by DISTRO_FEATURE openpower-virtual-pnor. 11 PACKAGECONFIG:append:df-openpower-virtual-pnor = " virtual-pnor" 12 PACKAGECONFIG[virtual-pnor] = "--enable-virtual-pnor,--disable-virtual-pnor" 17 SRC_URI += "file://99-aspeed-lpc-ctrl.rules" 23 SYSTEMD_SERVICE:${PN} += "mboxd-reload@.service" 28 inherit obmc-phosphor-systemd 31 install -d ${D}/${nonarch_base_libdir}/udev/rules.d [all …]
|
/openbmc/linux/arch/powerpc/include/asm/ |
H A D | mpc5121.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 47 * LPC Module 67 u32 ctrl; /* SCLPC Control Register */ member 75 u32 data_word; /* LPC RX/TX FIFO Data Word Register */ 76 u32 fifo_status; /* LPC RX/TX FIFO Status Register */ 77 u32 fifo_ctrl; /* LPC RX/TX FIFO Control Register */ 78 u32 fifo_alarm; /* LPC RX/TX FIFO Alarm Register */
|
/openbmc/phosphor-mboxd/test/ |
H A D | system.c | 1 // SPDX-License-Identifier: Apache-2.0 5 #include <mtd/mtd-user.h> 12 #include "linux/aspeed-lpc-ctrl.h" 14 static struct aspeed_lpc_ctrl_mapping ctrl = { variable 24 ctrl.size = size; in system_set_reserved_size() 58 if (info->start + info->length > mtd.size) in ioctl() 59 return -1; in ioctl() 63 return -1; in ioctl() 65 memset(&map[info->start], 0xff, info->length); in ioctl() 77 info->size = ctrl.size; in ioctl() [all …]
|
H A D | mbox.c | 1 // SPDX-License-Identifier: Apache-2.0 36 delta = len - i; in dump_buf() 69 fd = context->fds[MBOX_FD].fd; in mbox_cmp() 96 fd = context->fds[MBOX_FD].fd; in mbox_rspcpy() 115 fd = context->fds[MBOX_FD].fd; in mbox_command_write() 118 return -1; in mbox_command_write() 125 remaining -= rc; in mbox_command_write() 130 return -1; in mbox_command_write() 148 return -rc; in mbox_command_dispatch() 151 * The aspeed-lpc-ctrl driver implements mailbox register access in mbox_command_dispatch() [all …]
|
/openbmc/hiomapd/test/ |
H A D | system.c | 1 // SPDX-License-Identifier: Apache-2.0 5 #include <mtd/mtd-user.h> 12 #include "linux/aspeed-lpc-ctrl.h" 14 static struct aspeed_lpc_ctrl_mapping ctrl = { .size = 0 }; variable 23 ctrl.size = size; in system_set_reserved_size() 57 if (info->start + info->length > mtd.size) in ioctl() 58 return -1; in ioctl() 62 return -1; in ioctl() 64 memset(&map[info->start], 0xff, info->length); in ioctl() 76 info->size = ctrl.size; in ioctl() [all …]
|
H A D | mbox.c | 1 // SPDX-License-Identifier: Apache-2.0 20 #include "lpc.h" 38 delta = len - i; in dump_buf() 71 fd = context->fds[MBOX_FD].fd; in mbox_cmp() 100 fd = context->fds[MBOX_FD].fd; in mbox_rspcpy() 119 fd = context->fds[MBOX_FD].fd; in mbox_command_write() 122 return -1; in mbox_command_write() 129 remaining -= rc; in mbox_command_write() 134 return -1; in mbox_command_write() 152 return -rc; in mbox_command_dispatch() [all …]
|
/openbmc/openbmc/meta-phosphor/recipes-phosphor/mboxd/files/ |
H A D | 99-aspeed-lpc-ctrl.rules | 1 SUBSYSTEM=="misc", KERNEL=="aspeed-lpc-ctrl", TAG+="systemd"
|
/openbmc/phosphor-ipmi-flash/ |
H A D | README.md | 7 [here](https://github.com/openbmc/docs/blob/master/designs/firmware-update-via-blobs.md). 9 ## Building and using the host-tool 11 This repo contains a host-tool implementation for talking to the corresponding 14 ### Building the host-tool 16 The host-tool depends on ipmi-blob-tool and pciutils. 21 [xorg-macros source](https://gitlab.freedesktop.org/xorg/util/macros). 26 ./autogen.sh --prefix=/usr 41 #### Building ipmi-blob-tool 44 [ipmi-blob-tool source](https://github.com/openbmc/ipmi-blob-tool). 62 meson setup -Dexamples=false -Dtests=disabled builddir [all …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | ast2400.dtsi | 3 * https://raw.githubusercontent.com/torvalds/linux/34ea5c9d/arch/arm/boot/dts/aspeed-g4.dtsi 10 #address-cells = <1>; 11 #size-cells = <1>; 12 interrupt-parent = <&vic>; 38 #address-cells = <1>; 39 #size-cells = <0>; 42 compatible = "arm,arm926ej-s"; 54 compatible = "simple-bus"; 55 #address-cells = <1>; 56 #size-cells = <1>; [all …]
|
H A D | ast2500.dtsi | 3 * https://raw.githubusercontent.com/torvalds/linux/34ea5c9d/arch/arm/boot/dts/aspeed-g5.dtsi 10 #address-cells = <1>; 11 #size-cells = <1>; 12 interrupt-parent = <&vic>; 38 #address-cells = <1>; 39 #size-cells = <0>; 42 compatible = "arm,arm1176jzf-s"; 54 compatible = "simple-bus"; 55 #address-cells = <1>; 56 #size-cells = <1>; [all …]
|
/openbmc/linux/arch/arm/boot/dts/aspeed/ |
H A D | aspeed-g4.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 2 #include <dt-bindings/clock/aspeed-clock.h> 7 #address-cells = <1>; 8 #size-cells = <1>; 9 interrupt-parent = <&vic>; 35 #address-cells = <1>; 36 #size-cells = <0>; 39 compatible = "arm,arm926ej-s"; 51 compatible = "simple-bus"; 52 #address-cells = <1>; [all …]
|
H A D | aspeed-g5.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 2 #include <dt-bindings/clock/aspeed-clock.h> 3 #include <dt-bindings/interrupt-controller/aspeed-scu-ic.h> 8 #address-cells = <1>; 9 #size-cells = <1>; 10 interrupt-parent = <&vic>; 36 #address-cells = <1>; 37 #size-cells = <0>; 40 compatible = "arm,arm1176jzf-s"; 52 compatible = "simple-bus"; [all …]
|
/openbmc/linux/drivers/hwmon/ |
H A D | it87.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * it87.c - Part of lm_sensors, Linux kernel modules for hardware 6 * The IT8705F is an LPC-based Super I/O part that contains UARTs, a 14 * Supports: IT8603E Super I/O chip w/LPC interface 15 * IT8620E Super I/O chip w/LPC interface 16 * IT8622E Super I/O chip w/LPC interface 17 * IT8623E Super I/O chip w/LPC interface 18 * IT8628E Super I/O chip w/LPC interface 19 * IT8705F Super I/O chip w/LPC interface 20 * IT8712F Super I/O chip w/LPC interface [all …]
|
/openbmc/linux/drivers/watchdog/ |
H A D | it87_wdt.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * for ITE IT87xx Environment Control - Low Pin Count Input / Output 12 * Data-sheets: Publicly available at the ITE website 120 return -EBUSY; in superio_enter() 204 t -= t % 60; in wdt_round_time() 212 return wdt_update_timeout(wdd->timeout); in wdt_start() 221 * wdt_set_timeout - set a new timeout value with watchdog ioctl 237 wdd->timeout = t; in wdt_set_timeout() 283 u8 ctrl; in it87_wdt_init() local 297 quirks = (long)dmi_id->driver_data; in it87_wdt_init() [all …]
|
/openbmc/linux/drivers/pinctrl/ |
H A D | pinctrl-gemini.c | 6 * This is a group-only pin controller. 19 #include <linux/pinctrl/pinconf-generic.h> 24 #include "pinctrl-utils.h" 26 #define DRIVER_NAME "pinctrl-gemini" 29 * struct gemini_pin_conf - information about configuring a pin 41 * struct gemini_pmx - state holder for the gemini pin controller 64 * struct gemini_pin_group - describes a Gemini pin group 67 * from the driver-local pin enumeration space 85 /* Some straight-forward control registers */ 98 * - For the bits named *_ENABLE, once you DISABLE something, it simply cannot [all …]
|