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