Skip to content
  • This contributor prefers not to receive mails's avatar
    arm: a37xx: pci: Fix configuring PCIe resources · b321722f
    This contributor prefers not to receive mails authored and Stefan Roese's avatar Stefan Roese committed
    
    
    The `ranges` DT property of the PCIe node is currently ignored by
    Aardvark driver - all entries are used as transparent PCIe MEM, despite
    some of them being defined for IO in DT.
    
    This is because the driver does not setup PCIe outbound windows and thus
    a default configuration is used.
    
    This can cause an external abort on CPU when a device driver tries to
    access non-MEM space.
    
    Setup the PCIe windows according to the `ranges` property for all
    non-MEM resources (currently only IO) and also non-transparent MEM
    resources.
    
    Because Linux expects that bootloader does not setup Aardvark PCIe
    windows, disable them before booting Linux.
    
    Signed-off-by: default avatarPali Rohár <pali@kernel.org>
    Reviewed-by: default avatarMarek Behún <marek.behun@nic.cz>
    Reviewed-by: default avatarStefan Roese <sr@denx.de>
    b321722f