xref: /OK3568_Linux_fs/u-boot/drivers/rkflash/rkflash_api.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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 int rksfc_nand_vendor_read(struct blk_desc *dev_desc,
47 			   u32 sec,
48 			   u32 n_sec,
49 			   void *p_data);
50 int rksfc_nand_vendor_write(struct blk_desc *dev_desc,
51 			    u32 sec,
52 			    u32 n_sec,
53 			    void *p_data);
54 #endif
55 
56 #ifdef CONFIG_RKNANDC_NAND
57 #include "flash.h"
58 #include "rk_sftl.h"
59 int rknand_flash_init(struct udevice *udev);
60 u32 rknand_flash_get_density(struct udevice *udev);
61 int rknand_flash_read(struct udevice *udev, u32 index, u32 count, void *buf);
62 int rknand_flash_write(struct udevice *udev,
63 		       u32 index,
64 		       u32 count,
65 		       const void *buf);
66 int rknand_flash_vendor_read(struct blk_desc *dev_desc,
67 			     u32 sec,
68 			     u32 n_sec,
69 			     void *p_data);
70 int rknand_flash_vendor_write(struct blk_desc *dev_desc,
71 			      u32 sec,
72 			      u32 n_sec,
73 			      void *p_data);
74 
75 #endif
76 #endif
77