065177ee | 12-Apr-2021 |
Patrick Venture <venture@google.com> |
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
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>
show more ...
|
3f9b3259 | 12-Apr-2021 |
Patrick Venture <venture@google.com> |
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 metho
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>
show more ...
|
513ca82d | 12-Apr-2021 |
Patrick Venture <venture@google.com> |
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
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>
show more ...
|
6b6e7570 | 10-Feb-2021 |
Hao Wu <wuhaotsh@google.com> |
hw/i2c: Implement NPCM7XX SMBus Module FIFO Mode
This patch implements the FIFO mode of the SMBus module. In FIFO, the user transmits or receives at most 16 bytes at a time. The FIFO mode allows the
hw/i2c: Implement NPCM7XX SMBus Module FIFO Mode
This patch implements the FIFO mode of the SMBus module. In FIFO, the user transmits or receives at most 16 bytes at a time. The FIFO mode allows the module to transmit large amount of data faster than single byte mode.
Since we only added the device in a patch that is only a few commits away in the same patch set. We do not increase the VMstate version number in this special case.
Reviewed-by: Doug Evans<dje@google.com> Reviewed-by: Tyrong Ting<kfting@nuvoton.com> Signed-off-by: Hao Wu <wuhaotsh@google.com> Reviewed-by: Corey Minyard <cminyard@mvista.com> Message-id: 20210210220426.3577804-6-wuhaotsh@google.com Acked-by: Corey Minyard <cminyard@mvista.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
73d5f22e | 05-Jul-2020 |
Philippe Mathieu-Daudé <f4bug@amsat.org> |
hw/i2c: Document the I2C qdev helpers
In commit d88c42ff2c we added new prototype but neglected to add their documentation. Fix that.
Reported-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-
hw/i2c: Document the I2C qdev helpers
In commit d88c42ff2c we added new prototype but neglected to add their documentation. Fix that.
Reported-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Corey Minyard <cminyard@mvista.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20200705224154.16917-6-f4bug@amsat.org> Signed-off-by: Corey Minyard <cminyard@mvista.com>
show more ...
|
1373b15b | 05-Jul-2020 |
Philippe Mathieu-Daudé <f4bug@amsat.org> |
hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple()
We use "create_simple" names for functions that allocate, initialize, configure and realize device objects: pci_create_simple(), isa_cr
hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple()
We use "create_simple" names for functions that allocate, initialize, configure and realize device objects: pci_create_simple(), isa_create_simple(), usb_create_simple(). For consistency, rename i2c_create_slave() as i2c_slave_create_simple(). Since we have to update all the callers, also let it return a I2CSlave object.
Suggested-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Corey Minyard <cminyard@mvista.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20200705224154.16917-5-f4bug@amsat.org> Signed-off-by: Corey Minyard <cminyard@mvista.com>
show more ...
|
2616f572 | 05-Jul-2020 |
Philippe Mathieu-Daudé <f4bug@amsat.org> |
hw/i2c: Rename i2c_realize_and_unref() as i2c_slave_realize_and_unref()
The other i2c functions are called i2c_slave_FOO(). Rename as i2c_slave_realize_and_unref() to be consistent.
Suggested-by: M
hw/i2c: Rename i2c_realize_and_unref() as i2c_slave_realize_and_unref()
The other i2c functions are called i2c_slave_FOO(). Rename as i2c_slave_realize_and_unref() to be consistent.
Suggested-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Corey Minyard <cminyard@mvista.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20200705224154.16917-4-f4bug@amsat.org> Signed-off-by: Corey Minyard <cminyard@mvista.com>
show more ...
|
db437ca6 | 05-Jul-2020 |
Philippe Mathieu-Daudé <f4bug@amsat.org> |
hw/i2c: Rename i2c_try_create_slave() as i2c_slave_new()
We use "new" names for functions that allocate and initialize device objects: pci_new(), isa_new(), usb_new(). Let's call this one i2c_slave_
hw/i2c: Rename i2c_try_create_slave() as i2c_slave_new()
We use "new" names for functions that allocate and initialize device objects: pci_new(), isa_new(), usb_new(). Let's call this one i2c_slave_new(). Since we have to update all the callers, also let it return a I2CSlave object.
Suggested-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20200705224154.16917-3-f4bug@amsat.org> Signed-off-by: Corey Minyard <cminyard@mvista.com>
show more ...
|
545d6bef | 19-Nov-2019 |
Cédric Le Goater <clg@kaod.org> |
aspeed/i2c: Add support for DMA transfers
The I2C controller of the Aspeed AST2500 and AST2600 SoCs supports DMA transfers to and from DRAM.
A pair of registers defines the buffer address and the l
aspeed/i2c: Add support for DMA transfers
The I2C controller of the Aspeed AST2500 and AST2600 SoCs supports DMA transfers to and from DRAM.
A pair of registers defines the buffer address and the length of the DMA transfer. The address should be aligned on 4 bytes and the maximum length should not exceed 4K. The receive or transmit DMA transfer can then be initiated with specific bits in the Command/Status register of the controller.
Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Joel Stanley <joel@jms.id.au> Tested-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-id: 20191119141211.25716-5-clg@kaod.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
aab90b1c | 19-Nov-2019 |
Cédric Le Goater <clg@kaod.org> |
aspeed/i2c: Check SRAM enablement on AST2500
The SRAM must be enabled before using the Buffer Pool mode or the DMA mode. This is not required on other SoCs.
Signed-off-by: Cédric Le Goater <clg@kao
aspeed/i2c: Check SRAM enablement on AST2500
The SRAM must be enabled before using the Buffer Pool mode or the DMA mode. This is not required on other SoCs.
Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Joel Stanley <joel@jms.id.au> Tested-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-id: 20191119141211.25716-3-clg@kaod.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|