mvebu-io-win.rst 1.4 KB

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