To make barebox_update work on the board.

Signed-off-by: Sascha Hauer <[email protected]>
---
 arch/arm/boards/phytec-phycore-imx27/pcm038.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boards/phytec-phycore-imx27/pcm038.c 
b/arch/arm/boards/phytec-phycore-imx27/pcm038.c
index 294f4ec..a4305f6 100644
--- a/arch/arm/boards/phytec-phycore-imx27/pcm038.c
+++ b/arch/arm/boards/phytec-phycore-imx27/pcm038.c
@@ -28,6 +28,7 @@
 #include <mach/imxfb.h>
 #include <mach/iomux-mx27.h>
 #include <mfd/mc13xxx.h>
+#include <mach/bbu.h>
 
 #include "pll.h"
 
@@ -105,7 +106,7 @@ static int pcm038_init(void)
 {
        struct mc13xxx *mc13xxx = mc13xxx_get();
        char *envdev;
-       uint32_t i;
+       uint32_t i, bbu_nand_flags = 0, bbu_nor_flags = 0;
 
        if (!of_machine_is_compatible("phytec,imx27-pcm038"))
                return 0;
@@ -123,10 +124,12 @@ static int pcm038_init(void)
        switch (bootsource_get()) {
        case BOOTSOURCE_NAND:
                of_device_enable_path("/chosen/environment-nand");
+               bbu_nand_flags |= BBU_HANDLER_FLAG_DEFAULT;
                envdev = "NAND";
                break;
        default:
                of_device_enable_path("/chosen/environment-nor");
+               bbu_nor_flags |= BBU_HANDLER_FLAG_DEFAULT;
                envdev = "NOR";
                break;
        }
@@ -175,6 +178,11 @@ static int pcm038_init(void)
        /* Clock gating enable */
        writel(0x00050f08, MX27_SYSCTRL_BASE_ADDR + MX27_GPCR);
 
+       imx_bbu_external_nand_register_handler("nand", "/dev/nand0.boot",
+                       bbu_nand_flags);
+       imx_bbu_external_nor_register_handler("nor", "/dev/nor0.boot",
+                       bbu_nor_flags);
+
        defaultenv_append_directory(defaultenv_pcm038);
 
        return 0;
-- 
2.0.0.rc2


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to