1bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi /* 2*7931d332SJit Loon Lim * Copyright (c) 2020-2023, Intel Corporation. All rights reserved. 3bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi * 4bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi * SPDX-License-Identifier: BSD-3-Clause 5bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi */ 6bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 7bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #ifndef SOCFPGA_NOC_H 8bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_H 9bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 10bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi /* Macros */ 11afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi #define SCR_AXI_AP_MASK BIT(24) 12afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi #define SCR_FPGA2SOC_MASK BIT(16) 13afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi #define SCR_MPU_MASK BIT(0) 14afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi #define DISABLE_L4_FIREWALL (SCR_AXI_AP_MASK | SCR_FPGA2SOC_MASK \ 15afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi | SCR_MPU_MASK) 16afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi #define DISABLE_BRIDGE_FIREWALL 0x0ffe0101 17afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi 18bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_CCU_NOC(_ctrl, _dev) (SOCFPGA_CCU_NOC_REG_BASE \ 19bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi + (SOCFPGA_CCU_NOC_##_ctrl##_##_dev)) 20bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 21bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_L4_PER_SCR(_reg) (SOCFPGA_L4_PER_SCR_REG_BASE \ 22bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi + (SOCFPGA_NOC_FW_L4_PER_SCR_##_reg)) 23bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 24bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_L4_SYS_SCR(_reg) (SOCFPGA_L4_SYS_SCR_REG_BASE \ 25bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi + (SOCFPGA_NOC_FW_L4_SYS_SCR_##_reg)) 26bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 27bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi /* L3 Interconnect Register Map */ 28bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_NAND_REGISTER 0x0000 29bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_NAND_DATA 0x0004 30bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_USB0_REGISTER 0x000c 31bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_USB1_REGISTER 0x0010 32bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_SPI_MASTER0 0x001c 33bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_SPI_MASTER1 0x0020 34bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_SPI_SLAVE0 0x0024 35bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_SPI_SLAVE1 0x0028 36bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_EMAC0 0x002c 37bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_EMAC1 0x0030 38bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_EMAC2 0x0034 39bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_SDMMC 0x0040 40bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_GPIO0 0x0044 41bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_GPIO1 0x0048 42bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_I2C0 0x0050 43bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_I2C1 0x0054 44bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_I2C2 0x0058 45bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_I2C3 0x005c 46bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_I2C4 0x0060 47bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_SP_TIMER0 0x0064 48bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_SP_TIMER1 0x0068 49bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_UART0 0x006c 50bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_PER_SCR_UART1 0x0070 51bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 52bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_DMA_ECC 0x0008 53bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_EMAC0RX_ECC 0x000c 54bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_EMAC0TX_ECC 0x0010 55bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_EMAC1RX_ECC 0x0014 56bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_EMAC1TX_ECC 0x0018 57bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_EMAC2RX_ECC 0x001c 58bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_EMAC2TX_ECC 0x0020 59bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_NAND_ECC 0x002c 60bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_NAND_READ_ECC 0x0030 61bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_NAND_WRITE_ECC 0x0034 62bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_OCRAM_ECC 0x0038 63bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_SDMMC_ECC 0x0040 64bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_USB0_ECC 0x0044 65bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_USB1_ECC 0x0048 66bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_CLK_MGR 0x004c 67bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_IO_MGR 0x0054 68bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_RST_MGR 0x0058 69bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_SYS_MGR 0x005c 70bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_OSC0_TIMER 0x0060 71bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_OSC1_TIMER 0x0064 72bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_WATCHDOG0 0x0068 73bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_WATCHDOG1 0x006c 74bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_WATCHDOG2 0x0070 75bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_WATCHDOG3 0x0074 76bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_DAP 0x0078 77*7931d332SJit Loon Lim #define SOCFPGA_NOC_FW_L4_SYS_SCR_WATCHDOG4 0x007c 78*7931d332SJit Loon Lim #define SOCFPGA_NOC_FW_L4_SYS_SCR_PWRMGR 0x0080 79*7931d332SJit Loon Lim #define SOCFPGA_NOC_FW_L4_SYS_SCR_USB1_RXECC 0x0084 80*7931d332SJit Loon Lim #define SOCFPGA_NOC_FW_L4_SYS_SCR_USB1_TXECC 0x0088 81bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_L4_NOC_PROBES 0x0090 82bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_NOC_FW_L4_SYS_SCR_L4_NOC_QOS 0x0094 83bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 84bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi /* CCU NOC Register Map */ 85bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 86bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_CCU_NOC_CPU0_RAM0 0x04688 87bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_CCU_NOC_IOM_RAM0 0x18628 88bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 89bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_CCU_NOC_ADMASK_P_MASK BIT(0) 90bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi #define SOCFPGA_CCU_NOC_ADMASK_NS_MASK BIT(1) 91bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 92afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi /* Function Definitions */ 93bc1a573dSAbdul Halim, Muhammad Hadi Asyrafi 94afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi void enable_ns_peripheral_access(void); 95afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi void enable_ns_bridge_access(void); 96afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi void enable_ns_ocram_access(void); 97ae19fef3SAbdul Halim, Muhammad Hadi Asyrafi void enable_ocram_firewall(void); 98afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi 99afa0b1a8SAbdul Halim, Muhammad Hadi Asyrafi #endif 100