Hi Stefano, > Drop warnings in get_cpu_rev and changes the return value > (a u32 instead of char * is returned) of the function > to be coherent with other processors. > > Signed-off-by: Stefano Babic <sba...@denx.de> > CC: Detlev Zundel <d...@denx.de> > CC: Fabio Estevam <fabio.este...@freescale.com> > --- > > Changes: > - commit message > - "unknown" will be printed together with the > revision register if the value of the register > cannot be translated. > > arch/arm/cpu/arm1136/mx31/generic.c | 31 ++++++++++++++++------------ > arch/arm/include/asm/arch-mx31/imx-regs.h | 2 +- > 2 files changed, 19 insertions(+), 14 deletions(-) > > diff --git a/arch/arm/cpu/arm1136/mx31/generic.c > b/arch/arm/cpu/arm1136/mx31/generic.c > index 18572b9..af6da91 100644 > --- a/arch/arm/cpu/arm1136/mx31/generic.c > +++ b/arch/arm/cpu/arm1136/mx31/generic.c > @@ -107,18 +107,18 @@ void mx31_set_pad(enum iomux_pins pin, u32 config) > } > > struct mx3_cpu_type mx31_cpu_type[] = { > - { .srev = 0x00, .v = "1.0" }, > - { .srev = 0x10, .v = "1.1" }, > - { .srev = 0x11, .v = "1.1" }, > - { .srev = 0x12, .v = "1.15" }, > - { .srev = 0x13, .v = "1.15" }, > - { .srev = 0x14, .v = "1.2" }, > - { .srev = 0x15, .v = "1.2" }, > - { .srev = 0x28, .v = "2.0" }, > - { .srev = 0x29, .v = "2.0" }, > + { .srev = 0x00, .v = 0x10 }, > + { .srev = 0x10, .v = 0x11 }, > + { .srev = 0x11, .v = 0x11 }, > + { .srev = 0x12, .v = 0x1F }, > + { .srev = 0x13, .v = 0x1F }, > + { .srev = 0x14, .v = 0x12 }, > + { .srev = 0x15, .v = 0x12 }, > + { .srev = 0x28, .v = 0x20 }, > + { .srev = 0x29, .v = 0x20 }, > }; > > -char *get_cpu_rev(void) > +u32 get_cpu_rev(void) > { > u32 i, srev; > > @@ -129,7 +129,8 @@ char *get_cpu_rev(void) > for (i = 0; i < ARRAY_SIZE(mx31_cpu_type); i++) > if (srev == mx31_cpu_type[i].srev) > return mx31_cpu_type[i].v; > - return "unknown"; > + > + return srev | 0x8000; > } > > char *get_reset_cause(void) > @@ -161,8 +162,12 @@ char *get_reset_cause(void) > #if defined(CONFIG_DISPLAY_CPUINFO) > int print_cpuinfo (void) > { > - printf("CPU: Freescale i.MX31 rev %s at %d MHz.", > - get_cpu_rev(), mx31_get_mcu_main_clk() / 1000000); > + u32 srev = get_cpu_rev(); > + > + printf("CPU: Freescale i.MX31 rev %d.%d %s at %d MHz.",
Use a space less here, i.e. "rev %d.%d%s at %d"... > + (srev & 0xF0) >> 4, (srev & 0x0F), > + ((srev & 0x8000) ? "unknown" : ""), .. and " unknown" here, so we always get only one space. Ok, ok, I'm getting carried away ;) Cheers Detlev -- SWYM XYZ (Sympathize with your machinery). [..] In fact it is often called a no-op, because it performs no operation. It does, however, keep the machine running smoothly, just as real-world swimming helps to keep programmers healthy. -- Donald Knuth, Fascicle 1 -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot