diff options
| author | Luc Michel <luc.michel@amd.com> | 2025-09-26 09:07:22 +0200 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2025-10-07 10:35:36 +0100 |
| commit | d70df574d67c459521f7b93fae42451b8e83bbea (patch) | |
| tree | 20f212882a61d64b504ad494bd91c28adcb5d82c /include | |
| parent | 288dc87244c97c8674967c12bb5c8e38fd7d9ff5 (diff) | |
| download | focaccia-qemu-d70df574d67c459521f7b93fae42451b8e83bbea.tar.gz focaccia-qemu-d70df574d67c459521f7b93fae42451b8e83bbea.zip | |
hw/arm/xlnx-versal: canfd: refactor creation
Refactor the CAN controllers creation using the VersalMap structure. Note that the connection to the CRL is removed for now and will be re-added by next commits. The xlnx-versal-virt machine now dynamically creates the correct amount of CAN bus link properties based on the number of CAN controller advertised by the SoC. Signed-off-by: Luc Michel <luc.michel@amd.com> Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20250926070806.292065-5-luc.michel@amd.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/hw/arm/xlnx-versal.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/hw/arm/xlnx-versal.h b/include/hw/arm/xlnx-versal.h index b01ddeb142..007c91b596 100644 --- a/include/hw/arm/xlnx-versal.h +++ b/include/hw/arm/xlnx-versal.h @@ -31,7 +31,7 @@ #include "hw/misc/xlnx-versal-crl.h" #include "hw/misc/xlnx-versal-pmc-iou-slcr.h" #include "hw/misc/xlnx-versal-trng.h" -#include "hw/net/xlnx-versal-canfd.h" +#include "net/can_emu.h" #include "hw/misc/xlnx-versal-cfu.h" #include "hw/misc/xlnx-versal-cframe-reg.h" #include "target/arm/cpu.h" @@ -83,8 +83,6 @@ struct Versal { OrIRQState gem_irq_orgate[XLNX_VERSAL_NR_GEMS]; XlnxZDMA adma[XLNX_VERSAL_NR_ADMAS]; VersalUsb2 usb; - CanBusState *canbus[XLNX_VERSAL_NR_CANFD]; - XlnxVersalCANFDState canfd[XLNX_VERSAL_NR_CANFD]; } iou; /* Real-time Processing Unit. */ @@ -141,6 +139,7 @@ struct Versal { struct { MemoryRegion *mr_ddr; + CanBusState **canbus; void *fdt; } cfg; }; @@ -157,6 +156,8 @@ static inline void versal_set_fdt(Versal *s, void *fdt) s->cfg.fdt = fdt; } +int versal_get_num_can(VersalVersion version); + /* Memory-map and IRQ definitions. Copied a subset from * auto-generated files. */ |