
These can be used in bootcmd to produce DTB file names.
set_board_env() allows over-ride for use when a developing custom DTB files.
Signed-off-by: Eric Nelson eric.nelson@boundarydevices.com --- V2 adds void to the function declarations and definitions and adds a blank to keep checkpatch clean.
I'm feeling like I missed something here. Routines in imx-common/cpu.c are shared between various i.MX processors, but there doesn't appear to be a common header file.
It seems that arch/arm/include/asm/imx-common.h should be present but isn't. Am I missing something?
I also think there should be a way we could pull this into multiple boards without adding a full-up board_late_init() function into each board file, but tracing the init sequence, I'm not seeing an architecture-specific spot after env_init.
arch/arm/imx-common/cpu.c | 15 +++++++++++++-- arch/arm/include/asm/arch-mx6/sys_proto.h | 9 +++++++++ 2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index 0cd2538..4214946 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -99,8 +99,6 @@ unsigned imx_ddr_size(void) } #endif
-#if defined(CONFIG_DISPLAY_CPUINFO) - const char *get_imx_type(u32 imxtype) { switch (imxtype) { @@ -121,6 +119,19 @@ const char *get_imx_type(u32 imxtype) } }
+void __weak set_cpu_env(void) +{ + setenv("cpu", get_imx_type(cpu_type(get_cpu_rev()))); +} + +void __weak set_board_env(void) +{ + char *old = getenv("board"); + if (!old) + setenv("board", CONFIG_SYS_BOARD); +} + +#if defined(CONFIG_DISPLAY_CPUINFO) int print_cpuinfo(void) { u32 cpurev; diff --git a/arch/arm/include/asm/arch-mx6/sys_proto.h b/arch/arm/include/asm/arch-mx6/sys_proto.h index 8c21364..f58ebc3 100644 --- a/arch/arm/include/asm/arch-mx6/sys_proto.h +++ b/arch/arm/include/asm/arch-mx6/sys_proto.h @@ -27,8 +27,17 @@ u32 get_cpu_rev(void); #define is_cpu_type(cpu) (cpu_type(get_cpu_rev()) == cpu)
const char *get_imx_type(u32 imxtype); + unsigned imx_ddr_size(void);
+/* Set standard board and cpu environment variables. + * for use in loading DTB files. + * + * Call these in board_late_init if needed + */ +void set_cpu_env(void); +void set_board_env(void); + void set_vddsoc(u32 mv);
/*