Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags   |
/* SPDX-License-Identifier: GPL-2.0 */
/********************************************************************************
*********************************************************************************
<------><------><------>COPYRIGHT (c) 2004 BY ROCK-CHIP FUZHOU
<------><------><------><------>-- ALL RIGHTS RESERVED --
File Name: api_flash.h
Author: XUESHAN LIN
Created: 1st Dec 2008
Modified:
Revision: 1.00
Modify log:
1.01 ����FtlClose�ӿں��� 2009.10.15 lxs
********************************************************************************
********************************************************************************/
#ifndef _API_FLASH_H
#define _API_FLASH_H
//1����ԭ������
/***************************************************************************
��������:FTL��FLASH��ʼ��
��ڲ���:��
���ڲ���:
0=��������
1=ӳ�������, ��ǿ�Ƶ͸�
2=flash��ʼ��ʧ��,������Ӳ�������Ҫ���й̼�����
����ֵ:�ڲ�����, ����������ʹ��
˵ ��:�ϵ�ֻ�����һ�γ�ʼ������
***************************************************************************/
extern int FtlInit(unsigned int nandcBaseAddr,unsigned char pageRemapEn);
extern int FTLInit_WithoutPageRemap(void);
extern int FTLInit(void);
/***************************************************************************
��������:��ȡFLASH��������
��ڲ���:
DISK_NAND_CODE:�̼���
DISK_NAND_DATA:ϵͳ������
DISK_NAND_USER:�û���
���ڲ���:������������
˵ ��:
***************************************************************************/
extern unsigned int FtlGetCapacity(unsigned char LUN);
/***************************************************************************
��������:�������ӿ�
��ڲ���:LUN=�߼�������, Index=��ʼ������ַ, buf=���ݻ�����, nSec=������
���ڲ���:0=��ȡ��ȷ; ��0=��ȡ����, ���ݲ�����
���ú���:
˵ ��:
***************************************************************************/
extern int FtlRead(unsigned char LUN, unsigned int Index, unsigned int nSec, void *buf);
/***************************************************************************
��������:д�����ӿ�
��ڲ���:LUN=�߼�������, Index=��ʼ������ַ, buf=���ݻ�����, nSec=������
���ڲ���:0=��ȷд��; ��0=д����ʧ��, ����û�б���ȷд��
���ú���:
˵ ��:
***************************************************************************/
extern int FtlWrite(unsigned char LUN, unsigned int Index, unsigned int nSec, void *buf);
/***************************************************************************
��������:MLC FLASH����ˢ��
��ڲ���:
���ڲ���:
���ú���:
˵ ��:��ϵͳIDLE/�ڱȽϼ��ж�����ʱ(��A-B���š�Ƶ������Դ��)���øú���,
<------><------><------><------> �ܼ�ʱ������Ƶ�����ж���������,����ִ��ʱ����ܽϳ�(����ms������s)
***************************************************************************/
extern void FlashRefreshHook(void);
/***************************************************************************
��������:AHB��Ƶ����ʱ��Ҫ���ô˽ӿ�������FLASHʱ��
��ڲ���:AHBnKHz=��Ƶ(AHB)
���ڲ���:
���ú���:
***************************************************************************/
extern void FlashTimingCfg(unsigned int AHBnKHz);
/***************************************************************************
��������:FTL �رգ��ػ�ʱ����
��ڲ���:��
���ڲ���:��
˵ ��:�ػ�ʱ��������д�ļ��������������
***************************************************************************/
extern void FtlClose(void);
/***************************************************************************
��������:FTL ��ʱ�ص�������ϵͳ1S���ҵ���һ��
��ڲ���:��
���ڲ���:��
˵ ��:FTL��һЩCACHE�ڶ�ʱ�л�дflash
***************************************************************************/
extern void FtlTimeHook(void);
/***************************************************************************
��������:��ȡ flash page ��С���Ա����濪����,
��ڲ���:��
���ڲ���:page��С��sector��λ
���ú���:
˵��: ��Ҫ��FTLInit��ſ���
***************************************************************************/
extern int FlashGetPageSize(void);
/***************************************************************************
��������:AHB��Ƶ����ʱ��Ҫ���ô˽ӿ�������FLASHʱ��
��ڲ���:AHBnMHz=��Ƶ(AHB)
���ڲ���:
���ú���:
***************************************************************************/
extern void FlashTimingCfg(unsigned int AHBnKHz);
/***************************************************************************
��������:ϵͳ��д������
��ڲ���:
���ڲ���:
���ú���:
***************************************************************************/
extern void FtlFlashSysProtSetOn(void);
/***************************************************************************
��������:ϵͳ��д����
��ڲ���:
���ڲ���:
���ú���:
***************************************************************************/
extern void FtlFlashSysProtSetOff(void);
/***************************************************************************
��������:����ϵͳ�̣�����ʱʹ��
��ڲ���:
���ڲ���:
���ú���:
***************************************************************************/
extern void FtlLowFormatSysDisk(void);
extern int FtlWriteImage(unsigned int Index, unsigned int nSec, void *buf);
/***************************************************************************
��������:��������cache �cache ��
��ڲ���:
���ڲ���:
���ú���:
***************************************************************************/
extern void FtlCacheDelayWriteALL(void);
/***************************************************************************
��������:���ô���д������ַ��
��ڲ���:LBA��ַ��С��LBA�ĵ�ַд����
���ڲ���:
���ú���:
***************************************************************************/
void FtlSetSysProtAddr(int LBA);
/***************************************************************************
��������:��ȡFLASH��������
��ڲ���:�̷�
���ڲ���:����,������Ϊ��λ
���ú���:
***************************************************************************/
int FtlGetPageZoneCapacity(void);
/***************************************************************************
��������:��������
��ڲ���:Index=������, nSec=������
���ڲ���:�����������ڻ�����buf��
���ú���:
***************************************************************************/
int FtlPageWrite(int Index, int nSec, void *buf);
/***************************************************************************
��������:��������
��ڲ���:Index=������, nSec=������
���ڲ���:�����������ڻ�����buf��
���ú���:
***************************************************************************/
int FtlPageRead(int Index, int nSec, void *buf);
/***************************************************************************
��������:��ȡ SN sector��Ϣ
��ڲ���:pbuf
���ڲ���:
���ú���:
ע����Ϣ����Ҫ��flash �������غ���ܵ��ã�pbuf��С��Ҫ���ڵ���512 bytes��������ϢΪ512
bytes��
***************************************************************************/
char GetSNSectorInfo(char * pbuf);
extern int NandInit(void);
extern int NandRead(unsigned int Index, unsigned int nSec, void * buf) ;
extern int NandWriteImage(unsigned int Index, unsigned int nSec, void * buf);
extern int NandWrite(unsigned int Index, unsigned int nSec, void * buf) ;
extern int NandDeInit(void) ;
extern int NandForceDeInit(void);
extern unsigned int NandGetCapacity(void);
extern void NandSetSysProtAddr(unsigned int SysImageWriteEndAdd);
extern void FtlDelayWriteCacheEn(unsigned int en);
#endif