linux/include/linux/mtd/physmap.h
<<
>>
Prefs
   1/*
   2 * For boards with physically mapped flash and using
   3 * drivers/mtd/maps/physmap.c mapping driver.
   4 *
   5 * Copyright (C) 2003 MontaVista Software Inc.
   6 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
   7 *
   8 * This program is free software; you can redistribute  it and/or modify it
   9 * under  the terms of  the GNU General  Public License as published by the
  10 * Free Software Foundation;  either version 2 of the  License, or (at your
  11 * option) any later version.
  12 *
  13 */
  14
  15#ifndef __LINUX_MTD_PHYSMAP__
  16#define __LINUX_MTD_PHYSMAP__
  17
  18#include <linux/mtd/mtd.h>
  19#include <linux/mtd/partitions.h>
  20
  21struct map_info;
  22
  23struct physmap_flash_data {
  24        unsigned int            width;
  25        void                    (*set_vpp)(struct map_info *, int);
  26        unsigned int            nr_parts;
  27        unsigned int            pfow_base;
  28        char                    *probe_type;
  29        struct mtd_partition    *parts;
  30};
  31
  32/*
  33 * Board needs to specify the exact mapping during their setup time.
  34 */
  35void physmap_configure(unsigned long addr, unsigned long size,
  36                int bankwidth, void (*set_vpp)(struct map_info *, int) );
  37
  38#ifdef CONFIG_MTD_PARTITIONS
  39
  40/*
  41 * Machines that wish to do flash partition may want to call this function in
  42 * their setup routine.
  43 *
  44 *      physmap_set_partitions(mypartitions, num_parts);
  45 *
  46 * Note that one can always override this hard-coded partition with
  47 * command line partition (you need to enable CONFIG_MTD_CMDLINE_PARTS).
  48 */
  49void physmap_set_partitions(struct mtd_partition *parts, int num_parts);
  50
  51#endif /* defined(CONFIG_MTD_PARTITIONS) */
  52
  53#endif /* __LINUX_MTD_PHYSMAP__ */
  54