imx6: disable clock command and print_cpuinfo code in SPL
Subsystems (3)
PATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
We do not use print_cpuinfo and clock command code in SPL, disable it when building SPL image.
--- arch/arm/mach-imx/cpu.c | 4 ++-- arch/arm/mach-imx/mx6/clock.c | 30 ++++++++++++++++-------------- 2 files changed, 18 insertions(+), 16 deletions(-)
arch/arm/mach-imx/cpu.c +2 -2
@@ -25,7 +25,7 @@#include <fsl_esdhc.h> #endif -#if defined(CONFIG_DISPLAY_CPUINFO ) +#if defined(CONFIG_DISPLAY_CPUINFO ) && !defined(CONFIG_SPL_BUILD )static u32 reset_cause =-1 ;static char *get_reset_cause (void )
@@ -132,7 +132,7 @@ unsigned imx_ddr_size(void) }#endif -#if defined(CONFIG_DISPLAY_CPUINFO ) +#if defined(CONFIG_DISPLAY_CPUINFO ) && !defined(CONFIG_SPL_BUILD )const char *get_imx_type (u32 imxtype) {
arch/arm/mach-imx/mx6/clock.c +16 -14
@@ -1220,6 +1220,20 @@ void enable_thermal_clk(void)enable_pll3 (); } +#ifdef CONFIG_MTD_NOR_FLASH +void enable_eim_clk (unsigned char enable) +{ +u32 reg; + + reg =__raw_readl (&imx_ccm->CCGR6); +if (enable) + reg |=MXC_CCM_CCGR6_EMI_SLOW_MASK ; +else + reg &= ~MXC_CCM_CCGR6_EMI_SLOW_MASK ; +__raw_writel (reg, &imx_ccm->CCGR6); +} +#endif +unsigned int mxc_get_clock (enum mxc_clock clk) {switch (clk) {
@@ -1262,6 +1276,7 @@ unsigned int mxc_get_clock(enum mxc_clock clk)return 0 ; } +#ifndef CONFIG_SPL_BUILD /* * Dump some core clockes. */
@@ -1463,20 +1478,6 @@ void select_ldb_di_clock_source(enum ldb_di_clock clk) }#endif -#ifdef CONFIG_MTD_NOR_FLASH -void enable_eim_clk (unsigned char enable) -{ -u32 reg; - - reg =__raw_readl (&imx_ccm->CCGR6); -if (enable) - reg |=MXC_CCM_CCGR6_EMI_SLOW_MASK ; -else - reg &= ~MXC_CCM_CCGR6_EMI_SLOW_MASK ; -__raw_writel (reg, &imx_ccm->CCGR6); -} -#endif -/***************************************************/ U_BOOT_CMD(
@@ -1484,3 +1485,4 @@ U_BOOT_CMD("display clocks" ,"" ); +#endif
Signature · 1 line
2.7.4
PATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
Hi Anatolji,
Quoted 87 lines · Anatolij Gustschin
We do not use
print_cpuinfoand clock command code in SPL, disable it when building SPL image.Signed-off-by Anatolij Gustschin <[email protected]>--- arch/arm/mach-imx/cpu.c | 4 ++-- arch/arm/mach-imx/mx6/clock.c | 30 ++++++++++++++++-------------- 2 files changed, 18 insertions(+), 16 deletions(-)arch/arm/mach-imx/cpu.c +2
-2@@ -25,7 +25,7 @@#include <fsl_esdhc.h> #endif -#if defined(CONFIG_DISPLAY_CPUINFO ) +#if defined(CONFIG_DISPLAY_CPUINFO ) && !defined(CONFIG_SPL_BUILD )static u32 reset_cause =-1 ;static char *get_reset_cause (void )@@ -132,7 +132,7 @@ unsigned imx_ddr_size(void) }#endif -#if defined(CONFIG_DISPLAY_CPUINFO ) +#if defined(CONFIG_DISPLAY_CPUINFO ) && !defined(CONFIG_SPL_BUILD )const char *get_imx_type (u32 imxtype) {arch/arm/mach-imx/mx6/clock.c +15
-14@@ -1220,6 +1220,20 @@ void enable_thermal_clk(void)enable_pll3 (); } +#ifdef CONFIG_MTD_NOR_FLASH +void enable_eim_clk (unsigned char enable) +{ +u32 reg; + + reg =__raw_readl (&imx_ccm->CCGR6); +if (enable) + reg |=MXC_CCM_CCGR6_EMI_SLOW_MASK ; +else + reg &= ~MXC_CCM_CCGR6_EMI_SLOW_MASK ; +__raw_writel (reg, &imx_ccm->CCGR6); +} +#endif +unsigned int mxc_get_clock (enum mxc_clock clk) {switch (clk) {@@ -1262,6 +1276,7 @@ unsigned int mxc_get_clock(enum mxc_clock clk)return 0 ; } +#ifndef CONFIG_SPL_BUILD /* * Dump some core clockes. */ @@ -1463,20 +1478,6 @@ void select_ldb_di_clock_source(enum ldb_di_clock clk) }#endif -#ifdef CONFIG_MTD_NOR_FLASH -void enable_eim_clk (unsigned char enable) -{ -u32 reg; - - reg =__raw_readl (&imx_ccm->CCGR6); -if (enable) - reg |=MXC_CCM_CCGR6_EMI_SLOW_MASK ; -else - reg &= ~MXC_CCM_CCGR6_EMI_SLOW_MASK ; -__raw_writel (reg, &imx_ccm->CCGR6); -} -#endif -/***************************************************/ U_BOOT_CMD(
arch/arm/mach-imx/mx6/clock.c U_BOOT_CMD( · line 1488
Quoted 4 lines
arch/arm/mach-imx/mx6/clock.c +1
-0@@ -1484,3 +1485,4 @@ U_BOOT_CMD("display clocks" ,"" ); +#endif
This patch has some side-effects and breaks some boards. Even if the changes are correct, some boards (wandboard, icore are examples) don't disable IPU support in SPL. Even if this is useless and generates only a bigger footprint.
In fact, I get :
arm: + wandboard+board/wandboard/built-in.o: In function `setup_display':+board/wandboard/wandboard.c:355: undefined reference to `enable_ipu_clock' +make[2]: *** [spl/u-boot-spl] Error 1
+make[1]: *** [spl/u-boot-spl] Error 2
+make: *** [sub-make] Error 2
Reason is clear: boards have in SPL a setup_display() that calls enable_ipu_clock. But it makes no sense to have IPU support in SPL.
We can fix with a follow-up patch, but this is bad for bisecting. The other option is to fix here and disable IPU in spl for the affected boards. What you think ?
Best regards,
Stefano
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================
PATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
Hi Stefano,
On Tue, 19 Sep 2017 09:54:30 +0200
Stefano Babic sbabic at denx.de wrote:
...
Quoted 15 lines
This patch has some side-effects and breaks some boards. Even if the changes are correct, some boards (wandboard, icore are examples) don't disable IPU support in SPL. Even if this is useless and generates only a bigger footprint.
In fact, I get :
arm: + wandboard
(quoted diff) +5
-0+board/wandboard/built-in.o: In function `setup_display': +board/wandboard/wandboard.c:355: undefined reference to `enable_ipu_clock' +make[2]: *** [spl/u-boot-spl] Error 1 +make[1]: *** [spl/u-boot-spl] Error 2 +make: *** [sub-make] Error 2
Quoted 6 lines
Reason is clear: boards have in SPL a
setup_display()that callsenable_ipu_clock. But it makes no sense to have IPU support in SPL.We can fix with a follow-up patch, but this is bad for bisecting. The other option is to fix here and disable IPU in spl for the affected boards. What you think ?
Sorry for the build breakage, I didn't test with a full imx6 build. Yes, we shouldn't break bisection. I'll fix and resubmit. Thanks!
--
Anatolij
Fabio Estevam
reviewerPATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
In reply to Stefano BabicHi Stefano,
Quoted 2 lines · Stefano Babic
Reason is clear: boards have in SPL a
setup_display()that callsenable_ipu_clock. But it makes no sense to have IPU support in SPL.
Good catch, thanks!
Anatolij,
Do you plan to remove IPU code from SPL?
Thanks!
PATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
Hi Fabio,
Quoted 4 lines · On Wed, 20 Sep 2017 00:18:52 -0300 Fabio Estevam festevam at gmail.com wrote:
Hi Stefano,
On Tue, Sep 19, 2017 at 4:54 AM, Stefano Babic <[email protected]> wrote:
Quoted 8 lines
Quoted 2 lines
Reason is clear: boards have in SPL a
setup_display()that callsenable_ipu_clock. But it makes no sense to have IPU support in SPL.Good catch, thanks!
Anatolij,
Do you plan to remove IPU code from SPL?
I think we can do it by
include/configs/wandboard.h +2 -0
@@ -63,6 +63,7 @@#define CONFIG_PHY_ATHEROS /* Framebuffer */ +#if !defined(CONFIG_SPL_BUILD )#ifdef CONFIG_VIDEO #define CONFIG_VIDEO_IPUV3 #define CONFIG_VIDEO_BMP_RLE8
@@ -74,6 +75,7 @@#define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP #endif +#endif #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG #define CONFIG_EXTRA_ENV_SETTINGS \
I'll try to prepare a patch for other board configs later this week.
Thanks,
Anatolij
PATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
Hi Fabio, Anatolji,
just to save time : this is the list of boards that are affected by this problem.
cgtqmx6eval
wandboard
colibri_imx6
apalis_imx6
mx6cuboxi
mx6sabresd
imx6qdl_icore_rqs
A good solution is also if the board maintainers (I CCed all of them) could fix this and I will apply afterwards Anatolji's patch.
Best regards,
Stefano
Quoted 47 lines · Anatolij Gustschin
Hi Fabio,
Quoted 4 lines · On Wed, 20 Sep 2017 00:18:52 -0300 Fabio Estevam festevam at gmail.com wrote:
Hi Stefano,
On Tue, Sep 19, 2017 at 4:54 AM, Stefano Babic <[email protected]> wrote:
Quoted 8 lines
Quoted 2 lines
Reason is clear: boards have in SPL a
setup_display()that callsenable_ipu_clock. But it makes no sense to have IPU support in SPL.Good catch, thanks!
Anatolij,
Do you plan to remove IPU code from SPL?
I think we can do it by
include/configs/wandboard.h +2
-0@@ -63,6 +63,7 @@#define CONFIG_PHY_ATHEROS /* Framebuffer */ +#if !defined(CONFIG_SPL_BUILD )#ifdef CONFIG_VIDEO #define CONFIG_VIDEO_IPUV3 #define CONFIG_VIDEO_BMP_RLE8 @@ -74,6 +75,7 @@#define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP #endif +#endif #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG #define CONFIG_EXTRA_ENV_SETTINGS \I'll try to prepare a patch for other board configs later this week.
Thanks,
Anatolij
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================
PATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
Hi
Quoted 11 lines · Stefano Babic
Hi Fabio, Anatolji,
just to save time : this is the list of boards that are affected by this problem.
cgtqmx6eval
wandboard
colibri_imx6
apalis_imx6
I will prepare a patch for these two.
Max
Quoted 63 lines
mx6cuboxi
mx6sabresd
imx6qdl_icore_rqsA good solution is also if the board maintainers (I CCed all of them) could fix this and I will apply afterwards Anatolji's patch.
Best regards,
StefanoQuoted 50 lines · Anatolij Gustschin
Hi Fabio,
Quoted 6 lines · On Wed, 20 Sep 2017 00:18:52 -0300 Fabio Estevam festevam at gmail.com wrote:
Hi Stefano,
Quoted 1 line · Stefano Babic
Quoted 8 lines
Quoted 2 lines
Reason is clear: boards have in SPL a
setup_display()that callsenable_ipu_clock. But it makes no sense to have IPU support in SPL.Good catch, thanks!
Anatolij,
Do you plan to remove IPU code from SPL?
I think we can do it by
include/configs/wandboard.h +2
-0@@ -63,6 +63,7 @@#define CONFIG_PHY_ATHEROS /* Framebuffer */ +#if !defined(CONFIG_SPL_BUILD )#ifdef CONFIG_VIDEO #define CONFIG_VIDEO_IPUV3 #define CONFIG_VIDEO_BMP_RLE8 @@ -74,6 +75,7 @@#define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP #endif +#endif #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG #define CONFIG_EXTRA_ENV_SETTINGS \I'll try to prepare a patch for other board configs later this week.
Thanks,
Anatolij
PATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
Hi,
On Thu, 21 Sep 2017 09:10:32 +0000
Max Krummenacher max.krummenacher at toradex.com wrote:
...
Quoted 5 lines
Quoted 2 lines
colibri_imx6
apalis_imx6I will prepare a patch for these two.
Max
Thanks!
--
Anatolij
Fabio Estevam
reviewerPATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
In reply to Anatolij GustschinHi Anatolij,
Quoted 15 lines · Anatolij Gustschin
I think we can do it by
include/configs/wandboard.h +1
-0@@ -63,6 +63,7 @@#define CONFIG_PHY_ATHEROS /* Framebuffer */ +#if !defined(CONFIG_SPL_BUILD )#ifdef CONFIG_VIDEO #define CONFIG_VIDEO_IPUV3 #define CONFIG_VIDEO_BMP_RLE8
include/configs/wandboard.h line 78
Quoted 4 lines
include/configs/wandboard.h +1
-0@@ -74,6 +75,7 @@#define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP #endif +#endif
This solution still cause build failures for some boards.
I have a patch locally that avoids calling IPU from SPL code.
Will test it tomorrow and then will submit for all the affected boards.
Thanks
PATCH 1/1 imx6: disable clock command and print_cpuinfo code in SPL
Hi Fabio,
On Fri, 22 Sep 2017 22:55:04 -0300
Fabio Estevam festevam at gmail.com wrote:
...
Quoted 13 lines
include/configs/wandboard.h line 78
Quoted 10 lines
/* Framebuffer */
include/configs/wandboard.h +2
-0+#if !defined(CONFIG_SPL_BUILD )#ifdef CONFIG_VIDEO #define CONFIG_VIDEO_IPUV3 #define CONFIG_VIDEO_BMP_RLE8 @@ -74,6 +75,7 @@#define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP #endif +#endif This solution still cause build failures for some boards.
Quoted 3 lines
I have a patch locally that avoids calling IPU from SPL code.
Will test it tomorrow and then will submit for all the affected boards.
Thanks!
--
Anatolij