Add root cell config for Renesas RZ/G2M SoC based on Renesas BSP-3.0.0 [0] (5.10 kernel).
Tested on HopeRun HiHope RZ/G2M platform [1]. [0] https://github.com/renesas-rz/meta-renesas/tree/BSP-3.0.0 [1] https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rz-mpus/rzg2m-hihope-rzg2m-reference-board#overview Signed-off-by: Lad Prabhakar <[email protected]> --- configs/arm64/renesas-r8a774a1.c | 1134 ++++++++++++++++++++++++++++++ 1 file changed, 1134 insertions(+) create mode 100644 configs/arm64/renesas-r8a774a1.c diff --git a/configs/arm64/renesas-r8a774a1.c b/configs/arm64/renesas-r8a774a1.c new file mode 100644 index 00000000..1d51c829 --- /dev/null +++ b/configs/arm64/renesas-r8a774a1.c @@ -0,0 +1,1134 @@ +/* + * Jailhouse, a Linux-based partitioning hypervisor + * + * Configuration for HopeRun HiHope RZ/G2M platform + * based on R8A774A1/R8A774A3 + * + * Copyright (C) 2022 Renesas Electronics Corp. + * + * Authors: + * Lad Prabhakar <[email protected]> + * + * This work is licensed under the terms of the GNU GPL, version 2. See + * the COPYING file in the top-level directory. + * + */ + +#include <jailhouse/types.h> +#include <jailhouse/cell-config.h> + +struct { + struct jailhouse_system header; + __u64 cpus[1]; + struct jailhouse_memory mem_regions[148]; + struct jailhouse_irqchip irqchips[4]; +} __attribute__((packed)) config = { + .header = { + .signature = JAILHOUSE_SYSTEM_SIGNATURE, + .revision = JAILHOUSE_CONFIG_REVISION, + .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE, + .hypervisor_memory = { + .phys_start = 0x88000000, + .size = 0x1000000, + }, + .debug_console = { + .address = 0xe6e88000, + .size = 0x40, + .type = JAILHOUSE_CON_TYPE_SCIF, + .flags = JAILHOUSE_CON_ACCESS_MMIO | + JAILHOUSE_CON_REGDIST_4, + }, + .platform_info = { + .arm = { + .gic_version = 2, + .gicd_base = 0xf1010000, + .gicc_base = 0xf102f000, + .gich_base = 0xf1040000, + .gicv_base = 0xf106f000, + .maintenance_irq = 25, + } + }, + .root_cell = { + .name = "Renesas HopeRun HiHope RZ/G2M", + .cpu_set_size = sizeof(config.cpus), + .num_memory_regions = ARRAY_SIZE(config.mem_regions), + .num_irqchips = ARRAY_SIZE(config.irqchips), + }, + }, + + .cpus = { + 0x3f, + }, + + .mem_regions = { + /* RAM */ { + .phys_start = 0x48000000, + .virt_start = 0x48000000, + .size = 0x40000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE, + }, + /* Leave hole for hypervisor */ + /* RAM - reserved for baremetal apps */ { + .phys_start = 0x89000000, + .virt_start = 0x89000000, + .size = 0x6400000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, + }, + /* RAM - reserved for inmate */ { + .phys_start = 0x8f400000, + .virt_start = 0x8f400000, + .size = 0x19c00000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, + }, + /* RAM */ { + .phys_start = 0xa9000000, + .virt_start = 0xa9000000, + .size = 0x17000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE, + }, + /* RAM */ { + .phys_start = 0x600000000, + .virt_start = 0x600000000, + .size = 0x80000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE, + }, + /* QOS */ { + .phys_start = 0xe67e0000, + .virt_start = 0xe67e0000, + .size = 0x10090, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* RWDT */ { + .phys_start = 0xe6020000, + .virt_start = 0xe6020000, + .size = 0x0c, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GPIO0 */ { + .phys_start = 0xe6050000, + .virt_start = 0xe6050000, + .size = 0x50, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GPIO1 */ { + .phys_start = 0xe6051000, + .virt_start = 0xe6051000, + .size = 0x50, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GPIO2 */ { + .phys_start = 0xe6052000, + .virt_start = 0xe6052000, + .size = 0x50, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GPIO3 */ { + .phys_start = 0xe6053000, + .virt_start = 0xe6053000, + .size = 0x50, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GPIO4 */ { + .phys_start = 0xe6054000, + .virt_start = 0xe6054000, + .size = 0x50, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GPIO5 */ { + .phys_start = 0xe6055000, + .virt_start = 0xe6055000, + .size = 0x50, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GPIO6 */ { + .phys_start = 0xe6055400, + .virt_start = 0xe6055400, + .size = 0x50, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GPIO7 */ { + .phys_start = 0xe6055800, + .virt_start = 0xe6055800, + .size = 0x50, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PFC */ { + .phys_start = 0xe6060000, + .virt_start = 0xe6060000, + .size = 0x50c, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CMT0 */ { + .phys_start = 0xe60f0000, + .virt_start = 0xe60f0000, + .size = 0x1004, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CMT1 */ { + .phys_start = 0xe6130000, + .virt_start = 0xe6130000, + .size = 0x1004, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CMT2 */ { + .phys_start = 0xe6140000, + .virt_start = 0xe6140000, + .size = 0x1004, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CMT3 */ { + .phys_start = 0xe6148000, + .virt_start = 0xe6148000, + .size = 0x1004, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CPG */ { + .phys_start = 0xe6150000, + .virt_start = 0xe6150000, + .size = 0x0bb0, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* RST */ { + .phys_start = 0xe6160000, + .virt_start = 0xe6160000, + .size = 0x018c, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SYSC */ { + .phys_start = 0xe6180000, + .virt_start = 0xe6180000, + .size = 0x0400, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TSC */ { + .phys_start = 0xe6198000, + .virt_start = 0xe6198000, + .size = 0x0100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TSC */ { + .phys_start = 0xe61a0000, + .virt_start = 0xe61a0000, + .size = 0x0100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TSC */ { + .phys_start = 0xe61a8000, + .virt_start = 0xe61a8000, + .size = 0x0100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* INTC EX */ { + .phys_start = 0xe61c0000, + .virt_start = 0xe61c0000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TMU0 */ { + .phys_start = 0xe61e0000, + .virt_start = 0xe61e0000, + .size = 0x30, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TMU1 */ { + .phys_start = 0xe6fc0000, + .virt_start = 0xe6fc0000, + .size = 0x30, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TMU2 */ { + .phys_start = 0xe6fd0000, + .virt_start = 0xe6fd0000, + .size = 0x30, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TMU3 */ { + .phys_start = 0xe6fe0000, + .virt_start = 0xe6fe0000, + .size = 0x30, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TMU4 */ { + .phys_start = 0xffc00000, + .virt_start = 0xffc00000, + .size = 0x30, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* I2C0 */ { + .phys_start = 0xe6500000, + .virt_start = 0xe6500000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* I2C1 */ { + .phys_start = 0xe6508000, + .virt_start = 0xe6508000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* I2C2 */ { + .phys_start = 0xe6510000, + .virt_start = 0xe6510000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* I2C3 */ { + .phys_start = 0xe66d0000, + .virt_start = 0xe66d0000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* I2C4 */ { + .phys_start = 0xe66d8000, + .virt_start = 0xe66d8000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* I2C5 */ { + .phys_start = 0xe66e0000, + .virt_start = 0xe66e0000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* I2C6 */ { + .phys_start = 0xe66e8000, + .virt_start = 0xe66e8000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* I2C DVFS */ { + .phys_start = 0xe60b0000, + .virt_start = 0xe60b0000, + .size = 0x425, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* HSCIF0 */ { + .phys_start = 0xe6540000, + .virt_start = 0xe6540000, + .size = 0x60, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* HSCIF1 */ { + .phys_start = 0xe6550000, + .virt_start = 0xe6550000, + .size = 0x60, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* HSCIF2 */ { + .phys_start = 0xe6560000, + .virt_start = 0xe6560000, + .size = 0x60, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* HSCIF3 */ { + .phys_start = 0xe66a0000, + .virt_start = 0xe66a0000, + .size = 0x60, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* HSCIF4 */ { + .phys_start = 0xe66b0000, + .virt_start = 0xe66b0000, + .size = 0x60, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* HSUSB */ { + .phys_start = 0xe6590000, + .virt_start = 0xe6590000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* USB2 CLKSEL */ { + .phys_start = 0xe6590630, + .virt_start = 0xe6590630, + .size = 0x2, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | + JAILHOUSE_MEM_IO_32 |JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* USB DMAC0 */ { + .phys_start = 0xe65a0000, + .virt_start = 0xe65a0000, + .size = 0x100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* USB DMAC1 */ { + .phys_start = 0xe65b0000, + .virt_start = 0xe65b0000, + .size = 0x100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* USB3 PHY */ { + .phys_start = 0xe65ee000, + .virt_start = 0xe65ee000, + .size = 0x90, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* DMAC0 */ { + .phys_start = 0xe6700000, + .virt_start = 0xe6700000, + .size = 0x10000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* DMAC1 */ { + .phys_start = 0xe7300000, + .virt_start = 0xe7300000, + .size = 0x10000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* DMAC2 */ { + .phys_start = 0xe7310000, + .virt_start = 0xe7310000, + .size = 0x10000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU DS0 */ { + .phys_start = 0xe6740000, + .virt_start = 0xe6740000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU DS1 */ { + .phys_start = 0xe7740000, + .virt_start = 0xe7740000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU HC */ { + .phys_start = 0xe6570000, + .virt_start = 0xe6570000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU MM */ { + .phys_start = 0xe67b0000, + .virt_start = 0xe67b0000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU MP */ { + .phys_start = 0xec670000, + .virt_start = 0xec670000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU PV0 */ { + .phys_start = 0xfd800000, + .virt_start = 0xfd800000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU PV1 */ { + .phys_start = 0xfd950000, + .virt_start = 0xfd950000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU VC0 */ { + .phys_start = 0xfe6b0000, + .virt_start = 0xfe6b0000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IPMMU VI0 */ { + .phys_start = 0xfebd0000, + .virt_start = 0xfebd0000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* AVB */ { + .phys_start = 0xe6800000, + .virt_start = 0xe6800000, + .size = 0x800, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CAN0 */ { + .phys_start = 0xe6c30000, + .virt_start = 0xe6c30000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CAN1 */ { + .phys_start = 0xe6c38000, + .virt_start = 0xe6c38000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CANFD */ { + .phys_start = 0xe66c0000, + .virt_start = 0xe66c0000, + .size = 0x8000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PWM0 */ { + .phys_start = 0xe6e30000, + .virt_start = 0xe6e30000, + .size = 0x8, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PWM1 */ { + .phys_start = 0xe6e31000, + .virt_start = 0xe6e31000, + .size = 0x8, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PWM2 */ { + .phys_start = 0xe6e32000, + .virt_start = 0xe6e32000, + .size = 0x8, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PWM3 */ { + .phys_start = 0xe6e33000, + .virt_start = 0xe6e33000, + .size = 0x8, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PWM4 */ { + .phys_start = 0xe6e34000, + .virt_start = 0xe6e34000, + .size = 0x8, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PWM5 */ { + .phys_start = 0xe6e35000, + .virt_start = 0xe6e35000, + .size = 0x8, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PWM6 */ { + .phys_start = 0xe6e36000, + .virt_start = 0xe6e36000, + .size = 0x8, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* TPU */ { + .phys_start = 0xe6e80000, + .virt_start = 0xe6e80000, + .size = 0x148, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SCIF0 */ { + .phys_start = 0xe6e60000, + .virt_start = 0xe6e60000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SCIF1 */ { + .phys_start = 0xe6e68000, + .virt_start = 0xe6e68000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SCIF2 */ { + .phys_start = 0xe6e88000, + .virt_start = 0xe6e88000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SCIF3 */ { + .phys_start = 0xe6c50000, + .virt_start = 0xe6c50000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SCIF4 */ { + .phys_start = 0xe6c40000, + .virt_start = 0xe6c40000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SCIF5 */ { + .phys_start = 0xe6f30000, + .virt_start = 0xe6f30000, + .size = 0x40, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_8 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* MSIOF0 */ { + .phys_start = 0xe6e90000, + .virt_start = 0xe6e90000, + .size = 0x64, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* MSIOF1 */ { + .phys_start = 0xe6ea0000, + .virt_start = 0xe6ea0000, + .size = 0x64, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* MSIOF2 */ { + .phys_start = 0xe6c00000, + .virt_start = 0xe6c00000, + .size = 0x64, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* MSIOF3 */ { + .phys_start = 0xe6c10000, + .virt_start = 0xe6c10000, + .size = 0x64, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VIN0 */ { + .phys_start = 0xe6ef0000, + .virt_start = 0xe6ef0000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VIN1 */ { + .phys_start = 0xe6ef1000, + .virt_start = 0xe6ef1000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VIN2 */ { + .phys_start = 0xe6ef2000, + .virt_start = 0xe6ef2000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VIN3 */ { + .phys_start = 0xe6ef3000, + .virt_start = 0xe6ef3000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VIN4 */ { + .phys_start = 0xe6ef4000, + .virt_start = 0xe6ef4000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VIN5 */ { + .phys_start = 0xe6ef5000, + .virt_start = 0xe6ef5000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VIN6 */ { + .phys_start = 0xe6ef6000, + .virt_start = 0xe6ef6000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VIN7 */ { + .phys_start = 0xe6ef7000, + .virt_start = 0xe6ef7000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SOUND */ { + .phys_start = 0xec500000, + .virt_start = 0xec500000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SOUND */ { + .phys_start = 0xec5a0000, + .virt_start = 0xec5a0000, + .size = 0x100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SOUND */ { + .phys_start = 0xec540000, + .virt_start = 0xec540000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SOUND */ { + .phys_start = 0xec541000, + .virt_start = 0xec541000, + .size = 0x280, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SOUND */ { + .phys_start = 0xec760000, + .virt_start = 0xec760000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* AUDMA0 */ { + .phys_start = 0xec700000, + .virt_start = 0xec700000, + .size = 0x10000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* AUDMA1 */ { + .phys_start = 0xec720000, + .virt_start = 0xec720000, + .size = 0x10000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_16 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* XHCI0 */ { + .phys_start = 0xee000000, + .virt_start = 0xee000000, + .size = 0xc00, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* USB3 PERI */ { + .phys_start = 0xee020000, + .virt_start = 0xee020000, + .size = 0x400, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* OHCI0 */ { + .phys_start = 0xee080000, + .virt_start = 0xee080000, + .size = 0x100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* OHCI1 */ { + .phys_start = 0xee0a0000, + .virt_start = 0xee0a0000, + .size = 0x100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* EHCI0 */ { + .phys_start = 0xee080100, + .virt_start = 0xee080100, + .size = 0x100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* EHCI1 */ { + .phys_start = 0xee0a0100, + .virt_start = 0xee0a0100, + .size = 0x100, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* USB2 PHY0 */ { + .phys_start = 0xee080200, + .virt_start = 0xee080200, + .size = 0x700, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* USB2 PHY1 */ { + .phys_start = 0xee0a0200, + .virt_start = 0xee0a0200, + .size = 0x700, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SDHI0 */ { + .phys_start = 0xee100000, + .virt_start = 0xee100000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SDHI1 */ { + .phys_start = 0xee120000, + .virt_start = 0xee120000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SDHI2 */ { + .phys_start = 0xee140000, + .virt_start = 0xee140000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* SDHI3 */ { + .phys_start = 0xee160000, + .virt_start = 0xee160000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* GSX */ { + .phys_start = 0xfd000000, + .virt_start = 0xfd000000, + .size = 0x40000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI0 */ { + .phys_start = 0xfe000000, + .virt_start = 0xfe000000, + .size = 0x80000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI0 */ { + .phys_start = 0xfe100000, + .virt_start = 0xfe100000, + .size = 0x100000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI0 */ { + .phys_start = 0xfe200000, + .virt_start = 0xfe200000, + .size = 0x200000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI0 */ { + .phys_start = 0x30000000, + .virt_start = 0x30000000, + .size = 0x8000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI0 */ { + .phys_start = 0x38000000, + .virt_start = 0x38000000, + .size = 0x8000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI1 */ { + .phys_start = 0xee800000, + .virt_start = 0xee800000, + .size = 0x80000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI1 */ { + .phys_start = 0xee900000, + .virt_start = 0xee900000, + .size = 0x100000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI1 */ { + .phys_start = 0xeea00000, + .virt_start = 0xeea00000, + .size = 0x200000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI1 */ { + .phys_start = 0xc0000000, + .virt_start = 0xc0000000, + .size = 0x8000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PCI1 */ { + .phys_start = 0xc8000000, + .virt_start = 0xc8000000, + .size = 0x8000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* FCPCI0 */ { + .phys_start = 0xfe8df000, + .virt_start = 0xfe8df000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* FCPCS */ { + .phys_start = 0xfe90f000, + .virt_start = 0xfe90f000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IVDP1C */ { + .phys_start = 0xfe8d0000, + .virt_start = 0xfe8d0000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* IVDP1C */ { + .phys_start = 0xfe8d0200, + .virt_start = 0xfe8d0200, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VCPLF */ { + .phys_start = 0xfe910000, + .virt_start = 0xfe910000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VCPLF */ { + .phys_start = 0xfe910200, + .virt_start = 0xfe910200, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VDPB */ { + .phys_start = 0xfe900000, + .virt_start = 0xfe900000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VDPB */ { + .phys_start = 0xfe900200, + .virt_start = 0xfe900200, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* FDP0 */ { + .phys_start = 0xfe940000, + .virt_start = 0xfe940000, + .size = 0x2400, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* FDP0 */ { + .phys_start = 0xfe950000, + .virt_start = 0xfe950000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* FCPVD0 */ { + .phys_start = 0xfea27000, + .virt_start = 0xfea27000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* FCPVD1 */ { + .phys_start = 0xfea2f000, + .virt_start = 0xfea2f000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* FCPVD2 */ { + .phys_start = 0xfea37000, + .virt_start = 0xfea37000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VSP */ { + .phys_start = 0xfe960000, + .virt_start = 0xfe960000, + .size = 0x8000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VSP-B */ { + .phys_start = 0xfe96f000, + .virt_start = 0xfe96f000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VSPD0 */ { + .phys_start = 0xfea20000, + .virt_start = 0xfea20000, + .size = 0x5000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VSPD1 */ { + .phys_start = 0xfea28000, + .virt_start = 0xfea28000, + .size = 0x5000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VSPD2 */ { + .phys_start = 0xfea30000, + .virt_start = 0xfea30000, + .size = 0x5000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VSP */ { + .phys_start = 0xfe9a0000, + .virt_start = 0xfe9a0000, + .size = 0x8000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* VSPI0 */ { + .phys_start = 0xfe9af000, + .virt_start = 0xfe9af000, + .size = 0x200, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CSI20 */ { + .phys_start = 0xfea80000, + .virt_start = 0xfea80000, + .size = 0x10000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* CSI40 */ { + .phys_start = 0xfeaa0000, + .virt_start = 0xfeaa0000, + .size = 0x10000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* HDMI0 */ { + .phys_start = 0xfead0000, + .virt_start = 0xfead0000, + .size = 0x10000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* DU */ { + .phys_start = 0xfeb00000, + .virt_start = 0xfeb00000, + .size = 0x70000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* LVDS */ { + .phys_start = 0xfeb90000, + .virt_start = 0xfeb90000, + .size = 0x14, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + /* PRR */ { + .phys_start = 0xfff00044, + .virt_start = 0xfff00044, + .size = 0x4, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_IO_UNALIGNED, + }, + }, + + .irqchips = { + /* GIC */ { + .address = 0xf1010000, + .pin_base = 32, + .pin_bitmap = { + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + }, + }, + /* GIC */ { + .address = 0xf1010000, + .pin_base = 160, + .pin_bitmap = { + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + }, + }, + /* GIC */ { + .address = 0xf1010000, + .pin_base = 288, + .pin_bitmap = { + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + }, + }, + /* GIC */ { + .address = 0xf1010000, + .pin_base = 416, + .pin_bitmap = { + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + }, + }, + }, +}; -- 2.17.1 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/20221106230523.22567-3-prabhakar.mahadev-lad.rj%40bp.renesas.com.
