jz4780-nemc.h (976B)
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__ */