]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0
authorPali Rohár <pali@kernel.org>
Thu, 10 Mar 2022 10:39:23 +0000 (11:39 +0100)
committerGregory CLEMENT <gregory.clement@bootlin.com>
Thu, 10 Mar 2022 13:49:10 +0000 (14:49 +0100)
commitc9b245a7cadcc51eadbcd095767319beedc9f324
tree50186c4b917863c508036f1f5f8aa99d77fd80d6
parent991a5e519c2aa1f4ed2bf6e2139997d7e7967cb3
arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0

Legacy and old PCI I/O based cards do not support 32-bit I/O addressing.

Since commit 20d4809264b7 ("PCI: aardvark: Configure PCIe resources from
'ranges' DT property") kernel can set different PCIe address on CPU and
different on the bus for the one A37xx address mapping without any firmware
support in case the bus address does not conflict with other A37xx mapping.

So remap I/O space to the bus address 0x0 to enable support for old legacy
I/O port based cards which have hardcoded I/O ports in low address space.

Note that DDR on A37xx is mapped to bus address 0x0. And mapping of I/O
space can be set to address 0x0 too because MEM space and I/O space are
separate and so do not conflict.

Remapping IO space on Turris Mox to different address is not possible to
due bootloader bug.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reported-by: Arnd Bergmann <arnd@arndb.de>
Fixes: fdf86698f68b ("arm64: dts: marvell: Add Aardvark PCIe support for Armada 3700")
Cc: stable@vger.kernel.org # 20d4809264b7 ("PCI: aardvark: Configure PCIe resources from 'ranges' DT property")
Cc: stable@vger.kernel.org # a5634533e44c ("arm64: dts: marvell: armada-37xx: Extend PCIe MEM space")
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
arch/arm64/boot/dts/marvell/armada-37xx.dtsi