10 * ---------------------------------------------------------------------------
11 * FEA00000 10000000 1M
12 * FEB00000 10100000 1M
13 * FEC00000 10200000 176K
14 * 10300000 1M Peri AXI BUS
15 * FEC80000 10500000 16K NANDC
16 * FECE0000 1FFE0000 128K CPU Debug
17 * FED00000 20000000 640K
18 * FEF00000 10080000/0 64K SRAM
21 #define RK30_IO_TO_VIRT0(pa) IOMEM(pa + (0xFEA00000 - 0x10000000))
22 #define RK30_IO_TO_VIRT1(pa) IOMEM(pa + (0xFED00000 - 0x20000000))
24 #define RK30_L2MEM_PHYS 0x10000000
25 #define RK30_L2MEM_SIZE SZ_512K
26 #define RK30_IMEM_PHYS 0x10080000
27 #define RK30_IMEM_BASE IOMEM(0xFEF00000)
28 #define RK30_IMEM_NONCACHED RK30_IO_TO_VIRT0(RK30_IMEM_PHYS)
29 #define RK30_IMEM_SIZE SZ_64K
30 #define RK30_GPU_PHYS 0x10090000
31 #define RK30_GPU_SIZE SZ_64K
33 #define RK30_ROM_PHYS 0x10100000
34 #define RK30_ROM_SIZE SZ_16K
35 #define RK30_VCODEC_PHYS 0x10104000
36 #define RK30_VCODEC_SIZE SZ_16K
37 #define RK30_CIF0_PHYS 0x10108000
38 #define RK30_CIF0_SIZE SZ_8K
39 #define RK30_CIF1_PHYS 0x1010a000
40 #define RK30_CIF1_SIZE SZ_8K
41 #define RK30_LCDC0_PHYS 0x1010c000
42 #define RK30_LCDC0_SIZE SZ_8K
43 #define RK30_LCDC1_PHYS 0x1010e000
44 #define RK30_LCDC1_SIZE SZ_8K
45 #define RK30_IPP_PHYS 0x10110000
46 #define RK30_IPP_SIZE SZ_16K
47 #define RK30_RGA_PHYS 0x10114000
48 #define RK30_RGA_SIZE SZ_8K
49 #define RK30_HDMI_PHYS 0x10116000
50 #define RK30_HDMI_SIZE SZ_8K
51 #define RK30_I2S0_8CH_PHYS 0x10118000
52 #define RK30_I2S0_8CH_SIZE SZ_8K
53 #define RK30_I2S1_2CH_PHYS 0x1011a000
54 #define RK30_I2S1_2CH_SIZE SZ_8K
55 #define RK30_I2S2_2CH_PHYS 0x1011c000
56 #define RK30_I2S2_2CH_SIZE SZ_8K
57 #define RK30_SPDIF_PHYS 0x1011e000
58 #define RK30_SPDIF_SIZE SZ_8K
60 #define RK30_UART0_PHYS 0x10124000
61 #define RK30_UART0_BASE RK30_IO_TO_VIRT0(RK30_UART0_PHYS)
62 #define RK30_UART0_SIZE SZ_8K
63 #define RK30_UART1_PHYS 0x10126000
64 #define RK30_UART1_BASE RK30_IO_TO_VIRT0(RK30_UART1_PHYS)
65 #define RK30_UART1_SIZE SZ_8K
66 #define RK30_CPU_AXI_BUS_PHYS 0x10128000
67 #define RK30_CPU_AXI_BUS_BASE RK30_IO_TO_VIRT0(RK30_CPU_AXI_BUS_PHYS)
68 #define RK30_CPU_AXI_BUS_SIZE SZ_32K
70 #define RK30_L2C_PHYS 0x10138000
71 #define RK30_L2C_BASE RK30_IO_TO_VIRT0(RK30_L2C_PHYS)
72 #define RK30_L2C_SIZE SZ_16K
73 #define RK30_SCU_PHYS 0x1013c000
74 #define RK30_SCU_BASE RK30_IO_TO_VIRT0(RK30_SCU_PHYS)
75 #define RK30_SCU_SIZE SZ_256
76 #define RK30_GICC_PHYS 0x1013c100
77 #define RK30_GICC_BASE RK30_IO_TO_VIRT0(RK30_GICC_PHYS)
78 #define RK30_GICC_SIZE SZ_256
79 #define RK30_GTIMER_PHYS 0x1013c200
80 #define RK30_GTIMER_BASE RK30_IO_TO_VIRT0(RK30_GTIMER_PHYS)
81 #define RK30_GTIMER_SIZE SZ_1K
82 #define RK30_PTIMER_PHYS 0x1013c600
83 #define RK30_PTIMER_BASE RK30_IO_TO_VIRT0(RK30_PTIMER_PHYS)
84 #define RK30_PTIMER_SIZE (SZ_2K + SZ_512)
85 #define RK30_GICD_PHYS 0x1013d000
86 #define RK30_GICD_BASE RK30_IO_TO_VIRT0(RK30_GICD_PHYS)
87 #define RK30_GICD_SIZE SZ_2K
89 #define RK30_CORE_PHYS RK30_L2C_PHYS
90 #define RK30_CORE_BASE RK30_IO_TO_VIRT0(RK30_CORE_PHYS)
91 #define RK30_CORE_SIZE (RK30_L2C_SIZE + SZ_8K)
93 #define RK30_USBHOST11_PHYS 0x10140000
94 #define RK30_USBHOST11_SIZE SZ_256K
95 #define RK30_USBOTG20_PHYS 0x10180000
96 #define RK30_USBOTG20_SIZE SZ_256K
97 #define RK30_USBHOST20_PHYS 0x101c0000
98 #define RK30_USBHOST20_SIZE SZ_256K
100 #define RK30_MAC_PHYS 0x10204000
101 #define RK30_MAC_SIZE SZ_16K
103 #define RK30_HSADC_PHYS 0x10210000
104 #define RK30_HSADC_SIZE SZ_16K
105 #define RK30_SDMMC0_PHYS 0x10214000
106 #define RK30_SDMMC0_SIZE SZ_16K
107 #define RK30_SDIO_PHYS 0x10218000
108 #define RK30_SDIO_SIZE SZ_16K
109 #define RK30_EMMC_PHYS 0x1021c000
110 #define RK30_EMMC_SIZE SZ_16K
111 #define RK30_PIDF_PHYS 0x10220000
112 #define RK30_PIDF_SIZE SZ_16K
114 #define RK30_PERI_AXI_BUS_PHYS 0x10300000
115 #define RK30_PERI_AXI_BUS_SIZE SZ_1M
117 #define RK30_NANDC_PHYS 0x10500000
118 #define RK30_NANDC_SIZE SZ_16K
120 #define RK30_SMC_BANK0_PHYS 0x11000000
121 #define RK30_SMC_BANK0_SIZE SZ_16M
122 #define RK30_SMC_BANK1_PHYS 0x12000000
123 #define RK30_SMC_BANK1_SIZE SZ_16M
125 #define RK30_CPU_DEBUG_PHYS 0x1FFE0000
126 #define RK30_CPU_DEBUG_SIZE SZ_128K
127 #define RK30_CRU_PHYS 0x20000000
128 #define RK30_CRU_BASE RK30_IO_TO_VIRT1(RK30_CRU_PHYS)
129 #define RK30_CRU_SIZE SZ_16K
130 #define RK30_PMU_PHYS 0x20004000
131 #define RK30_PMU_BASE RK30_IO_TO_VIRT1(RK30_PMU_PHYS)
132 #define RK30_PMU_SIZE SZ_16K
133 #define RK30_GRF_PHYS 0x20008000
134 #define RK30_GRF_BASE RK30_IO_TO_VIRT1(RK30_GRF_PHYS)
135 #define RK30_GRF_SIZE SZ_8K
136 #define RK30_GPIO6_PHYS 0x2000a000
137 #define RK30_GPIO6_BASE RK30_IO_TO_VIRT1(RK30_GPIO6_PHYS)
138 #define RK30_GPIO6_SIZE SZ_8K
140 #define RK30_TIMER2_PHYS 0x2000e000
141 #define RK30_TIMER2_BASE RK30_IO_TO_VIRT1(RK30_TIMER2_PHYS)
142 #define RK30_TIMER2_SIZE SZ_8K
143 #define RK30_EFUSE_PHYS 0x20010000
144 #define RK30_EFUSE_SIZE SZ_16K
145 #define RK30_TZPC_PHYS 0x20014000
146 #define RK30_TZPC_SIZE SZ_16K
147 #define RK30_DMACS1_PHYS 0x20018000
148 #define RK30_DMACS1_SIZE SZ_16K
149 #define RK30_DMAC1_PHYS 0x2001c000
150 #define RK30_DMAC1_SIZE SZ_16K
151 #define RK30_DDR_PCTL_PHYS 0x20020000
152 #define RK30_DDR_PCTL_BASE RK30_IO_TO_VIRT1(RK30_DDR_PCTL_PHYS)
153 #define RK30_DDR_PCTL_SIZE SZ_16K
155 #define RK30_I2C0_PHYS 0x2002c000
156 #define RK30_I2C0_SIZE SZ_8K
157 #define RK30_I2C1_PHYS 0x2002e000
158 #define RK30_I2C1_SIZE SZ_8K
159 #define RK30_PWM01_PHYS 0x20030000
160 #define RK30_PWM01_BASE RK30_IO_TO_VIRT1(RK30_PWM01_PHYS)
161 #define RK30_PWM01_SIZE SZ_16K
162 #define RK30_GPIO0_PHYS 0x20034000
163 #define RK30_GPIO0_BASE RK30_IO_TO_VIRT1(RK30_GPIO0_PHYS)
164 #define RK30_GPIO0_SIZE SZ_16K
165 #define RK30_TIMER0_PHYS 0x20038000
166 #define RK30_TIMER0_BASE RK30_IO_TO_VIRT1(RK30_TIMER0_PHYS)
167 #define RK30_TIMER0_SIZE SZ_8K
168 #define RK30_TIMER1_PHYS 0x2003a000
169 #define RK30_TIMER1_BASE RK30_IO_TO_VIRT1(RK30_TIMER1_PHYS)
170 #define RK30_TIMER1_SIZE SZ_8K
171 #define RK30_GPIO1_PHYS 0x2003c000
172 #define RK30_GPIO1_BASE RK30_IO_TO_VIRT1(RK30_GPIO1_PHYS)
173 #define RK30_GPIO1_SIZE SZ_8K
174 #define RK30_GPIO2_PHYS 0x2003e000
175 #define RK30_GPIO2_BASE RK30_IO_TO_VIRT1(RK30_GPIO2_PHYS)
176 #define RK30_GPIO2_SIZE SZ_8K
177 #define RK30_DDR_PUBL_PHYS 0x20040000
178 #define RK30_DDR_PUBL_BASE RK30_IO_TO_VIRT1(RK30_DDR_PUBL_PHYS)
179 #define RK30_DDR_PUBL_SIZE SZ_16K
181 #define RK30_WDT_PHYS 0x2004c000
182 #define RK30_WDT_SIZE SZ_16K
183 #define RK30_PWM23_PHYS 0x20050000
184 #define RK30_PWM23_BASE RK30_IO_TO_VIRT1(RK30_PWM23_PHYS)
185 #define RK30_PWM23_SIZE SZ_16K
186 #define RK30_I2C2_PHYS 0x20054000
187 #define RK30_I2C2_SIZE SZ_16K
188 #define RK30_I2C3_PHYS 0x20058000
189 #define RK30_I2C3_SIZE SZ_16K
190 #define RK30_I2C4_PHYS 0x2005c000
191 #define RK30_I2C4_SIZE SZ_16K
192 #define RK30_TSADC_PHYS 0x20060000
193 #define RK30_TSADC_SIZE SZ_16K
194 #define RK30_UART2_PHYS 0x20064000
195 #define RK30_UART2_BASE RK30_IO_TO_VIRT1(RK30_UART2_PHYS)
196 #define RK30_UART2_SIZE SZ_16K
197 #define RK30_UART3_PHYS 0x20068000
198 #define RK30_UART3_BASE RK30_IO_TO_VIRT1(RK30_UART3_PHYS)
199 #define RK30_UART3_SIZE SZ_16K
200 #define RK30_SARADC_PHYS 0x2006c000
201 #define RK30_SARADC_SIZE SZ_16K
202 #define RK30_SPI0_PHYS 0x20070000
203 #define RK30_SPI0_SIZE SZ_16K
204 #define RK30_SPI1_PHYS 0x20074000
205 #define RK30_SPI1_SIZE SZ_16K
206 #define RK30_DMAC2_PHYS 0x20078000
207 #define RK30_DMAC2_SIZE SZ_16K
208 #define RK30_SMC_PHYS 0x2007c000
209 #define RK30_SMC_SIZE SZ_16K
210 #define RK30_GPIO3_PHYS 0x20080000
211 #define RK30_GPIO3_BASE RK30_IO_TO_VIRT1(RK30_GPIO3_PHYS)
212 #define RK30_GPIO3_SIZE SZ_16K
213 #define RK30_GPIO4_PHYS 0x20084000
214 #define RK30_GPIO4_BASE RK30_IO_TO_VIRT1(RK30_GPIO4_PHYS)
215 #define RK30_GPIO4_SIZE SZ_16K
217 #if CONFIG_RK_DEBUG_UART == 0
218 #define DEBUG_UART_PHYS RK30_UART0_PHYS
219 #define DEBUG_UART_BASE RK30_UART0_BASE
220 #elif CONFIG_RK_DEBUG_UART == 1
221 #define DEBUG_UART_PHYS RK30_UART1_PHYS
222 #define DEBUG_UART_BASE RK30_UART1_BASE
223 #elif CONFIG_RK_DEBUG_UART == 2
224 #define DEBUG_UART_PHYS RK30_UART2_PHYS
225 #define DEBUG_UART_BASE RK30_UART2_BASE
226 #elif CONFIG_RK_DEBUG_UART == 3
227 #define DEBUG_UART_PHYS RK30_UART3_PHYS
228 #define DEBUG_UART_BASE RK30_UART3_BASE
231 #define GIC_DIST_BASE RK30_GICD_BASE
232 #define GIC_CPU_BASE RK30_GICC_BASE