diff -drupN a/include/linux/pci.h b/include/linux/pci.h
--- a/include/linux/pci.h	2018-08-06 17:23:04.000000000 +0300
+++ b/include/linux/pci.h	2022-06-12 05:28:14.000000000 +0300
@@ -959,6 +959,19 @@ static inline int pci_write_config_dword
 	return pci_bus_write_config_dword(dev->bus, dev->devfn, where, val);
 }
 
+#ifdef CONFIG_ARCH_SUN50IW6
+struct pci_page {
+	unsigned long offset;
+	void __iomem *mem_base;
+};
+
+struct pci_page sunxi_pcie_bus_cutpage_config(struct pci_dev *dev, int barnum, u32 bar_base, unsigned long offset);
+struct pci_page sunxi_pcie_device_cutpage_config(u32 bar_base, unsigned long offset);
+int sunxi_pcie_cutpage_base(u32 bar_base);
+unsigned long sunxi_pcie_cutpage_spin_lock(void);
+void sunxi_pcie_cutpage_spin_unlock(unsigned long flags);
+#endif
+
 int pcie_capability_read_word(struct pci_dev *dev, int pos, u16 *val);
 int pcie_capability_read_dword(struct pci_dev *dev, int pos, u32 *val);
 int pcie_capability_write_word(struct pci_dev *dev, int pos, u16 val);