mbed library sources. Supersedes mbed-src.
Dependents: Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more
targets/TARGET_Cypress/TARGET_PSOC6_FUTURE/TARGET_FUTURE_SEQUANA_M0_PSA/cyprotection_config.h
- Committer:
- AnnaBridge
- Date:
- 2019-02-20
- Revision:
- 189:f392fc9709a3
File content as of revision 189:f392fc9709a3:
/* mbed Microcontroller Library * * \copyright * (c) 2018, Cypress Semiconductor Corporation * or a subsidiary of Cypress Semiconductor Corporation. All rights * reserved. * * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _CYPROTECTION_CONFIG_H_ #define _CYPROTECTION_CONFIG_H_ #include "cyprotection.h" /* Only 7 protection contexts are available in PSoC6-BLE2 */ #define ALL_PROTECTION_CONTEXTS_MASK (CY_PROT_PCMASK1 + CY_PROT_PCMASK2 +\ CY_PROT_PCMASK3 + CY_PROT_PCMASK4 + CY_PROT_PCMASK5 + CY_PROT_PCMASK6 +\ CY_PROT_PCMASK7) #define SECURE_CONTEXTS_MASK (CY_PROT_PCMASK1 + CY_PROT_PCMASK2 +\ CY_PROT_PCMASK3 + CY_PROT_PCMASK4) #define ALL_SUBREGIONS (0x0) const cy_smpu_region_config_t flash_spm_smpu_config[] = { /* FLASH_PC1_SPM */ { .address = (uint32_t *)(0x10000000), .regionSize = CY_PROT_SIZE_512KB, .subregions = ALL_SUBREGIONS, .userPermission = CY_PROT_PERM_RX, /*.privPermission = CY_PROT_PERM_RX,*/ .privPermission = CY_PROT_PERM_RWX, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .prot_region = PROT_SMPU_SMPU_STRUCT7, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, } }; const cy_smpu_region_config_t sram_spm_smpu_config[] = { /* SRAM_SPM_PRIV */ { .address = (uint32_t *)(0x08000000), .regionSize = CY_PROT_SIZE_64KB, .subregions = ALL_SUBREGIONS, .userPermission = CY_PROT_PERM_DISABLED, /*.privPermission = CY_PROT_PERM_RW,*/ .privPermission = CY_PROT_PERM_RWX, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .prot_region = PROT_SMPU_SMPU_STRUCT12, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, } }; const cy_ppu_fixed_rg_cfg_t fixed_rg_pc0_ppu_config[] = { { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_STRUCT0, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK - CY_PROT_PCMASK7, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_STRUCT1, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK - CY_PROT_PCMASK7, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_STRUCT2, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = 0, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_INTR_STRUCT0, } }; const cy_ppu_fixed_rg_cfg_t fixed_rg_spm_ppu_config[] = { { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK - CY_PROT_PCMASK7, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_STRUCT3, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, /*.pcMask = CY_PROT_PCMASK7,*/ .pcMask = ALL_PROTECTION_CONTEXTS_MASK - CY_PROT_PCMASK7, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_STRUCT4, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK - CY_PROT_PCMASK7, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_STRUCT5, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, /*.pcMask = CY_PROT_PCMASK7,*/ .pcMask = ALL_PROTECTION_CONTEXTS_MASK - CY_PROT_PCMASK7, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_STRUCT6, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_INTR_STRUCT1, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK - CY_PROT_PCMASK7, .pPpuStr = PERI_GR_PPU_RG_IPC_INTR_STRUCT2, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_SMPU, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_MPU_CM0P, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_MPU_CRYPTO, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_MPU_TC, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_DW1_DW_CH_STRUCT0, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_DW1_DW_CH_STRUCT1, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_DW1_DW_CH_STRUCT2, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_DW1_DW_CH_STRUCT3, } }; const cy_ppu_fixed_rg_cfg_t fixed_rg_any_ppu_config[] = { { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_STRUCT7, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_INTR_STRUCT3, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_INTR_STRUCT4, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_INTR_STRUCT5, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_INTR_STRUCT6, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_IPC_INTR_STRUCT7, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_MPU_CM4, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_DW0_DW_CH_STRUCT0, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_DW0_DW_CH_STRUCT1, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_DW0_DW_CH_STRUCT2, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_RG_DW0_DW_CH_STRUCT3, } }; const cy_ppu_fixed_sl_cfg_t fixed_sl_pc0_ppu_config[] = { { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PERI_GR1, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PERI_GR2, }, { /*.userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_DISABLED,*/ .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_FLASHC, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_EFUSE, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PERI_GR3, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PERI_GR4, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PERI_GR6, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PERI_GR9, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PERI_GR10, } }; const cy_ppu_fixed_sl_cfg_t fixed_sl_spm_ppu_config[] = { { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_CRYPTO, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, /* .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, */ .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_CPUSS, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_IPC, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PROT, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, /* .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, */ .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SRSS, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_BACKUP, }, { .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_DW1, }/*, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SMIF, }*/ }; const cy_ppu_fixed_sl_cfg_t fixed_sl_any_ppu_config[] = { { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_FAULT, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_DW0, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PROFILE, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_HSIOM, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_GPIO, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SMARTIO, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_UDB, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_LPCOMP, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_CSD, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_TCPWM0, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_TCPWM1, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_LCD, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_BLE, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_USBFS, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SMIF, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB0, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB1, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB2, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB3, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB4, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB5, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB6, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB7, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_SCB8, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PASS, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_I2S, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_RW, .privMstPermission = CY_PROT_PERM_RW, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_GR_PPU_SL_PDM, } }; const cy_ppu_prog_cfg_t prog_pc0_ppu_config[] = { { .address = (uint32_t *)0x40210300, .regionSize = CY_PROT_SIZE_2KB,/* 0x4FF */ .subregions = 0xE0, .userPermission = CY_PROT_PERM_R, .privPermission = CY_PROT_PERM_R, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_PR0, }, { .address = (uint32_t *)0x40218000, .regionSize = CY_PROT_SIZE_32KB,/* 0x08000 */ .subregions = ALL_SUBREGIONS, .userPermission = CY_PROT_PERM_R, .privPermission = CY_PROT_PERM_R, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_PR1, }, { .address = (uint32_t *)0x402C0000, .regionSize = CY_PROT_SIZE_32KB,/* 0x08000 */ .subregions = ALL_SUBREGIONS, .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_DISABLED, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_PR2, }, { .address = (uint32_t *)0x402C0840, .regionSize = CY_PROT_SIZE_256B,/* 0x00C0 */ .subregions = 0xC0, .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_DISABLED, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_PR3, } }; const cy_ppu_prog_cfg_t prog_spm_ppu_config[] = { { .address = (uint32_t *)0x40010000, .regionSize = CY_PROT_SIZE_1KB,/* 0x00400 */ .subregions = ALL_SUBREGIONS, .userPermission = CY_PROT_PERM_DISABLED, .privPermission = CY_PROT_PERM_RW, .secure = true, .pcMatch = false, .pcMask = SECURE_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_PPU_PR4, } }; const cy_ppu_fixed_gr_cfg_t fixed_gr_pc0_ppu_config[] = { { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_GR1, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_GR2, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_GR3, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_GR4, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_GR6, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_GR9, }, { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_R, .secureMst = false, .pcMstMask = ALL_PROTECTION_CONTEXTS_MASK, .pPpuStr = PERI_PPU_GR10, } }; const cy_ppu_fixed_gr_cfg_t fixed_gr_spm_ppu_config[] = { { .userPermission = CY_PROT_PERM_RW, .privPermission = CY_PROT_PERM_RW, .secure = false, .pcMatch = false, .pcMask = ALL_PROTECTION_CONTEXTS_MASK, .userMstPermission = CY_PROT_PERM_R, .privMstPermission = CY_PROT_PERM_RW, .secureMst = true, .pcMstMask = SECURE_CONTEXTS_MASK, .pPpuStr = PERI_PPU_GR0, } }; const cy_bus_master_config_t bus_masters_config[] = { { .busMaster = CPUSS_MS_ID_CM4, .privileged = true, .secure = false, .pcMask = CY_PROT_PCMASK6, .act_pc = CY_PROT_PC6, }, { .busMaster = CPUSS_MS_ID_TC, .privileged = false, .secure = false, .pcMask = CY_PROT_PCMASK7, .act_pc = CY_PROT_PC7, }, { .busMaster = CPUSS_MS_ID_CRYPTO, .privileged = true, .secure = true, .pcMask = SECURE_CONTEXTS_MASK, .act_pc = CY_PROT_PC1, }, { .busMaster = CPUSS_MS_ID_CM0, .privileged = true, .secure = true, .pcMask = SECURE_CONTEXTS_MASK, .act_pc = CY_PROT_PC1, } }; #endif /* _CYPROTECTION_CONFIG_H_ */