[U-Boot] [PATCH 2/4 v3] i.MX28: Fix ref_cpu clock setup

From: Robert Delien robert@delien.nl
Introducing 8-bit wide register, mx28_register_8.
--- arch/arm/include/asm/arch-mx28/regs-common.h | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/arch/arm/include/asm/arch-mx28/regs-common.h b/arch/arm/include/asm/arch-mx28/regs-common.h index 75cc9a6..d2e1953 100644 --- a/arch/arm/include/asm/arch-mx28/regs-common.h +++ b/arch/arm/include/asm/arch-mx28/regs-common.h @@ -47,16 +47,32 @@ * */
+#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_8 name##_reg; \ + }; + #define mx28_reg_32(name) \ union { \ struct { __mx28_reg_32(name) }; \

From: Robert Delien robert@delien.nl
Introducing 8-bit wide register, mx28_register_8.
arch/arm/include/asm/arch-mx28/regs-common.h | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/arch/arm/include/asm/arch-mx28/regs-common.h b/arch/arm/include/asm/arch-mx28/regs-common.h index 75cc9a6..d2e1953 100644 --- a/arch/arm/include/asm/arch-mx28/regs-common.h +++ b/arch/arm/include/asm/arch-mx28/regs-common.h @@ -47,16 +47,32 @@
*/
+#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_8 name##_reg; \
Will this kind of access (via register.reg) even work? I think we should replace it with register_32.
- };
#define mx28_reg_32(name) \ union { \ struct { __mx28_reg_32(name) }; \
participants (2)
-
Marek Vasut
-
robert@delien.nl