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