#include <linux/types.h>#include <linux/autoconf.h>#include "mtd.h"#include "nand.h"#include "delay.h"#include <asm/arch/hwregs/reg_rdwr.h>#include <asm/arch/hwregs/reg_map.h>#include <asm/arch/hwregs/pinmux_defs.h>#include <asm/arch/hwregs/bif_core_defs.h>#include <asm/arch/hwregs/gio_defs.h>#include "lib.h"#include "bootconfig.h"Include dependency graph for bootload.c:

Go to the source code of this file.
Defines | |
| #define | BOOTDEBUG 1 |
| #define | MORE_BOOTDEBUG 1 |
| #define | NANDRW_READ 0x01 |
| #define | NANDRW_WRITE 0x00 |
| #define | NANDRW_JFFS2 0x02 |
| #define | NANDRW_JFFS2_SKIP 0x04 |
| #define | ROUND_DOWN(value, boundary) ((value) & (~((boundary)-1))) |
| #define | SET_MAGIC_AND_BOOT(ADDR, MAGIC_R8, MAGIC_R12) __asm__ volatile (" \ move.d " #MAGIC_R8 ", $r8\n\ move.d " #MAGIC_R12 ", $r12\n\ jump %0\n\ nop\n\ " : : "r" (ADDR)) |
| #define | BOOT1(ADDR, MAGIC_R8, MAGIC_R12) SET_MAGIC_AND_BOOT(ADDR, MAGIC_R8, MAGIC_R12); |
| #define | BOOT(ADDR) BOOT1(ADDR, RAM_INIT_MAGIC, NAND_BOOT_MAGIC); |
Functions | |
| mtd_info * | crisv32_nand_flash_probe (void) |
| static int | nand_rw (struct mtd_info *mtd, int cmd, size_t start, size_t len, size_t *retlen, u_char *buf) |
| void | bootload (void) |
Variables | |
| int | _end |
| int | _bss |
| int | _edata |
| #define BOOT | ( | ADDR | ) | BOOT1(ADDR, RAM_INIT_MAGIC, NAND_BOOT_MAGIC); |
| #define BOOT1 | ( | ADDR, | |||
| MAGIC_R8, | |||||
| MAGIC_R12 | ) | SET_MAGIC_AND_BOOT(ADDR, MAGIC_R8, MAGIC_R12); |
Definition at line 78 of file bootload.c.
| #define BOOTDEBUG 1 |
Definition at line 56 of file bootload.c.
| #define MORE_BOOTDEBUG 1 |
Definition at line 57 of file bootload.c.
| #define NANDRW_JFFS2 0x02 |
| #define NANDRW_JFFS2_SKIP 0x04 |
| #define NANDRW_READ 0x01 |
| #define NANDRW_WRITE 0x00 |
| #define SET_MAGIC_AND_BOOT | ( | ADDR, | |||
| MAGIC_R8, | |||||
| MAGIC_R12 | ) | __asm__ volatile (" \ move.d " #MAGIC_R8 ", $r8\n\ move.d " #MAGIC_R12 ", $r12\n\ jump %0\n\ nop\n\ " : : "r" (ADDR)) |
Definition at line 71 of file bootload.c.
| void bootload | ( | void | ) |
Definition at line 198 of file bootload.c.
References _bss, _edata, _end, BOOT, crisv32_nand_flash_probe(), nand_oobinfo::eccbytes, nand_oobinfo::eccpos, mtd_info::eccsize, mtd_info::ecctype, mtd_info::erasesize, error(), mtd_info::flags, mtd_info::name, nand_rw(), NANDRW_JFFS2, NANDRW_JFFS2_SKIP, NANDRW_READ, mtd_info::oobblock, mtd_info::oobinfo, mtd_info::oobsize, putc(), putnl(), puts(), putx(), serial_init(), mtd_info::size, mtd_info::type, and nand_oobinfo::useecc.
| struct mtd_info* crisv32_nand_flash_probe | ( | void | ) |
Definition at line 125 of file nandflash.c.
References __iomem, ALE_BIT, BY_BIT, CE_BIT, nand_chip::chip_delay, CLE_BIT, nand_chip::cmd_ctrl, crisv32_device_ready(), crisv32_hwcontrol(), crisv32_mtd, nand_chip::dev_ready, nand_chip::ecc, nand_chip::eccmode, GFP_KERNEL, nand_chip::hwcontrol, nand_chip::IO_ADDR_R, nand_chip::IO_ADDR_W, ioremap, iounmap, kfree, kmalloc, memset(), nand_ecc_ctrl::mode, NAND_ECC_SOFT, nand_scan(), NAND_USE_FLASH_BBT, nand_chip::options, port_dummy_addr, and printk.
| static int nand_rw | ( | struct mtd_info * | mtd, | |
| int | cmd, | |||
| size_t | start, | |||
| size_t | len, | |||
| size_t * | retlen, | |||
| u_char * | buf | |||
| ) | [static] |
Definition at line 99 of file bootload.c.
References mtd_info::block_isbad, mtd_info::erasesize, min, n, NANDRW_JFFS2, NANDRW_JFFS2_SKIP, NANDRW_READ, NANDRW_WRITE, putnl(), puts(), putx(), mtd_info::read_ecc, and mtd_info::write_ecc.
Referenced by bootload().
| int _bss |
Referenced by bootload().
| int _edata |
| int _end |
1.5.1