• Feng Tang's avatar
    x86/mrst: Add SFI platform device parsing code · 1da4b1c6
    Feng Tang authored
    SFI provides a series of tables. These describe the platform devices present
    including SPI and I²C devices, as well as various sensors, keypads and other
    glue as well as interfaces provided via the SCU IPC mechanism (intel_scu_ipc.c)
    
    This patch is a merge of the core elements and relevant fixes from the
    Intel development code by Feng, Alek, myself into a single coherent patch
    for upstream submission.
    
    It provides the needed infrastructure to register I2C, SPI and platform devices
    described by the tables, as well as handlers for some of the hardware already
    supported in kernel. The 0.8 firmware also provides GPIO tables.
    
    Devices are created at boot time or if they are SCU dependant at the point an
    SCU is discovered. The existing Linux device mechanisms will then handle the
    device binding. At an abstract level this is an SFI to Linux device translator.
    
    Device/platform specific setup/glue is in this file. This is done so that the
    drivers for the generic I²C and SPI bus devices remain cross platform as they
    should.
    
    (Updated from RFC version to correct the emc1403 name used by the firmware
     and a wrongly used #define)
    Signed-off-by: default avatarAlek Du <alek.du@linux.intel.com>
    LKML-Reference: <20101109112158.20013.6158.stgit@localhost.localdomain>
    [Clean ups, removal of 0.7 support]
    Signed-off-by: default avatarFeng Tang <feng.tang@linux.intel.com>
    [Clean ups]
    Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    1da4b1c6
intel_scu_ipc.c 20.4 KB