From ee72b3bbc6885628466bab093b181778bdfde974 Mon Sep 17 00:00:00 2001 From: Rob Purchase Date: Sat, 12 Jul 2008 23:01:49 +0000 Subject: Make the TCC780x NAND driver also build for 77x targets. This is work-in-progress stuff and does not yet work fully on 77x, but it's a step in the right direction. Also replace some magic numbers with #defines. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18019 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/config-m200.h | 3 +++ firmware/export/tcc77x.h | 18 ++++++++++++++++++ firmware/export/tcc780x.h | 29 +++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+) (limited to 'firmware/export') diff --git a/firmware/export/config-m200.h b/firmware/export/config-m200.h index e3cb42e403..875debd257 100644 --- a/firmware/export/config-m200.h +++ b/firmware/export/config-m200.h @@ -6,6 +6,9 @@ /* For Rolo and boot loader */ #define MODEL_NUMBER 29 +/* Enable FAT16 support */ +#define HAVE_FAT16SUPPORT + /* define this if you have recording possibility */ //#define HAVE_RECORDING diff --git a/firmware/export/tcc77x.h b/firmware/export/tcc77x.h index a819e29c2c..b17865e257 100644 --- a/firmware/export/tcc77x.h +++ b/firmware/export/tcc77x.h @@ -59,6 +59,10 @@ #define PCLKCFG5 (*(volatile unsigned long *)0x80000430) #define PCLKCFG6 (*(volatile unsigned long *)0x80000434) +/* Device bits for SWRESET & BCLKCTR */ + +#define DEV_NAND (1<<16) + /* ADC */ #define ADCCON (*(volatile unsigned long *)0x80000a00) @@ -142,4 +146,18 @@ #define TI0 (1<<0) /* Timer 0 IRQ flag */ #define TI1 (1<<1) /* Timer 1 IRQ flag */ +/* NAND Flash Controller */ + +#define NFC_CMD (*(volatile unsigned long *)0x90000000) +#define NFC_SADDR (*(volatile unsigned long *)0x9000000C) +#define NFC_SDATA (*(volatile unsigned long *)0x90000040) +#define NFC_WDATA (*(volatile unsigned long *)0x90000010) +#define NFC_CTRL (*(volatile unsigned long *)0x90000050) + #define NFC_16BIT (1<<26) + #define NFC_CS0 (1<<23) + #define NFC_CS1 (1<<22) + #define NFC_READY (1<<20) +#define NFC_IREQ (*(volatile unsigned long *)0x90000060) +#define NFC_RST (*(volatile unsigned long *)0x90000064) + #endif diff --git a/firmware/export/tcc780x.h b/firmware/export/tcc780x.h index e938067544..22e046a445 100644 --- a/firmware/export/tcc780x.h +++ b/firmware/export/tcc780x.h @@ -195,4 +195,33 @@ #define TCC780_VER (*(volatile unsigned long *)0xE0001FFC) +/* NAND Flash Controller */ + +#define NFC_CMD (*(volatile unsigned long *)0xF0053000) +#define NFC_SADDR (*(volatile unsigned long *)0xF005300C) +#define NFC_SDATA (*(volatile unsigned long *)0xF0053040) +#define NFC_WDATA (*(volatile unsigned long *)0xF0053010) +#define NFC_CTRL (*(volatile unsigned long *)0xF0053050) + #define NFC_16BIT (1<<26) + #define NFC_CS0 (1<<23) + #define NFC_CS1 (1<<22) + #define NFC_READY (1<<20) +#define NFC_IREQ (*(volatile unsigned long *)0xF0053060) +#define NFC_RST (*(volatile unsigned long *)0xF0053064) + +/* ECC Controller */ + +#define ECC_CTRL (*(volatile unsigned long *)0xF005B000) + #define ECC_M4EN (1<<6) + #define ECC_ENC (1<<27) + #define ECC_READY (1<<26) +#define ECC_BASE (*(volatile unsigned long *)0xF005B004) +#define ECC_CLR (*(volatile unsigned long *)0xF005B00C) +#define ECC_MLC0W (*(volatile unsigned long *)0xF005B030) +#define ECC_MLC1W (*(volatile unsigned long *)0xF005B034) +#define ECC_MLC2W (*(volatile unsigned long *)0xF005B038) +#define ECC_ERRADDR (*(volatile unsigned long *)0xF005B050) +#define ECC_ERRDATA (*(volatile unsigned long *)0xF005B060) +#define ECC_ERR (*(volatile unsigned long *)0xF005B070) + #endif -- cgit v1.2.3