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 14 struct 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 */ 27 enum jz4780_nemc_bank_type { 28 JZ4780_NEMC_BANK_SRAM, 29 JZ4780_NEMC_BANK_NAND, 30 }; 31 32 extern unsigned int jz4780_nemc_num_banks(struct device *dev); 33 34 extern void jz4780_nemc_set_type(struct device *dev, unsigned int bank, 35 enum jz4780_nemc_bank_type type); 36 extern void jz4780_nemc_assert(struct device *dev, unsigned int bank, 37 bool assert); 38 39 #endif /* __LINUX_JZ4780_NEMC_H__ */ 40