1
2
3
4
5
6
7
8
9
10 #ifndef __ASM_ARCH_MV78XX0_H
11 #define __ASM_ARCH_MV78XX0_H
12
13 #include "irqs.h"
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 #define MV78XX0_CORE0_REGS_PHYS_BASE 0xf1020000
43 #define MV78XX0_CORE1_REGS_PHYS_BASE 0xf1024000
44 #define MV78XX0_CORE_REGS_VIRT_BASE IOMEM(0xfe400000)
45 #define MV78XX0_CORE_REGS_PHYS_BASE 0xfe400000
46 #define MV78XX0_CORE_REGS_SIZE SZ_16K
47
48 #define MV78XX0_PCIE_IO_PHYS_BASE(i) (0xf0800000 + ((i) << 20))
49 #define MV78XX0_PCIE_IO_SIZE SZ_1M
50
51 #define MV78XX0_REGS_PHYS_BASE 0xf1000000
52 #define MV78XX0_REGS_VIRT_BASE IOMEM(0xfec00000)
53 #define MV78XX0_REGS_SIZE SZ_1M
54
55 #define MV78XX0_PCIE_MEM_PHYS_BASE 0xc0000000
56 #define MV78XX0_PCIE_MEM_SIZE 0x30000000
57
58
59
60
61 #define BRIDGE_VIRT_BASE (MV78XX0_CORE_REGS_VIRT_BASE)
62 #define BRIDGE_PHYS_BASE (MV78XX0_CORE_REGS_PHYS_BASE)
63 #define BRIDGE_WINS_CPU0_BASE (MV78XX0_CORE0_REGS_PHYS_BASE)
64 #define BRIDGE_WINS_CPU1_BASE (MV78XX0_CORE1_REGS_PHYS_BASE)
65 #define BRIDGE_WINS_SZ (0xA000)
66
67
68
69
70 #define DDR_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x00000)
71 #define DDR_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x00000)
72 #define DDR_WINDOW_CPU0_BASE (DDR_PHYS_BASE + 0x1500)
73 #define DDR_WINDOW_CPU1_BASE (DDR_PHYS_BASE + 0x1570)
74 #define DDR_WINDOW_CPU_SZ (0x20)
75
76 #define DEV_BUS_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x10000)
77 #define DEV_BUS_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x10000)
78 #define SAMPLE_AT_RESET_LOW (DEV_BUS_VIRT_BASE + 0x0030)
79 #define SAMPLE_AT_RESET_HIGH (DEV_BUS_VIRT_BASE + 0x0034)
80 #define GPIO_VIRT_BASE (DEV_BUS_VIRT_BASE + 0x0100)
81 #define I2C_0_PHYS_BASE (DEV_BUS_PHYS_BASE + 0x1000)
82 #define I2C_1_PHYS_BASE (DEV_BUS_PHYS_BASE + 0x1100)
83 #define UART0_PHYS_BASE (DEV_BUS_PHYS_BASE + 0x2000)
84 #define UART0_VIRT_BASE (DEV_BUS_VIRT_BASE + 0x2000)
85 #define UART1_PHYS_BASE (DEV_BUS_PHYS_BASE + 0x2100)
86 #define UART1_VIRT_BASE (DEV_BUS_VIRT_BASE + 0x2100)
87 #define UART2_PHYS_BASE (DEV_BUS_PHYS_BASE + 0x2200)
88 #define UART2_VIRT_BASE (DEV_BUS_VIRT_BASE + 0x2200)
89 #define UART3_PHYS_BASE (DEV_BUS_PHYS_BASE + 0x2300)
90 #define UART3_VIRT_BASE (DEV_BUS_VIRT_BASE + 0x2300)
91
92 #define GE10_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x30000)
93 #define GE11_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x34000)
94
95 #define PCIE00_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x40000)
96 #define PCIE01_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x44000)
97 #define PCIE02_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x48000)
98 #define PCIE03_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x4c000)
99
100 #define USB0_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x50000)
101 #define USB1_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x51000)
102 #define USB2_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x52000)
103
104 #define GE00_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x70000)
105 #define GE01_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x74000)
106
107 #define PCIE10_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x80000)
108 #define PCIE11_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x84000)
109 #define PCIE12_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x88000)
110 #define PCIE13_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x8c000)
111
112 #define SATA_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0xa0000)
113
114
115
116
117 #define MV78X00_Z0_DEV_ID 0x6381
118 #define MV78X00_REV_Z0 1
119
120 #define MV78100_DEV_ID 0x7810
121 #define MV78100_REV_A0 1
122 #define MV78100_REV_A1 2
123
124 #define MV78200_DEV_ID 0x7820
125 #define MV78200_REV_A0 1
126
127 #endif