1*85df05e1SGatien Chevallier /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2*85df05e1SGatien Chevallier /* 3*85df05e1SGatien Chevallier * Copyright (C) 2020-2024, STMicroelectronics 4*85df05e1SGatien Chevallier */ 5*85df05e1SGatien Chevallier 6*85df05e1SGatien Chevallier #ifndef _DT_BINDINGS_FIREWALL_STM32MP25_RISAF_H 7*85df05e1SGatien Chevallier #define _DT_BINDINGS_FIREWALL_STM32MP25_RISAF_H 8*85df05e1SGatien Chevallier 9*85df05e1SGatien Chevallier /* RISAF region IDs */ 10*85df05e1SGatien Chevallier #define RISAF_REG_ID(idx) (idx) 11*85df05e1SGatien Chevallier 12*85df05e1SGatien Chevallier /* RISAF base region enable modes */ 13*85df05e1SGatien Chevallier #define RIF_BREN_DIS 0x0 14*85df05e1SGatien Chevallier #define RIF_BREN_EN 0x1 15*85df05e1SGatien Chevallier 16*85df05e1SGatien Chevallier /* RISAF encryption modes */ 17*85df05e1SGatien Chevallier #define RIF_ENC_DIS 0x0 18*85df05e1SGatien Chevallier #define RIF_ENC_EN 0x2 19*85df05e1SGatien Chevallier 20*85df05e1SGatien Chevallier #define DT_RISAF_EN_SHIFT 4 21*85df05e1SGatien Chevallier #define DT_RISAF_SEC_SHIFT 5 22*85df05e1SGatien Chevallier #define DT_RISAF_ENC_SHIFT 6 23*85df05e1SGatien Chevallier #define DT_RISAF_PRIV_SHIFT 8 24*85df05e1SGatien Chevallier #define DT_RISAF_READ_SHIFT 16 25*85df05e1SGatien Chevallier #define DT_RISAF_WRITE_SHIFT 24 26*85df05e1SGatien Chevallier 27*85df05e1SGatien Chevallier #define DT_RISAF_REG_ID_MASK U(0xF) 28*85df05e1SGatien Chevallier #define DT_RISAF_EN_MASK BIT(DT_RISAF_EN_SHIFT) 29*85df05e1SGatien Chevallier #define DT_RISAF_SEC_MASK BIT(DT_RISAF_SEC_SHIFT) 30*85df05e1SGatien Chevallier #define DT_RISAF_ENC_MASK GENMASK_32(7, 6) 31*85df05e1SGatien Chevallier #define DT_RISAF_PRIV_MASK GENMASK_32(15, 8) 32*85df05e1SGatien Chevallier #define DT_RISAF_READ_MASK GENMASK_32(23, 16) 33*85df05e1SGatien Chevallier #define DT_RISAF_WRITE_MASK GENMASK_32(31, 24) 34*85df05e1SGatien Chevallier 35*85df05e1SGatien Chevallier #define RISAFPROT(risaf_region, cid_read_list, cid_write_list, cid_priv_list, \ 36*85df05e1SGatien Chevallier sec, enc, enabled) \ 37*85df05e1SGatien Chevallier (((cid_write_list) << DT_RISAF_WRITE_SHIFT) | \ 38*85df05e1SGatien Chevallier ((cid_read_list) << DT_RISAF_READ_SHIFT) | \ 39*85df05e1SGatien Chevallier ((cid_priv_list) << DT_RISAF_PRIV_SHIFT) | \ 40*85df05e1SGatien Chevallier ((enc) << DT_RISAF_ENC_SHIFT) | \ 41*85df05e1SGatien Chevallier ((sec) << DT_RISAF_SEC_SHIFT) | \ 42*85df05e1SGatien Chevallier ((enabled) << DT_RISAF_EN_SHIFT) | \ 43*85df05e1SGatien Chevallier (risaf_region)) 44*85df05e1SGatien Chevallier 45*85df05e1SGatien Chevallier #endif /* _DT_BINDINGS_FIREWALL_STM32MP25_RISAF_H */ 46