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 | |