xref: /rk3399_rockchip-uboot/drivers/rkflash/rkflash_api.h (revision e7b5bb3cc9527752c2c01acb4325fc0721fb75aa)
1 /*
2  * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:	GPL-2.0
5  */
6 
7 #ifndef __RKFLASH_API_H
8 #define __RKFLASH_API_H
9 
10 #define	FLASH_VENDOR_PART_START		8
11 #define	FLASH_VENDOR_PART_END		39	/* 8 + 8 * 4 - 1 */
12 
13 #ifdef CONFIG_RKSFC_NOR
14 #include "sfc_nor.h"
15 #include "sfc.h"
16 
17 int rksfc_nor_init(struct udevice *udev);
18 u32 rksfc_nor_get_capacity(struct udevice *udev);
19 int rksfc_nor_read(struct udevice *udev, u32 sec, u32 n_sec, void *p_data);
20 int rksfc_nor_write(struct udevice *udev,
21 		    u32 sec,
22 		    u32 n_sec,
23 		    const void *p_data);
24 int rksfc_nor_vendor_read(struct blk_desc *dev_desc,
25 			  u32 sec,
26 			  u32 n_sec,
27 			  void *p_data);
28 int rksfc_nor_vendor_write(struct blk_desc *dev_desc,
29 			   u32 sec,
30 			   u32 n_sec,
31 			   void *p_data);
32 
33 #endif
34 
35 #ifdef CONFIG_RKSFC_NAND
36 #include "sfc_nand.h"
37 #include "sfc.h"
38 #include "rk_sftl.h"
39 int rksfc_nand_init(struct udevice *udev);
40 u32 rksfc_nand_get_density(struct udevice *udev);
41 int rksfc_nand_read(struct udevice *udev, u32 index, u32 count, void *buf);
42 int rksfc_nand_write(struct udevice *udev,
43 		     u32 index,
44 		     u32 count,
45 		     const void *buf);
46 #endif
47 
48 #ifdef CONFIG_RKNANDC_NAND
49 #include "flash.h"
50 #include "rk_sftl.h"
51 int rknand_flash_init(struct udevice *udev);
52 u32 rknand_flash_get_density(struct udevice *udev);
53 int rknand_flash_read(struct udevice *udev, u32 index, u32 count, void *buf);
54 int rknand_flash_write(struct udevice *udev,
55 		       u32 index,
56 		       u32 count,
57 		       const void *buf);
58 #endif
59 #endif
60