summaryrefslogtreecommitdiff
path: root/docs/marvell/misc/mvebu-ccu.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/marvell/misc/mvebu-ccu.txt')
-rw-r--r--docs/marvell/misc/mvebu-ccu.txt38
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/marvell/misc/mvebu-ccu.txt b/docs/marvell/misc/mvebu-ccu.txt
new file mode 100644
index 00000000..c8b5df5d
--- /dev/null
+++ b/docs/marvell/misc/mvebu-ccu.txt
@@ -0,0 +1,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 */
+ };