You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
Marvell IO WIN address decoding bindings
|
|
========================================
|
|
|
|
IO Window configuration driver (2nd stage address translation) for Marvell Armada 8K and 8K+ SoCs.
|
|
|
|
The IO WIN includes a description of the address decoding configuration.
|
|
|
|
Transactions that are decoded by CCU windows as IO peripheral, have an additional
|
|
layer of decoding. This additional address decoding layer defines one of the
|
|
following targets:
|
|
|
|
- **0x0** = BootRom
|
|
- **0x1** = STM (Serial Trace Macro-cell, a programmer's port into trace stream)
|
|
- **0x2** = SPI direct access
|
|
- **0x3** = PCIe registers
|
|
- **0x4** = MCI Port
|
|
- **0x5** = PCIe port
|
|
|
|
Mandatory functions
|
|
-------------------
|
|
|
|
- marvell_get_io_win_memory_map
|
|
Returns the IO windows configuration and the number of windows of the
|
|
specific AP.
|
|
|
|
Mandatory structures
|
|
--------------------
|
|
|
|
- io_win_memory_map
|
|
Array that include the configuration of the windows. Every window/entry is
|
|
a struct which has 3 parameters:
|
|
|
|
- Base address of the window
|
|
- Size of the window
|
|
- Target-ID of the window
|
|
|
|
Example
|
|
-------
|
|
|
|
.. code:: c
|
|
|
|
struct addr_map_win io_win_memory_map[] = {
|
|
{0x00000000fe000000, 0x000000001f00000, PCIE_PORT_TID}, /* PCIe window 31Mb for PCIe port*/
|
|
{0x00000000ffe00000, 0x000000000100000, PCIE_REGS_TID}, /* PCI-REG window 64Kb for PCIe-reg*/
|
|
{0x00000000f6000000, 0x000000000100000, MCIPHY_TID}, /* MCI window 1Mb for PHY-reg*/
|
|
};
|