interconnect/csr: add CSR registers ordering support.
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Wed, 5 Aug 2020 06:56:35 +0000 (08:56 +0200)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Wed, 5 Aug 2020 06:57:19 +0000 (08:57 +0200)
commit00629c45b0ecb44149893439d040d4b4267ba4ea
treebd4d58ce20c94cb0869d0d688c711f523e6f9cdc
parentee7a7f4693df57fa0b2a95f23f15758389cfe22b
interconnect/csr: add CSR registers ordering support.

The original CSR registers ordering (big: MSB on lower addresses) is not convenient
when the SoC is interfaced with a real OS (for example as a PCIe add-on board or
with a CPU running Linux).

With this, the original ordering is kept as default (big), but it can now be switched
to little to avoid software workarounds in drivers and should probably be in the future
the default for PCIe/Linux SoCs.
litex/soc/integration/soc.py
litex/soc/integration/soc_core.py
litex/soc/interconnect/csr.py
litex/soc/interconnect/csr_bus.py