Revision tags: v9.2.0, v9.1.2, v9.1.1, v9.1.0, v8.0.0 |
|
#
66ae8f22 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add controller resets
Adds behavior to the device reset register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by:
hw/i3c/aspeed_i3c: Add controller resets
Adds behavior to the device reset register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Stephen Longfield <slongfield@google.com>
show more ...
|
#
eee51e8f |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add ctrl MMIO handling
Adds functionality to the CTRL register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Titus Rwantare <titusr@google.com> Reviewed-by: Patr
hw/i3c/aspeed_i3c: Add ctrl MMIO handling
Adds functionality to the CTRL register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Titus Rwantare <titusr@google.com> Reviewed-by: Patrick Venture <venture@google.com>
show more ...
|
#
93ec6949 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add IBI handling
Adds handling for different IBI events that the controller can receive. This includes: - Handling a hot-join from a target - Handling a secondary controller on th
hw/i3c/aspeed_i3c: Add IBI handling
Adds handling for different IBI events that the controller can receive. This includes: - Handling a hot-join from a target - Handling a secondary controller on the bus requesting to be the primary bus controller - Handling an interrupt request from a target.
When receiving an IBI, the controller sets an interrupt to notify software about what happened. When the IBI is finished being serviced, the controller pushes the result of the IBI and any data received from the target into the IBI queue.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Stephen Longfield <slongfield@google.com>
show more ...
|
#
4ba25376 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add data TX and RX
This adds data and CCC transmission, reception, and the associated queues required for data transmission and reception to happen.
The I3C controller transmits
hw/i3c/aspeed_i3c: Add data TX and RX
This adds data and CCC transmission, reception, and the associated queues required for data transmission and reception to happen.
The I3C controller transmits data by the user writing into a command queue. When the queue has a command and an argument in it, the controller starts executing the command.
The controller can execute 1 of 3 ways: 1. A larger data transfer that involves using the TX and RX queues. This is the most common way the controller does transactions.
2. A small data transfer that involves sending a couple bytes passed into the command queue argument.
3. An address assignment command. This is how the controller does ENTDAA. When ENTDAA succeeds in assigning an address to a target, it updates the controller's char table with the target's PID, BCR, and DCR.
The controller determines what addresses to send by looking at the index in the device address table specified by the argument in the command queue. ENTDAA also uses these addresses to assign to targets on the bus.
When the controller is done executing a command, it puts a response in the response queue indicating how command execution went.
In order for the user to send and receive data to/from the controller, the user reads/writes to a bidirectional TX/RX port.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Stephen Longfield <slongfield@google.com> Reviewed-by: Patrick Venture <venture@google.com>
show more ...
|
#
3816beda |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add IRQ MMIO behavior
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Hao Wu <wuhaotsh@google.com>
|
#
97fb7498 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Use 32 bits on MMIO writes
The registers are only 32 bits wide, so we should cast the 64-bit value passed in to only be 32 bits wide.
Signed-off-by: Joe Komlodi <komlodi@google.c
hw/i3c/aspeed_i3c: Use 32 bits on MMIO writes
The registers are only 32 bits wide, so we should cast the 64-bit value passed in to only be 32 bits wide.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Titus Rwantare <titusr@google.com>
show more ...
|
#
09467a8a |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Treat more registers as read-as-zero
RESET_CTRL and INTR_FORCE are write-only.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com>
|
#
a9d3f922 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add register RO field masks
Adds read-only field masks for the I3C device and controller registers.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture
hw/i3c/aspeed_i3c: Add register RO field masks
Adds read-only field masks for the I3C device and controller registers.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com>
show more ...
|
#
1032d6d6 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add more reset values
Adds reset values for the new registers added.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com>
|
#
e7b1406c |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add more register fields
Adds the rest of the fields laid out in the AST26xx datasheet.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@goo
hw/i3c/aspeed_i3c: Add more register fields
Adds the rest of the fields laid out in the AST26xx datasheet.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com>
show more ...
|
#
7d87775f |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/misc/aspeed_i3c: Move to i3c directory
Moves the Aspeed I3C model and traces into hw/i3c and create I3C build files.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture
hw/misc/aspeed_i3c: Move to i3c directory
Moves the Aspeed I3C model and traces into hw/i3c and create I3C build files.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Titus Rwantare <titusr@google.com> [ clg: - replaced softmmu_ss with system_ss in meson.build files - local variable renames in aspeed_i3c_realize() ]
show more ...
|
#
360cf284 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add controller resets
Adds behavior to the device reset register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by:
hw/i3c/aspeed_i3c: Add controller resets
Adds behavior to the device reset register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Stephen Longfield <slongfield@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
dc493bde |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add ctrl MMIO handling
Adds functionality to the CTRL register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Titus Rwantare <titusr@google.com> Reviewed-by: Patr
hw/i3c/aspeed_i3c: Add ctrl MMIO handling
Adds functionality to the CTRL register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Titus Rwantare <titusr@google.com> Reviewed-by: Patrick Venture <venture@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
0cfa81f0 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add IBI handling
Adds handling for different IBI events that the controller can receive. This includes: - Handling a hot-join from a target - Handling a secondary controller on th
hw/i3c/aspeed_i3c: Add IBI handling
Adds handling for different IBI events that the controller can receive. This includes: - Handling a hot-join from a target - Handling a secondary controller on the bus requesting to be the primary bus controller - Handling an interrupt request from a target.
When receiving an IBI, the controller sets an interrupt to notify software about what happened. When the IBI is finished being serviced, the controller pushes the result of the IBI and any data received from the target into the IBI queue.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Stephen Longfield <slongfield@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
933d2ae1 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add data TX and RX
This adds data and CCC transmission, reception, and the associated queues required for data transmission and reception to happen.
The I3C controller transmits
hw/i3c/aspeed_i3c: Add data TX and RX
This adds data and CCC transmission, reception, and the associated queues required for data transmission and reception to happen.
The I3C controller transmits data by the user writing into a command queue. When the queue has a command and an argument in it, the controller starts executing the command.
The controller can execute 1 of 3 ways: 1. A larger data transfer that involves using the TX and RX queues. This is the most common way the controller does transactions.
2. A small data transfer that involves sending a couple bytes passed into the command queue argument.
3. An address assignment command. This is how the controller does ENTDAA. When ENTDAA succeeds in assigning an address to a target, it updates the controller's char table with the target's PID, BCR, and DCR.
The controller determines what addresses to send by looking at the index in the device address table specified by the argument in the command queue. ENTDAA also uses these addresses to assign to targets on the bus.
When the controller is done executing a command, it puts a response in the response queue indicating how command execution went.
In order for the user to send and receive data to/from the controller, the user reads/writes to a bidirectional TX/RX port.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Stephen Longfield <slongfield@google.com> Reviewed-by: Patrick Venture <venture@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
141b9b53 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add IRQ MMIO behavior
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Hao Wu <wuhaotsh@google.com> Signed-off-by: C
hw/i3c/aspeed_i3c: Add IRQ MMIO behavior
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Hao Wu <wuhaotsh@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
15d866ea |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Use 32 bits on MMIO writes
The registers are only 32 bits wide, so we should cast the 64-bit value passed in to only be 32 bits wide.
Signed-off-by: Joe Komlodi <komlodi@google.c
hw/i3c/aspeed_i3c: Use 32 bits on MMIO writes
The registers are only 32 bits wide, so we should cast the 64-bit value passed in to only be 32 bits wide.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Titus Rwantare <titusr@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
16aa7f4e |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Treat more registers as read-as-zero
RESET_CTRL and INTR_FORCE are write-only.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com>
hw/i3c/aspeed_i3c: Treat more registers as read-as-zero
RESET_CTRL and INTR_FORCE are write-only.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
21e1b1ff |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add register RO field masks
Adds read-only field masks for the I3C device and controller registers.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture
hw/i3c/aspeed_i3c: Add register RO field masks
Adds read-only field masks for the I3C device and controller registers.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
5bd9140d |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add more reset values
Adds reset values for the new registers added.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Signed-off
hw/i3c/aspeed_i3c: Add more reset values
Adds reset values for the new registers added.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
e589e9e3 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add more register fields
Adds the rest of the fields laid out in the AST26xx datasheet.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@goo
hw/i3c/aspeed_i3c: Add more register fields
Adds the rest of the fields laid out in the AST26xx datasheet.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
76f446d3 |
| 30-Mar-2023 |
Joe Komlodi <komlodi@google.com> |
hw/misc/aspeed_i3c: Move to i3c directory
Moves the Aspeed I3C model and traces into hw/i3c and create I3C build files.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture
hw/misc/aspeed_i3c: Move to i3c directory
Moves the Aspeed I3C model and traces into hw/i3c and create I3C build files.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Titus Rwantare <titusr@google.com> [ clg: - replaced softmmu_ss with system_ss in meson.build files - local variable renames in aspeed_i3c_realize() ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
e86d317f |
| 16-Aug-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add controller resets
Adds behavior to the device reset register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by:
hw/i3c/aspeed_i3c: Add controller resets
Adds behavior to the device reset register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Stephen Longfield <slongfield@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
a4f9aa41 |
| 16-Aug-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add ctrl MMIO handling
Adds functionality to the CTRL register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Titus Rwantare <titusr@google.com> Reviewed-by: Patr
hw/i3c/aspeed_i3c: Add ctrl MMIO handling
Adds functionality to the CTRL register.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Titus Rwantare <titusr@google.com> Reviewed-by: Patrick Venture <venture@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|
#
7f70574c |
| 16-Aug-2023 |
Joe Komlodi <komlodi@google.com> |
hw/i3c/aspeed_i3c: Add IBI handling
Adds handling for different IBI events that the controller can receive. This includes: - Handling a hot-join from a target - Handling a secondary controller on th
hw/i3c/aspeed_i3c: Add IBI handling
Adds handling for different IBI events that the controller can receive. This includes: - Handling a hot-join from a target - Handling a secondary controller on the bus requesting to be the primary bus controller - Handling an interrupt request from a target.
When receiving an IBI, the controller sets an interrupt to notify software about what happened. When the IBI is finished being serviced, the controller pushes the result of the IBI and any data received from the target into the IBI queue.
Signed-off-by: Joe Komlodi <komlodi@google.com>
Reviewed-by: Patrick Venture <venture@google.com> Reviewed-by: Stephen Longfield <slongfield@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
show more ...
|