9
0
Fork 0

ARM: Phytec-phyCORE-imx27: Register NOR/NAND update handlers

To make barebox_update work on the board.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2014-06-12 08:20:24 +02:00
parent 56c00256dd
commit 8c05889ff5
1 changed files with 9 additions and 1 deletions

View File

@ -28,6 +28,7 @@
#include <mach/imxfb.h> #include <mach/imxfb.h>
#include <mach/iomux-mx27.h> #include <mach/iomux-mx27.h>
#include <mfd/mc13xxx.h> #include <mfd/mc13xxx.h>
#include <mach/bbu.h>
#include "pll.h" #include "pll.h"
@ -105,7 +106,7 @@ static int pcm038_init(void)
{ {
struct mc13xxx *mc13xxx = mc13xxx_get(); struct mc13xxx *mc13xxx = mc13xxx_get();
char *envdev; char *envdev;
uint32_t i; uint32_t i, bbu_nand_flags = 0, bbu_nor_flags = 0;
if (!of_machine_is_compatible("phytec,imx27-pcm038")) if (!of_machine_is_compatible("phytec,imx27-pcm038"))
return 0; return 0;
@ -123,10 +124,12 @@ static int pcm038_init(void)
switch (bootsource_get()) { switch (bootsource_get()) {
case BOOTSOURCE_NAND: case BOOTSOURCE_NAND:
of_device_enable_path("/chosen/environment-nand"); of_device_enable_path("/chosen/environment-nand");
bbu_nand_flags |= BBU_HANDLER_FLAG_DEFAULT;
envdev = "NAND"; envdev = "NAND";
break; break;
default: default:
of_device_enable_path("/chosen/environment-nor"); of_device_enable_path("/chosen/environment-nor");
bbu_nor_flags |= BBU_HANDLER_FLAG_DEFAULT;
envdev = "NOR"; envdev = "NOR";
break; break;
} }
@ -175,6 +178,11 @@ static int pcm038_init(void)
/* Clock gating enable */ /* Clock gating enable */
writel(0x00050f08, MX27_SYSCTRL_BASE_ADDR + MX27_GPCR); 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); defaultenv_append_directory(defaultenv_pcm038);
return 0; return 0;