Newer
Older
arm-trusted-firmware / docs / marvell / misc / mvebu-io-win.txt
@Konstantin Porotchkin Konstantin Porotchkin on 18 Jul 2018 1 KB marvell: drivers: Add address decoding units drivers
Marvell IO WIN address decoding bindings
=====================================

IO Window configration 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:
	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*/
	};