summaryrefslogtreecommitdiffstats
path: root/drivers/mcb/mcb-internal.h
diff options
context:
space:
mode:
authorAndreas Werner <andreas.werner@men.de>2016-08-26 09:34:58 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-08-31 13:16:24 +0200
commitffc7bb3857e42acab131271e485735cbf673d0f0 (patch)
tree8747ff47afd68f8aa5ba40c93fa001d08521e9bb /drivers/mcb/mcb-internal.h
parentmcb: Added support for LPC or non PCI based MCB carrier (diff)
downloadlinux-ffc7bb3857e42acab131271e485735cbf673d0f0.tar.xz
linux-ffc7bb3857e42acab131271e485735cbf673d0f0.zip
mcb: Added bar descriptor support for non PCI bus MCB carrier
Added support for the bar descriptor. This type is used for FPGAs connect to the LPC or to a non PCI bus. The Bar descriptor could have a maximum of 6 BARs. Each of the devices within the FPGA could be mapped to a different BAR. The BAR descriptor is comparable to the PCI header. Signed-off-by: Andreas Werner <andreas.werner@men.de> [ free bar descriptor in the non-error case ] Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/mcb/mcb-internal.h')
-rw-r--r--drivers/mcb/mcb-internal.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mcb/mcb-internal.h b/drivers/mcb/mcb-internal.h
index 5254e0285725..d6e6933b19f1 100644
--- a/drivers/mcb/mcb-internal.h
+++ b/drivers/mcb/mcb-internal.h
@@ -112,6 +112,15 @@ struct chameleon_bdd {
u32 size;
} __packed;
+struct chameleon_bar {
+ u32 addr;
+ u32 size;
+};
+
+#define BAR_CNT(x) ((x) & 0x07)
+#define CHAMELEON_BAR_MAX 6
+#define BAR_DESC_SIZE(x) ((x) * sizeof(struct chameleon_bar) + sizeof(__le32))
+
int chameleon_parse_cells(struct mcb_bus *bus, phys_addr_t mapbase,
void __iomem *base);