aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorVikram Garhwal <vikram.garhwal@amd.com>2023-06-06 10:19:30 +0100
committerPeter Maydell <peter.maydell@linaro.org>2023-06-06 10:19:30 +0100
commit042d6b02551eb40255a76131b2d60f996a51195c (patch)
tree17679960b1df1a57043a5dbb1dab9cf3133115bd /docs
parent32dbebcc7e375fef47834ac3951009468294db01 (diff)
downloadqemu-042d6b02551eb40255a76131b2d60f996a51195c.zip
qemu-042d6b02551eb40255a76131b2d60f996a51195c.tar.gz
qemu-042d6b02551eb40255a76131b2d60f996a51195c.tar.bz2
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>
Diffstat (limited to 'docs')
-rw-r--r--docs/system/arm/xlnx-versal-virt.rst31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/system/arm/xlnx-versal-virt.rst b/docs/system/arm/xlnx-versal-virt.rst
index 92ad10d..d2d1b26 100644
--- a/docs/system/arm/xlnx-versal-virt.rst
+++ b/docs/system/arm/xlnx-versal-virt.rst
@@ -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