1 // Copyright (C) 2022 Beken Corporation 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 #pragma once 16 17 #include <common/bk_err.h> 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 typedef enum { 24 /* AHB */ 25 PRRO_DEV_AON = 0, 26 PRRO_DEV_SYSTEM, 27 PRRO_DEV_FLASH, 28 PRRO_DEV_GDMA, 29 PRRO_DEV_LA, 30 PRRO_DEV_USB, 31 PRRO_DEV_CAN, 32 PRRO_DEV_QSPI0, 33 PRRO_DEV_QSPI1, 34 PRRO_DEV_PSRAM, 35 PRRO_DEV_FFT, 36 PRRO_DEV_SBC, 37 PRRO_DEV_JPEG_ENC, 38 PRRO_DEV_JPEG_DEC, 39 PRRO_DEV_YUV, 40 PRRO_DEV_LCD_DISP, 41 PRRO_DEV_DMA2D, 42 PRRO_DEV_WIFI_MAC, 43 PRRO_DEV_WIFI_MODEM, 44 PRRO_DEV_BTDM_AHB, 45 PRRO_DEV_MBOX0, 46 PRRO_DEV_MBOX1, 47 48 /* APB */ 49 PRRO_DEV_WDT, 50 PRRO_DEV_EFUSE, 51 PRRO_DEV_MBIC, 52 PRRO_DEV_SDMADC, 53 PRRO_DEV_TIMER0, 54 PRRO_DEV_TIMER1, 55 PRRO_DEV_PWM0, 56 PRRO_DEV_PWM1, 57 PRRO_DEV_UART0, 58 PRRO_DEV_UART1, 59 PRRO_DEV_UART2, 60 PRRO_DEV_SPI0, 61 PRRO_DEV_SPI1, 62 PRRO_DEV_I2C0, 63 PRRO_DEV_I2C1, 64 PRRO_DEV_SARADC, 65 PRRO_DEV_IRDA, 66 PRRO_DEV_TRNG, 67 PRRO_DEV_SDIO, 68 PRRO_DEV_SLCD, 69 PRRO_DEV_AUDIO, 70 PRRO_DEV_I2S0, 71 PRRO_DEV_I2S1, 72 PRRO_DEV_I2S2, 73 PRRO_DEV_VIDP, 74 PRRO_DEV_BTDM_APB, 75 76 /* HNONSEC */ 77 PRRO_DEV_JPEC_ENC_HNONSEC, 78 PRRO_DEV_JPEC_DEC_HNONSEC, 79 PRRO_DEV_DMA2D_HNONSEC, 80 PRRO_DEV_WIFI_MAC_HNONSEC, 81 PRRO_DEV_HSU_HNONSEC, 82 PRRO_DEV_BTDM_HNONSEC, 83 PRRO_DEV_LA_HNONSEC, 84 PRRO_DEV_LCD_DISP_HNONSEC, 85 PRRO_DEV_ENC_HNONSEC, 86 87 /* GPIO */ 88 PRRO_DEV_GPIO_0, 89 PRRO_DEV_GPIO_1, 90 PRRO_DEV_GPIO_2, 91 PRRO_DEV_GPIO_3, 92 PRRO_DEV_GPIO_4, 93 PRRO_DEV_GPIO_5, 94 PRRO_DEV_GPIO_6, 95 PRRO_DEV_GPIO_7, 96 PRRO_DEV_GPIO_8, 97 PRRO_DEV_GPIO_9, 98 PRRO_DEV_GPIO_10, 99 PRRO_DEV_GPIO_11, 100 PRRO_DEV_GPIO_12, 101 PRRO_DEV_GPIO_13, 102 PRRO_DEV_GPIO_14, 103 PRRO_DEV_GPIO_15, 104 PRRO_DEV_GPIO_16, 105 PRRO_DEV_GPIO_17, 106 PRRO_DEV_GPIO_18, 107 PRRO_DEV_GPIO_19, 108 PRRO_DEV_GPIO_20, 109 PRRO_DEV_GPIO_21, 110 PRRO_DEV_GPIO_22, 111 PRRO_DEV_GPIO_23, 112 PRRO_DEV_GPIO_24, 113 PRRO_DEV_GPIO_25, 114 PRRO_DEV_GPIO_26, 115 PRRO_DEV_GPIO_27, 116 PRRO_DEV_GPIO_28, 117 PRRO_DEV_GPIO_29, 118 PRRO_DEV_GPIO_30, 119 PRRO_DEV_GPIO_31, 120 PRRO_DEV_GPIO_32, 121 PRRO_DEV_GPIO_33, 122 PRRO_DEV_GPIO_34, 123 PRRO_DEV_GPIO_35, 124 PRRO_DEV_GPIO_36, 125 PRRO_DEV_GPIO_37, 126 PRRO_DEV_GPIO_38, 127 PRRO_DEV_GPIO_39, 128 PRRO_DEV_GPIO_40, 129 PRRO_DEV_GPIO_41, 130 PRRO_DEV_GPIO_42, 131 PRRO_DEV_GPIO_43, 132 PRRO_DEV_GPIO_44, 133 PRRO_DEV_GPIO_45, 134 PRRO_DEV_GPIO_46, 135 PRRO_DEV_GPIO_47, 136 137 PRRO_DEV_MAX, 138 } prro_dev_t; 139 140 typedef enum { 141 PRRO_UNPRIVILEGED = 0, /**< */ 142 PRRO_PRIVILEGED, 143 } prro_privilege_type_t; 144 145 typedef enum { 146 PRRO_SECURE = 0, /**< */ 147 PRRO_NON_SECURE, 148 } prro_secure_type_t; 149 150 #ifdef __cplusplus 151 } 152 #endif 153 154