]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/include/asm/arch-omap3/cpu.h
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'
[u-boot] / arch / arm / include / asm / arch-omap3 / cpu.h
index 08a725dbdb4d4660ac69245bdc0635a198cd4941..61ec8f24e0a58eccd479f91be8b23580bac1c631 100644 (file)
@@ -2,24 +2,7 @@
  * (C) Copyright 2006-2008
  * Texas Instruments, <www.ti.com>
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #ifndef _CPU_H
@@ -109,6 +92,10 @@ struct gpmc_cs {
        u8 res[8];              /* blow up to 0x30 byte */
 };
 
+struct bch_res_0_3 {
+       u32 bch_result_x[4];
+};
+
 struct gpmc {
        u8 res1[0x10];
        u32 sysconfig;          /* 0x10 */
@@ -135,6 +122,8 @@ struct gpmc {
        u32 ecc7_result;        /* 0x218 */
        u32 ecc8_result;        /* 0x21C */
        u32 ecc9_result;        /* 0x220 */
+       u8 res7[0x1C];          /* fill up to 0x240 */
+       struct bch_res_0_3 bch_result_0_3[7];   /* 0x240 */
 };
 
 /* Used for board specific gpmc initialization */
@@ -218,6 +207,7 @@ struct sdrc {
 
 /* EMIF4 */
 typedef struct emif4 {
+       unsigned int emif_mod_id_rev;
        unsigned int sdram_sts;
        unsigned int sdram_config;
        unsigned int res1;
@@ -282,6 +272,51 @@ typedef struct emif4 {
 #define SMART_IDLE             (0x2 << 3)
 #define REF_ON_IDLE            (0x1 << 6)
 
+/* DMA */
+#ifndef __KERNEL_STRICT_NAMES
+#ifndef __ASSEMBLY__
+struct dma4_chan {
+       u32 ccr;
+       u32 clnk_ctrl;
+       u32 cicr;
+       u32 csr;
+       u32 csdp;
+       u32 cen;
+       u32 cfn;
+       u32 cssa;
+       u32 cdsa;
+       u32 csel;
+       u32 csfl;
+       u32 cdel;
+       u32 cdfl;
+       u32 csac;
+       u32 cdac;
+       u32 ccen;
+       u32 ccfn;
+       u32 color;
+};
+
+struct dma4 {
+       u32 revision;
+       u8 res1[0x4];
+       u32 irqstatus_l[0x4];
+       u32 irqenable_l[0x4];
+       u32 sysstatus;
+       u32 ocp_sysconfig;
+       u8 res2[0x34];
+       u32 caps_0;
+       u8 res3[0x4];
+       u32 caps_2;
+       u32 caps_3;
+       u32 caps_4;
+       u32 gcr;
+       u8 res4[0x4];
+       struct dma4_chan chan[32];
+};
+
+#endif /*__ASSEMBLY__ */
+#endif /* __KERNEL_STRICT_NAMES */
+
 /* timer regs offsets (32 bit regs) */
 
 #ifndef __KERNEL_STRICT_NAMES
@@ -428,12 +463,13 @@ struct prm {
        u8 res3[0x1c];
        u32 clksrc_ctrl;        /* 0x1270 */
 };
-#else /* __ASSEMBLY__ */
-#define PRM_RSTCTRL            0x48307250
-#define PRM_RSTCTRL_RESET      0x04
 #endif /* __ASSEMBLY__ */
 #endif /* __KERNEL_STRICT_NAMES */
 
+#define PRM_RSTCTRL            0x48307250
+#define PRM_RSTCTRL_RESET      0x04
+#define PRM_RSTST                      0x48307258
+#define PRM_RSTST_WARM_RESET_MASK      0x7D2
 #define SYSCLKDIV_1            (0x1 << 6)
 #define SYSCLKDIV_2            (0x1 << 7)