diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/812-pcie-0011-PCI-mobiveil-Add-8-bit-and-16-bit-CSR-register-acces.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/812-pcie-0011-PCI-mobiveil-Add-8-bit-and-16-bit-CSR-register-acces.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0011-PCI-mobiveil-Add-8-bit-and-16-bit-CSR-register-acces.patch b/target/linux/layerscape/patches-5.4/812-pcie-0011-PCI-mobiveil-Add-8-bit-and-16-bit-CSR-register-acces.patch new file mode 100644 index 0000000000..ee8c519520 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/812-pcie-0011-PCI-mobiveil-Add-8-bit-and-16-bit-CSR-register-acces.patch @@ -0,0 +1,47 @@ +From 7e92994ec22c9d337f6012ac913e7958012ad52e Mon Sep 17 00:00:00 2001 +From: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> +Date: Tue, 25 Jun 2019 09:09:28 +0000 +Subject: [PATCH] PCI: mobiveil: Add 8-bit and 16-bit CSR register accessors + +There are some 8-bit and 16-bit registers in PCIe configuration +space, so add these accessors accordingly. + +Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> +Reviewed-by: Minghuan Lian <Minghuan.Lian@nxp.com> +Reviewed-by: Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in> +--- + drivers/pci/controller/mobiveil/pcie-mobiveil.h | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +--- a/drivers/pci/controller/mobiveil/pcie-mobiveil.h ++++ b/drivers/pci/controller/mobiveil/pcie-mobiveil.h +@@ -182,9 +182,29 @@ static inline u32 csr_readl(struct mobiv + return csr_read(pcie, off, 0x4); + } + ++static inline u32 csr_readw(struct mobiveil_pcie *pcie, u32 off) ++{ ++ return csr_read(pcie, off, 0x2); ++} ++ ++static inline u32 csr_readb(struct mobiveil_pcie *pcie, u32 off) ++{ ++ return csr_read(pcie, off, 0x1); ++} ++ + static inline void csr_writel(struct mobiveil_pcie *pcie, u32 val, u32 off) + { + csr_write(pcie, val, off, 0x4); + } + ++static inline void csr_writew(struct mobiveil_pcie *pcie, u32 val, u32 off) ++{ ++ csr_write(pcie, val, off, 0x2); ++} ++ ++static inline void csr_writeb(struct mobiveil_pcie *pcie, u32 val, u32 off) ++{ ++ csr_write(pcie, val, off, 0x1); ++} ++ + #endif /* _PCIE_MOBIVEIL_H */ |