xref: /rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_noc.h (revision 3393060cfd1e4c6f3ab2e914a0e0787c2a81c37b)
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