blob: c8b5df5d78581bfac659b01fc8dd0ac6f1d2cc88 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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
|
Marvell CCU address decoding bindings
=====================================
The CCU node includes a description of the address decoding configuration.
Mandatory functions:
- marvell_get_ccu_reg_offs
returns the base address of the CCU unit
- marvell_get_ccu_max_win
returns the number of the max mbus windows
- marvell_get_ccu_memory_map
return the CCU windows configuration and the number of windows
Mandatory structures:
ccu_memory_map - Array that includes the configuration of the windows
every window/entry is a struct which has 5 parameters:
- High base address of the window
- Low base address of the window
- High size of the window
- Low size of the window
- Target-ID of the window
Note: if the base address is more than 32 bits, it should be divided into high and low.
The same goes for the Size field. If it is larger than 32 bits, it is divided into
high and low.
Base example:
base address: 0x10f0000000 should be divided into:
base address high: 0x10
base address low: 0xf0000000
Size example:
size: 0x1E00F00000 should be divided into:
size high: 0x1E
size low: 0x00F00000
Example:
struct ccu_win ccu_memory_map[] = {
{0x0, 0xf2000000, 0x0, 0xe000000, IO_0_TID}, /* IO window */
};
|