OSDN Git Service

hw/net/can: Introduce Xilinx ZynqMP CAN controller
authorVikram Garhwal <fnu.vikram@xilinx.com>
Wed, 18 Nov 2020 19:48:43 +0000 (11:48 -0800)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 10 Dec 2020 11:30:44 +0000 (11:30 +0000)
commit98e5d7a2b726947081fe2733ec869f9aa967c890
treedf45495c1e6c3c929aa1659cb1ef16ddf5902c03
parentd9aad887e80c8002a866326d2ec7c3bf2463da87
hw/net/can: Introduce Xilinx ZynqMP CAN controller

The Xilinx ZynqMP CAN controller is developed based on SocketCAN, QEMU CAN bus
implementation. Bus connection and socketCAN connection for each CAN module
can be set through command lines.

Example for using single CAN:
    -object can-bus,id=canbus0 \
    -machine xlnx-zcu102.canbus0=canbus0 \
    -object can-host-socketcan,id=socketcan0,if=vcan0,canbus=canbus0

Example for connecting both CAN to same virtual CAN on host machine:
    -object can-bus,id=canbus0 -object can-bus,id=canbus1 \
    -machine xlnx-zcu102.canbus0=canbus0 \
    -machine xlnx-zcu102.canbus1=canbus1 \
    -object can-host-socketcan,id=socketcan0,if=vcan0,canbus=canbus0 \
    -object can-host-socketcan,id=socketcan1,if=vcan0,canbus=canbus1

To create virtual CAN on the host machine, please check the QEMU CAN docs:
https://github.com/qemu/qemu/blob/master/docs/can.txt

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Message-id: 1605728926-352690-2-git-send-email-fnu.vikram@xilinx.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/Kconfig
hw/net/can/meson.build
hw/net/can/trace-events [new file with mode: 0644]
hw/net/can/trace.h [new file with mode: 0644]
hw/net/can/xlnx-zynqmp-can.c [new file with mode: 0644]
include/hw/net/xlnx-zynqmp-can.h [new file with mode: 0644]
meson.build