uboot/include/linux/mtd/fsl_upm.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * FSL UPM NAND driver
   4 *
   5 * Copyright (C) 2007 MontaVista Software, Inc.
   6 *                    Anton Vorontsov <avorontsov@ru.mvista.com>
   7 */
   8
   9#ifndef __LINUX_MTD_NAND_FSL_UPM
  10#define __LINUX_MTD_NAND_FSL_UPM
  11
  12#include <linux/mtd/rawnand.h>
  13
  14#define FSL_UPM_WAIT_RUN_PATTERN  0x1
  15#define FSL_UPM_WAIT_WRITE_BYTE   0x2
  16#define FSL_UPM_WAIT_WRITE_BUFFER 0x4
  17
  18struct fsl_upm {
  19        void __iomem *mdr;
  20        void __iomem *mxmr;
  21        void __iomem *mar;
  22        void __iomem *io_addr;
  23};
  24
  25struct fsl_upm_nand {
  26        struct fsl_upm upm;
  27
  28        int width;
  29        int upm_cmd_offset;
  30        int upm_addr_offset;
  31        int upm_mar_chip_offset;
  32        int wait_flags;
  33        int (*dev_ready)(int chip_nr);
  34        int chip_delay;
  35        int chip_offset;
  36        int chip_nr;
  37
  38        /* no need to fill */
  39        int last_ctrl;
  40};
  41
  42extern int fsl_upm_nand_init(struct nand_chip *chip, struct fsl_upm_nand *fun);
  43
  44#endif
  45