Introducing 8-bit wide register, mx28_register_8
authorRobert Delien <robert@delien.nl>
Sun, 26 Feb 2012 12:15:06 +0000 (12:15 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Mon, 26 Mar 2012 21:09:24 +0000 (23:09 +0200)
This patch introduces an 8-bit register, mx28_register_8, in order to
prepare for fixing erroneous 32-bit wide access of registers
hw_clkctrl_frac0 and hw_clkctrl_frac1.

Signed-off-by: Robert Delien <robert@delien.nl>
Acked-by: Marek Vasut <marex@denx.de>
Tested-by: Marek Vasut <marex@denx.de>
arch/arm/include/asm/arch-mx28/regs-common.h

index 75cc9a67b613f80304cc629f304779a86c134d13..94b512d18ace08aeef8a863d557a570b3054617b 100644 (file)
  *
  */
 
+#define        __mx28_reg_8(name)              \
+       uint8_t name[4];                \
+       uint8_t name##_set[4];          \
+       uint8_t name##_clr[4];          \
+       uint8_t name##_tog[4];          \
+
 #define        __mx28_reg_32(name)             \
        uint32_t name;                  \
        uint32_t name##_set;            \
        uint32_t name##_clr;            \
        uint32_t name##_tog;
 
+struct mx28_register_8 {
+       __mx28_reg_8(reg)
+};
+
 struct mx28_register_32 {
        __mx28_reg_32(reg)
 };
 
+#define        mx28_reg_8(name)                                \
+       union {                                         \
+               struct { __mx28_reg_8(name) };          \
+               struct mx28_register_32 name##_reg;     \
+       };
+
 #define        mx28_reg_32(name)                               \
        union {                                         \
                struct { __mx28_reg_32(name) };         \