From: Aneesh V <aneesh@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 07/12] omap4: automatic sdram detection
Date: Thu, 21 Jul 2011 12:58:13 +0530 [thread overview]
Message-ID: <1311233298-17265-8-git-send-email-aneesh@ti.com> (raw)
In-Reply-To: <1298893591-17636-1-git-send-email-aneesh@ti.com>
Identify SDRAM devices connected to EMIF automatically:
LPDDR2 devices have some Mode Registers that provide details
about the device such as the type, density, bus width
etc. EMIF has the capability to read these registers. If there
are no devices connected to a given chip-select reading mode
registers will return junk values. After reading as many such
registers as possible and matching with expected ranges of
values the driver can identify if there is a device connected
to the respective CS. If we identify that a device is connected
the values read give us complete details about the device.
This along with the base AC timings specified by JESD209-2
allows us to do a complete automatic initialization of
SDRAM that works on all boards.
Please note that the default AC timings specified by JESD209-2
will be safe for all devices but not necessarily optimal. However,
for the Elpida devices used on Panda and SDP the default timings
are both safe and optimal.
Signed-off-by: Aneesh V <aneesh@ti.com>
---
V3:
* Code re-organization for better readability
* Ensured that un-necessary code is compiled out when
CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION is not defined
---
arch/arm/cpu/armv7/omap4/emif.c | 238 +++++++++++++++++++++++++++++++++++++++
include/configs/omap4_panda.h | 1 +
include/configs/omap4_sdp4430.h | 1 +
3 files changed, 240 insertions(+), 0 deletions(-)
diff --git a/arch/arm/cpu/armv7/omap4/emif.c b/arch/arm/cpu/armv7/omap4/emif.c
index ceead9e..1234a7e 100644
--- a/arch/arm/cpu/armv7/omap4/emif.c
+++ b/arch/arm/cpu/armv7/omap4/emif.c
@@ -792,6 +792,244 @@ void emif_get_device_timings(u32 emif_nr,
}
#endif /* CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS */
+#ifdef CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION
+const char *get_lpddr2_type(u8 type_id)
+{
+ switch (type_id) {
+ case LPDDR2_TYPE_S4:
+ return "LPDDR2-S4";
+ case LPDDR2_TYPE_S2:
+ return "LPDDR2-S2";
+ default:
+ return NULL;
+ }
+}
+
+const char *get_lpddr2_io_width(u8 width_id)
+{
+ switch (width_id) {
+ case LPDDR2_IO_WIDTH_8:
+ return "x8";
+ case LPDDR2_IO_WIDTH_16:
+ return "x16";
+ case LPDDR2_IO_WIDTH_32:
+ return "x32";
+ default:
+ return NULL;
+ }
+}
+
+const char *get_lpddr2_manufacturer(u32 manufacturer)
+{
+ switch (manufacturer) {
+ case LPDDR2_MANUFACTURER_SAMSUNG:
+ return "Samsung";
+ case LPDDR2_MANUFACTURER_QIMONDA:
+ return "Qimonda";
+ case LPDDR2_MANUFACTURER_ELPIDA:
+ return "Elpida";
+ case LPDDR2_MANUFACTURER_ETRON:
+ return "Etron";
+ case LPDDR2_MANUFACTURER_NANYA:
+ return "Nanya";
+ case LPDDR2_MANUFACTURER_HYNIX:
+ return "Hynix";
+ case LPDDR2_MANUFACTURER_MOSEL:
+ return "Mosel";
+ case LPDDR2_MANUFACTURER_WINBOND:
+ return "Winbond";
+ case LPDDR2_MANUFACTURER_ESMT:
+ return "ESMT";
+ case LPDDR2_MANUFACTURER_SPANSION:
+ return "Spansion";
+ case LPDDR2_MANUFACTURER_SST:
+ return "SST";
+ case LPDDR2_MANUFACTURER_ZMOS:
+ return "ZMOS";
+ case LPDDR2_MANUFACTURER_INTEL:
+ return "Intel";
+ case LPDDR2_MANUFACTURER_NUMONYX:
+ return "Numonyx";
+ case LPDDR2_MANUFACTURER_MICRON:
+ return "Micron";
+ default:
+ return NULL;
+ }
+}
+
+static void display_sdram_details(u32 emif_nr, u32 cs,
+ struct lpddr2_device_details *device)
+{
+ const char *mfg_str;
+ const char *type_str;
+ char density_str[10];
+ u32 density;
+
+ debug("EMIF%d CS%d\t", emif_nr, cs);
+
+ if (!device) {
+ debug("None\n");
+ return;
+ }
+
+ mfg_str = get_lpddr2_manufacturer(device->manufacturer);
+ type_str = get_lpddr2_type(device->type);
+
+ density = lpddr2_density_2_size_in_mbytes[device->density];
+ if ((density / 1024 * 1024) == density) {
+ density /= 1024;
+ sprintf(density_str, "%d GB", density);
+ } else
+ sprintf(density_str, "%d MB", density);
+ if (mfg_str && type_str)
+ debug("%s\t\t%s\t%s\n", mfg_str, type_str, density_str);
+}
+
+static u8 is_lpddr2_sdram_present(u32 base, u32 cs,
+ struct lpddr2_device_details *lpddr2_device)
+{
+ u32 mr = 0, temp;
+
+ mr = get_mr(base, cs, LPDDR2_MR0);
+ if (mr > 0xFF) {
+ /* Mode register value bigger than 8 bit */
+ return 0;
+ }
+
+ temp = (mr & LPDDR2_MR0_DI_MASK) >> LPDDR2_MR0_DI_SHIFT;
+ if (temp) {
+ /* Not SDRAM */
+ return 0;
+ }
+ temp = (mr & LPDDR2_MR0_DNVI_MASK) >> LPDDR2_MR0_DNVI_SHIFT;
+
+ if (temp) {
+ /* DNV supported - But DNV is only supported for NVM */
+ return 0;
+ }
+
+ mr = get_mr(base, cs, LPDDR2_MR4);
+ if (mr > 0xFF) {
+ /* Mode register value bigger than 8 bit */
+ return 0;
+ }
+
+ mr = get_mr(base, cs, LPDDR2_MR5);
+ if (mr >= 0xFF) {
+ /* Mode register value bigger than 8 bit */
+ return 0;
+ }
+
+ if (!get_lpddr2_manufacturer(mr)) {
+ /* Manufacturer not identified */
+ return 0;
+ }
+ lpddr2_device->manufacturer = mr;
+
+ mr = get_mr(base, cs, LPDDR2_MR6);
+ if (mr >= 0xFF) {
+ /* Mode register value bigger than 8 bit */
+ return 0;
+ }
+
+ mr = get_mr(base, cs, LPDDR2_MR7);
+ if (mr >= 0xFF) {
+ /* Mode register value bigger than 8 bit */
+ return 0;
+ }
+
+ mr = get_mr(base, cs, LPDDR2_MR8);
+ if (mr >= 0xFF) {
+ /* Mode register value bigger than 8 bit */
+ return 0;
+ }
+
+ temp = (mr & MR8_TYPE_MASK) >> MR8_TYPE_SHIFT;
+ if (!get_lpddr2_type(temp)) {
+ /* Not SDRAM */
+ return 0;
+ }
+ lpddr2_device->type = temp;
+
+ temp = (mr & MR8_DENSITY_MASK) >> MR8_DENSITY_SHIFT;
+ if (temp > LPDDR2_DENSITY_32Gb) {
+ /* Density not supported */
+ return 0;
+ }
+ lpddr2_device->density = temp;
+
+ temp = (mr & MR8_IO_WIDTH_MASK) >> MR8_IO_WIDTH_SHIFT;
+ if (!get_lpddr2_io_width(temp)) {
+ /* IO width unsupported value */
+ return 0;
+ }
+ lpddr2_device->io_width = temp;
+
+ /*
+ * If all the above tests pass we should
+ * have a device on this chip-select
+ */
+ return 1;
+}
+
+static struct lpddr2_device_details *get_lpddr2_details(u32 base, u8 cs,
+ struct lpddr2_device_details *lpddr2_dev_details)
+{
+ u32 phy;
+ struct emif_reg_struct *emif = (struct emif_reg_struct *)base;
+
+ if (!lpddr2_dev_details)
+ return NULL;
+
+ /* Do the minimum init for mode register accesses */
+ if (!running_from_sdram()) {
+ phy = get_ddr_phy_ctrl_1(get_sys_clk_freq() / 2, RL_BOOT);
+ writel(phy, &emif->emif_ddr_phy_ctrl_1);
+ }
+
+ if (!(is_lpddr2_sdram_present(base, cs, lpddr2_dev_details)))
+ return NULL;
+
+ display_sdram_details(emif_num(base), cs, lpddr2_dev_details);
+
+ return lpddr2_dev_details;
+}
+
+void emif_get_device_details(u32 emif_nr,
+ struct lpddr2_device_details *cs0_device_details,
+ struct lpddr2_device_details *cs1_device_details)
+{
+ u32 base = (emif_nr == 1) ? OMAP44XX_EMIF1 : OMAP44XX_EMIF2;
+
+ if (running_from_sdram()) {
+ /*
+ * We can not do automatic discovery running from SDRAM
+ * Most likely we came here by mistake. Indicate error
+ * by returning NULL
+ */
+ cs0_device_details = NULL;
+ cs1_device_details = NULL;
+ } else {
+ /*
+ * Automatically find the device details:
+ *
+ * Reset the PHY after each call to get_lpddr2_details().
+ * If there is nothing connected to a given chip select
+ * (typically CS1) mode register reads will mess up with
+ * the PHY state and subsequent initialization won't work.
+ * PHY reset brings back PHY to a good state.
+ */
+ cs0_device_details =
+ get_lpddr2_details(base, CS0, cs0_device_details);
+ emif_reset_phy(base);
+
+ cs1_device_details =
+ get_lpddr2_details(base, CS1, cs1_device_details);
+ emif_reset_phy(base);
+ }
+}
+#endif /* CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION */
+
static void do_sdram_init(u32 base)
{
const struct emif_regs *regs;
diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h
index 9f82ef4..a8dd861 100644
--- a/include/configs/omap4_panda.h
+++ b/include/configs/omap4_panda.h
@@ -239,6 +239,7 @@
/* Defines for SDRAM init */
#ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
+#define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION
#define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
#endif
diff --git a/include/configs/omap4_sdp4430.h b/include/configs/omap4_sdp4430.h
index 6df1c3d..534f89a 100644
--- a/include/configs/omap4_sdp4430.h
+++ b/include/configs/omap4_sdp4430.h
@@ -245,6 +245,7 @@
/* Defines for SDRAM init */
#ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
+#define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION
#define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
#endif
--
1.7.0.4
next prev parent reply other threads:[~2011-07-21 7:28 UTC|newest]
Thread overview: 244+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-28 11:46 [U-Boot] [PATCH 00/22] U-Boot MMC SPL for OMAP4 Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 01/22] mkimage: Add OMAP boot image support Aneesh V
2011-03-01 14:24 ` Bedia, Vaibhav
2011-03-01 14:45 ` John Rigby
2011-03-01 14:49 ` Aneesh V
2011-03-02 4:51 ` Bedia, Vaibhav
[not found] ` <FCCFB4CDC6E5564B9182F639FC356087037077712B@dbde02.ent.ti.com>
2011-03-04 5:27 ` Bedia, Vaibhav
2011-03-04 8:49 ` Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 02/22] omap: add miscellaneous utility macros for bit-field operations Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 03/22] omap4: add OMAP4430 revision check Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 04/22] armv7: start.S: provide a hook for saving boot params Aneesh V
2011-03-01 14:27 ` Bedia, Vaibhav
2011-02-28 11:46 ` [U-Boot] [PATCH 05/22] omap4: save parameters passed by ROM code to SPL Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 06/22] arm: new labels in the linker script file Aneesh V
2011-03-08 10:12 ` Po-Yu Chuang
2011-03-08 11:20 ` Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 07/22] Add generic spl infrastructure Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 08/22] armv7: start.S: add SPL support Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 09/22] omap: add spl support Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 10/22] omap4: add spl support for OMAP4 SDP Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 11/22] omap4: add serial console support to SPL Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 12/22] omap4: utility function to identify the context of hw init Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 13/22] omap4: separate mux settings into essential and non essential parts Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 14/22] omap4: correct mux data for sdp4430 Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 15/22] omap4: add clock support Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 16/22] omap4: add sdram init support Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 17/22] omap4: calculate EMIF register values Aneesh V
2011-03-09 4:46 ` John Rigby
2011-03-09 5:08 ` Aneesh V
2011-03-09 6:02 ` John Rigby
2011-03-09 9:26 ` Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 18/22] omap4: automatic sdram detection Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 19/22] armv7: embed u-boot size within u-boot for use from SPL Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 20/22] omap: add MMC support to SPL Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 21/22] omap: spl: add FAT support over MMC Aneesh V
2011-02-28 11:46 ` [U-Boot] [PATCH 22/22] omap4: add spl support for OMAP4 Panda Aneesh V
2011-03-21 8:21 ` [U-Boot] [PATCH 00/22] U-Boot MMC SPL for OMAP4 Aneesh V
2011-03-22 8:50 ` Chander M. Kashyap
2011-03-22 9:20 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 " Aneesh V
2011-07-03 9:06 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 01/22] mkimage: Add OMAP boot image support Aneesh V
2011-05-15 19:06 ` Wolfgang Denk
2011-05-16 10:16 ` Aneesh V
2011-05-16 11:48 ` Wolfgang Denk
2011-05-17 10:24 ` Aneesh V
2011-05-17 11:15 ` Wolfgang Denk
2011-05-17 12:09 ` Aneesh V
2011-05-17 12:32 ` Wolfgang Denk
2011-05-16 1:52 ` Mike Frysinger
2011-05-16 2:55 ` Mike Frysinger
2011-05-16 10:28 ` Aneesh V
2011-05-16 18:42 ` Mike Frysinger
2011-05-17 6:30 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 02/22] omap4: add OMAP4430 revision check Aneesh V
2011-05-15 19:09 ` Wolfgang Denk
2011-05-16 12:14 ` Aneesh V
2011-05-16 15:35 ` Wolfgang Denk
2011-05-17 6:40 ` Aneesh V
2011-05-17 8:10 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 03/22] armv7: start.S: provide a hook for saving boot params Aneesh V
2011-05-15 19:10 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 04/22] omap4: save parameters passed by ROM code to SPL Aneesh V
2011-05-15 19:14 ` Wolfgang Denk
2011-05-16 12:29 ` Aneesh V
2011-05-16 15:37 ` Wolfgang Denk
2011-05-17 6:44 ` Aneesh V
2011-05-17 8:11 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 05/22] arm: new labels in the linker script file Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 06/22] Add generic spl infrastructure Aneesh V
2011-05-15 19:48 ` Wolfgang Denk
2011-05-16 12:48 ` Aneesh V
2011-05-16 15:41 ` Wolfgang Denk
2011-05-16 18:32 ` Scott Wood
2011-05-17 6:54 ` Aneesh V
2011-05-17 8:15 ` Wolfgang Denk
2011-05-17 10:30 ` Aneesh V
2011-05-17 11:17 ` Wolfgang Denk
2011-05-17 12:16 ` Aneesh V
2011-05-17 12:33 ` Wolfgang Denk
2011-05-17 14:01 ` Aneesh V
2011-05-17 16:50 ` Scott Wood
2011-05-18 3:35 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 07/22] armv7: start.S: add SPL support Aneesh V
2011-05-15 19:49 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 08/22] omap: add spl support Aneesh V
2011-05-15 19:52 ` Wolfgang Denk
2011-05-16 14:10 ` Aneesh V
2011-05-16 15:43 ` Wolfgang Denk
2011-05-17 6:59 ` Aneesh V
2011-05-17 8:16 ` Wolfgang Denk
2011-05-26 13:51 ` Aneesh V
2011-06-02 15:54 ` Aneesh V
2011-06-07 9:15 ` Aneesh V
2011-06-15 10:13 ` Wolfgang Denk
2011-06-15 10:53 ` Aneesh V
2011-06-15 12:04 ` Wolfgang Denk
2011-06-15 12:08 ` Aneesh V
2011-06-15 12:44 ` Wolfgang Denk
2011-05-16 18:39 ` Scott Wood
2011-05-18 5:05 ` Aneesh V
2011-05-18 15:51 ` Scott Wood
2011-05-15 19:53 ` Wolfgang Denk
2011-05-16 14:17 ` Aneesh V
2011-05-16 9:48 ` Simon Schwarz
2011-05-16 14:20 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 09/22] omap4: add spl support for OMAP4 SDP Aneesh V
2011-05-15 18:33 ` Wolfgang Denk
2011-05-16 14:29 ` Aneesh V
2011-05-16 15:48 ` Wolfgang Denk
2011-05-17 7:11 ` Aneesh V
2011-05-17 8:19 ` Wolfgang Denk
2011-05-17 12:33 ` Aneesh V
2011-05-17 12:53 ` Wolfgang Denk
2011-05-26 13:25 ` Aneesh V
2011-06-02 15:33 ` Aneesh V
2011-06-07 9:09 ` Aneesh V
2011-06-15 10:07 ` Wolfgang Denk
2011-05-15 19:54 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 10/22] omap4: utility function to identify the context of hw init Aneesh V
2011-05-15 19:59 ` Wolfgang Denk
[not found] ` <4DD135D0.8070805@ti.com>
2011-05-16 15:50 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 11/22] omap4: separate mux settings into essential and non essential parts Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 12/22] omap4: correct mux data for sdp4430 Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 13/22] omap4: add clock support Aneesh V
2011-05-15 19:00 ` Wolfgang Denk
2011-05-17 13:30 ` Aneesh V
2011-05-17 21:44 ` Wolfgang Denk
2011-06-25 12:05 ` Aneesh V
2011-06-25 13:05 ` Wolfgang Denk
2011-06-21 5:49 ` Aneesh V
2011-06-21 6:25 ` Aneesh V
2011-06-21 7:12 ` Aneesh V
2011-06-21 8:20 ` Wolfgang Denk
2011-06-21 9:08 ` Aneesh V
2011-06-21 10:22 ` Wolfgang Denk
2011-06-21 11:10 ` Aneesh V
2011-06-21 11:22 ` Aneesh V
2011-06-21 7:05 ` Wolfgang Denk
2011-06-21 7:05 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 14/22] omap4: add serial console support to SPL Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 15/22] omap4: add sdram init support Aneesh V
2011-05-15 20:01 ` Wolfgang Denk
2011-05-17 14:13 ` Aneesh V
2011-05-17 21:46 ` Wolfgang Denk
2011-05-15 20:02 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 16/22] omap4: calculate EMIF register values Aneesh V
2011-05-15 20:05 ` Wolfgang Denk
2011-05-15 20:42 ` Måns Rullgård
2011-05-17 14:30 ` Aneesh V
2011-05-17 14:26 ` Aneesh V
2011-05-17 21:54 ` Wolfgang Denk
2011-05-18 3:49 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 17/22] omap4: automatic sdram detection Aneesh V
2011-05-15 20:06 ` Wolfgang Denk
2011-05-17 14:33 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 18/22] armv7: embed u-boot size within u-boot for use from SPL Aneesh V
2011-05-15 20:09 ` Wolfgang Denk
2011-05-18 5:02 ` Aneesh V
2011-05-18 6:06 ` Wolfgang Denk
2011-05-26 11:08 ` Aneesh V
2011-05-26 17:21 ` Wolfgang Denk
2011-05-16 18:56 ` Scott Wood
2011-05-18 4:49 ` Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 19/22] omap: add MMC support to SPL Aneesh V
2011-05-15 15:21 ` [U-Boot] [PATCH v2 20/22] omap: spl: add FAT support over MMC Aneesh V
2011-05-15 20:12 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 21/22] omap4: add spl support for OMAP4 Panda Aneesh V
2011-05-15 20:14 ` Wolfgang Denk
2011-05-15 15:21 ` [U-Boot] [PATCH v2 22/22] omap: spl: add more debug traces Aneesh V
2011-05-15 20:21 ` Wolfgang Denk
2011-06-13 13:59 ` Aneesh V
2011-06-14 4:17 ` Aneesh V
2011-06-15 10:18 ` Wolfgang Denk
2011-07-03 9:35 ` Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 00/12] U-Boot MMC SPL for OMAP4 Aneesh V
2011-07-18 13:38 ` Aneesh V
2011-07-18 13:50 ` Wolfgang Denk
2011-07-18 14:05 ` Aneesh V
2011-07-18 14:15 ` Wolfgang Denk
2011-07-16 12:53 ` [U-Boot] [PATCH v3 01/12] omap4: utility function to identify the context of hw init Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 02/12] omap4: cleanup pin mux data Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 03/12] omap4: add OMAP4430 revision check Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 04/12] omap4: add clock support Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 05/12] omap4: add sdram init support Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 06/12] omap4: calculate EMIF register values Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 07/12] omap4: automatic sdram detection Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 08/12] armv7: start.S: fixes and enhancements for SPL Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 09/12] omap: add basic SPL support Aneesh V
2011-07-16 13:36 ` Daniel Schwierzeck
2011-07-16 14:24 ` Aneesh V
2011-07-16 14:30 ` Aneesh V
2011-07-16 15:02 ` Wolfgang Denk
2011-07-18 9:42 ` Daniel Schwierzeck
2011-07-18 9:44 ` Aneesh V
2011-07-18 12:04 ` Wolfgang Denk
2011-07-18 13:21 ` Simon Schwarz
2011-07-18 13:26 ` Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 10/12] Correct ih_os for u-boot.img Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 11/12] omap: add MMC and FAT support to SPL Aneesh V
2011-07-16 12:53 ` [U-Boot] [PATCH v3 12/12] mkimage: Add OMAP boot image support Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 00/12] U-Boot MMC SPL for OMAP4 Aneesh V
2011-07-20 21:31 ` Paulraj, Sandeep
2011-07-21 5:48 ` V, Aneesh
2011-07-21 14:04 ` Paulraj, Sandeep
2011-07-21 7:15 ` V, Aneesh
2011-07-18 15:46 ` [U-Boot] [PATCH v4 01/12] omap4: utility function to identify the context of hw init Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 02/12] omap4: cleanup pin mux data Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 03/12] omap4: add OMAP4430 revision check Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 04/12] omap4: add clock support Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 05/12] omap4: add sdram init support Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 06/12] omap4: calculate EMIF register values Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 07/12] omap4: automatic sdram detection Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 08/12] armv7: start.S: fixes and enhancements for SPL Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 09/12] omap: add basic SPL support Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 10/12] Correct ih_os for u-boot.img Aneesh V
2011-07-28 15:17 ` Wolfgang Denk
2011-07-18 15:46 ` [U-Boot] [PATCH v4 11/12] omap: add MMC and FAT support to SPL Aneesh V
2011-07-19 9:16 ` Simon Schwarz
2011-07-19 11:16 ` Aneesh V
2011-07-18 15:46 ` [U-Boot] [PATCH v4 12/12] mkimage: Add OMAP boot image support Aneesh V
2011-07-28 15:21 ` Wolfgang Denk
2011-08-02 9:08 ` Reinhard Meyer
2011-08-02 11:29 ` Albert ARIBAUD
2011-08-02 11:58 ` Reinhard Meyer
2011-07-21 7:28 ` [U-Boot] [PATCH v4 00/12] U-Boot MMC SPL for OMAP4 Aneesh V
2011-07-21 13:12 ` Paulraj, Sandeep
2011-07-21 7:28 ` [U-Boot] [PATCH v4 01/12] omap4: utility function to identify the context of hw init Aneesh V
2011-07-21 7:28 ` [U-Boot] [PATCH v4 02/12] omap4: cleanup pin mux data Aneesh V
2011-07-28 19:26 ` Wolfgang Denk
2011-07-29 8:41 ` Aneesh V
2011-07-29 8:56 ` Wolfgang Denk
2011-07-29 10:41 ` Aneesh V
2011-07-29 11:45 ` Wolfgang Denk
2011-07-21 7:28 ` [U-Boot] [PATCH v4 03/12] omap4: add OMAP4430 revision check Aneesh V
2011-07-21 7:28 ` [U-Boot] [PATCH v4 04/12] omap4: add clock support Aneesh V
2011-07-21 7:28 ` [U-Boot] [PATCH v4 05/12] omap4: add sdram init support Aneesh V
2011-07-21 7:28 ` [U-Boot] [PATCH v4 06/12] omap4: calculate EMIF register values Aneesh V
2011-07-21 7:28 ` Aneesh V [this message]
2011-07-21 7:28 ` [U-Boot] [PATCH v4 08/12] armv7: start.S: fixes and enhancements for SPL Aneesh V
2011-07-21 7:28 ` [U-Boot] [PATCH v4 09/12] omap: add basic SPL support Aneesh V
2011-07-21 7:28 ` [U-Boot] [PATCH v4 10/12] Correct ih_os for u-boot.img Aneesh V
2011-07-21 7:28 ` [U-Boot] [PATCH v4 11/12] omap: add MMC and FAT support to SPL Aneesh V
2011-07-21 7:28 ` [U-Boot] [PATCH v4 12/12] mkimage: Add OMAP boot image support Aneesh V
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1311233298-17265-8-git-send-email-aneesh@ti.com \
--to=aneesh@ti.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox