mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
xlnx-versal: Connect Xilinx VERSAL CANFD controllers
Connect CANFD0 and CANFD1 on the Versal-virt machine and update xlnx-versal-virt document with CANFD command line examples. Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
32dbebcc7e
commit
042d6b0255
4 changed files with 133 additions and 0 deletions
|
@ -34,6 +34,7 @@ Implemented devices:
|
|||
- DDR memory
|
||||
- BBRAM (36 bytes of Battery-backed RAM)
|
||||
- eFUSE (3072 bytes of one-time field-programmable bit array)
|
||||
- 2 CANFDs
|
||||
|
||||
QEMU does not yet model any other devices, including the PL and the AI Engine.
|
||||
|
||||
|
@ -224,3 +225,33 @@ To use a different index value, N, from default of 1, add:
|
|||
|
||||
Better yet, do not use actual product data when running guest image
|
||||
on this Xilinx Versal Virt board.
|
||||
|
||||
Using CANFDs for Versal Virt
|
||||
""""""""""""""""""""""""""""
|
||||
Versal CANFD controller is developed based on SocketCAN and QEMU CAN bus
|
||||
implementation. Bus connection and socketCAN connection for each CAN module
|
||||
can be set through command lines.
|
||||
|
||||
To connect both CANFD0 and CANFD1 on the same bus:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-object can-bus,id=canbus -machine canbus0=canbus -machine canbus1=canbus
|
||||
|
||||
To connect CANFD0 and CANFD1 to separate buses:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-object can-bus,id=canbus0 -object can-bus,id=canbus1 \
|
||||
-machine canbus0=canbus0 -machine canbus1=canbus1
|
||||
|
||||
The SocketCAN interface can connect to a Physical or a Virtual CAN interfaces on
|
||||
the host machine. Please check this document to learn about CAN interface on
|
||||
Linux: docs/system/devices/can.rst
|
||||
|
||||
To connect CANFD0 and CANFD1 to host machine's CAN interface can0:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-object can-bus,id=canbus -machine canbus0=canbus -machine canbus1=canbus
|
||||
-object can-host-socketcan,id=canhost0,if=can0,canbus=canbus
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue