summaryrefslogtreecommitdiff
path: root/board/isee/igep0146/mx6ul_igep0146_1x128_nt.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'board/isee/igep0146/mx6ul_igep0146_1x128_nt.cfg')
-rw-r--r--board/isee/igep0146/mx6ul_igep0146_1x128_nt.cfg173
1 files changed, 173 insertions, 0 deletions
diff --git a/board/isee/igep0146/mx6ul_igep0146_1x128_nt.cfg b/board/isee/igep0146/mx6ul_igep0146_1x128_nt.cfg
new file mode 100644
index 0000000..e36084c
--- /dev/null
+++ b/board/isee/igep0146/mx6ul_igep0146_1x128_nt.cfg
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2016 ISEE 2007 SL - http://www.isee.biz
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ *
+ * Refer docs/README.imxmage for more details about how-to configure
+ * and create imximage boot image
+ *
+ * The syntax is taken as close as possible with the kwbimage
+ */
+
+/* image version */
+
+IMAGE_VERSION 2
+
+/*
+ * Boot Device : one of
+ * spi, sd (the board has no nand neither onenand)
+ */
+
+BOOT_FROM sd
+
+/*
+ * Device Configuration Data (DCD)
+ *
+ * Each entry must have the format:
+ * Addr-type Address Value
+ *
+ * where:
+ * Addr-type register length (1,2 or 4 bytes)
+ * Address absolute address of the register
+ * value value to be stored in the register
+ */
+
+/* New DDR type MT41K64M16TW-107 */
+
+//=============================================================================
+// Enable all clocks (they are disabled by ROM code)
+//=============================================================================
+
+DATA 4 0x020c4068 0xffffffff // CCM_CCGR0
+DATA 4 0x020c406c 0xffffffff // CCM_CCGR1
+DATA 4 0x020c4070 0xffffffff // CCM_CCGR2
+DATA 4 0x020c4074 0xffffffff // CCM_CCGR3
+DATA 4 0x020c4078 0xffffffff // CCM_CCGR4
+DATA 4 0x020c407c 0xffffffff // CCM_CCGR5
+DATA 4 0x020c4080 0xffffffff // CCM_CCGR6
+
+//=============================================================================
+// IOMUX IMX6UL - MCIMX6G3CV
+//=============================================================================
+
+//DDR IO TYPE:
+DATA 4 0x020E04B4 0x000C0000 // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE
+DATA 4 0x020E04AC 0x00000000 // IOMUXC_SW_PAD_CTL_GRP_DDRPKE
+
+//CLOCK:
+DATA 4 0x020E027C 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDCLK0_P
+
+//ADDRESS:
+DATA 4 0x020E0250 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_CAS_B
+DATA 4 0x020E024C 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_RAS_B
+DATA 4 0x020E0490 0x00000030 // IOMUXC_SW_PAD_CTL_GRP_ADDDS
+
+//Control:
+DATA 4 0x020E0288 0x000C0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_RESET
+DATA 4 0x020E0270 0x00000000 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDBA2
+DATA 4 0x020E0260 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_ODT0
+DATA 4 0x020E0264 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_ODT1
+DATA 4 0x020E04A0 0x00000030 // IOMUXC_SW_PAD_CTL_GRP_CTLDS
+
+//Data Strobes:
+DATA 4 0x020E0494 0x00020000 // IOMUXC_SW_PAD_CTL_GRP_DDRMODE_CTL
+DATA 4 0x020E0280 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS0_P
+DATA 4 0x020E0284 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS1_P
+
+//Data:
+DATA 4 0x020E04B0 0x00020000 // IOMUXC_SW_PAD_CTL_GRP_DDRMODE
+DATA 4 0x020E0498 0x00000030 // IOMUXC_SW_PAD_CTL_GRP_B0DS
+DATA 4 0x020E04A4 0x00000030 // IOMUXC_SW_PAD_CTL_GRP_B1DS
+
+DATA 4 0x020E0244 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM0
+DATA 4 0x020E0248 0x00000030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM1
+
+//=============================================================================
+// DDR Controller Registers
+//=============================================================================
+// Manufacturer: Micron
+// Device Part Number: MT41K64M16TW-107
+// Clock Freq.: 933 MHz IMX6UL ensures data capture margin up to 400 Mhz
+// Density per CS in Gb: 1 Gb
+// Chip Selects used: 1
+// Number of Banks: 8
+// Row address: 13
+// Column address: 10
+// Data bus width 16
+//=============================================================================
+
+DATA 4 0x021B001C 0x00008000 // MMDC0_MDSCR Set the Configuration request bit during MMDC set up
+
+//=============================================================================
+// Calibration setup. REVISAR
+//=============================================================================
+
+DATA 4 0x021B0800 0xA1390003 // MMDC_MPZQHWCTRL Enable both one-time & periodic HW ZQ calibration.
+
+// For target board, may need to run write leveling calibration to fine tune these settings.
+DATA 4 0x021B080C 0x00000000 // MMDC_MPWLDECTRL0
+
+// Read DQS Gating calibration
+DATA 4 0x021B083C 0x415C015C // MMDC_MPDGCTRL0
+
+// Read Calibration
+DATA 4 0x021B0848 0x40404040 // MMDC_MPRDDLCTL 0x40404244
+
+// Write Calibration
+DATA 4 0x021B0850 0x40404040 // MMDC_MPWRDLCTL 0x40405A58
+
+// Read Data bit delay
+DATA 4 0x021B081C 0x33333333 // MMDC_MPRDDQBY0DL
+DATA 4 0x021B0820 0x33333333 // MMDC_MPRDDQBY1DL
+DATA 4 0x021B082C 0xf3333333 // MMDC_MPWRDQBY0DL
+DATA 4 0x021B0830 0xf3333333 // MMDC_MPWRDQBY1DL
+
+// Control Duty Cicle DQS of and primary clock CK0
+DATA 4 0x021B08C0 0x24922492 // MMDC_MPDCCR 0x00921012 24922492 0x00921012
+
+// Complete Calibration by Forced Measurement
+DATA 4 0x021B08b8 0x00008000 // MMDC_MPMUR0
+
+//=============================================================================
+// Calibration setup end
+//=============================================================================
+
+// MMCD Init
+DATA 4 0x021B0004 0x00020036 // MMDC_MDPDC
+DATA 4 0x021B0008 0x1B333030 // MMDC_MDOTC
+DATA 4 0x021B000C 0x676B52F3 // MMDC_MDCFG0
+DATA 4 0x021B0010 0xB66D0B63 // MMDC_MDCFG1
+DATA 4 0x021B0014 0x01FF00DB // MMDC_MDCFG2
+
+//MDMISC: RALAT kept to the high level of 5.
+//MDMISC: consider reducing RALAT if your 528MHz board design allow that. Lower RALAT benefits:
+//a. better operation at low frequency, for LPDDR2 freq < 100MHz, change RALAT to 3
+//b. Small performence improvment
+DATA 4 0x021B0018 0x00201740 // MMDC_MDMISC
+DATA 4 0x021B001C 0x00000800 // MMDC_MDSCR
+DATA 4 0x021B002C 0x000026D2 // MMDC_MDRWD
+DATA 4 0x021B0030 0x006B1023 // MMDC_MDOR
+DATA 4 0x021B0040 0x0000004F // MMDC_MDASP Initial value 3f = 0 Mb, increments of 256 Mb
+DATA 4 0x021B0000 0x82180000 // MMDC_MDCTL
+
+// ????
+DATA 4 0x021B0890 0x00400000 // MMDC_MPPDCMPR2 DDR2 Only ???
+
+// Mode Register writes
+// MT41K64M16TW-107 is a DDR3 memory so there is no need to configure CS1, CS1 only used for LPDDR2 ??
+DATA 4 0x021B001C 0x02008032 // MMDC0_MDSCR, MR2 write, CS0
+DATA 4 0x021B001C 0x00008033 // MMDC0_MDSCR, MR3 write, CS0
+DATA 4 0x021B001C 0x00048031 // MMDC0_MDSCR, MR1 write, CS0
+DATA 4 0x021B001C 0x15208030 // MMDC0_MDSCR, MR0write, CS0
+DATA 4 0x021B001C 0x04008040 // MMDC0_MDSCR, ZQ calibration command sent to device on CS0
+
+
+DATA 4 0x021B0020 0x00000800 // MMDC0_MDREF
+
+DATA 4 0x021B0818 0x00000227 // DDR_PHY_P0_MPODTCTRL
+
+DATA 4 0x021B0004 0x0002552D // MMDC0_MDPDC
+
+DATA 4 0x021B0404 0x00011006 // MMDC0_MAPSR
+
+DATA 4 0x021B001C 0x00000000 // MMDC0_MDSCR