xref: /rk3399_ARM-atf/docs/plat/marvell/armada/misc/mvebu-amb.rst (revision 9935047b2086faa3bf3ccf0b95a76510eb5a160b)
1*a2847172SGrzegorz JaszczykAMB - AXI MBUS address decoding
2*a2847172SGrzegorz Jaszczyk===============================
3*a2847172SGrzegorz Jaszczyk
4*a2847172SGrzegorz JaszczykAXI to M-bridge decoding unit driver for Marvell Armada 8K and 8K+ SoCs.
5*a2847172SGrzegorz Jaszczyk
6*a2847172SGrzegorz JaszczykThe Runit offers a second level of address windows lookup. It is used to map
7*a2847172SGrzegorz Jaszczyktransaction towards the CD BootROM, SPI0, SPI1 and Device bus (NOR).
8*a2847172SGrzegorz Jaszczyk
9*a2847172SGrzegorz JaszczykThe Runit contains eight configurable windows. Each window defines a contiguous,
10*a2847172SGrzegorz Jaszczykaddress space and the properties associated with that address space.
11*a2847172SGrzegorz Jaszczyk
12*a2847172SGrzegorz Jaszczyk::
13*a2847172SGrzegorz Jaszczyk
14*a2847172SGrzegorz Jaszczyk  Unit        Bank         ATTR
15*a2847172SGrzegorz Jaszczyk  Device-Bus  DEV_BOOT_CS  0x2F
16*a2847172SGrzegorz Jaszczyk              DEV_CS0      0x3E
17*a2847172SGrzegorz Jaszczyk              DEV_CS1      0x3D
18*a2847172SGrzegorz Jaszczyk              DEV_CS2      0x3B
19*a2847172SGrzegorz Jaszczyk              DEV_CS3      0x37
20*a2847172SGrzegorz Jaszczyk  SPI-0       SPI_A_CS0    0x1E
21*a2847172SGrzegorz Jaszczyk              SPI_A_CS1    0x5E
22*a2847172SGrzegorz Jaszczyk              SPI_A_CS2    0x9E
23*a2847172SGrzegorz Jaszczyk              SPI_A_CS3    0xDE
24*a2847172SGrzegorz Jaszczyk              SPI_A_CS4    0x1F
25*a2847172SGrzegorz Jaszczyk              SPI_A_CS5    0x5F
26*a2847172SGrzegorz Jaszczyk              SPI_A_CS6    0x9F
27*a2847172SGrzegorz Jaszczyk              SPI_A_CS7    0xDF
28*a2847172SGrzegorz Jaszczyk  SPI         SPI_B_CS0    0x1A
29*a2847172SGrzegorz Jaszczyk              SPI_B_CS1    0x5A
30*a2847172SGrzegorz Jaszczyk              SPI_B_CS2    0x9A
31*a2847172SGrzegorz Jaszczyk              SPI_B_CS3    0xDA
32*a2847172SGrzegorz Jaszczyk  BOOT_ROM    BOOT_ROM     0x1D
33*a2847172SGrzegorz Jaszczyk  UART        UART         0x01
34*a2847172SGrzegorz Jaszczyk
35*a2847172SGrzegorz JaszczykMandatory functions
36*a2847172SGrzegorz Jaszczyk-------------------
37*a2847172SGrzegorz Jaszczyk
38*a2847172SGrzegorz Jaszczyk- marvell_get_amb_memory_map
39*a2847172SGrzegorz Jaszczyk    Returns the AMB windows configuration and the number of windows
40*a2847172SGrzegorz Jaszczyk
41*a2847172SGrzegorz JaszczykMandatory structures
42*a2847172SGrzegorz Jaszczyk--------------------
43*a2847172SGrzegorz Jaszczyk
44*a2847172SGrzegorz Jaszczyk- amb_memory_map
45*a2847172SGrzegorz Jaszczyk    Array that include the configuration of the windows. Every window/entry is a
46*a2847172SGrzegorz Jaszczyk    struct which has 2 parameters:
47*a2847172SGrzegorz Jaszczyk
48*a2847172SGrzegorz Jaszczyk      - Base address of the window
49*a2847172SGrzegorz Jaszczyk      - Attribute of the window
50*a2847172SGrzegorz Jaszczyk
51*a2847172SGrzegorz JaszczykExamples
52*a2847172SGrzegorz Jaszczyk--------
53*a2847172SGrzegorz Jaszczyk
54*a2847172SGrzegorz Jaszczyk.. code:: c
55*a2847172SGrzegorz Jaszczyk
56*a2847172SGrzegorz Jaszczyk    struct addr_map_win amb_memory_map[] = {
57*a2847172SGrzegorz Jaszczyk        {0xf900,	AMB_DEV_CS0_ID},
58*a2847172SGrzegorz Jaszczyk    };
59