History log of /openbmc/qemu/hw/i3c/aspeed_i3c.c (Results 1 – 25 of 44)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


12