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