Merge branch 'for-next/arm'
This commit is contained in:
commit
42e952b38a
|
@ -47,6 +47,7 @@ static struct omap_barebox_part baltos_barebox_part = {
|
|||
.nand_size = 0x1e0000,
|
||||
};
|
||||
|
||||
#ifndef CONFIG_OMAP_BUILD_IFT
|
||||
struct bsp_vs_hwparam {
|
||||
uint32_t Magic;
|
||||
uint32_t HwRev;
|
||||
|
@ -111,6 +112,7 @@ static int baltos_read_eeprom(void)
|
|||
return 0;
|
||||
}
|
||||
environment_initcall(baltos_read_eeprom);
|
||||
#endif
|
||||
|
||||
static int baltos_devices_init(void)
|
||||
{
|
||||
|
|
|
@ -93,7 +93,7 @@ static noinline int baltos_sram_init(void)
|
|||
while (__raw_readl(AM33XX_WDT_REG(WWPS)) != 0x0);
|
||||
|
||||
/* Setup the PLLs and the clocks for the peripherals */
|
||||
am33xx_pll_init(MPUPLL_M_500, DDRPLL_M_400);
|
||||
am33xx_pll_init(MPUPLL_M_600, DDRPLL_M_400);
|
||||
am335x_sdram_init(0x18B, &ddr3_cmd_ctrl, &ddr3_regs, &ddr3_data);
|
||||
sdram_size = get_ram_size((void *)0x80000000, (1024 << 20));
|
||||
if (sdram_size == SZ_256M)
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
/delete-property/ mmc2;
|
||||
/delete-property/ d_can0;
|
||||
/delete-property/ d_can1;
|
||||
/delete-property/ spi1;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -18,5 +18,7 @@
|
|||
mmc0 = &mmc1;
|
||||
mmc1 = &mmc2;
|
||||
mmc2 = &mmc3;
|
||||
spi0 = &spi0;
|
||||
spi1 = &spi1;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -32,6 +32,7 @@ check <width> <cond> <addr> <mask> Poll until condition becomes true.
|
|||
while_any_bit_set
|
||||
set_bits <width> <addr> <bits> set <bits> in register <addr>
|
||||
clear_bits <width> <addr> <bits> clear <bits> in register <addr>
|
||||
nop do nothing
|
||||
|
||||
the i.MX SoCs support a wide range of fancy things doing with the flash header.
|
||||
We limit ourselves to a very simple case, that is the flash header has a fixed
|
||||
|
|
|
@ -482,6 +482,33 @@ static int write_mem(const struct config_data *data, uint32_t addr,
|
|||
}
|
||||
}
|
||||
|
||||
static int nop(const struct config_data *data)
|
||||
{
|
||||
const struct imx_ivt_header nop_header = {
|
||||
.tag = TAG_NOP,
|
||||
.length = htobe16(4),
|
||||
.version = 0,
|
||||
};
|
||||
|
||||
switch (data->header_version) {
|
||||
case 1:
|
||||
fprintf(stderr, "DCD command NOP not implemented on DCD v1\n");
|
||||
return -EINVAL;
|
||||
case 2:
|
||||
if (curdcd > MAX_DCD - 1) {
|
||||
fprintf(stderr, "At maximum %d DCD entries allowed\n",
|
||||
MAX_DCD);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
check_last_dcd(*((uint32_t *) &nop_header));
|
||||
dcdtable[curdcd++] = *((uint32_t *) &nop_header);
|
||||
return 0;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This uses the Freescale Code Signing Tool (CST) to sign the image.
|
||||
* The cst is expected to be executable as 'cst' or if exists, the content
|
||||
|
@ -653,6 +680,7 @@ int main(int argc, char *argv[])
|
|||
.image_dcd_offset = 0xffffffff,
|
||||
.write_mem = write_mem,
|
||||
.check = check,
|
||||
.nop = nop,
|
||||
};
|
||||
|
||||
prgname = argv[0];
|
||||
|
|
|
@ -131,6 +131,14 @@ static int do_cmd_check(struct config_data *data, int argc, char *argv[])
|
|||
return data->check(data, cmd, addr, mask);
|
||||
}
|
||||
|
||||
static int do_cmd_nop(struct config_data *data, int argc, char *argv[])
|
||||
{
|
||||
if (!data->nop)
|
||||
return -ENOSYS;
|
||||
|
||||
return data->nop(data);
|
||||
}
|
||||
|
||||
static int write_mem(struct config_data *data, int argc, char *argv[],
|
||||
int set_bits, int clear_bits)
|
||||
{
|
||||
|
@ -364,6 +372,9 @@ struct command cmds[] = {
|
|||
}, {
|
||||
.name = "check",
|
||||
.parse = do_cmd_check,
|
||||
}, {
|
||||
.name = "nop",
|
||||
.parse = do_cmd_nop,
|
||||
}, {
|
||||
.name = "loadaddr",
|
||||
.parse = do_loadaddr,
|
||||
|
|
|
@ -77,6 +77,7 @@ struct config_data {
|
|||
uint32_t addr, uint32_t mask);
|
||||
int (*write_mem)(const struct config_data *data, uint32_t addr,
|
||||
uint32_t val, int width, int set_bits, int clear_bits);
|
||||
int (*nop)(const struct config_data *data);
|
||||
int csf_space;
|
||||
char *csf;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue