[coreboot-gerrit] Patch merged into coreboot/master: i2c: Add a generic i2c driver

gerrit at coreboot.org gerrit at coreboot.org
Thu Jun 2 05:36:55 CEST 2016


the following patch was just integrated into master:
commit 21a097aedc2b5a45bd55e1a6fb61a21f0ff43e07
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Wed May 11 09:50:59 2016 -0700

    i2c: Add a generic i2c driver
    
    This adds a generic I2C driver that can be described in the devicetree
    and used to generate ACPI objects in the SSDT based on the information
    provided in the config registers.
    
    The I2C bus can be configured and the device can provide an interrupt and
    wake capability to the OS.  A configuration option allows for a GPIO to
    be provided that will be checked to determine if the device is preset on
    the board before including it in the generated SSDT.
    
    The driver is generic enough to be used for basic I2C devices that do
    not have special configuration needs such as touchpads, touchscreens,
    sensors, some audio codec/amplifiers, etc.
    
    Sample usage for a touchpad device:
    
    device pci 15.1 on
      chip drivers/i2c/generic
        register "hid" = ""ELAN0000""
        register "desc" = "ELAN Touchpad"
        register "irq" = "IRQ_EDGE_LOW(GPP_B3_IRQ)"
        register "wake" = "GPE0_DW0_05"
        device i2c 15.0 on end
      end
    end
    
    Will result in the following code in the SSDT:
    
    Scope (\_SB.PCI0.I2C1) {
      Device (D015) {
        Name (_HID, "ELAN0000")
        Name (_UID, 0)
        Name (_S0W, 4)
        Name (_PRW, Package () { 5, 3 })
        Method (_STA) { Return (0x0f) }
        Name (_CRS, ResourceTemplate () {
          I2cSerialBus (0x15, ControllerInitiated, 400000, AddressingMode7Bit,
                        "\\_S.PCI0.I2C1", 0, ResourceConsumer)
          Interrupt (ResourceConsumer, Edge, ActiveLow) { 51 }
        })
      }
    }
    
    Change-Id: Ib32055720835b70e91ede5e4028ecd91894d70d5
    Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Reviewed-on: https://review.coreboot.org/15016
    Tested-by: build bot (Jenkins)
    Reviewed-by: Aaron Durbin <adurbin at chromium.org>


See https://review.coreboot.org/15016 for details.

-gerrit



More information about the coreboot-gerrit mailing list