[patch 8/14] s3c2412/s3c2413 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Added s3c2412 registers and bits.

Signed-off-by: Koen Martens <[email protected]>


--- linux-2.6.15.4/include/asm-arm/arch-s3c2410/regs-iis.h 2006-02-10 08:22:48.000000000 +0100 +++ golinux/include/asm-arm/arch-s3c2410/regs-iis.h 2006-02-28 13:08:22.000000000 +0100
@@ -18,6 +18,7 @@
 *    18-07-2005     DA      Change IISCON_MPLL to IISMOD_MPLL
 *                           Correct IISMOD_256FS and IISMOD_384FS
 *                           Add IISCON_PSCEN
+ *    17-02-2006     KM      Added definitions for S3C2412/S3C2413
 */

#ifndef __ASM_ARCH_REGS_IIS_H
@@ -84,4 +85,100 @@
#define S3C2400_IISFCON_RXSHIFT      (0)

#define S3C2410_IISFIFO  (0x10)
+
+/*
+ * S3C2412/13 has different IIS architecture,
+ * this information should not be in this file
+ * but it is because we (TomTom) do (does) not
+ * wish to create a seperate kernel for just
+ * S3C2412/13 architecture - KM
+ */
+
+// TODO: check whether S3C24XX_VA_IIS is correct for
+//       S3C2412/S3C2413 (final documentation from
+//       Samsung is not available yet) - KM
+
+#ifdef CONFIG_CPU_S3C2412
+
+//#define S3C2412_IISFCON  (0x00)
+#define S3C2412_IISCON   (S3C24XX_VA_IIS + 0x00)
+
+#define S3C2412_IISCON_LRI              (1<<11)
+#define S3C2412_IISCON_FTXEMPT          (1<<10)
+#define S3C2412_IISCON_FRXEMPT          (1<<9)
+#define S3C2412_IISCON_FTXFULL          (1<<8)
+#define S3C2412_IISCON_FRXFULL          (1<<7)
+#define S3C2412_IISCON_TXDMAPAUSE       (1<<6)
+#define S3C2412_IISCON_RXDMAPAUSE       (1<<5)
+#define S3C2412_IISCON_TXCHPAUSE        (1<<4)
+#define S3C2412_IISCON_RXCHPAUSE        (1<<3)
+#define S3C2412_IISCON_TXDMACTIVE       (1<<2)
+#define S3C2412_IISCON_RXDMACTIVE       (1<<1)
+#define S3C2412_IISCON_I2SACTIVE        (1<<0)
+
+//#define S3C2412_IISMOD   (0x04)
+#define S3C2412_IISMOD   (S3C24XX_VA_IIS + 0x04)
+
+#define S3C2412_IISMOD_IMSMASK          (3<<10)
+#define S3C2412_IISMOD_IMASTER          (0<<10)
+#define S3C2412_IISMOD_EMASTER          (1<<10)
+#define S3C2412_IISMOD_SLAVE            (2<<10)
+
+#define S3C2412_IISMOD_TXRMASK          (3<<8)
+#define S3C2412_IISMOD_XMIT             (0<<8)
+#define S3C2412_IISMOD_RECV             (1<<8)
+#define S3C2412_IISMOD_XMITRECV         (2<<8)
+
+#define S3C2412_IISMOD_LOCLKL           (0<<7)
+#define S3C2412_IISMOD_LOCLKR           (1<<7)
+
+#define S3C2412_IISMOD_SDFMASK          (3<<5)
+#define S3C2412_IISMOD_FMTI2S           (0<<5)
+#define S3C2412_IISMOD_FMTMSB           (1<<5)
+#define S3C2412_IISMOD_FMTLSB           (2<<5)
+
+#define S3C2412_IISMOD_RFSMASK          (3<<3)
+#define S3C2412_IISMOD_256FS            (0<<3)
+#define S3C2412_IISMOD_512FS            (1<<3)
+#define S3C2412_IISMOD_384FS            (2<<3)
+#define S3C2412_IISMOD_768FS            (3<<3)
+
+#define S3C2412_IISMOD_BFSMASK          (3<<1)
+#define S3C2412_IISMOD_BFS32FS          (0<<1)
+#define S3C2412_IISMOD_BFS48FS          (1<<1)
+#define S3C2412_IISMOD_BFS16FS          (2<<1)
+
+#define S3C2412_IISMOD_16BIT            (0<<0)
+#define S3C2412_IISMOD_8BIT             (1<<0)
+
+
+//#define S3C2412_IISFIC   (0x08)
+#define S3C2412_IISFIC   (S3C24XX_VA_IIS + 0x08)
+
+#define S3C2412_IISFIC_TFLUSH           (1<<15)
+#define S3C2412_IISFIC_FTXCNTMASK       (0x1f << 8)
+#define S3C2412_IISFIC_RFLUSH           (1<<7)
+#define S3C2412_IISFIC_FRXCNTMASK       (0x1f << 0)
+
+//#define S3C2412_IISPSR   (0x0c)
+#define S3C2412_IISPSR   (S3C24XX_VA_IIS + 0x0c)
+
+#define S3C2412_IISPSR_PSRAEN           (1<<15)
+#define S3C2412_IISPSR_PSVALAMASK       (0x3f << 15)
+
+//#define S3C2412_IISTXD   (0x10)
+#define S3C2412_IISTXD   (S3C24XX_VA_IIS + 0x10)
+
+
+//#define S3C2412_IISRXD   (0x14)
+#define S3C2412_IISRXD   (S3C24XX_VA_IIS + 0x14)
+
+
+#define S3C2412_DATA_L8MASK             (0xff << 16)
+#define S3C2412_DATA_R8MASK             (0xff << 0)
+#define S3C2412_DATA_L16MASK            (0xffff << 16)
+#define S3C2412_DATA_R16MASK            (0xffff << 0)
+
+#endif /* CONFIG_CPU_S3C2412 */
+
#endif /* __ASM_ARCH_REGS_IIS_H */

--
K.F.J. Martens, Sonologic, http://www.sonologic.nl/
Networking, hosting, embedded systems, unix, artificial intelligence.
Public PGP key: http://www.metro.cx/pubkey-gmc.asc
Wondering about the funny attachment your mail program
can't read? Visit http://www.openpgp.org/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux