linux/include/linux/jz4780-nemc.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 * JZ4780 NAND/external memory controller (NEMC)
   4 *
   5 * Copyright (c) 2015 Imagination Technologies
   6 * Author: Alex Smith <alex@alex-smith.me.uk>
   7 */
   8
   9#ifndef __LINUX_JZ4780_NEMC_H__
  10#define __LINUX_JZ4780_NEMC_H__
  11
  12#include <linux/types.h>
  13
  14struct device;
  15
  16/*
  17 * Number of NEMC banks. Note that there are actually 6, but they are numbered
  18 * from 1.
  19 */
  20#define JZ4780_NEMC_NUM_BANKS   7
  21
  22/**
  23 * enum jz4780_nemc_bank_type - device types which can be connected to a bank
  24 * @JZ4780_NEMC_BANK_SRAM: SRAM
  25 * @JZ4780_NEMC_BANK_NAND: NAND
  26 */
  27enum jz4780_nemc_bank_type {
  28        JZ4780_NEMC_BANK_SRAM,
  29        JZ4780_NEMC_BANK_NAND,
  30};
  31
  32extern unsigned int jz4780_nemc_num_banks(struct device *dev);
  33
  34extern void jz4780_nemc_set_type(struct device *dev, unsigned int bank,
  35                                 enum jz4780_nemc_bank_type type);
  36extern void jz4780_nemc_assert(struct device *dev, unsigned int bank,
  37                               bool assert);
  38
  39#endif /* __LINUX_JZ4780_NEMC_H__ */
  40