xref: /rk3399_rockchip-uboot/drivers/rkflash/rkflash_api.c (revision 83ab7b4937c098a3febc8f361a6be16f28ae16aa)
1 /*
2  * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5  */
6 #include <common.h>
7 #include <dm.h>
8 
9 #include "rkflash_api.h"
10 #include "rkflash_blk.h"
11 
12 #ifdef CONFIG_RKSFC_NOR
13 int rk_snor_init(struct udevice *udev)
14 {
15 	struct rkflash_info *priv = dev_get_priv(udev);
16 	struct SFNOR_DEV *p_dev = (struct SFNOR_DEV *)&priv->flash_dev_info;
17 
18 	return snor_init(p_dev);
19 }
20 
21 u32 rk_snor_get_capacity(struct udevice *udev)
22 {
23 	struct rkflash_info *priv = dev_get_priv(udev);
24 	struct SFNOR_DEV *p_dev = (struct SFNOR_DEV *)&priv->flash_dev_info;
25 
26 	return snor_get_capacity(p_dev);
27 }
28 
29 int rk_snor_read(struct udevice *udev, u32 sec, u32 n_sec, void *p_data)
30 {
31 	struct rkflash_info *priv = dev_get_priv(udev);
32 	struct SFNOR_DEV *p_dev = (struct SFNOR_DEV *)&priv->flash_dev_info;
33 
34 	return snor_read(p_dev, sec, n_sec, p_data);
35 }
36 
37 int rk_snor_write(struct udevice *udev, u32 sec, u32 n_sec, const void *p_data)
38 {
39 	struct rkflash_info *priv = dev_get_priv(udev);
40 	struct SFNOR_DEV *p_dev = (struct SFNOR_DEV *)&priv->flash_dev_info;
41 
42 	return snor_write(p_dev, sec, n_sec, p_data);
43 }
44 #endif
45 
46