]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/arm/include/asm/arch-omap4/omap.h
ARM: omap4: add platform specific info for GPMC and ELM controllers
[karo-tx-uboot.git] / arch / arm / include / asm / arch-omap4 / omap.h
index e9942574f2a3b5b185dc3e9a9ccb6fed78656d67..d43dc265cd68f952897d07b39fbf691fbe281fdf 100644 (file)
@@ -9,23 +9,7 @@
  *     Richard Woodruff <r-woodruff2@ti.com>
  *     Syed Mohammed Khasim <x0khasim@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 _OMAP4_H_
 #define DRAM_ADDR_SPACE_START  OMAP44XX_DRAM_ADDR_SPACE_START
 #define DRAM_ADDR_SPACE_END    OMAP44XX_DRAM_ADDR_SPACE_END
 
-/* CONTROL */
-#define CTRL_BASE              (OMAP44XX_L4_CORE_BASE + 0x2000)
-#define CONTROL_PADCONF_CORE   (OMAP44XX_L4_CORE_BASE + 0x100000)
-#define CONTROL_PADCONF_WKUP   (OMAP44XX_L4_CORE_BASE + 0x31E000)
-
-/* LPDDR2 IO regs */
-#define LPDDR2_IO_REGS_BASE    0x4A100638
-
 /* CONTROL_ID_CODE */
 #define CONTROL_ID_CODE                0x4A002204
+#define STD_FUSE_DIE_ID_0      0x4A002200
+#define STD_FUSE_DIE_ID_1      0x4A002208
+#define STD_FUSE_DIE_ID_2      0x4A00220c
+#define STD_FUSE_DIE_ID_3      0x4A002210
 
 #define OMAP4_CONTROL_ID_CODE_ES1_0    0x0B85202F
 #define OMAP4_CONTROL_ID_CODE_ES2_0    0x1B85202F
 #define OMAP4_CONTROL_ID_CODE_ES2_1    0x3B95C02F
 #define OMAP4_CONTROL_ID_CODE_ES2_2    0x4B95C02F
 #define OMAP4_CONTROL_ID_CODE_ES2_3    0x6B95C02F
+#define OMAP4460_CONTROL_ID_CODE_ES1_0 0x0B94E02F
+#define OMAP4460_CONTROL_ID_CODE_ES1_1 0x2B94E02F
+#define OMAP4470_CONTROL_ID_CODE_ES1_0 0x0B97502F
 
 /* UART */
 #define UART1_BASE             (OMAP44XX_L4_PER_BASE + 0x6a000)
 /* Watchdog Timer2 - MPU watchdog */
 #define WDT2_BASE              (OMAP44XX_L4_WKUP_BASE + 0x14000)
 
-/* 32KTIMER */
-#define SYNC_32KTIMER_BASE     (OMAP44XX_L4_WKUP_BASE + 0x4000)
-
-/* GPMC */
-#define OMAP44XX_GPMC_BASE     0x50000000
-
-/* SYSTEM CONTROL MODULE */
-#define SYSCTRL_GENERAL_CORE_BASE      0x4A002000
-
 /*
  * Hardware Register Details
  */
 #define TCLR_AR                        (0x1 << 1)
 #define TCLR_PRE               (0x1 << 5)
 
-/*
- * PRCM
- */
-
-/* PRM */
-#define PRM_BASE               0x4A306000
-#define PRM_DEVICE_BASE                (PRM_BASE + 0x1B00)
-
-#define PRM_RSTCTRL            PRM_DEVICE_BASE
-#define PRM_RSTCTRL_RESET      0x01
-
 /* Control Module */
 #define LDOSRAM_ACTMODE_VSET_IN_MASK   (0x1F << 5)
 #define LDOSRAM_VOLT_CTRL_OVERRIDE     0x0401040f
 #define CONTROL_EFUSE_1_OVERRIDE       0x1C4D0110
-#define CONTROL_EFUSE_2_OVERRIDE       0x00084000
+#define CONTROL_EFUSE_2_OVERRIDE       0x99084000
 
 /* LPDDR2 IO regs */
 #define CONTROL_LPDDR2IO_SLEW_125PS_DRV8_PULL_DOWN     0x1C1C1C1C
 #define CONTROL_LPDDR2IO_SLEW_325PS_DRV8_GATE_KEEPER   0x9E9E9E9E
 #define CONTROL_LPDDR2IO_SLEW_315PS_DRV12_PULL_DOWN    0x7C7C7C7C
 #define LPDDR2IO_GR10_WD_MASK                          (3 << 17)
-#define CONTROL_LPDDR2IO_3_VAL         0xA0888C00
+#define CONTROL_LPDDR2IO_3_VAL         0xA0888C0F
 
 /* CONTROL_EFUSE_2 */
 #define CONTROL_EFUSE_2_NMOS_PMOS_PTV_CODE_1           0x00ffc000
@@ -137,32 +100,10 @@ struct s32ktimer {
        unsigned int s32k_cr;   /* 0x10 */
 };
 
-struct omap4_sys_ctrl_regs {
-       unsigned int pad1[129];
-       unsigned int control_id_code;                   /* 0x4A002204 */
-       unsigned int pad11[22];
-       unsigned int control_std_fuse_opp_bgap;         /* 0x4a002260 */
-       unsigned int pad2[47];
-       unsigned int control_ldosram_iva_voltage_ctrl;  /* 0x4A002320 */
-       unsigned int control_ldosram_mpu_voltage_ctrl;  /* 0x4A002324 */
-       unsigned int control_ldosram_core_voltage_ctrl; /* 0x4A002328 */
-       unsigned int pad3[260277];
-       unsigned int control_pbiaslite;                 /* 0x4A100600 */
-       unsigned int pad4[63];
-       unsigned int control_efuse_1;                   /* 0x4A100700 */
-       unsigned int control_efuse_2;                   /* 0x4A100704 */
-};
+#define DEVICE_TYPE_SHIFT (0x8)
+#define DEVICE_TYPE_MASK (0x7 << DEVICE_TYPE_SHIFT)
+#define DEVICE_GP 0x3
 
-struct control_lpddr2io_regs {
-       unsigned int control_lpddr2io1_0;
-       unsigned int control_lpddr2io1_1;
-       unsigned int control_lpddr2io1_2;
-       unsigned int control_lpddr2io1_3;
-       unsigned int control_lpddr2io2_0;
-       unsigned int control_lpddr2io2_1;
-       unsigned int control_lpddr2io2_2;
-       unsigned int control_lpddr2io2_3;
-};
 #endif /* __ASSEMBLY__ */
 
 /*
@@ -172,40 +113,15 @@ struct control_lpddr2io_regs {
  */
 #define NON_SECURE_SRAM_START  0x40304000
 #define NON_SECURE_SRAM_END    0x4030E000      /* Not inclusive */
+#define SRAM_SCRATCH_SPACE_ADDR        0x4030C000
 /* base address for indirect vectors (internal boot mode) */
 #define SRAM_ROM_VECT_BASE     0x4030D000
-/* Temporary SRAM stack used while low level init is done */
-#define LOW_LEVEL_SRAM_STACK           NON_SECURE_SRAM_END
-#define SRAM_SCRATCH_SPACE_ADDR                NON_SECURE_SRAM_START
-/* SRAM scratch space entries */
-#define OMAP4_SRAM_SCRATCH_OMAP4_REV   SRAM_SCRATCH_SPACE_ADDR
-#define OMAP4_SRAM_SCRATCH_EMIF_SIZE   (SRAM_SCRATCH_SPACE_ADDR + 0x4)
-#define OMAP4_SRAM_SCRATCH_EMIF_T_NUM  (SRAM_SCRATCH_SPACE_ADDR + 0xC)
-#define OMAP4_SRAM_SCRATCH_EMIF_T_DEN  (SRAM_SCRATCH_SPACE_ADDR + 0x10)
-#define OMAP4_SRAM_SCRATCH_SPACE_END   (SRAM_SCRATCH_SPACE_ADDR + 0x14)
-
-/* ROM code defines */
-/* Boot device */
-#define BOOT_DEVICE_MASK       0xFF
-#define BOOT_DEVICE_OFFSET     0x8
-#define DEV_DESC_PTR_OFFSET    0x4
-#define DEV_DATA_PTR_OFFSET    0x18
-#define BOOT_MODE_OFFSET       0x8
-#define RESET_REASON_OFFSET    0x9
-#define CH_FLAGS_OFFSET                0xA
-
-#define CH_FLAGS_CHSETTINGS    (0x1 << 0)
-#define CH_FLAGS_CHRAM         (0x1 << 1)
-#define CH_FLAGS_CHFLASH       (0x1 << 2)
-#define CH_FLAGS_CHMMCSD       (0x1 << 3)
 
-#ifndef __ASSEMBLY__
-struct omap_boot_parameters {
-       char *boot_message;
-       unsigned int mem_boot_descriptor;
-       unsigned char omap_bootdevice;
-       unsigned char reset_reason;
-       unsigned char ch_flags;
-};
-#endif
+/* ABB settings */
+#define OMAP_ABB_SETTLING_TIME         50
+#define OMAP_ABB_CLOCK_CYCLES          16
+
+/* ABB tranxdone mask */
+#define OMAP_ABB_MPU_TXDONE_MASK       (0x1 << 7)
+
 #endif