#ifndef _FKI_CLUSTER_INFO_H #define _FKI_CLUSTER_INFO_H static uint8_t fki_ccc(uint8_t cluster); static uint8_t fki_dma(uint8_t cluster); static uint8_t fki_axi2stream(uint8_t cluster); static uint8_t fki_stream2axi(uint8_t cluster); static uint8_t fki_dma_adapter(uint8_t cluster); static inline uint32_t fki_addr_ccc_peMapping(uint8_t cluster); static inline uint32_t fki_addr_sram1(uint8_t cluster); static inline uint32_t fki_addr_sram2(uint8_t cluster); static inline uint32_t fki_addr_cntrl_cva5(uint8_t cluster); static inline uint32_t fki_addr_cntrl_tgc(uint8_t cluster); static inline uint32_t fki_addr_ccc_idxTasks(uint8_t cluster); static inline uint32_t fki_addr_cntrl_tgc_clusterReg(uint8_t cluster); static inline uint32_t fki_addr_ccc_idxJobs(uint8_t cluster); static inline uint32_t fki_addr_cntrl_cva5_clusterReg(uint8_t cluster); static inline uint32_t fki_addr_ccc_configMem(uint8_t cluster); static inline uint32_t fki_addr_aes_adapter(uint8_t cluster); static inline uint32_t fki_addr_ut_adapter(uint8_t cluster); static inline uint32_t fki_addr_sram0(uint8_t cluster); static inline uint32_t fki_addr_sram3(uint8_t cluster); #define Compute0 2 #define Compute0_ccc 2,0 #define Compute0_stream2axi 2,1 #define Compute0_axi2stream 2,2 #define Compute0_dma 2,4 #define Compute0_dma_adapter 2,5 #define ADDR_Compute0_ccc_idxJobs 0x80004000 #define BYTES_Compute0_ccc_idxJobs 4096 #define HIGH_Compute0_ccc_idxJobs 0x80004fff #define ADDR_Compute0_ccc_idxTasks 0x80005000 #define BYTES_Compute0_ccc_idxTasks 4096 #define HIGH_Compute0_ccc_idxTasks 0x80005fff #define ADDR_Compute0_ccc_configMem 0x80000000 #define BYTES_Compute0_ccc_configMem 16384 #define HIGH_Compute0_ccc_configMem 0x80003fff #define ADDR_Compute0_ccc_peMapping 0x80006000 #define BYTES_Compute0_ccc_peMapping 4096 #define HIGH_Compute0_ccc_peMapping 0x80006fff #define ADDR_Compute0_aes_adapter 0x80007000 #define BYTES_Compute0_aes_adapter 4096 #define HIGH_Compute0_aes_adapter 0x80007fff #define ADDR_Compute0_cntrl_cva5_clusterReg 0x8000a000 #define BYTES_Compute0_cntrl_cva5_clusterReg 4096 #define HIGH_Compute0_cntrl_cva5_clusterReg 0x8000afff #define ADDR_Compute0_cntrl_cva5 0x80008000 #define BYTES_Compute0_cntrl_cva5 8192 #define HIGH_Compute0_cntrl_cva5 0x80009fff #define ADDR_Compute0_cntrl_tgc_clusterReg 0x8000d000 #define BYTES_Compute0_cntrl_tgc_clusterReg 4096 #define HIGH_Compute0_cntrl_tgc_clusterReg 0x8000dfff #define ADDR_Compute0_cntrl_tgc 0x8000b000 #define BYTES_Compute0_cntrl_tgc 8192 #define HIGH_Compute0_cntrl_tgc 0x8000cfff #define ADDR_Compute0_ut_adapter 0x8000e000 #define BYTES_Compute0_ut_adapter 8192 #define HIGH_Compute0_ut_adapter 0x8000ffff #define ADDR_Compute0_sram0 0x80010000 #define BYTES_Compute0_sram0 524288 #define HIGH_Compute0_sram0 0x8008ffff #define ADDR_Compute0_sram1 0x80090000 #define BYTES_Compute0_sram1 262144 #define HIGH_Compute0_sram1 0x800cffff #define ADDR_Compute0_sram2 0x800d0000 #define BYTES_Compute0_sram2 262144 #define HIGH_Compute0_sram2 0x8010ffff #define ADDR_Compute0_sram3 0x80110000 #define BYTES_Compute0_sram3 262144 #define HIGH_Compute0_sram3 0x8014ffff #define Compute1 3 #define Compute1_ccc 3,0 #define Compute1_stream2axi 3,1 #define Compute1_axi2stream 3,2 #define Compute1_dma 3,4 #define Compute1_dma_adapter 3,5 #define ADDR_Compute1_ccc_idxJobs 0x90004000 #define BYTES_Compute1_ccc_idxJobs 4096 #define HIGH_Compute1_ccc_idxJobs 0x90004fff #define ADDR_Compute1_ccc_idxTasks 0x90005000 #define BYTES_Compute1_ccc_idxTasks 4096 #define HIGH_Compute1_ccc_idxTasks 0x90005fff #define ADDR_Compute1_ccc_configMem 0x90000000 #define BYTES_Compute1_ccc_configMem 16384 #define HIGH_Compute1_ccc_configMem 0x90003fff #define ADDR_Compute1_ccc_peMapping 0x90006000 #define BYTES_Compute1_ccc_peMapping 4096 #define HIGH_Compute1_ccc_peMapping 0x90006fff #define ADDR_Compute1_aes_adapter 0x90007000 #define BYTES_Compute1_aes_adapter 4096 #define HIGH_Compute1_aes_adapter 0x90007fff #define ADDR_Compute1_cntrl_cva5_clusterReg 0x8000a000 #define BYTES_Compute1_cntrl_cva5_clusterReg 4096 #define HIGH_Compute1_cntrl_cva5_clusterReg 0x8000afff #define ADDR_Compute1_cntrl_cva5 0x90008000 #define BYTES_Compute1_cntrl_cva5 12288 #define HIGH_Compute1_cntrl_cva5 0x9000afff #define ADDR_Compute1_cntrl_tgc_clusterReg 0x8000d000 #define BYTES_Compute1_cntrl_tgc_clusterReg 4096 #define HIGH_Compute1_cntrl_tgc_clusterReg 0x8000dfff #define ADDR_Compute1_cntrl_tgc 0x9000b000 #define BYTES_Compute1_cntrl_tgc 12288 #define HIGH_Compute1_cntrl_tgc 0x9000dfff #define ADDR_Compute1_ut_adapter 0x9000e000 #define BYTES_Compute1_ut_adapter 8192 #define HIGH_Compute1_ut_adapter 0x9000ffff #define ADDR_Compute1_sram0 0x90010000 #define BYTES_Compute1_sram0 524288 #define HIGH_Compute1_sram0 0x9008ffff #define ADDR_Compute1_sram1 0x90090000 #define BYTES_Compute1_sram1 262144 #define HIGH_Compute1_sram1 0x900cffff #define ADDR_Compute1_sram2 0x900d0000 #define BYTES_Compute1_sram2 262144 #define HIGH_Compute1_sram2 0x9010ffff #define ADDR_Compute1_sram3 0x90110000 #define BYTES_Compute1_sram3 262144 #define HIGH_Compute1_sram3 0x9014ffff static uint8_t fki_ccc(uint8_t cluster) { switch(cluster) { case 2: { return 0; } case 3: { return 0; } default: { return -1; } } } static uint8_t fki_dma(uint8_t cluster) { switch(cluster) { case 3: { return 4; } case 2: { return 4; } default: { return -1; } } } static uint8_t fki_axi2stream(uint8_t cluster) { switch(cluster) { case 3: { return 2; } case 2: { return 2; } default: { return -1; } } } static uint8_t fki_stream2axi(uint8_t cluster) { switch(cluster) { case 3: { return 1; } case 2: { return 1; } default: { return -1; } } } static uint8_t fki_dma_adapter(uint8_t cluster) { switch(cluster) { case 2: { return 5; } case 3: { return 5; } default: { return -1; } } } static inline uint32_t fki_addr_ccc_peMapping(uint8_t cluster) { switch(cluster) { case 2: { return 0x80006000; } case 3: { return 0x90006000; } default: { return -1; } } } static inline uint32_t fki_addr_sram1(uint8_t cluster) { switch(cluster) { case 3: { return 0x90090000; } case 2: { return 0x80090000; } default: { return -1; } } } static inline uint32_t fki_addr_sram2(uint8_t cluster) { switch(cluster) { case 2: { return 0x800d0000; } case 3: { return 0x900d0000; } default: { return -1; } } } static inline uint32_t fki_addr_cntrl_cva5(uint8_t cluster) { switch(cluster) { case 2: { return 0x80008000; } case 3: { return 0x90008000; } default: { return -1; } } } static inline uint32_t fki_addr_cntrl_tgc(uint8_t cluster) { switch(cluster) { case 2: { return 0x8000b000; } case 3: { return 0x9000b000; } default: { return -1; } } } static inline uint32_t fki_addr_ccc_idxTasks(uint8_t cluster) { switch(cluster) { case 2: { return 0x80005000; } case 3: { return 0x90005000; } default: { return -1; } } } static inline uint32_t fki_addr_cntrl_tgc_clusterReg(uint8_t cluster) { switch(cluster) { case 3: { return 0x8000d000; } case 2: { return 0x8000d000; } default: { return -1; } } } static inline uint32_t fki_addr_ccc_idxJobs(uint8_t cluster) { switch(cluster) { case 2: { return 0x80004000; } case 3: { return 0x90004000; } default: { return -1; } } } static inline uint32_t fki_addr_cntrl_cva5_clusterReg(uint8_t cluster) { switch(cluster) { case 2: { return 0x8000a000; } case 3: { return 0x8000a000; } default: { return -1; } } } static inline uint32_t fki_addr_ccc_configMem(uint8_t cluster) { switch(cluster) { case 3: { return 0x90000000; } case 2: { return 0x80000000; } default: { return -1; } } } static inline uint32_t fki_addr_aes_adapter(uint8_t cluster) { switch(cluster) { case 2: { return 0x80007000; } case 3: { return 0x90007000; } default: { return -1; } } } static inline uint32_t fki_addr_ut_adapter(uint8_t cluster) { switch(cluster) { case 3: { return 0x9000e000; } case 2: { return 0x8000e000; } default: { return -1; } } } static inline uint32_t fki_addr_sram0(uint8_t cluster) { switch(cluster) { case 2: { return 0x80010000; } case 3: { return 0x90010000; } default: { return -1; } } } static inline uint32_t fki_addr_sram3(uint8_t cluster) { switch(cluster) { case 2: { return 0x80110000; } case 3: { return 0x90110000; } default: { return -1; } } } #endif //_FKI_CLUSTER_INFO_H