[PATCH 2/4] Fine split S3C arch dependencies from generic code

Alexey Galakhov agalakhov at gmail.com
Fri May 4 05:39:10 EDT 2012

On 03.05.2012 23:41, Juergen Beisert wrote:
>> create mode 100644 arch/arm/mach-samsung/include/mach/s3c-nand.h
>> delete mode 100644 arch/arm/mach-samsung/include/mach/s3c24xx-nand.h
> That is a really bad idea. I just renamed these files at January 2012 to reflect
> their CPU (refer b29b8f43d56b62e406349a5cf1ed56f17454c1f7). Why do you revert
> this change again? The NAND controller in the S3C24XX CPU is unique to this
> CPU. The NAND controller in the S3C6410 differs from it, and I guess the same
> is true in the S5 CPU. So, the newer CPUs need their own NAND drivers.
> What is the sense of renaming these files?

In fact, exactly the opposite is true. The NAND controller in S5PV210 is
almost exactly the same as in S3C24xx. The only difference is the
numbering of registers. Also S5P suports 1-bit and 4-bit HW ECC while
S3C has only 1-bit. The algorithm is the same, even
s3c2440_nand_read_buf() works correctly.

S3C6410 has the same controller as well.

Right now I have working S5PV210 NAND driver, I did it like that:


#define NFCONT 0x04
#define NFCMD 0x08
#define NFADDR 0x0C
#define NFDATA 0x10
#define NFSTAT 0x28
#define NFECC 0x34


The driver IS the same, yes. It works for both S5P and S3C.


More information about the barebox mailing list