summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/include/asm/fsl_i2c.h2
-rw-r--r--arch/powerpc/include/asm/fsl_lbc.h1
-rw-r--r--arch/powerpc/include/asm/immap_83xx.h37
-rw-r--r--arch/powerpc/include/asm/mpc8xxx_spi.h1
4 files changed, 41 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/fsl_i2c.h b/arch/powerpc/include/asm/fsl_i2c.h
index 1b1766180a7..6b728f833db 100644
--- a/arch/powerpc/include/asm/fsl_i2c.h
+++ b/arch/powerpc/include/asm/fsl_i2c.h
@@ -15,6 +15,7 @@
#include <asm/types.h>
#include <linux/compiler.h>
+#include <linux/build_bug.h>
typedef struct fsl_i2c_base {
@@ -67,6 +68,7 @@ typedef struct fsl_i2c_base {
/* Fill out the reserved block */
u8 res6[0xE8];
} fsl_i2c_t;
+static_assert(sizeof(fsl_i2c_t) == 0x100);
#if CONFIG_IS_ENABLED(DM_I2C)
struct fsl_i2c_dev {
diff --git a/arch/powerpc/include/asm/fsl_lbc.h b/arch/powerpc/include/asm/fsl_lbc.h
index 95f0f559b4c..f07535cb5ea 100644
--- a/arch/powerpc/include/asm/fsl_lbc.h
+++ b/arch/powerpc/include/asm/fsl_lbc.h
@@ -526,6 +526,7 @@ typedef struct fsl_lbc {
u8 res9[0xF28];
#endif
} fsl_lbc_t;
+static_assert(sizeof(fsl_lbc_t) == 0x1000);
#endif /* __ASSEMBLY__ */
#endif /* __ASM_PPC_FSL_LBC_H */
diff --git a/arch/powerpc/include/asm/immap_83xx.h b/arch/powerpc/include/asm/immap_83xx.h
index 24bd438c143..1fa6073b268 100644
--- a/arch/powerpc/include/asm/immap_83xx.h
+++ b/arch/powerpc/include/asm/immap_83xx.h
@@ -19,6 +19,7 @@
#include <asm/mpc8xxx_spi.h>
#include <asm/fsl_lbc.h>
#include <asm/fsl_dma.h>
+#include <linux/build_bug.h>
/*
* Local Access Window
@@ -27,6 +28,7 @@ typedef struct law83xx {
u32 bar; /* LBIU local access window base address register */
u32 ar; /* LBIU local access window attribute register */
} law83xx_t;
+static_assert(sizeof(law83xx_t) == 8);
/*
* System configuration registers
@@ -66,6 +68,7 @@ typedef struct sysconf83xx {
#endif
u8 res9[0xB8];
} sysconf83xx_t;
+static_assert(sizeof(sysconf83xx_t) == 0x200);
/*
* Watch Dog Timer (WDT) Registers
@@ -78,6 +81,7 @@ typedef struct wdt83xx {
u16 swsrr; /* System watchdog service register */
u8 res2[0xF0];
} wdt83xx_t;
+static_assert(sizeof(wdt83xx_t) == 0x100);
/*
* RTC/PIT Module Registers
@@ -91,6 +95,7 @@ typedef struct rtclk83xx {
u32 alr; /* alarm register */
u8 res0[0xE8];
} rtclk83xx_t;
+static_assert(sizeof(rtclk83xx_t) == 0x100);
/*
* Global timer module
@@ -126,6 +131,7 @@ typedef struct gtm83xx {
u16 psr4; /* Timer4 Prescaler Register */
u8 res[0xC0];
} gtm83xx_t;
+static_assert(sizeof(gtm83xx_t) == 0x100);
/*
* Integrated Programmable Interrupt Controller
@@ -159,6 +165,7 @@ typedef struct ipic83xx {
u32 smvcr; /* System Management Interrupt Vector Register */
u8 res[0x98];
} ipic83xx_t;
+static_assert(sizeof(ipic83xx_t) == 0x100);
/*
* System Arbiter Registers
@@ -175,6 +182,7 @@ typedef struct arbiter83xx {
u32 aerr; /* Arbiter Event Response Register */
u8 res1[0xDC];
} arbiter83xx_t;
+static_assert(sizeof(arbiter83xx_t) == 0x100);
/*
* Reset Module
@@ -190,6 +198,7 @@ typedef struct reset83xx {
u32 rcer; /* Reset Control Enable Register */
u8 res1[0xDC];
} reset83xx_t;
+static_assert(sizeof(reset83xx_t) == 0x100);
/*
* Clock Module
@@ -200,6 +209,7 @@ typedef struct clk83xx {
u32 sccr; /* system clock control Register */
u8 res0[0xF4];
} clk83xx_t;
+static_assert(sizeof(clk83xx_t) == 0x100);
/*
* Power Management Control Module
@@ -212,6 +222,7 @@ typedef struct pmc83xx {
u32 pmccr2; /* PMC Configuration Register 2 */
u8 res0[0xEC];
} pmc83xx_t;
+static_assert(sizeof(pmc83xx_t) == 0x100);
/*
* General purpose I/O module
@@ -225,6 +236,7 @@ typedef struct gpio83xx {
u32 icr; /* external interrupt control register */
u8 res0[0xE8];
} gpio83xx_t;
+static_assert(sizeof(gpio83xx_t) == 0x100);
/*
* QE Ports Interrupts Registers
@@ -236,6 +248,7 @@ typedef struct qepi83xx {
u32 qepicr; /* QE Ports Interrupt Control Register */
u8 res1[0xE8];
} qepi83xx_t;
+static_assert(sizeof(qepi83xx_t) == 0x100);
/*
* QE Parallel I/O Ports
@@ -248,11 +261,13 @@ typedef struct gpio_n {
u32 ppar1; /* Pin Assignment Register 1 */
u32 ppar2; /* Pin Assignment Register 2 */
} gpio_n_t;
+static_assert(sizeof(gpio_n_t) == 0x18);
typedef struct qegpio83xx {
gpio_n_t ioport[0x7];
u8 res0[0x358];
} qepio83xx_t;
+static_assert(sizeof(qepio83xx_t) == 0x400);
/*
* QE Secondary Bus Access Windows
@@ -268,6 +283,7 @@ typedef struct qesba83xx {
u32 sdmcar; /* Secondary DDR memory controller attributes */
u8 res2[0x378];
} qesba83xx_t;
+static_assert(sizeof(qesba83xx_t) == 0x400);
/*
* DDR Memory Controller Memory Map for DDR1
@@ -278,6 +294,7 @@ typedef struct ddr_cs_bnds {
u32 csbnds;
u8 res0[4];
} ddr_cs_bnds_t;
+static_assert(sizeof(ddr_cs_bnds_t) == 8);
typedef struct ddr83xx {
ddr_cs_bnds_t csbnds[4];/* Chip Select x Memory Bounds */
@@ -323,6 +340,7 @@ typedef struct ddr83xx {
u32 debug_reg;
u8 res9[0xFC];
} ddr83xx_t;
+static_assert(sizeof(ddr83xx_t) == 0x1000);
#endif
/*
@@ -342,6 +360,7 @@ typedef struct duart83xx {
u8 res1[3];
u8 res2[0xEC];
} duart83xx_t;
+static_assert(sizeof(duart83xx_t) == 0x100);
/*
* DMA/Messaging Unit
@@ -364,6 +383,7 @@ typedef struct dma83xx {
u32 res4[0x1E]; /* 0x88-0x99 reserved */
struct fsl_dma dma[4];
} dma83xx_t;
+static_assert(sizeof(dma83xx_t) == 0x300);
/*
* PCI Software Configuration Registers
@@ -374,6 +394,7 @@ typedef struct pciconf83xx {
u32 int_ack;
u8 res[116];
} pciconf83xx_t;
+static_assert(sizeof(pciconf83xx_t) == 0x80);
/*
* PCI Outbound Translation Register
@@ -386,6 +407,7 @@ typedef struct pci_outbound_window {
u32 pocmr;
u8 res2[4];
} pot83xx_t;
+static_assert(sizeof(pot83xx_t) == 0x18);
/*
* Sequencer
@@ -398,6 +420,7 @@ typedef struct ios83xx {
u32 dtcr;
u8 res2[4];
} ios83xx_t;
+static_assert(sizeof(ios83xx_t) == 0x100);
/*
* PCI Controller Control and Status Registers
@@ -434,6 +457,7 @@ typedef struct pcictrl83xx {
u32 piwar0;
u8 res7[132];
} pcictrl83xx_t;
+static_assert(sizeof(pcictrl83xx_t) == 0x100);
/*
* USB
@@ -441,6 +465,7 @@ typedef struct pcictrl83xx {
typedef struct usb83xx {
u8 fixme[0x1000];
} usb83xx_t;
+static_assert(sizeof(usb83xx_t) == 0x1000);
/*
* TSEC
@@ -448,6 +473,7 @@ typedef struct usb83xx {
typedef struct tsec83xx {
u8 fixme[0x1000];
} tsec83xx_t;
+static_assert(sizeof(tsec83xx_t) == 0x1000);
/*
* Security
@@ -455,6 +481,7 @@ typedef struct tsec83xx {
typedef struct security83xx {
u8 fixme[0x10000];
} security83xx_t;
+static_assert(sizeof(security83xx_t) == 0x10000);
/*
* PCI Express
@@ -564,6 +591,7 @@ typedef struct pex83xx {
struct pex_csb_bridge bridge;
u8 res12[0x160];
} pex83xx_t;
+static_assert(sizeof(pex83xx_t) == 0x1000);
/*
* SATA
@@ -571,6 +599,7 @@ typedef struct pex83xx {
typedef struct sata83xx {
u8 fixme[0x1000];
} sata83xx_t;
+static_assert(sizeof(sata83xx_t) == 0x1000);
/*
* eSDHC
@@ -578,6 +607,7 @@ typedef struct sata83xx {
typedef struct sdhc83xx {
u8 fixme[0x1000];
} sdhc83xx_t;
+static_assert(sizeof(sdhc83xx_t) == 0x1000);
/*
* SerDes
@@ -592,6 +622,7 @@ typedef struct serdes83xx {
u32 srdsrstctl;
u8 res1[0xdc];
} serdes83xx_t;
+static_assert(sizeof(serdes83xx_t) == 0x100);
/*
* On Chip ROM
@@ -606,6 +637,7 @@ typedef struct rom83xx {
typedef struct tdm83xx {
u8 fixme[0x200];
} tdm83xx_t;
+static_assert(sizeof(tdm83xx_t) == 0x200);
/*
* TDM DMAC
@@ -613,6 +645,7 @@ typedef struct tdm83xx {
typedef struct tdmdmac83xx {
u8 fixme[0x2000];
} tdmdmac83xx_t;
+static_assert(sizeof(tdmdmac83xx_t) == 0x2000);
#if defined(CONFIG_ARCH_MPC834X)
typedef struct immap {
@@ -725,6 +758,7 @@ typedef struct immap {
serdes83xx_t serdes[1]; /* SerDes Registers */
u8 res9[0x1CF00];
} immap_t;
+static_assert(sizeof(immap_t) == 0x100000);
#elif defined(CONFIG_ARCH_MPC837X)
typedef struct immap {
@@ -769,6 +803,7 @@ typedef struct immap {
u8 res11[0xCE00];
rom83xx_t rom; /* On Chip ROM */
} immap_t;
+static_assert(sizeof(immap_t) == 0x100000);
#elif defined(CONFIG_ARCH_MPC8360)
typedef struct immap {
@@ -809,6 +844,7 @@ typedef struct immap {
u8 res10[0xC0000];
u8 qe[0x100000]; /* QE block */
} immap_t;
+static_assert(sizeof(immap_t) == 0x200000);
#elif defined(CONFIG_ARCH_MPC832X)
typedef struct immap {
@@ -846,6 +882,7 @@ typedef struct immap {
u8 res8[0xC0000];
u8 qe[0x100000]; /* QE block */
} immap_t;
+static_assert(sizeof(immap_t) == 0x200000);
#endif
struct ccsr_gpio {
diff --git a/arch/powerpc/include/asm/mpc8xxx_spi.h b/arch/powerpc/include/asm/mpc8xxx_spi.h
index 8e9411aefb3..2b2095ad481 100644
--- a/arch/powerpc/include/asm/mpc8xxx_spi.h
+++ b/arch/powerpc/include/asm/mpc8xxx_spi.h
@@ -26,6 +26,7 @@ typedef struct spi8xxx {
u32 rx; /* receive register */
u8 res1[0xFC8]; /* fill up to 0x1000 */
} spi8xxx_t;
+static_assert(sizeof(spi8xxx_t) == 0x1000);
#endif