1*036935a8SXiaoDong Huang /* SPDX-License-Identifier: BSD-3-Clause */ 2*036935a8SXiaoDong Huang /* 3*036935a8SXiaoDong Huang * Copyright (c) 2025, Rockchip Electronics Co., Ltd. 4*036935a8SXiaoDong Huang */ 5*036935a8SXiaoDong Huang 6*036935a8SXiaoDong Huang #ifndef __FIREWALL_H__ 7*036935a8SXiaoDong Huang #define __FIREWALL_H__ 8*036935a8SXiaoDong Huang 9*036935a8SXiaoDong Huang #include <plat_private.h> 10*036935a8SXiaoDong Huang 11*036935a8SXiaoDong Huang /* FW SGRF */ 12*036935a8SXiaoDong Huang #define FW_SGRF_MST_DOMAIN_CON(i) ((i) * 4) 13*036935a8SXiaoDong Huang #define FW_SGRF_MST_DOMAIN_CON_CNT 8 14*036935a8SXiaoDong Huang #define FW_SGRF_DDR_RGN(i) (0x0100 + (i) * 4) 15*036935a8SXiaoDong Huang #define FW_SGRF_DDR_RGN_CNT 16 16*036935a8SXiaoDong Huang #define FW_SGRF_DDR_LOOKUP(i) (0x0140 + (i) * 0x4) 17*036935a8SXiaoDong Huang #define FW_SGRF_DDR_LOOKUP_CNT 8 18*036935a8SXiaoDong Huang #define FW_SGRF_DDR_SIZE 0x0160 19*036935a8SXiaoDong Huang #define FW_SGRF_DDR_CON 0x0168 20*036935a8SXiaoDong Huang #define FW_SGRF_SYSMEM_RGN(i) (0x0200 + (i) * 4) 21*036935a8SXiaoDong Huang #define FW_SGRF_SYSMEM_RGN_CNT 4 22*036935a8SXiaoDong Huang #define FW_SGRF_SYSMEM_LOOKUP(i) (0x0210 + (i) * 4) 23*036935a8SXiaoDong Huang #define FW_SGRF_SYSMEM_LOOKUP_CNT 2 24*036935a8SXiaoDong Huang #define FW_SGRF_SYSMEM_CON 0x0218 25*036935a8SXiaoDong Huang #define FW_SGRF_CBUF_RGN(i) (0x0300 + (i) * 4) 26*036935a8SXiaoDong Huang #define FW_SGRF_CBUF_RGN_CNT 8 27*036935a8SXiaoDong Huang #define FW_SGRF_CBUF_LOOKUP(i) (0x0320 + (i) * 4) 28*036935a8SXiaoDong Huang #define FW_SGRF_CBUF_LOOKUP_CNT 4 29*036935a8SXiaoDong Huang #define FW_SGRF_CBUF_CON 0x0330 30*036935a8SXiaoDong Huang #define FW_SGRF_SLV_LOOKUP(i) (0x0400 + (i) * 4) 31*036935a8SXiaoDong Huang #define FW_SGRF_SLV_LOOKUP_CNT 4 32*036935a8SXiaoDong Huang #define FW_SGRF_BUS_SLV_CON(i) (0x0500 + (i) * 4) 33*036935a8SXiaoDong Huang #define FW_SGRF_BUS_SLV_CON_CNT 25 34*036935a8SXiaoDong Huang #define FW_SGRF_BUS_SLV_STAT 0x0580 35*036935a8SXiaoDong Huang #define FW_SGRF_TOP_SLV_CON(i) (0x0600 + (i) * 4) 36*036935a8SXiaoDong Huang #define FW_SGRF_TOP_SLV_CON_CNT 16 37*036935a8SXiaoDong Huang #define FW_SGRF_TOP_SLV_STAT 0x0680 38*036935a8SXiaoDong Huang #define FW_SGRF_CENTER_SLV_CON(i) (0x0700 + (i) * 4) 39*036935a8SXiaoDong Huang #define FW_SGRF_CENTER_SLV_CON_CNT 13 40*036935a8SXiaoDong Huang #define FW_SGRF_CCI_SLV_CON(i) (0x0800 + (i) * 4) 41*036935a8SXiaoDong Huang #define FW_SGRF_CCI_SLV_CON_CNT 3 42*036935a8SXiaoDong Huang #define FW_SGRF_PHP_SLV_CON(i) (0x0900 + (i) * 4) 43*036935a8SXiaoDong Huang #define FW_SGRF_PHP_SLV_CON_CNT 4 44*036935a8SXiaoDong Huang #define FW_SGRF_PHP_SLV_STAT 0x0940 45*036935a8SXiaoDong Huang #define FW_SGRF_GPU_SLV_CON 0x0980 46*036935a8SXiaoDong Huang #define FW_SGRF_NPU_SLV_CON(i) (0x09a0 + (i) * 4) 47*036935a8SXiaoDong Huang #define FW_SGRF_NPU_SLV_CON_CNT 2 48*036935a8SXiaoDong Huang #define FW_SGRF_STATCLR_CON0 0x0a00 49*036935a8SXiaoDong Huang #define FW_SGRF_KEYUPD_CON0 0x0a80 50*036935a8SXiaoDong Huang #define FW_SGRF_KEYUPD_CON1 0x0a84 51*036935a8SXiaoDong Huang #define FW_SGRF_KEYUPD_STAT 0x0ab0 52*036935a8SXiaoDong Huang 53*036935a8SXiaoDong Huang /* FW PMUSGRF */ 54*036935a8SXiaoDong Huang #define FW_PMU_SGRF_SLV_CON(i) ((i) * 4) 55*036935a8SXiaoDong Huang #define FW_PMU_SGRF_SLV_CON_CNT 9 56*036935a8SXiaoDong Huang #define FW_PMU_SGRF_SLV_LOOKUP(i) (0x0080 + (i) * 0x4) 57*036935a8SXiaoDong Huang #define FW_PMU_SGRF_SLV_LOOKUP_CNT 4 58*036935a8SXiaoDong Huang #define FW_PMU_SGRF_DOMAIN_CON 0x00a0 59*036935a8SXiaoDong Huang #define FW_PMU_SGRF_SLV_STAT 0x00c0 60*036935a8SXiaoDong Huang 61*036935a8SXiaoDong Huang /* master id */ 62*036935a8SXiaoDong Huang #define FW_MST_ID_USB0 FW_MST_ID(FW_MST_TYPE_SYS, 0) 63*036935a8SXiaoDong Huang #define FW_MST_ID_KEYLAD_APB FW_MST_ID(FW_MST_TYPE_SYS, 1) 64*036935a8SXiaoDong Huang #define FW_MST_ID_DFT2APB FW_MST_ID(FW_MST_TYPE_SYS, 2) 65*036935a8SXiaoDong Huang #define FW_MST_ID_PCIE0 FW_MST_ID(FW_MST_TYPE_SYS, 3) 66*036935a8SXiaoDong Huang #define FW_MST_ID_PCIE1 FW_MST_ID(FW_MST_TYPE_SYS, 4) 67*036935a8SXiaoDong Huang #define FW_MST_ID_SATA0 FW_MST_ID(FW_MST_TYPE_SYS, 6) 68*036935a8SXiaoDong Huang #define FW_MST_ID_SATA1 FW_MST_ID(FW_MST_TYPE_SYS, 7) 69*036935a8SXiaoDong Huang #define FW_MST_ID_CRYPTO FW_MST_ID(FW_MST_TYPE_SYS, 8) 70*036935a8SXiaoDong Huang #define FW_MST_ID_FLEXBUS FW_MST_ID(FW_MST_TYPE_SYS, 9) 71*036935a8SXiaoDong Huang #define FW_MST_ID_DECOM FW_MST_ID(FW_MST_TYPE_SYS, 10) 72*036935a8SXiaoDong Huang #define FW_MST_ID_DMA2DDR FW_MST_ID(FW_MST_TYPE_SYS, 11) 73*036935a8SXiaoDong Huang #define FW_MST_ID_DMAC0 FW_MST_ID(FW_MST_TYPE_SYS, 12) 74*036935a8SXiaoDong Huang #define FW_MST_ID_DMAC1 FW_MST_ID(FW_MST_TYPE_SYS, 13) 75*036935a8SXiaoDong Huang #define FW_MST_ID_DMAC2 FW_MST_ID(FW_MST_TYPE_SYS, 14) 76*036935a8SXiaoDong Huang #define FW_MST_ID_EBC FW_MST_ID(FW_MST_TYPE_SYS, 15) 77*036935a8SXiaoDong Huang #define FW_MST_ID_EMMC FW_MST_ID(FW_MST_TYPE_SYS, 16) 78*036935a8SXiaoDong Huang #define FW_MST_ID_GMAC0 FW_MST_ID(FW_MST_TYPE_SYS, 17) 79*036935a8SXiaoDong Huang #define FW_MST_ID_GMAC1 FW_MST_ID(FW_MST_TYPE_SYS, 18) 80*036935a8SXiaoDong Huang #define FW_MST_ID_GPU FW_MST_ID(FW_MST_TYPE_SYS, 19) 81*036935a8SXiaoDong Huang #define FW_MST_ID_HDCP0 FW_MST_ID(FW_MST_TYPE_SYS, 20) 82*036935a8SXiaoDong Huang #define FW_MST_ID_HDCP1 FW_MST_ID(FW_MST_TYPE_SYS, 21) 83*036935a8SXiaoDong Huang #define FW_MST_ID_ISP FW_MST_ID(FW_MST_TYPE_SYS, 22) 84*036935a8SXiaoDong Huang #define FW_MST_ID_RGA0 FW_MST_ID(FW_MST_TYPE_SYS, 23) 85*036935a8SXiaoDong Huang #define FW_MST_ID_RGA1 FW_MST_ID(FW_MST_TYPE_SYS, 24) 86*036935a8SXiaoDong Huang #define FW_MST_ID_JPEG FW_MST_ID(FW_MST_TYPE_SYS, 25) 87*036935a8SXiaoDong Huang #define FW_MST_ID_RKVDEC FW_MST_ID(FW_MST_TYPE_SYS, 26) 88*036935a8SXiaoDong Huang #define FW_MST_ID_VEPU0 FW_MST_ID(FW_MST_TYPE_SYS, 27) 89*036935a8SXiaoDong Huang #define FW_MST_ID_UFSHC FW_MST_ID(FW_MST_TYPE_SYS, 28) 90*036935a8SXiaoDong Huang #define FW_MST_ID_VDPP FW_MST_ID(FW_MST_TYPE_SYS, 29) 91*036935a8SXiaoDong Huang #define FW_MST_ID_VICAP FW_MST_ID(FW_MST_TYPE_SYS, 30) 92*036935a8SXiaoDong Huang #define FW_MST_ID_VOP_M0 FW_MST_ID(FW_MST_TYPE_SYS, 31) 93*036935a8SXiaoDong Huang #define FW_MST_ID_VOP_M1 FW_MST_ID(FW_MST_TYPE_SYS, 32) 94*036935a8SXiaoDong Huang #define FW_MST_ID_VPSS FW_MST_ID(FW_MST_TYPE_SYS, 33) 95*036935a8SXiaoDong Huang #define FW_MST_ID_FSPI0 FW_MST_ID(FW_MST_TYPE_SYS, 34) 96*036935a8SXiaoDong Huang #define FW_MST_ID_FSPI1 FW_MST_ID(FW_MST_TYPE_SYS, 35) 97*036935a8SXiaoDong Huang #define FW_MST_ID_BUS_MCU FW_MST_ID(FW_MST_TYPE_SYS, 36) 98*036935a8SXiaoDong Huang #define FW_MST_ID_DDR_MCU FW_MST_ID(FW_MST_TYPE_SYS, 37) 99*036935a8SXiaoDong Huang #define FW_MST_ID_NPU_MCU FW_MST_ID(FW_MST_TYPE_SYS, 38) 100*036935a8SXiaoDong Huang #define FW_MST_ID_CAN0 FW_MST_ID(FW_MST_TYPE_SYS, 39) 101*036935a8SXiaoDong Huang #define FW_MST_ID_CAN1 FW_MST_ID(FW_MST_TYPE_SYS, 40) 102*036935a8SXiaoDong Huang #define FW_MST_ID_SDIO FW_MST_ID(FW_MST_TYPE_SYS, 41) 103*036935a8SXiaoDong Huang #define FW_MST_ID_SDMMC0 FW_MST_ID(FW_MST_TYPE_SYS, 42) 104*036935a8SXiaoDong Huang #define FW_MST_ID_USB1 FW_MST_ID(FW_MST_TYPE_SYS, 43) 105*036935a8SXiaoDong Huang #define FW_MST_ID_NPU_M0 FW_MST_ID(FW_MST_TYPE_SYS, 44) 106*036935a8SXiaoDong Huang #define FW_MST_ID_NPU_M0RO FW_MST_ID(FW_MST_TYPE_SYS, 45) 107*036935a8SXiaoDong Huang #define FW_MST_ID_NPU_M1 FW_MST_ID(FW_MST_TYPE_SYS, 46) 108*036935a8SXiaoDong Huang #define FW_MST_ID_NPU_M1RO FW_MST_ID(FW_MST_TYPE_SYS, 47) 109*036935a8SXiaoDong Huang #define FW_MST_ID_A53_0 FW_MST_ID(FW_MST_TYPE_SYS, 48) 110*036935a8SXiaoDong Huang #define FW_MST_ID_A53_1 FW_MST_ID(FW_MST_TYPE_SYS, 49) 111*036935a8SXiaoDong Huang #define FW_MST_ID_A53_2 FW_MST_ID(FW_MST_TYPE_SYS, 50) 112*036935a8SXiaoDong Huang #define FW_MST_ID_A53_3 FW_MST_ID(FW_MST_TYPE_SYS, 51) 113*036935a8SXiaoDong Huang #define FW_MST_ID_A72_0 FW_MST_ID(FW_MST_TYPE_SYS, 52) 114*036935a8SXiaoDong Huang #define FW_MST_ID_A72_1 FW_MST_ID(FW_MST_TYPE_SYS, 53) 115*036935a8SXiaoDong Huang #define FW_MST_ID_A72_2 FW_MST_ID(FW_MST_TYPE_SYS, 54) 116*036935a8SXiaoDong Huang #define FW_MST_ID_A72_3 FW_MST_ID(FW_MST_TYPE_SYS, 55) 117*036935a8SXiaoDong Huang #define FW_MST_ID_DAP_LITE FW_MST_ID(FW_MST_TYPE_SYS, 56) 118*036935a8SXiaoDong Huang #define FW_MST_ID_VEPU1 FW_MST_ID(FW_MST_TYPE_SYS, 57) 119*036935a8SXiaoDong Huang #define FW_MST_ID_SYS_CNT 64 120*036935a8SXiaoDong Huang 121*036935a8SXiaoDong Huang #define FW_MST_ID_PMU_MCU FW_MST_ID(FW_MST_TYPE_PMU, 0) 122*036935a8SXiaoDong Huang #define FW_MST_ID_VDMA FW_MST_ID(FW_MST_TYPE_PMU, 1) 123*036935a8SXiaoDong Huang #define FW_MST_ID_PMU_CNT 8 124*036935a8SXiaoDong Huang 125*036935a8SXiaoDong Huang /* slave id */ 126*036935a8SXiaoDong Huang #define FW_SLV_ID_CAN0 FW_SLV_ID(FW_SLV_TYPE_BUS, 0) 127*036935a8SXiaoDong Huang #define FW_SLV_ID_CAN1 FW_SLV_ID(FW_SLV_TYPE_BUS, 1) 128*036935a8SXiaoDong Huang #define FW_SLV_ID_I3C0 FW_SLV_ID(FW_SLV_TYPE_BUS, 2) 129*036935a8SXiaoDong Huang #define FW_SLV_ID_I3C1 FW_SLV_ID(FW_SLV_TYPE_BUS, 3) 130*036935a8SXiaoDong Huang #define FW_SLV_ID_BUS_IOC FW_SLV_ID(FW_SLV_TYPE_BUS, 4) 131*036935a8SXiaoDong Huang #define FW_SLV_ID_COMBO_PIPE_PHY0 FW_SLV_ID(FW_SLV_TYPE_BUS, 5) 132*036935a8SXiaoDong Huang #define FW_SLV_ID_COMBO_PIPE_PHY1 FW_SLV_ID(FW_SLV_TYPE_BUS, 6) 133*036935a8SXiaoDong Huang #define FW_SLV_ID_CRU FW_SLV_ID(FW_SLV_TYPE_BUS, 7) 134*036935a8SXiaoDong Huang #define FW_SLV_ID_DECOM FW_SLV_ID(FW_SLV_TYPE_BUS, 8) 135*036935a8SXiaoDong Huang #define FW_SLV_ID_CRU_PVTPLL FW_SLV_ID(FW_SLV_TYPE_BUS, 9) 136*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C1 FW_SLV_ID(FW_SLV_TYPE_BUS, 13) 137*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C2 FW_SLV_ID(FW_SLV_TYPE_BUS, 14) 138*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C3 FW_SLV_ID(FW_SLV_TYPE_BUS, 15) 139*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C4 FW_SLV_ID(FW_SLV_TYPE_BUS, 16) 140*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C5 FW_SLV_ID(FW_SLV_TYPE_BUS, 17) 141*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C6 FW_SLV_ID(FW_SLV_TYPE_BUS, 18) 142*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C7 FW_SLV_ID(FW_SLV_TYPE_BUS, 19) 143*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C8 FW_SLV_ID(FW_SLV_TYPE_BUS, 20) 144*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C9 FW_SLV_ID(FW_SLV_TYPE_BUS, 21) 145*036935a8SXiaoDong Huang #define FW_SLV_ID_INTMUX2BUS FW_SLV_ID(FW_SLV_TYPE_BUS, 22) 146*036935a8SXiaoDong Huang #define FW_SLV_ID_INTMUX2DDR FW_SLV_ID(FW_SLV_TYPE_BUS, 23) 147*036935a8SXiaoDong Huang #define FW_SLV_ID_INTMUX2PMU FW_SLV_ID(FW_SLV_TYPE_BUS, 24) 148*036935a8SXiaoDong Huang #define FW_SLV_ID_PPLL_CRU FW_SLV_ID(FW_SLV_TYPE_BUS, 25) 149*036935a8SXiaoDong Huang #define FW_SLV_ID_COMBO_PIPE_PHY0_GRF FW_SLV_ID(FW_SLV_TYPE_BUS, 26) 150*036935a8SXiaoDong Huang #define FW_SLV_ID_COMBO_PIPE_PHY1_GRF FW_SLV_ID(FW_SLV_TYPE_BUS, 27) 151*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU2 FW_SLV_ID(FW_SLV_TYPE_BUS, 28) 152*036935a8SXiaoDong Huang #define FW_SLV_ID_SARADC FW_SLV_ID(FW_SLV_TYPE_BUS, 32) 153*036935a8SXiaoDong Huang #define FW_SLV_ID_SPI0 FW_SLV_ID(FW_SLV_TYPE_BUS, 33) 154*036935a8SXiaoDong Huang #define FW_SLV_ID_SPI1 FW_SLV_ID(FW_SLV_TYPE_BUS, 34) 155*036935a8SXiaoDong Huang #define FW_SLV_ID_SPI2 FW_SLV_ID(FW_SLV_TYPE_BUS, 35) 156*036935a8SXiaoDong Huang #define FW_SLV_ID_SPI3 FW_SLV_ID(FW_SLV_TYPE_BUS, 36) 157*036935a8SXiaoDong Huang #define FW_SLV_ID_SPI4 FW_SLV_ID(FW_SLV_TYPE_BUS, 37) 158*036935a8SXiaoDong Huang #define FW_SLV_ID_SYS_GRF FW_SLV_ID(FW_SLV_TYPE_BUS, 38) 159*036935a8SXiaoDong Huang #define FW_SLV_ID_TSADC FW_SLV_ID(FW_SLV_TYPE_BUS, 41) 160*036935a8SXiaoDong Huang #define FW_SLV_ID_UART0 FW_SLV_ID(FW_SLV_TYPE_BUS, 42) 161*036935a8SXiaoDong Huang #define FW_SLV_ID_UART10 FW_SLV_ID(FW_SLV_TYPE_BUS, 43) 162*036935a8SXiaoDong Huang #define FW_SLV_ID_UART11 FW_SLV_ID(FW_SLV_TYPE_BUS, 44) 163*036935a8SXiaoDong Huang #define FW_SLV_ID_UART2 FW_SLV_ID(FW_SLV_TYPE_BUS, 45) 164*036935a8SXiaoDong Huang #define FW_SLV_ID_UART3 FW_SLV_ID(FW_SLV_TYPE_BUS, 46) 165*036935a8SXiaoDong Huang #define FW_SLV_ID_UART4 FW_SLV_ID(FW_SLV_TYPE_BUS, 47) 166*036935a8SXiaoDong Huang #define FW_SLV_ID_UART5 FW_SLV_ID(FW_SLV_TYPE_BUS, 48) 167*036935a8SXiaoDong Huang #define FW_SLV_ID_UART6 FW_SLV_ID(FW_SLV_TYPE_BUS, 49) 168*036935a8SXiaoDong Huang #define FW_SLV_ID_UART7 FW_SLV_ID(FW_SLV_TYPE_BUS, 50) 169*036935a8SXiaoDong Huang #define FW_SLV_ID_UART8 FW_SLV_ID(FW_SLV_TYPE_BUS, 51) 170*036935a8SXiaoDong Huang #define FW_SLV_ID_UART9 FW_SLV_ID(FW_SLV_TYPE_BUS, 52) 171*036935a8SXiaoDong Huang #define FW_SLV_ID_VCCIO0_1_3_IOC FW_SLV_ID(FW_SLV_TYPE_BUS, 53) 172*036935a8SXiaoDong Huang #define FW_SLV_ID_VCCIO2_4_5_IOC FW_SLV_ID(FW_SLV_TYPE_BUS, 54) 173*036935a8SXiaoDong Huang #define FW_SLV_ID_BUS_WDT FW_SLV_ID(FW_SLV_TYPE_BUS, 55) 174*036935a8SXiaoDong Huang #define FW_SLV_ID_WDT_NS FW_SLV_ID(FW_SLV_TYPE_BUS, 56) 175*036935a8SXiaoDong Huang #define FW_SLV_ID_DMAC0_NS FW_SLV_ID(FW_SLV_TYPE_BUS, 57) 176*036935a8SXiaoDong Huang #define FW_SLV_ID_DMAC1_NS FW_SLV_ID(FW_SLV_TYPE_BUS, 58) 177*036935a8SXiaoDong Huang #define FW_SLV_ID_DMAC2_NS FW_SLV_ID(FW_SLV_TYPE_BUS, 59) 178*036935a8SXiaoDong Huang #define FW_SLV_ID_DMAC0_S FW_SLV_ID(FW_SLV_TYPE_BUS, 60) 179*036935a8SXiaoDong Huang #define FW_SLV_ID_DMAC1_S FW_SLV_ID(FW_SLV_TYPE_BUS, 61) 180*036935a8SXiaoDong Huang #define FW_SLV_ID_DMAC2_S FW_SLV_ID(FW_SLV_TYPE_BUS, 62) 181*036935a8SXiaoDong Huang #define FW_SLV_ID_GIC400 FW_SLV_ID(FW_SLV_TYPE_BUS, 63) 182*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_BUS FW_SLV_ID(FW_SLV_TYPE_BUS, 64) 183*036935a8SXiaoDong Huang #define FW_SLV_ID_SPINLOCK FW_SLV_ID(FW_SLV_TYPE_BUS, 65) 184*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 66) 185*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 67) 186*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 68) 187*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 69) 188*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH4 FW_SLV_ID(FW_SLV_TYPE_BUS, 70) 189*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH5 FW_SLV_ID(FW_SLV_TYPE_BUS, 71) 190*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH6 FW_SLV_ID(FW_SLV_TYPE_BUS, 72) 191*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH7 FW_SLV_ID(FW_SLV_TYPE_BUS, 73) 192*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH8 FW_SLV_ID(FW_SLV_TYPE_BUS, 74) 193*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH9 FW_SLV_ID(FW_SLV_TYPE_BUS, 75) 194*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH10 FW_SLV_ID(FW_SLV_TYPE_BUS, 76) 195*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH11 FW_SLV_ID(FW_SLV_TYPE_BUS, 77) 196*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH12 FW_SLV_ID(FW_SLV_TYPE_BUS, 78) 197*036935a8SXiaoDong Huang #define FW_SLV_ID_MAILBOX_CH13 FW_SLV_ID(FW_SLV_TYPE_BUS, 79) 198*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM1_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 82) 199*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM1_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 83) 200*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM1_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 84) 201*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM1_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 85) 202*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM1_CH4 FW_SLV_ID(FW_SLV_TYPE_BUS, 86) 203*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM1_CH5 FW_SLV_ID(FW_SLV_TYPE_BUS, 87) 204*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM2_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 88) 205*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM2_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 89) 206*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM2_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 90) 207*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM2_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 91) 208*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM2_CH4 FW_SLV_ID(FW_SLV_TYPE_BUS, 92) 209*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM2_CH5 FW_SLV_ID(FW_SLV_TYPE_BUS, 93) 210*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM2_CH6 FW_SLV_ID(FW_SLV_TYPE_BUS, 94) 211*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM2_CH7 FW_SLV_ID(FW_SLV_TYPE_BUS, 95) 212*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_0_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 96) 213*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_0_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 97) 214*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_0_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 98) 215*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_0_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 99) 216*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_0_CH4 FW_SLV_ID(FW_SLV_TYPE_BUS, 100) 217*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_0_CH5 FW_SLV_ID(FW_SLV_TYPE_BUS, 101) 218*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_1_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 102) 219*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_1_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 103) 220*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_1_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 104) 221*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_1_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 105) 222*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_1_CH4 FW_SLV_ID(FW_SLV_TYPE_BUS, 106) 223*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_NS_1_CH5 FW_SLV_ID(FW_SLV_TYPE_BUS, 107) 224*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO1_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 108) 225*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO1_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 109) 226*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO1_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 110) 227*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO1_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 111) 228*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO2_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 112) 229*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO2_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 113) 230*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO2_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 114) 231*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO2_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 115) 232*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO3_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 116) 233*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO3_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 117) 234*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO3_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 118) 235*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO3_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 119) 236*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO4_CH0 FW_SLV_ID(FW_SLV_TYPE_BUS, 120) 237*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO4_CH1 FW_SLV_ID(FW_SLV_TYPE_BUS, 121) 238*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO4_CH2 FW_SLV_ID(FW_SLV_TYPE_BUS, 122) 239*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO4_CH3 FW_SLV_ID(FW_SLV_TYPE_BUS, 123) 240*036935a8SXiaoDong Huang #define FW_SLV_ID_BUS_CNT 125 241*036935a8SXiaoDong Huang 242*036935a8SXiaoDong Huang #define FW_SLV_ID_ACDCDIG_DSM FW_SLV_ID(FW_SLV_TYPE_TOP, 0) 243*036935a8SXiaoDong Huang #define FW_SLV_ID_ASRC2CH_0 FW_SLV_ID(FW_SLV_TYPE_TOP, 1) 244*036935a8SXiaoDong Huang #define FW_SLV_ID_ASRC2CH_1 FW_SLV_ID(FW_SLV_TYPE_TOP, 2) 245*036935a8SXiaoDong Huang #define FW_SLV_ID_ASRC4CH_0 FW_SLV_ID(FW_SLV_TYPE_TOP, 3) 246*036935a8SXiaoDong Huang #define FW_SLV_ID_ASRC4CH_1 FW_SLV_ID(FW_SLV_TYPE_TOP, 4) 247*036935a8SXiaoDong Huang #define FW_SLV_ID_PDM1 FW_SLV_ID(FW_SLV_TYPE_TOP, 5) 248*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI0_8CH FW_SLV_ID(FW_SLV_TYPE_TOP, 6) 249*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI1_8CH FW_SLV_ID(FW_SLV_TYPE_TOP, 7) 250*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI2_8CH FW_SLV_ID(FW_SLV_TYPE_TOP, 8) 251*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI3_2CH FW_SLV_ID(FW_SLV_TYPE_TOP, 9) 252*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI4_2CH FW_SLV_ID(FW_SLV_TYPE_TOP, 10) 253*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_RX0 FW_SLV_ID(FW_SLV_TYPE_TOP, 11) 254*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_RX1 FW_SLV_ID(FW_SLV_TYPE_TOP, 12) 255*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_TX0 FW_SLV_ID(FW_SLV_TYPE_TOP, 13) 256*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_TX1 FW_SLV_ID(FW_SLV_TYPE_TOP, 14) 257*036935a8SXiaoDong Huang #define FW_SLV_ID_DSMC_MEM FW_SLV_ID(FW_SLV_TYPE_TOP, 15) 258*036935a8SXiaoDong Huang #define FW_SLV_ID_FSPI1 FW_SLV_ID(FW_SLV_TYPE_TOP, 16) 259*036935a8SXiaoDong Huang #define FW_SLV_ID_FLEXBUS FW_SLV_ID(FW_SLV_TYPE_TOP, 17) 260*036935a8SXiaoDong Huang #define FW_SLV_ID_SDIO FW_SLV_ID(FW_SLV_TYPE_TOP, 18) 261*036935a8SXiaoDong Huang #define FW_SLV_ID_SDMMC FW_SLV_ID(FW_SLV_TYPE_TOP, 19) 262*036935a8SXiaoDong Huang #define FW_SLV_ID_DSMC_CFG FW_SLV_ID(FW_SLV_TYPE_TOP, 20) 263*036935a8SXiaoDong Huang #define FW_SLV_ID_GMAC0 FW_SLV_ID(FW_SLV_TYPE_TOP, 21) 264*036935a8SXiaoDong Huang #define FW_SLV_ID_GMAC1 FW_SLV_ID(FW_SLV_TYPE_TOP, 22) 265*036935a8SXiaoDong Huang #define FW_SLV_ID_SDGMAC_GRF FW_SLV_ID(FW_SLV_TYPE_TOP, 23) 266*036935a8SXiaoDong Huang #define FW_SLV_ID_EMMC FW_SLV_ID(FW_SLV_TYPE_TOP, 24) 267*036935a8SXiaoDong Huang #define FW_SLV_ID_FSPI0 FW_SLV_ID(FW_SLV_TYPE_TOP, 25) 268*036935a8SXiaoDong Huang #define FW_SLV_ID_NSCRYPTO FW_SLV_ID(FW_SLV_TYPE_TOP, 26) 269*036935a8SXiaoDong Huang #define FW_SLV_ID_RKRNG_NS FW_SLV_ID(FW_SLV_TYPE_TOP, 27) 270*036935a8SXiaoDong Huang #define FW_SLV_ID_SCRYPTO FW_SLV_ID(FW_SLV_TYPE_TOP, 28) 271*036935a8SXiaoDong Huang #define FW_SLV_ID_KEYLAD FW_SLV_ID(FW_SLV_TYPE_TOP, 29) 272*036935a8SXiaoDong Huang #define FW_SLV_ID_RKRNG_S FW_SLV_ID(FW_SLV_TYPE_TOP, 30) 273*036935a8SXiaoDong Huang #define FW_SLV_ID_OTPC_NS FW_SLV_ID(FW_SLV_TYPE_TOP, 31) 274*036935a8SXiaoDong Huang #define FW_SLV_ID_JTAG_LOCK FW_SLV_ID(FW_SLV_TYPE_TOP, 33) 275*036935a8SXiaoDong Huang #define FW_SLV_ID_OTPC_S FW_SLV_ID(FW_SLV_TYPE_TOP, 34) 276*036935a8SXiaoDong Huang #define FW_SLV_ID_OTPMASK FW_SLV_ID(FW_SLV_TYPE_TOP, 35) 277*036935a8SXiaoDong Huang #define FW_SLV_ID_SECURE_CRU FW_SLV_ID(FW_SLV_TYPE_TOP, 36) 278*036935a8SXiaoDong Huang #define FW_SLV_ID_SECURE_CRU_S FW_SLV_ID(FW_SLV_TYPE_TOP, 37) 279*036935a8SXiaoDong Huang #define FW_SLV_ID_SYS_SGRF FW_SLV_ID(FW_SLV_TYPE_TOP, 38) 280*036935a8SXiaoDong Huang #define FW_SLV_ID_BOOTROM FW_SLV_ID(FW_SLV_TYPE_TOP, 39) 281*036935a8SXiaoDong Huang #define FW_SLV_ID_WDT_S FW_SLV_ID(FW_SLV_TYPE_TOP, 41) 282*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_GMAC FW_SLV_ID(FW_SLV_TYPE_TOP, 42) 283*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_NVM FW_SLV_ID(FW_SLV_TYPE_TOP, 43) 284*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_SECURE FW_SLV_ID(FW_SLV_TYPE_TOP, 44) 285*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_VENC FW_SLV_ID(FW_SLV_TYPE_TOP, 45) 286*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_VI FW_SLV_ID(FW_SLV_TYPE_TOP, 46) 287*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_VPU FW_SLV_ID(FW_SLV_TYPE_TOP, 47) 288*036935a8SXiaoDong Huang #define FW_SLV_ID_VEPU0 FW_SLV_ID(FW_SLV_TYPE_TOP, 48) 289*036935a8SXiaoDong Huang #define FW_SLV_ID_ISP FW_SLV_ID(FW_SLV_TYPE_TOP, 49) 290*036935a8SXiaoDong Huang #define FW_SLV_ID_VICAP FW_SLV_ID(FW_SLV_TYPE_TOP, 50) 291*036935a8SXiaoDong Huang #define FW_SLV_ID_VPSS FW_SLV_ID(FW_SLV_TYPE_TOP, 51) 292*036935a8SXiaoDong Huang #define FW_SLV_ID_CSIHOST0 FW_SLV_ID(FW_SLV_TYPE_TOP, 52) 293*036935a8SXiaoDong Huang #define FW_SLV_ID_CSIHOST1 FW_SLV_ID(FW_SLV_TYPE_TOP, 53) 294*036935a8SXiaoDong Huang #define FW_SLV_ID_CSIHOST2 FW_SLV_ID(FW_SLV_TYPE_TOP, 54) 295*036935a8SXiaoDong Huang #define FW_SLV_ID_VI_GRF FW_SLV_ID(FW_SLV_TYPE_TOP, 55) 296*036935a8SXiaoDong Huang #define FW_SLV_ID_EBC FW_SLV_ID(FW_SLV_TYPE_TOP, 56) 297*036935a8SXiaoDong Huang #define FW_SLV_ID_JPEG FW_SLV_ID(FW_SLV_TYPE_TOP, 57) 298*036935a8SXiaoDong Huang #define FW_SLV_ID_RGA0 FW_SLV_ID(FW_SLV_TYPE_TOP, 58) 299*036935a8SXiaoDong Huang #define FW_SLV_ID_RGA1 FW_SLV_ID(FW_SLV_TYPE_TOP, 59) 300*036935a8SXiaoDong Huang #define FW_SLV_ID_VDPP FW_SLV_ID(FW_SLV_TYPE_TOP, 60) 301*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_0_CH0 FW_SLV_ID(FW_SLV_TYPE_TOP, 61) 302*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_0_CH1 FW_SLV_ID(FW_SLV_TYPE_TOP, 62) 303*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_0_CH2 FW_SLV_ID(FW_SLV_TYPE_TOP, 63) 304*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_0_CH3 FW_SLV_ID(FW_SLV_TYPE_TOP, 64) 305*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_0_CH4 FW_SLV_ID(FW_SLV_TYPE_TOP, 65) 306*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_0_CH5 FW_SLV_ID(FW_SLV_TYPE_TOP, 66) 307*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_1_CH0 FW_SLV_ID(FW_SLV_TYPE_TOP, 67) 308*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_1_CH1 FW_SLV_ID(FW_SLV_TYPE_TOP, 68) 309*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_1_CH2 FW_SLV_ID(FW_SLV_TYPE_TOP, 69) 310*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_1_CH3 FW_SLV_ID(FW_SLV_TYPE_TOP, 70) 311*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_1_CH4 FW_SLV_ID(FW_SLV_TYPE_TOP, 71) 312*036935a8SXiaoDong Huang #define FW_SLV_ID_TIMER_S_1_CH5 FW_SLV_ID(FW_SLV_TYPE_TOP, 72) 313*036935a8SXiaoDong Huang #define FW_SLV_ID_SYS_FW FW_SLV_ID(FW_SLV_TYPE_TOP, 73) 314*036935a8SXiaoDong Huang #define FW_SLV_ID_VEPU1 FW_SLV_ID(FW_SLV_TYPE_TOP, 75) 315*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_VEPU1 FW_SLV_ID(FW_SLV_TYPE_TOP, 76) 316*036935a8SXiaoDong Huang #define FW_SLV_ID_CSIHOST3 FW_SLV_ID(FW_SLV_TYPE_TOP, 77) 317*036935a8SXiaoDong Huang #define FW_SLV_ID_CSIHOST4 FW_SLV_ID(FW_SLV_TYPE_TOP, 78) 318*036935a8SXiaoDong Huang #define FW_SLV_ID_TOP_CNT 80 319*036935a8SXiaoDong Huang 320*036935a8SXiaoDong Huang #define FW_SLV_ID_CENTER_GRF FW_SLV_ID(FW_SLV_TYPE_CENTER, 0) 321*036935a8SXiaoDong Huang #define FW_SLV_ID_DMA2DDR FW_SLV_ID(FW_SLV_TYPE_CENTER, 1) 322*036935a8SXiaoDong Huang #define FW_SLV_ID_AHB2APB FW_SLV_ID(FW_SLV_TYPE_CENTER, 2) 323*036935a8SXiaoDong Huang #define FW_SLV_ID_DDR_GRF FW_SLV_ID(FW_SLV_TYPE_CENTER, 3) 324*036935a8SXiaoDong Huang #define FW_SLV_ID_DDRCTL0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 4) 325*036935a8SXiaoDong Huang #define FW_SLV_ID_DDRCTL_1 FW_SLV_ID(FW_SLV_TYPE_CENTER, 5) 326*036935a8SXiaoDong Huang #define FW_SLV_ID_DDRPHY0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 6) 327*036935a8SXiaoDong Huang #define FW_SLV_ID_DDR0_CRU FW_SLV_ID(FW_SLV_TYPE_CENTER, 7) 328*036935a8SXiaoDong Huang #define FW_SLV_ID_DDRPHY1 FW_SLV_ID(FW_SLV_TYPE_CENTER, 8) 329*036935a8SXiaoDong Huang #define FW_SLV_ID_DDR1_CRU FW_SLV_ID(FW_SLV_TYPE_CENTER, 9) 330*036935a8SXiaoDong Huang #define FW_SLV_ID_DDRMON0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 10) 331*036935a8SXiaoDong Huang #define FW_SLV_ID_DDRMON1 FW_SLV_ID(FW_SLV_TYPE_CENTER, 11) 332*036935a8SXiaoDong Huang #define FW_SLV_ID_HWLP0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 12) 333*036935a8SXiaoDong Huang #define FW_SLV_ID_HWLP1 FW_SLV_ID(FW_SLV_TYPE_CENTER, 13) 334*036935a8SXiaoDong Huang #define FW_SLV_ID_DDR_PVTPLL FW_SLV_ID(FW_SLV_TYPE_CENTER, 14) 335*036935a8SXiaoDong Huang #define FW_SLV_ID_DDR_WDT FW_SLV_ID(FW_SLV_TYPE_CENTER, 15) 336*036935a8SXiaoDong Huang #define FW_SLV_ID_RKVDEC FW_SLV_ID(FW_SLV_TYPE_CENTER, 16) 337*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_CCI2 FW_SLV_ID(FW_SLV_TYPE_CENTER, 17) 338*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_CENTER FW_SLV_ID(FW_SLV_TYPE_CENTER, 18) 339*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_DDR FW_SLV_ID(FW_SLV_TYPE_CENTER, 19) 340*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_RKVDEC FW_SLV_ID(FW_SLV_TYPE_CENTER, 20) 341*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_USB FW_SLV_ID(FW_SLV_TYPE_CENTER, 21) 342*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_VO0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 22) 343*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_VO1 FW_SLV_ID(FW_SLV_TYPE_CENTER, 23) 344*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_VOP FW_SLV_ID(FW_SLV_TYPE_CENTER, 24) 345*036935a8SXiaoDong Huang #define FW_SLV_ID_UFS_APBS FW_SLV_ID(FW_SLV_TYPE_CENTER, 25) 346*036935a8SXiaoDong Huang #define FW_SLV_ID_UFS_AXIS FW_SLV_ID(FW_SLV_TYPE_CENTER, 26) 347*036935a8SXiaoDong Huang #define FW_SLV_ID_USB0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 27) 348*036935a8SXiaoDong Huang #define FW_SLV_ID_MMU2 FW_SLV_ID(FW_SLV_TYPE_CENTER, 28) 349*036935a8SXiaoDong Huang #define FW_SLV_ID_USB_GRF FW_SLV_ID(FW_SLV_TYPE_CENTER, 29) 350*036935a8SXiaoDong Huang #define FW_SLV_ID_HDCP0_MMU FW_SLV_ID(FW_SLV_TYPE_CENTER, 30) 351*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI5_8CH FW_SLV_ID(FW_SLV_TYPE_CENTER, 31) 352*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI6_8CH FW_SLV_ID(FW_SLV_TYPE_CENTER, 32) 353*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_RX2 FW_SLV_ID(FW_SLV_TYPE_CENTER, 33) 354*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_TX2 FW_SLV_ID(FW_SLV_TYPE_CENTER, 34) 355*036935a8SXiaoDong Huang #define FW_SLV_ID_HDCP0_KEY FW_SLV_ID(FW_SLV_TYPE_CENTER, 35) 356*036935a8SXiaoDong Huang #define FW_SLV_ID_DSIHOST FW_SLV_ID(FW_SLV_TYPE_CENTER, 36) 357*036935a8SXiaoDong Huang #define FW_SLV_ID_EDP0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 37) 358*036935a8SXiaoDong Huang #define FW_SLV_ID_HDCP0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 38) 359*036935a8SXiaoDong Huang #define FW_SLV_ID_HDCP0_TRNG FW_SLV_ID(FW_SLV_TYPE_CENTER, 39) 360*036935a8SXiaoDong Huang #define FW_SLV_ID_HDMITX FW_SLV_ID(FW_SLV_TYPE_CENTER, 40) 361*036935a8SXiaoDong Huang #define FW_SLV_ID_VO0_GRF FW_SLV_ID(FW_SLV_TYPE_CENTER, 41) 362*036935a8SXiaoDong Huang #define FW_SLV_ID_EDP0_S FW_SLV_ID(FW_SLV_TYPE_CENTER, 42) 363*036935a8SXiaoDong Huang #define FW_SLV_ID_HDCP1_MMU FW_SLV_ID(FW_SLV_TYPE_CENTER, 43) 364*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI7_8CH FW_SLV_ID(FW_SLV_TYPE_CENTER, 44) 365*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_TX3 FW_SLV_ID(FW_SLV_TYPE_CENTER, 45) 366*036935a8SXiaoDong Huang #define FW_SLV_ID_HDCP1_KEY FW_SLV_ID(FW_SLV_TYPE_CENTER, 46) 367*036935a8SXiaoDong Huang #define FW_SLV_ID_DP FW_SLV_ID(FW_SLV_TYPE_CENTER, 47) 368*036935a8SXiaoDong Huang #define FW_SLV_ID_HDCP1 FW_SLV_ID(FW_SLV_TYPE_CENTER, 48) 369*036935a8SXiaoDong Huang #define FW_SLV_ID_HDCP1_TRNG FW_SLV_ID(FW_SLV_TYPE_CENTER, 49) 370*036935a8SXiaoDong Huang #define FW_SLV_ID_VO1_GRF FW_SLV_ID(FW_SLV_TYPE_CENTER, 50) 371*036935a8SXiaoDong Huang #define FW_SLV_ID_VOP_GRF FW_SLV_ID(FW_SLV_TYPE_CENTER, 52) 372*036935a8SXiaoDong Huang #define FW_SLV_ID_UFS_GRF FW_SLV_ID(FW_SLV_TYPE_CENTER, 53) 373*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_TX4 FW_SLV_ID(FW_SLV_TYPE_CENTER, 54) 374*036935a8SXiaoDong Huang #define FW_SLV_ID_SPDIF_TX5 FW_SLV_ID(FW_SLV_TYPE_CENTER, 55) 375*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI8_8CH FW_SLV_ID(FW_SLV_TYPE_CENTER, 56) 376*036935a8SXiaoDong Huang #define FW_SLV_ID_SAI9_8CH FW_SLV_ID(FW_SLV_TYPE_CENTER, 57) 377*036935a8SXiaoDong Huang #define FW_SLV_ID_DDR_TIMER_CH0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 58) 378*036935a8SXiaoDong Huang #define FW_SLV_ID_DDR_TIMER_CH1 FW_SLV_ID(FW_SLV_TYPE_CENTER, 59) 379*036935a8SXiaoDong Huang #define FW_SLV_ID_VOP_RGN0 FW_SLV_ID(FW_SLV_TYPE_CENTER, 60) 380*036935a8SXiaoDong Huang #define FW_SLV_ID_VOP_RGN1 FW_SLV_ID(FW_SLV_TYPE_CENTER, 61) 381*036935a8SXiaoDong Huang #define FW_SLV_ID_VOP_RGN2 FW_SLV_ID(FW_SLV_TYPE_CENTER, 62) 382*036935a8SXiaoDong Huang #define FW_SLV_ID_VOP_RGN3 FW_SLV_ID(FW_SLV_TYPE_CENTER, 63) 383*036935a8SXiaoDong Huang #define FW_SLV_ID_VOP_OTHERS FW_SLV_ID(FW_SLV_TYPE_CENTER, 64) 384*036935a8SXiaoDong Huang #define FW_SLV_ID_CENTER_CNT 65 385*036935a8SXiaoDong Huang 386*036935a8SXiaoDong Huang #define FW_SLV_ID_BIGCORE_CRU FW_SLV_ID(FW_SLV_TYPE_CCI, 0) 387*036935a8SXiaoDong Huang #define FW_SLV_ID_BIGCORE_GRF FW_SLV_ID(FW_SLV_TYPE_CCI, 1) 388*036935a8SXiaoDong Huang #define FW_SLV_ID_CCI FW_SLV_ID(FW_SLV_TYPE_CCI, 2) 389*036935a8SXiaoDong Huang #define FW_SLV_ID_CCI_CRU FW_SLV_ID(FW_SLV_TYPE_CCI, 3) 390*036935a8SXiaoDong Huang #define FW_SLV_ID_CCI_PVTPLL FW_SLV_ID(FW_SLV_TYPE_CCI, 4) 391*036935a8SXiaoDong Huang #define FW_SLV_ID_CCI_GRF FW_SLV_ID(FW_SLV_TYPE_CCI, 5) 392*036935a8SXiaoDong Huang #define FW_SLV_ID_DAP_LITE_A53 FW_SLV_ID(FW_SLV_TYPE_CCI, 6) 393*036935a8SXiaoDong Huang #define FW_SLV_ID_DAP_LITE_A72 FW_SLV_ID(FW_SLV_TYPE_CCI, 7) 394*036935a8SXiaoDong Huang #define FW_SLV_ID_LITCORE_GRF FW_SLV_ID(FW_SLV_TYPE_CCI, 8) 395*036935a8SXiaoDong Huang #define FW_SLV_ID_LITCORE_CRU FW_SLV_ID(FW_SLV_TYPE_CCI, 9) 396*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_CCI FW_SLV_ID(FW_SLV_TYPE_CCI, 10) 397*036935a8SXiaoDong Huang #define FW_SLV_ID_BIGCORE_PVTPLL FW_SLV_ID(FW_SLV_TYPE_CCI, 11) 398*036935a8SXiaoDong Huang #define FW_SLV_ID_LITCORE_PVTPLL FW_SLV_ID(FW_SLV_TYPE_CCI, 12) 399*036935a8SXiaoDong Huang #define FW_SLV_ID_CCI_CNT 15 400*036935a8SXiaoDong Huang 401*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE0_DBI FW_SLV_ID(FW_SLV_TYPE_PHP, 0) 402*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE0_DBI_L FW_SLV_ID(FW_SLV_TYPE_PHP, 1) 403*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE0_S FW_SLV_ID(FW_SLV_TYPE_PHP, 2) 404*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE0_S_L FW_SLV_ID(FW_SLV_TYPE_PHP, 3) 405*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE1_DBI FW_SLV_ID(FW_SLV_TYPE_PHP, 4) 406*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE1_DBI_L FW_SLV_ID(FW_SLV_TYPE_PHP, 5) 407*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE1_S FW_SLV_ID(FW_SLV_TYPE_PHP, 6) 408*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE1_S_L FW_SLV_ID(FW_SLV_TYPE_PHP, 7) 409*036935a8SXiaoDong Huang #define FW_SLV_ID_USB1 FW_SLV_ID(FW_SLV_TYPE_PHP, 8) 410*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE0_APB FW_SLV_ID(FW_SLV_TYPE_PHP, 9) 411*036935a8SXiaoDong Huang #define FW_SLV_ID_PCIE1_APB FW_SLV_ID(FW_SLV_TYPE_PHP, 10) 412*036935a8SXiaoDong Huang #define FW_SLV_ID_PHP_GRF FW_SLV_ID(FW_SLV_TYPE_PHP, 11) 413*036935a8SXiaoDong Huang #define FW_SLV_ID_SATA0 FW_SLV_ID(FW_SLV_TYPE_PHP, 12) 414*036935a8SXiaoDong Huang #define FW_SLV_ID_SATA1 FW_SLV_ID(FW_SLV_TYPE_PHP, 13) 415*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_PHP FW_SLV_ID(FW_SLV_TYPE_PHP, 14) 416*036935a8SXiaoDong Huang #define FW_SLV_ID_MMU0 FW_SLV_ID(FW_SLV_TYPE_PHP, 15) 417*036935a8SXiaoDong Huang #define FW_SLV_ID_MMU1 FW_SLV_ID(FW_SLV_TYPE_PHP, 16) 418*036935a8SXiaoDong Huang #define FW_SLV_ID_PHP_CNT 20 419*036935a8SXiaoDong Huang 420*036935a8SXiaoDong Huang #define FW_SLV_ID_GPU_GRF FW_SLV_ID(FW_SLV_TYPE_GPU, 0) 421*036935a8SXiaoDong Huang #define FW_SLV_ID_GPU FW_SLV_ID(FW_SLV_TYPE_GPU, 1) 422*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_GPU FW_SLV_ID(FW_SLV_TYPE_GPU, 2) 423*036935a8SXiaoDong Huang #define FW_SLV_ID_GPU_PVTPLL FW_SLV_ID(FW_SLV_TYPE_GPU, 3) 424*036935a8SXiaoDong Huang #define FW_SLV_ID_GPU_CNT 5 425*036935a8SXiaoDong Huang 426*036935a8SXiaoDong Huang #define FW_SLV_ID_RKNN_TOP FW_SLV_ID(FW_SLV_TYPE_NPU, 0) 427*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_NPU0 FW_SLV_ID(FW_SLV_TYPE_NPU, 1) 428*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_NPU1 FW_SLV_ID(FW_SLV_TYPE_NPU, 2) 429*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_NPUSUBSYS FW_SLV_ID(FW_SLV_TYPE_NPU, 3) 430*036935a8SXiaoDong Huang #define FW_SLV_ID_RKNN_NSP FW_SLV_ID(FW_SLV_TYPE_NPU, 4) 431*036935a8SXiaoDong Huang #define FW_SLV_ID_NPU_GRF FW_SLV_ID(FW_SLV_TYPE_NPU, 5) 432*036935a8SXiaoDong Huang #define FW_SLV_ID_NPU_PVTPLL FW_SLV_ID(FW_SLV_TYPE_NPU, 6) 433*036935a8SXiaoDong Huang #define FW_SLV_ID_NPU_WDT FW_SLV_ID(FW_SLV_TYPE_NPU, 7) 434*036935a8SXiaoDong Huang #define FW_SLV_ID_NPU_TIMER_CH0 FW_SLV_ID(FW_SLV_TYPE_NPU, 8) 435*036935a8SXiaoDong Huang #define FW_SLV_ID_NPU_TIMER_CH1 FW_SLV_ID(FW_SLV_TYPE_NPU, 9) 436*036935a8SXiaoDong Huang #define FW_SLV_ID_NPU_CNT 10 437*036935a8SXiaoDong Huang 438*036935a8SXiaoDong Huang #define FW_SLV_ID_PDM0 FW_SLV_ID(FW_SLV_TYPE_PMU, 0) 439*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU_MEM FW_SLV_ID(FW_SLV_TYPE_PMU, 1) 440*036935a8SXiaoDong Huang #define FW_SLV_ID_CSIDPHY_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 2) 441*036935a8SXiaoDong Huang #define FW_SLV_ID_VDMA FW_SLV_ID(FW_SLV_TYPE_PMU, 3) 442*036935a8SXiaoDong Huang #define FW_SLV_ID_HDPTXPHY FW_SLV_ID(FW_SLV_TYPE_PMU, 4) 443*036935a8SXiaoDong Huang #define FW_SLV_ID_HDPTXPHY0_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 5) 444*036935a8SXiaoDong Huang #define FW_SLV_ID_I2C0 FW_SLV_ID(FW_SLV_TYPE_PMU, 6) 445*036935a8SXiaoDong Huang #define FW_SLV_ID_DCPHY FW_SLV_ID(FW_SLV_TYPE_PMU, 7) 446*036935a8SXiaoDong Huang #define FW_SLV_ID_CSIDPHY0 FW_SLV_ID(FW_SLV_TYPE_PMU, 8) 447*036935a8SXiaoDong Huang #define FW_SLV_ID_DCPHY_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 9) 448*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU0 FW_SLV_ID(FW_SLV_TYPE_PMU, 10) 449*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU0_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 11) 450*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU0_IOC FW_SLV_ID(FW_SLV_TYPE_PMU, 12) 451*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU1 FW_SLV_ID(FW_SLV_TYPE_PMU, 13) 452*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU1_CRU FW_SLV_ID(FW_SLV_TYPE_PMU, 14) 453*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU1_CRU_S FW_SLV_ID(FW_SLV_TYPE_PMU, 15) 454*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU1_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 16) 455*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU1_IOC FW_SLV_ID(FW_SLV_TYPE_PMU, 17) 456*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM0_CH0 FW_SLV_ID(FW_SLV_TYPE_PMU, 18) 457*036935a8SXiaoDong Huang #define FW_SLV_ID_PWM0_CH1 FW_SLV_ID(FW_SLV_TYPE_PMU, 19) 458*036935a8SXiaoDong Huang #define FW_SLV_ID_UART1 FW_SLV_ID(FW_SLV_TYPE_PMU, 20) 459*036935a8SXiaoDong Huang #define FW_SLV_ID_MPHY_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 21) 460*036935a8SXiaoDong Huang #define FW_SLV_ID_MPHY FW_SLV_ID(FW_SLV_TYPE_PMU, 22) 461*036935a8SXiaoDong Huang #define FW_SLV_ID_USB2PHY0_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 23) 462*036935a8SXiaoDong Huang #define FW_SLV_ID_USB2PHY1_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 24) 463*036935a8SXiaoDong Huang #define FW_SLV_ID_USBDPPHY FW_SLV_ID(FW_SLV_TYPE_PMU, 25) 464*036935a8SXiaoDong Huang #define FW_SLV_ID_USBDPPHY_GRF FW_SLV_ID(FW_SLV_TYPE_PMU, 26) 465*036935a8SXiaoDong Huang #define FW_SLV_ID_VCCIO6_IOC FW_SLV_ID(FW_SLV_TYPE_PMU, 27) 466*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU_WDT FW_SLV_ID(FW_SLV_TYPE_PMU, 28) 467*036935a8SXiaoDong Huang #define FW_SLV_ID_HPTIMER FW_SLV_ID(FW_SLV_TYPE_PMU, 29) 468*036935a8SXiaoDong Huang #define FW_SLV_ID_OSC_CHK FW_SLV_ID(FW_SLV_TYPE_PMU, 30) 469*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU0_SGRF FW_SLV_ID(FW_SLV_TYPE_PMU, 31) 470*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU1_SGRF FW_SLV_ID(FW_SLV_TYPE_PMU, 32) 471*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU_PVTM FW_SLV_ID(FW_SLV_TYPE_PMU, 33) 472*036935a8SXiaoDong Huang #define FW_SLV_ID_SCRAMBLE_KEY FW_SLV_ID(FW_SLV_TYPE_PMU, 34) 473*036935a8SXiaoDong Huang #define FW_SLV_ID_SERVICE_PMU FW_SLV_ID(FW_SLV_TYPE_PMU, 35) 474*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU_SRAM_REMAP FW_SLV_ID(FW_SLV_TYPE_PMU, 36) 475*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU_TIMER_CH0 FW_SLV_ID(FW_SLV_TYPE_PMU, 37) 476*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU_TIMER_CH1 FW_SLV_ID(FW_SLV_TYPE_PMU, 38) 477*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO0_CH0 FW_SLV_ID(FW_SLV_TYPE_PMU, 39) 478*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO0_CH1 FW_SLV_ID(FW_SLV_TYPE_PMU, 40) 479*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO0_CH2 FW_SLV_ID(FW_SLV_TYPE_PMU, 41) 480*036935a8SXiaoDong Huang #define FW_SLV_ID_GPIO0_CH3 FW_SLV_ID(FW_SLV_TYPE_PMU, 42) 481*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU_FW FW_SLV_ID(FW_SLV_TYPE_PMU, 43) 482*036935a8SXiaoDong Huang #define FW_SLV_ID_PMU_CNT 45 483*036935a8SXiaoDong Huang 484*036935a8SXiaoDong Huang #define PLAT_MAX_DDR_CAPACITY_MB 0x8000 /* for 32Gb */ 485*036935a8SXiaoDong Huang #define RG_MAP_SECURE(top, base) \ 486*036935a8SXiaoDong Huang (((((top) - 1) & 0x7fff) << 16) | ((base) & 0x7fff)) 487*036935a8SXiaoDong Huang #define RG_MAP_SRAM_SECURE(top_kb, base_kb) \ 488*036935a8SXiaoDong Huang (((((top_kb) / 4 - 1) & 0xff) << 8) | ((base_kb) / 4 & 0xff)) 489*036935a8SXiaoDong Huang #define RG_MAP_CBUF_SECURE(top_kb, base_kb) \ 490*036935a8SXiaoDong Huang (((((top_kb) / 4 - 1) & 0xff) << 8) | ((base_kb) / 4 & 0xff)) 491*036935a8SXiaoDong Huang 492*036935a8SXiaoDong Huang #define FW_UPDATE_WAIT_LOOP 500000 493*036935a8SXiaoDong Huang 494*036935a8SXiaoDong Huang __pmusramfunc void pmusram_fw_update_msk(uint32_t msk); 495*036935a8SXiaoDong Huang __pmusramfunc void pmusram_all_fw_bypass(void); 496*036935a8SXiaoDong Huang 497*036935a8SXiaoDong Huang void fw_init(void); 498*036935a8SXiaoDong Huang 499*036935a8SXiaoDong Huang #endif /* __FIREWALL_H__ */ 500