coreboot/src
Duncan Laurie e530d816cc drivers/uart/acpi: Add new device driver for UART attached devices
This driver generates an ACPI device object for a UART attached device
with all of the expected device support handlers like different interrupt
sources and power control GPIOs.

Example use:
chip drivers/uart/acpi
    register "name" = ""UDEV""
    register "desc" = ""UART Attached Device""
    register "hid" = "ACPI_DT_NAMESPACE_HID"
    register "compat_string" = ""google,cros-ec-uart""
    register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPP_C20)"
    register "uart" = "ACPI_UART_RAW_DEVICE(115200, 64)"
    device generic 0 on end
end

Resulting in this ACPI device:

Device (UDEV)
{
    Name (_HID, "PRP0001")
    Name (_UID, Zero)
    Name (_DDN, "UART Attached Device")
    Method (_STA, 0, NotSerialized)
    {
        Return (0x0F)
    }
    Name (_CRS, ResourceTemplate ()
    {
        UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
                         0x00, LittleEndian, ParityTypeNone, FlowControlNone,
                         0x0040, 0x0040, "\\_SB.PCI0.UAR2",
                         0x00, ResourceConsumer, , Exclusive)
        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                 "\\_SB.PCI0.GPIO", 0x00, ResourceConsumer)
        {
            0x0114
        }
    })
    Name (_DSD, Package (0x02)
    {
        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
        Package (0x01)
        {
            Package (0x02)
            {
                "compatible",
                "google,cros-ec-uart"
            }
        }
    })
}

Change-Id: Idfd2d9d2ab6990a82ddd401734c0d9b1b0b8f82d
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41793
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2020-06-04 20:08:32 +00:00
..
acpi acpi: Add support for writing UART device descriptors 2020-06-04 20:08:09 +00:00
arch arch/x86/postcar_loader: utilize var_mtrr_context API 2020-06-02 16:10:05 +00:00
commonlib commonlib: Add CBFS_TYPE_BOOTBLOCK 2020-06-02 07:26:44 +00:00
console treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cpu cpu/intel/slot_1: Select 16KiB bootblock if console is enabled 2020-06-04 18:05:53 +00:00
device src: Remove redundant includes 2020-06-02 07:42:32 +00:00
drivers drivers/uart/acpi: Add new device driver for UART attached devices 2020-06-04 20:08:32 +00:00
ec src: Remove redundant includes 2020-06-02 07:42:32 +00:00
include acpi: Add support for writing UART device descriptors 2020-06-04 20:08:09 +00:00
lib fw_config: Add firmware configuration interface 2020-06-02 16:40:04 +00:00
mainboard mb/google/volteer: Create voxel variant 2020-06-04 19:15:57 +00:00
northbridge northbridge/intel/sandybridge: Mask lower 20 bits of TOLUD and TOLM in hostbridge.asl 2020-06-03 12:22:25 +00:00
security src: Remove unused 'include <fmap.h>' 2020-06-02 07:42:40 +00:00
soc soc/amd/picasso/Makefile: Allow absolute path for picasso firmware 2020-06-04 16:07:51 +00:00
southbridge soc,southbridge/amd: Remove some explicit zero-initializers 2020-06-03 13:31:56 +00:00
superio superio/nuvoton/nct6779d: Open some LDN config registers 2020-06-02 08:02:48 +00:00
vendorcode vendorcode/intel/fsp: Update Tiger Lake FSP Headers for FSP v3197 2020-06-03 03:59:08 +00:00
Kconfig fw_config: Add firmware configuration interface 2020-06-02 16:40:04 +00:00