From 66edc2638bb79d4c931eb435e4e733b709d4efd9 Mon Sep 17 00:00:00 2001 From: Nikhil Devshatwar Date: Tue, 21 Jan 2020 00:21:15 +0530 Subject: [PATCH] soc: j721e: Partition nonsecure proxy and ring monitors Define the resources for non secure proxy and ring monitor allocation across different hosts. Update the total count of resources. Signed-off-by: Nikhil Devshatwar --- soc/j721e/evm/rm-cfg.c | 339 +++++++++++++++++++++++++++++++++- soc/j721e/evm/sysfw_img_cfg.h | 4 +- 2 files changed, 340 insertions(+), 3 deletions(-) diff --git a/soc/j721e/evm/rm-cfg.c b/soc/j721e/evm/rm-cfg.c index d91dfe9..af1fa96 100644 --- a/soc/j721e/evm/rm-cfg.c +++ b/soc/j721e/evm/rm-cfg.c @@ -1,7 +1,7 @@ /* * K3 System Firmware Resource Management Configuration Data * - * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + * Copyright (C) 2019-2020 Texas Instruments Incorporated - http://www.ti.com/ * Andreas Dannenberg * * Redistribution and use in source and binary forms, with or without @@ -939,6 +939,178 @@ const struct boardcfg_rm_local j721e_boardcfg_rm_data = { .host_id = HOST_ID_MAIN_0_R5_2, }, + /* Main Nav ring monitors */ + { + .start_resource = 0, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_A72_2, + }, + { + .start_resource = 3, + .num_resource = 2, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_A72_3, + }, + { + .start_resource = 5, + .num_resource = 1, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MCU_0_R5_0, + }, + { + .start_resource = 6, + .num_resource = 1, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MCU_0_R5_2, + }, + { + .start_resource = 7, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MAIN_1_R5_0, + }, + { + .start_resource = 10, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MAIN_1_R5_2, + }, + { + .start_resource = 13, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_C7X_1, + }, + { + .start_resource = 16, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_C6X_0_1, + }, + { + .start_resource = 19, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_C6X_1_1, + }, + { + .start_resource = 22, + .num_resource = 6, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MAIN_0_R5_0, + }, + { + .start_resource = 28, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MAIN_0_R5_2, + }, + { + .start_resource = 31, + .num_resource = 1, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_ALL, + }, + + /* Main Nav nonsecure proxies */ + { + .start_resource = 0, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_A72_2, + }, + { + .start_resource = 4, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_A72_3, + }, + { + .start_resource = 8, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MCU_0_R5_0, + }, + { + .start_resource = 12, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MCU_0_R5_2, + }, + { + .start_resource = 16, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MAIN_1_R5_0, + }, + { + .start_resource = 20, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MAIN_1_R5_2, + }, + { + .start_resource = 24, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_C7X_1, + }, + { + .start_resource = 28, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_C6X_0_1, + }, + { + .start_resource = 32, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_C6X_1_1, + }, + { + .start_resource = 36, + .num_resource = 8, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MAIN_0_R5_0, + }, + { + .start_resource = 44, + .num_resource = 8, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MAIN_0_R5_2, + }, + { + .start_resource = 52, + .num_resource = 12, + .type = RESASG_UTYPE (J721E_DEV_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_ALL, + }, + /* Main Nav Free RX Flow */ { .start_resource = 140, @@ -1621,6 +1793,171 @@ const struct boardcfg_rm_local j721e_boardcfg_rm_data = { .host_id = HOST_ID_ALL, }, + /* MCU Nav ring monitors */ + { + .start_resource = 0, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_A72_2, + }, + { + .start_resource = 3, + .num_resource = 2, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_A72_3, + }, + { + .start_resource = 5, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MCU_0_R5_0, + }, + { + .start_resource = 8, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MCU_0_R5_2, + }, + { + .start_resource = 11, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MAIN_1_R5_0, + }, + { + .start_resource = 14, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MAIN_1_R5_2, + }, + { + .start_resource = 17, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_C7X_1, + }, + { + .start_resource = 20, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_C6X_0_1, + }, + { + .start_resource = 23, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_C6X_1_1, + }, + { + .start_resource = 26, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MAIN_0_R5_0, + }, + { + .start_resource = 29, + .num_resource = 3, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_RINGACC_0, + RESASG_SUBTYPE_RA_MONITORS), + .host_id = HOST_ID_MAIN_0_R5_2, + }, + + /* MCU Nav nonsecure proxies */ + { + .start_resource = 1, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_A72_2, + }, + { + .start_resource = 5, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_A72_3, + }, + { + .start_resource = 9, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MCU_0_R5_0, + }, + { + .start_resource = 13, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MCU_0_R5_2, + }, + { + .start_resource = 17, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MAIN_1_R5_0, + }, + { + .start_resource = 21, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MAIN_1_R5_2, + }, + { + .start_resource = 25, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_C7X_1, + }, + { + .start_resource = 29, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_C6X_0_1, + }, + { + .start_resource = 33, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_C6X_1_1, + }, + { + .start_resource = 37, + .num_resource = 4, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MAIN_0_R5_0, + }, + { + .start_resource = 41, + .num_resource = 16, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_MAIN_0_R5_2, + }, + { + .start_resource = 57, + .num_resource = 7, + .type = RESASG_UTYPE (J721E_DEV_MCU_NAVSS0_PROXY_0, + RESASG_SUBTYPE_PROXY_PROXIES), + .host_id = HOST_ID_ALL, + }, + /* MCU Nav Free RX Flow */ { .start_resource = 48, diff --git a/soc/j721e/evm/sysfw_img_cfg.h b/soc/j721e/evm/sysfw_img_cfg.h index 5a62687..8e149dd 100644 --- a/soc/j721e/evm/sysfw_img_cfg.h +++ b/soc/j721e/evm/sysfw_img_cfg.h @@ -1,7 +1,7 @@ /* * K3 System Firmware Configuration Data * - * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + * Copyright (C) 2019-2020 Texas Instruments Incorporated - http://www.ti.com/ * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -35,6 +35,6 @@ #ifndef SYSFW_IMG_CFG_H #define SYSFW_IMG_CFG_H -#define BOARDCFG_RM_RESASG_ENTRIES 258 +#define BOARDCFG_RM_RESASG_ENTRIES 305 #endif /* SYSFW_IMG_CFG_H */ -- 2.39.2