• Jan Dabros's avatar
    i2c: designware: Add AMD PSP I2C bus support · 78d5e9e2
    Jan Dabros authored
    Implement an I2C controller sharing mechanism between the host (kernel)
    and PSP co-processor on some platforms equipped with AMD Cezanne SoC.
    
    On these platforms we need to implement "software" i2c arbitration.
    Default arbitration owner is PSP and kernel asks for acquire as well
    as inform about release of the i2c bus via mailbox mechanism.
    
                +---------+
     <- ACQUIRE |         |
      +---------|   CPU   |\
      |         |         | \      +----------+  SDA
      |         +---------+  \     |          |-------
    MAILBOX                   +--> |  I2C-DW  |  SCL
      |         +---------+        |          |-------
      |         |         |        +----------+
      +---------|   PSP   |
       <- ACK   |         |
                +---------+
    
                +---------+
     <- RELEASE |         |
      +---------|   CPU   |
      |         |         |        +----------+  SDA
      |         +---------+        |          |-------
    MAILBOX                   +--> |  I2C-DW  |  SCL
      |         +--------...
    78d5e9e2
acpi_apd.c 6.59 KB