/********************************************************************************
 * Marvell GPL License Option
 *
 * If you received this File from Marvell, you may opt to use, redistribute and/or
 * modify this File in accordance with the terms and conditions of the General
 * Public License Version 2, June 1991 (the "GPL License"), a copy of which is
 * available along with the File in the license.txt file or by writing to the Free
 * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
 * on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
 *
 * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
 * DISCLAIMED.  The GPL License provides additional details about this warranty
 * disclaimer.
 ******************************************************************************/

#ifndef __NAND_PRIV_H
#define __NAND_PRIV_H

#if defined(__UBOOT__)
#include "nand_chip.h"
#endif /* #if defined(__UBOOT__) */
//typedef unsigned int u32;
#include <com_type.h>
#define MV_NAND_DFC_REG_BASE		MEMMAP_NAND_FLASH_REG_BASE		// Physical base address of the Data Flash Controller
#define MV_NAND_MAX_PAGE_SIZE       8*1024
#define MV_NAND_MAX_OOB_SIZE        640
// Used generally 2 kinds of Nand devices, all from Samsung
// 1. 2K page devices, including K9WAG08U1A (SLC 8Gb*2CE) and K9G8G08U0M (MLC 8Gb)
// 2. 4K page devicees, including K9GAG08U0M (MLC 16Gb)

// Samsung K9WAG08U1A, composed of 2 K9K8G08U0A.
// K9K8G08U0A: 8Gb {(2K + 64)-Bytes/Page, 64-Pages/Block, i.e. 8K-Blocks = 512K-pages}

#define MV_NAND_NDSR_WRCMDREQ		0x00000001			// Write command request bit
#define MV_NAND_NDSR_RDDREQ		0x00000002			// Read Data Request
#define MV_NAND_NDSR_RDY0			0x00000800			// ND_nCS0 Ready bit
#define MV_NAND_NDSR_CS0_CMDD		0x00000100			// ND_nCS0 command is done
#define MV_NAND_NDSR_CS0_PAGED		0x00000400			// ND_nCS0 has completed a page of access
#define MV_NAND_NDSR_CS0_BBD		0x00000040			// ND_nCS0 program/erase auto-status-read failure 
#define MV_NAND_NDSR_RDY1			0x00001000			// ND_nCS1 Ready bit
#define MV_NAND_NDSR_CS1_CMDD		0x00000080			// ND_nCS1 command is done
#define MV_NAND_NDSR_CS1_PAGED		0x00000200			// ND_nCS1 has completed a page of access
#define MV_NAND_NDSR_CS1_BBD		0x00000040			// ND_nCS1 program/erase auto-status-read failure 
#define MV_NAND_NDSR_WRDREQ		0x00000004			// Write Data request
#define MV_NAND_NDSR_CORERR		0x00000008			// Correctable error detected
#define MV_NAND_NDSR_UNCERR		0x00000010			// UnCorrectable error detected
#define MV_NAND_NDCR_ND_RUN		0x10000000			// NAND Controller RUN mode bit
#define MV_NAND_NDCB_CSEL			0x01000000			// NAND nCS1 or nCS0
#define MV_NAND_NDCB_NC			0x00100000			// NAND nCS1 or nCS0
#define MV_NAND_NDCB_AUTO_RS		0x02000000			// NAND automatic check status
#define MV_NAND_NDCR_SPARE_EN		0x80000000
#define MV_NAND_NDCR_ECC_EN		0x40000000
#define MV_NAND_NDCR_STOP_ON_UNCOR	0x00080000
#define MV_NAND_NDCR_DMA_EN		0x20000000

#define MV_NAND_NDCR_PG_PER_BLK_BITS			2
#define MV_NAND_NDCR_PG_PER_BLK_LSB			13

#define MV_NAND_NDCR_PG_SIZE_BITS            2
#define MV_NAND_NDCR_PG_SIZE_LSB         24

#define MV_NAND_NDCR_ID_BYTE_BITS            3
#define MV_NAND_NDCR_ID_BYTE_LSB         16

#define MV_NAND_NDCR_PG4096                 0x2
#define MV_NAND_NDCR_PG2048                 0x1
#define MV_NAND_NDCR_PG8192                 0x3
#define MV_NAND_NDCR_PG512                 0x0
enum mv_pages_per_block_bits
{
	PAGES_PER_BLOCK_32,
	PAGES_PER_BLOCK_128,
	PAGES_PER_BLOCK_64,
	PAGES_PER_BLOCK_256
};

// SPARE_EN, ECC_EN, BCH_EN
#define MV_NAND_SPARE_2048_0xx		0
#define MV_NAND_SPARE_2048_10x		64
#define MV_NAND_SPARE_2048_110		40
#define MV_NAND_SPARE_2048_111		32

#define MV_NAND_SPARE_4096_0xx      0
#define MV_NAND_SPARE_4096_110      80
#define MV_NAND_SPARE_4096_111      64
#define MV_NAND_SPARE_4096_SIZE     128
// default register values
#define MV_NAND_NDCR_VAL			0x0186DFFF		// 0x0D075FFF
								// spare_en(0), ecc_en(0), dma_en(0), ND_RUN(0)
								// DFC_data_bus_width(8-bit), device_data_bus_width(8-bit), page_size(2048)
								// SEQ_DIS(1), clean_stop(0), FORCE_CSX(0), clear_page_count(0)
								// STOP_ON_UNCOR(0), read_ID_byte_count(5)
								// Row_Address_Start_Position(3rd cycle), pages_per_block(64), arbitrator_en(1)
								// all_iterrupts(disabled)
#if 1 

#if defined(NFCECCCLK_400)
#define MV_NAND_NDTR0CS0_VAL		0x84840a12
#define MV_NAND_NDTR1CS0_VAL		0x00208662
#else /* !NFCECCCLK_400 */
/* 
 * for 150MHz NFC clock, NDTR0CS0=0x84c20a0a, NAND device is MLC_2K_K9G8G08X0M
 * .tADL[31:27]=16(16*6.6ns=105.6ns > 100ns)
 * .SelCntr=1, .Rd_Cnt_Del[25:22]=3(4*6.6ns=26.6ns, must be longer than prop delay)
 * .tCH[21:19]=0(1*6.6ns=6.6ns > 5ns hold time)
 * .tCS[18:16]=2(3*6.6ns=19.8ns = 20ns setup time)
 * .tWH[13:11]=1(2*6.6ns=13.2ns > 10ns nWE high hold time)
 * .tWP[10:8]=2(3*6.6ns=19.8ns > 15ns nWE pulse width) {note:.tWH+.tWP>=2} * .etRP[6]=0
 * .tRH[5:3]=1(2*6.6ns=13.2ns > 10ns nRE high hold time)
 * .tRP[2:0]=2(3*6.6ns=19.8ns > 15ns nRE pulse time) {note:.tRH+.tRP>=2}
 */
#define MV_NAND_NDTR0CS0_VAL		0x8ccb1a13//0x84c20a0a//Diag=0x84820a10
/*
 * for 150MHz, NDTR1CS0=0x0c2d80A2, NAND device is MLC_2K_K9G8G08X0M
 * .tR[31:16]=0x3000(0x3000*6.6ns=81.1us > 60us! .Wait_Mode is enabled.)
 * .Wait_Mode[15]=1, .PRESCALE[14]=0
 * .tWHR[7:4]=12((12-tWH)*6.6ns=60ns = 60ns WE high to RE low time for status read)
 * .tAR[3:0]=4(4*6.6ns > 10ns ALE to RE delay)
 */
#define MV_NAND_NDTR1CS0_VAL		0x300080c4//0x0c2d80A2//0x0c2d00A2

#endif /* NFCECCCLK_400 */

#else
#define MV_NAND_NDTR0CS0_VAL		0x84820a12	//diag
#define MV_NAND_NDTR1CS0_VAL		0x0c2d80A2	//diag
#endif

#define MV_NAND_NDREDEL_VAL		0
								// .nd_re_en=1, .nd_re_sel=0
								// .nd_re_del_0=7
#define MV_NAND_NDSR_VAL			0xFFFFFFFF		// 0x00000FFF
								// Write 1 to reset status bits, write 0 to reserved and read-only bits
#define MV_NAND_NDECCCTRL_VAL		0x0

#define NFC_CLOCL_FREQ		156 //156MHz
#define MODE_NONE_SPARE		0
#define MODE_SINGLE_SPARE	1
#define MODE_MULTI_SPARE	2

struct mv_nand_data {
	unsigned int	szofpg;	  /* size of page */
	unsigned int	szofblk;	/* size of block */
	unsigned int	oobsize;
	unsigned int    conspare ;    /* spare mode, 0: no spare 1: single spare 2: multi spare */
	unsigned int    conecc;       /* ECC */
	unsigned int    conbch;        /* BCH */
	unsigned int    page_shift;
	unsigned int t;
	unsigned int    constp;   /* STOP on uncorrectible error */
	unsigned int    numofchip;    /*num of chip */
	unsigned int    bus_width_16;
	unsigned int	chunk_size;
	unsigned int	addr_cycle;

	unsigned int   ndcr;
	unsigned int   ndtr0cs0;
	unsigned int   ndtr1cs0;
	unsigned int   ndredel;
	unsigned int   ndsr;
	unsigned int ndeccctrl;
	unsigned int  ncs;
#if defined(__UBOOT__)
	struct nand_param* chip;
#endif /* #if defined(__UBOOT__) */
};

#define MV_NAND_REG_WRITE_DWORD(base, offset, val)    \
    GA_REG_WORD32_WRITE(base+(offset), val)
    
#define MV_NAND_REG_READ_DWORD(base, offset,val)			\
	GA_REG_WORD32_READ(base+(offset), val)
	
#define MV_NAND_NDCR_OFFSET		0x00			// Offset to Control Register
#define MV_NAND_NDTR0CS0_OFFSET	0x04			// Offest to Timing Paramter 0
#define MV_NAND_NDTR1CS0_OFFSET	0x0C			// Offest to Timing Paramter 0
#define MV_NAND_NDSR_OFFSET		0x14			// Offset to Status Register
#define MV_NAND_NDREDEL_OFFSET		0x24			// Offset to Read Enable Return Delay Register
#define MV_NAND_NDECCCTRL_OFFSET	0x28			// Offset to ECC Control Register
#define MV_NAND_NDDB_OFFSET		0x40			// Offset to data buffer (input and output)
#define MV_NAND_NDCB0_OFFSET		0x48			// Offset to Command Buffer 0
#define MV_NAND_NDCB1_OFFSET        0x4c
#define MV_NAND_NDCB2_OFFSET        0x50 
#define MV_NAND_NDCB3_OFFSET        0x54 

#define CHUNK_SIZE		2048
#define NDCB0_CMDX_MREAD	(0x0 << 29)
#define NDCB0_CMDX_MWRITE	(0x0 << 29)
#define NDCB0_CMDX_LNREAD	(0x1 << 29)
#define NDCB0_CMDX_LNWRITE	(0x1 << 29)
#define NDCB0_CMDX_FINAL_CMD	(0x3 << 29)
#define NDCB0_CMDX_READ		(0x4 << 29)
#define NDCB0_CMDX_CMDP_WRITE	(0x4 << 29)
#define NDCB0_CMDX_NREAD	(0x5 << 29)
#define NDCB0_CMDX_NWRITE	(0x5 << 29)
#define NDCB0_CMDX_CMDP		(0x6 << 29)
#define NDCB0_LENOVRD		(0x1 << 28)
#define NDCB0_RDYBYP		(0x1 << 27)
#define NDCB0_ROWEN		(0x1 << 26)
#define NDCB0_AUTORS		(0x1 << 25)
#define NDCB0_CS(x)		(((x) && 1) << 24)
#define NDCB0_CMD_READ		(0x0 << 21)
#define NDCB0_CMD_PROGRAM	(0x1 << 21)
#define NDCB0_CMD_ERASE		(0x2 << 21)
#define NDCB0_CMD_READID	(0x3 << 21)
#define NDCB0_CMD_STATUSREAD	(0x4 << 21)
#define NDCB0_CMD_RESET		(0x5 << 21)
#define NDCB0_CMD_NAKED_CMD	(0x6 << 21)
#define NDCB0_CMD_NAKED_ADDR	(0x7 << 21)
#define NDCB0_NC		(0x1 << 20)
#define NDCB0_DBC		(0x1 << 19)
#define NDCB0_ADDRC(x)		(((x) & 0x7) << 16)
#define NDCB0_CMD2(x)		(((x) & 0xFF) << 8)
#define NDCB0_CMD1(x)		((x) & 0xFF)

#define NDCB3_NDLENCNT(x)	((x) & 0xFFFF)

#define MV_NAN_NDCB0_LENOVRD_BITS      28
#endif
