xref: /rk3399_ARM-atf/docs/plat/marvell/armada/misc/mvebu-io-win.rst (revision 70311692f11c29eec34ec03ea87f6581ccc0fd52)
1a2847172SGrzegorz JaszczykMarvell IO WIN address decoding bindings
2a2847172SGrzegorz Jaszczyk========================================
3a2847172SGrzegorz Jaszczyk
4*47147013SDavid HorstmannIO Window configuration driver (2nd stage address translation) for Marvell Armada 8K and 8K+ SoCs.
5a2847172SGrzegorz Jaszczyk
6a2847172SGrzegorz JaszczykThe IO WIN includes a description of the address decoding configuration.
7a2847172SGrzegorz Jaszczyk
8a2847172SGrzegorz JaszczykTransactions that are decoded by CCU windows as IO peripheral, have an additional
9a2847172SGrzegorz Jaszczyklayer of decoding. This additional address decoding layer defines one of the
10a2847172SGrzegorz Jaszczykfollowing targets:
11a2847172SGrzegorz Jaszczyk
12a2847172SGrzegorz Jaszczyk- **0x0** = BootRom
13a2847172SGrzegorz Jaszczyk- **0x1** = STM (Serial Trace Macro-cell, a programmer's port into trace stream)
14a2847172SGrzegorz Jaszczyk- **0x2** = SPI direct access
15a2847172SGrzegorz Jaszczyk- **0x3** = PCIe registers
16a2847172SGrzegorz Jaszczyk- **0x4** = MCI Port
17a2847172SGrzegorz Jaszczyk- **0x5** = PCIe port
18a2847172SGrzegorz Jaszczyk
19a2847172SGrzegorz JaszczykMandatory functions
20a2847172SGrzegorz Jaszczyk-------------------
21a2847172SGrzegorz Jaszczyk
22a2847172SGrzegorz Jaszczyk- marvell_get_io_win_memory_map
23a2847172SGrzegorz Jaszczyk    Returns the IO windows configuration and the number of windows of the
24a2847172SGrzegorz Jaszczyk    specific AP.
25a2847172SGrzegorz Jaszczyk
26a2847172SGrzegorz JaszczykMandatory structures
27a2847172SGrzegorz Jaszczyk--------------------
28a2847172SGrzegorz Jaszczyk
29a2847172SGrzegorz Jaszczyk- io_win_memory_map
30a2847172SGrzegorz Jaszczyk    Array that include the configuration of the windows. Every window/entry is
31a2847172SGrzegorz Jaszczyk    a struct which has 3 parameters:
32a2847172SGrzegorz Jaszczyk
33a2847172SGrzegorz Jaszczyk	  - Base address of the window
34a2847172SGrzegorz Jaszczyk	  - Size of the window
35a2847172SGrzegorz Jaszczyk	  - Target-ID of the window
36a2847172SGrzegorz Jaszczyk
37a2847172SGrzegorz JaszczykExample
38a2847172SGrzegorz Jaszczyk-------
39a2847172SGrzegorz Jaszczyk
40a2847172SGrzegorz Jaszczyk.. code:: c
41a2847172SGrzegorz Jaszczyk
42a2847172SGrzegorz Jaszczyk	struct addr_map_win io_win_memory_map[] = {
43a2847172SGrzegorz Jaszczyk		{0x00000000fe000000,	0x000000001f00000,	PCIE_PORT_TID}, /* PCIe window 31Mb for PCIe port*/
44a2847172SGrzegorz Jaszczyk		{0x00000000ffe00000,	0x000000000100000,	PCIE_REGS_TID}, /* PCI-REG window 64Kb for PCIe-reg*/
45a2847172SGrzegorz Jaszczyk		{0x00000000f6000000,	0x000000000100000,	MCIPHY_TID},	/* MCI window  1Mb for PHY-reg*/
46a2847172SGrzegorz Jaszczyk	};
47