qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] b98ec6: hw/i2c: name I2CNode list in I2CBus


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] b98ec6: hw/i2c: name I2CNode list in I2CBus
Date: Fri, 14 May 2021 09:20:08 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b98ec6896ee88f1dcdd7098af25bcb6ee0fc50f0
      
https://github.com/qemu/qemu/commit/b98ec6896ee88f1dcdd7098af25bcb6ee0fc50f0
  Author: Patrick Venture <venture@google.com>
  Date:   2021-04-15 (Thu, 15 Apr 2021)

  Changed paths:
    M include/hw/i2c/i2c.h

  Log Message:
  -----------
  hw/i2c: name I2CNode list in I2CBus

To enable passing the current_devs field as a parameter, we need to use
a named struct type.

Tested: BMC firmware with i2c devices booted to userspace.

Signed-off-by: Patrick Venture <venture@google.com>
Reviewed-by: Hao Wu <wuhaotsh@google.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210412194522.664594-2-venture@google.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>


  Commit: 513ca82d8982463aca98aa01dcf584e0b4fc0982
      
https://github.com/qemu/qemu/commit/513ca82d8982463aca98aa01dcf584e0b4fc0982
  Author: Patrick Venture <venture@google.com>
  Date:   2021-04-15 (Thu, 15 Apr 2021)

  Changed paths:
    M hw/i2c/core.c
    M include/hw/i2c/i2c.h

  Log Message:
  -----------
  hw/i2c: add match method for device search

At the start of an i2c transaction, the i2c bus searches its list of
children to identify which devices correspond to the address (or
broadcast).  Now the I2CSlave device has a method "match" that
encapsulates the lookup behavior. This allows the behavior to be changed
to support devices, such as i2c muxes.

Tested: A BMC firmware was booted to userspace and i2c devices were
detected.

Signed-off-by: Patrick Venture <venture@google.com>
Reviewed-by: Hao Wu <wuhaotsh@google.com>
Message-Id: <20210412194522.664594-3-venture@google.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>


  Commit: 3f9b32595e785c79720ed174198472c3d4d32c03
      
https://github.com/qemu/qemu/commit/3f9b32595e785c79720ed174198472c3d4d32c03
  Author: Patrick Venture <venture@google.com>
  Date:   2021-04-15 (Thu, 15 Apr 2021)

  Changed paths:
    M hw/i2c/core.c
    M include/hw/i2c/i2c.h

  Log Message:
  -----------
  hw/i2c: move search to i2c_scan_bus method

Moves the search for matching devices on an i2c bus into a separate
method.  This allows for an object that owns an I2CBus can avoid
duplicating this method.

Tested: A BMC firmware was booted to userspace and i2c devices were
detected.

Signed-off-by: Patrick Venture <venture@google.com>
Reviewed-by: Hao Wu <wuhaotsh@google.com>
Message-Id: <20210412194522.664594-4-venture@google.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>


  Commit: 065177eeceff552a5316bff9435188b50a2da1b6
      
https://github.com/qemu/qemu/commit/065177eeceff552a5316bff9435188b50a2da1b6
  Author: Patrick Venture <venture@google.com>
  Date:   2021-04-15 (Thu, 15 Apr 2021)

  Changed paths:
    M MAINTAINERS
    M hw/i2c/Kconfig
    A hw/i2c/i2c_mux_pca954x.c
    M hw/i2c/meson.build
    M hw/i2c/trace-events
    A include/hw/i2c/i2c_mux_pca954x.h

  Log Message:
  -----------
  hw/i2c: add pca954x i2c-mux switch

The pca954x is an i2c mux, and this adds support for two variants of
this device: the pca9546 and pca9548.

This device is very common on BMCs to route a different channel to each
PCIe i2c bus downstream from the BMC.

Signed-off-by: Patrick Venture <venture@google.com>
Reviewed-by: Hao Wu <wuhaotsh@google.com>
Reviewed-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-Id: <20210412194522.664594-5-venture@google.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>


  Commit: 499063d00ad3dba7bccd6bcc7f41e33e03866e9e
      
https://github.com/qemu/qemu/commit/499063d00ad3dba7bccd6bcc7f41e33e03866e9e
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-05-14 (Fri, 14 May 2021)

  Changed paths:
    M MAINTAINERS
    M hw/i2c/Kconfig
    M hw/i2c/core.c
    A hw/i2c/i2c_mux_pca954x.c
    M hw/i2c/meson.build
    M hw/i2c/trace-events
    M include/hw/i2c/i2c.h
    A include/hw/i2c/i2c_mux_pca954x.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cminyard/tags/for-qemu-6.1-v1' into 
staging

Add a bus multiplexer device

This patch set adds a bus multiplexer and the necessary infrastructure
in the I2C code to allow it to work.

These are common on systems with lots of I2C devices, like an IPMI BMC.

# gpg: Signature made Thu 13 May 2021 22:48:07 BST
# gpg:                using RSA key FD0D5CE67CE0F59A6688268661F38C90919BFF81
# gpg: Good signature from "Corey Minyard <cminyard@mvista.com>" [unknown]
# gpg:                 aka "Corey Minyard <minyard@acm.org>" [unknown]
# gpg:                 aka "Corey Minyard <corey@minyard.net>" [unknown]
# gpg:                 aka "Corey Minyard <minyard@mvista.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: FD0D 5CE6 7CE0 F59A 6688  2686 61F3 8C90 919B FF81

* remotes/cminyard/tags/for-qemu-6.1-v1:
  hw/i2c: add pca954x i2c-mux switch
  hw/i2c: move search to i2c_scan_bus method
  hw/i2c: add match method for device search
  hw/i2c: name I2CNode list in I2CBus

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/96662996eda7...499063d00ad3



reply via email to

[Prev in Thread] Current Thread [Next in Thread]