Commit | Line | Data |
---|---|---|
2874c5fd | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
911a8882 AS |
2 | /* |
3 | * JZ4780 NAND/external memory controller (NEMC) | |
4 | * | |
5 | * Copyright (c) 2015 Imagination Technologies | |
6 | * Author: Alex Smith <alex@alex-smith.me.uk> | |
911a8882 AS |
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__ */ |