All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jagan Teki <jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>
To: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	Philipp Tomsich
	<philipp.tomsich-SN7IsUiht6C/RdPyistoZJqQE7yCjDx5@public.gmane.org>,
	Kever Yang <kever.yang-TNX95d0MmH7DzftRWevZcw@public.gmane.org>,
	YouMin Chen <cym-TNX95d0MmH7DzftRWevZcw@public.gmane.org>,
	u-boot-0aAXYlwwYIKGBzrmiIFOJg@public.gmane.org
Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-amarula-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org,
	Jagan Teki
	<jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>,
	gajjar04akash-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: [PATCH 48/92] ram: rk3399: Compute stride for 2 channels
Date: Tue, 11 Jun 2019 20:20:51 +0530	[thread overview]
Message-ID: <20190611145135.21399-49-jagan@amarulasolutions.com> (raw)
In-Reply-To: <20190611145135.21399-1-jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>

stride value from sdram timings can be computed dynamically
based on the determined capacity for the given channel.

Right now these stride values are taken as part of sdram timings
via dtsi, but it possible to use same timings dtsi for given
frequency even though the configured board sdram do support
single channel with different size by dynamically detect the
stride value.

Example, NanoPi NEO4 do have DDR3-1866, but with single channel
and 1GB size with dynamic stride detection it is possible to
use existing rk3399-sdram-ddr3-1866.dtsi whose stride,
number of channels and capacity it support is d efferent.

So, add initial support to calculate the stride value for
2 channels sdram, which is available by default on existing
boards.

Signed-off-by: Jagan Teki <jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>
Signed-off-by: YouMin Chen <cym-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
---
 drivers/ram/rockchip/sdram_rk3399.c | 72 ++++++++++++++++++++++++++++-
 1 file changed, 71 insertions(+), 1 deletion(-)

diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c
index 1acf9efe9c..5985c37f08 100644
--- a/drivers/ram/rockchip/sdram_rk3399.c
+++ b/drivers/ram/rockchip/sdram_rk3399.c
@@ -1185,8 +1185,76 @@ static int switch_to_phy_index1(struct dram_info *dram,
 	return 0;
 }
 
+static unsigned char calculate_stride(struct rk3399_sdram_params *sdram_params)
+{
+	unsigned int stride = sdram_params->base.stride;
+	unsigned int channel, chinfo = 0;
+	unsigned int ch_cap[2] = {0, 0};
+	u64 cap;
+
+	for (channel = 0; channel < 2; channel++) {
+		unsigned int cs0_cap = 0;
+		unsigned int cs1_cap = 0;
+		struct sdram_cap_info *cap_info =
+			&sdram_params->ch[channel].cap_info;
+
+		if (cap_info->col == 0)
+			continue;
+
+		cs0_cap = (1 << (cap_info->cs0_row + cap_info->col +
+				 cap_info->bk + cap_info->bw - 20));
+		if (cap_info->rank > 1)
+			cs1_cap = cs0_cap >> (cap_info->cs0_row
+					      - cap_info->cs1_row);
+		if (cap_info->row_3_4) {
+			cs0_cap = cs0_cap * 3 / 4;
+			cs1_cap = cs1_cap * 3 / 4;
+		}
+		ch_cap[channel] = cs0_cap + cs1_cap;
+		chinfo |= 1 << channel;
+	}
+
+	/* stride calculation for 2 channels, default gstride type is 256B */
+	if (ch_cap[0] == ch_cap[1]) {
+		cap = ch_cap[0] + ch_cap[1];
+		switch (cap) {
+		/* 512MB */
+		case 512:
+			stride = 0;
+			break;
+		/* 1GB */
+		case 1024:
+			stride = 0x5;
+			break;
+		/*
+		 * 768MB + 768MB same as total 2GB memory
+		 * useful space: 0-768MB 1GB-1792MB
+		 */
+		case 1536:
+		/* 2GB */
+		case 2048:
+			stride = 0x9;
+			break;
+		/* 1536MB + 1536MB */
+		case 3072:
+			stride = 0x11;
+			break;
+		/* 4GB */
+		case 4096:
+			stride = 0xD;
+			break;
+		default:
+			printf("%s: Unable to calculate stride for ", __func__);
+			print_size((cap * (1 << 20)), " capacity\n");
+			break;
+		}
+	}
+
+	return stride;
+}
+
 static int sdram_init(struct dram_info *dram,
-		      const struct rk3399_sdram_params *sdram_params)
+		      struct rk3399_sdram_params *sdram_params)
 {
 	unsigned char dramtype = sdram_params->base.dramtype;
 	unsigned int ddr_freq = sdram_params->base.ddr_freq;
@@ -1235,6 +1303,8 @@ static int sdram_init(struct dram_info *dram,
 		set_ddrconfig(chan, sdram_params, channel,
 			      sdram_params->ch[channel].cap_info.ddrconfig);
 	}
+
+	sdram_params->base.stride = calculate_stride(sdram_params);
 	dram_all_config(dram, sdram_params);
 	switch_to_phy_index1(dram, sdram_params);
 
-- 
2.18.0.321.gffc6fa0e3

WARNING: multiple messages have this Message-ID (diff)
From: Jagan Teki <jagan@amarulasolutions.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 48/92] ram: rk3399: Compute stride for 2 channels
Date: Tue, 11 Jun 2019 20:20:51 +0530	[thread overview]
Message-ID: <20190611145135.21399-49-jagan@amarulasolutions.com> (raw)
In-Reply-To: <20190611145135.21399-1-jagan@amarulasolutions.com>

stride value from sdram timings can be computed dynamically
based on the determined capacity for the given channel.

Right now these stride values are taken as part of sdram timings
via dtsi, but it possible to use same timings dtsi for given
frequency even though the configured board sdram do support
single channel with different size by dynamically detect the
stride value.

Example, NanoPi NEO4 do have DDR3-1866, but with single channel
and 1GB size with dynamic stride detection it is possible to
use existing rk3399-sdram-ddr3-1866.dtsi whose stride,
number of channels and capacity it support is d efferent.

So, add initial support to calculate the stride value for
2 channels sdram, which is available by default on existing
boards.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: YouMin Chen <cym@rock-chips.com>
---
 drivers/ram/rockchip/sdram_rk3399.c | 72 ++++++++++++++++++++++++++++-
 1 file changed, 71 insertions(+), 1 deletion(-)

diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c
index 1acf9efe9c..5985c37f08 100644
--- a/drivers/ram/rockchip/sdram_rk3399.c
+++ b/drivers/ram/rockchip/sdram_rk3399.c
@@ -1185,8 +1185,76 @@ static int switch_to_phy_index1(struct dram_info *dram,
 	return 0;
 }
 
+static unsigned char calculate_stride(struct rk3399_sdram_params *sdram_params)
+{
+	unsigned int stride = sdram_params->base.stride;
+	unsigned int channel, chinfo = 0;
+	unsigned int ch_cap[2] = {0, 0};
+	u64 cap;
+
+	for (channel = 0; channel < 2; channel++) {
+		unsigned int cs0_cap = 0;
+		unsigned int cs1_cap = 0;
+		struct sdram_cap_info *cap_info =
+			&sdram_params->ch[channel].cap_info;
+
+		if (cap_info->col == 0)
+			continue;
+
+		cs0_cap = (1 << (cap_info->cs0_row + cap_info->col +
+				 cap_info->bk + cap_info->bw - 20));
+		if (cap_info->rank > 1)
+			cs1_cap = cs0_cap >> (cap_info->cs0_row
+					      - cap_info->cs1_row);
+		if (cap_info->row_3_4) {
+			cs0_cap = cs0_cap * 3 / 4;
+			cs1_cap = cs1_cap * 3 / 4;
+		}
+		ch_cap[channel] = cs0_cap + cs1_cap;
+		chinfo |= 1 << channel;
+	}
+
+	/* stride calculation for 2 channels, default gstride type is 256B */
+	if (ch_cap[0] == ch_cap[1]) {
+		cap = ch_cap[0] + ch_cap[1];
+		switch (cap) {
+		/* 512MB */
+		case 512:
+			stride = 0;
+			break;
+		/* 1GB */
+		case 1024:
+			stride = 0x5;
+			break;
+		/*
+		 * 768MB + 768MB same as total 2GB memory
+		 * useful space: 0-768MB 1GB-1792MB
+		 */
+		case 1536:
+		/* 2GB */
+		case 2048:
+			stride = 0x9;
+			break;
+		/* 1536MB + 1536MB */
+		case 3072:
+			stride = 0x11;
+			break;
+		/* 4GB */
+		case 4096:
+			stride = 0xD;
+			break;
+		default:
+			printf("%s: Unable to calculate stride for ", __func__);
+			print_size((cap * (1 << 20)), " capacity\n");
+			break;
+		}
+	}
+
+	return stride;
+}
+
 static int sdram_init(struct dram_info *dram,
-		      const struct rk3399_sdram_params *sdram_params)
+		      struct rk3399_sdram_params *sdram_params)
 {
 	unsigned char dramtype = sdram_params->base.dramtype;
 	unsigned int ddr_freq = sdram_params->base.ddr_freq;
@@ -1235,6 +1303,8 @@ static int sdram_init(struct dram_info *dram,
 		set_ddrconfig(chan, sdram_params, channel,
 			      sdram_params->ch[channel].cap_info.ddrconfig);
 	}
+
+	sdram_params->base.stride = calculate_stride(sdram_params);
 	dram_all_config(dram, sdram_params);
 	switch_to_phy_index1(dram, sdram_params);
 
-- 
2.18.0.321.gffc6fa0e3

  parent reply	other threads:[~2019-06-11 14:50 UTC|newest]

Thread overview: 204+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-11 14:50 [PATCH 00/92] ram: rk3399: Add LPDDR4 support Jagan Teki
2019-06-11 14:50 ` [U-Boot] " Jagan Teki
     [not found] ` <20190611145135.21399-1-jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>
2019-06-11 14:50   ` [PATCH 01/92] ram: rk3399: Fix code warnings Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 02/92] ram: rk3399: Add space between string with format specifier Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 03/92] ram: rk3399: Add proper spaces in data training Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 04/92] ram: rk3399: Handle data training return types Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 05/92] ram: rk3399: Order include files Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 06/92] ram: rk3399: Move macro after " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 07/92] ram: rk3399: Clear PI_175 interrupts in data training Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 08/92] ram: rk3399: Use rank mask in ca " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 09/92] ram: rk3399: Use rank mask in wdql " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 10/92] ram: rk3399: Add ddrtype enc macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 11/92] ram: rk3399: Add channel number encoder macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 12/92] ram: rk3399: Add row_3_4 enc macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 13/92] ram: rk3399: Add chipinfo macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 14/92] ram: rk3399: Add rank enc macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 15/92] ram: rk3399: Add column " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 16/92] ram: rk3399: Add bk " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 17/92] ram: rk3399: Add dbw " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 18/92] ram: rk3399: Add cs0_rw macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 19/92] ram: rk3399: Add cs1_rw macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 20/92] ram: rk3399: Add bw enc macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 21/92] ram: rk3399: Rename sys_reg with sys_reg2 Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 22/92] ram: rk3399: Update cs0_row to use sys_reg3 Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 23/92] ram: rk3399: Update cs1_row " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 24/92] ram: rk3399: Add cs1_col enc macro Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 25/92] ram: rk3399: Add ddr version " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 26/92] ram: rk3399: Add ddrtimingC0 Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 27/92] ram: rk3399: Add DdrMode Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 28/92] ram: rk3399: Handle pctl_cfg return type Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 29/92] ram: rk3399: s/tsel_wr_select_n/tsel_wr_select_dq_n Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 30/92] ram: rk3399: s/tsel_wr_select_p/tsel_wr_select_dq_p Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 31/92] ram: rk3399: s/ca_tsel_wr_select_n/tsel_wr_select_ca_n Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 32/92] ram: rk3399: s/ca_tsel_wr_select_p/tsel_wr_select_ca_p Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 33/92] ram: rk3399: Order tsel variables Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 34/92] ram: rk3399: Add phy pctrl reset support Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 35/92] ram: rk3399: Move pwrup_srefresh_exit to dram_info Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 36/92] ram: rk3399: Add pctl start support Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 37/92] ram: rockchip: rk3399: Add cap_info structure Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 38/92] ram: rk3399: s/rk3399_base_params/sdram_base_params Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 39/92] ram: rk3399: Move common sdram structures in common header Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 40/92] arm: include: rockchip: Move dramtypes to " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 41/92] arm: include: rockchip: Add DDR4 enum Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 42/92] ram: rockchip: Add initial Kconfig Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 43/92] debug_uart: Add printdec Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 44/92] ram: rockchip: Add debug sdram driver Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 45/92] ram: rockchip: debug: Add sdram_print_ddr_info Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 46/92] ram: rockchip: debug: Get the cs capacity Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 47/92] ram: rk3399: debug: Add sdram_print_stride Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` Jagan Teki [this message]
2019-06-11 14:50     ` [U-Boot] [PATCH 48/92] ram: rk3399: Compute stride for 2 channels Jagan Teki
2019-06-11 14:50   ` [PATCH 49/92] ram: rk3399: Compute stride for 1 channel a Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 50/92] ram: rk3399: Add rank detection support Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 51/92] ram: rk3399: Enable sdram debug functions Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 52/92] rockchip: dts: rk3399: nanopi-neo4: Use DDR3-1866 dtsi Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 53/92] clk: rockchip: rk3399: Fix check patch warnings and checks Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 54/92] clk: rockchip: rk3399: Set 50MHz ddr clock Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 55/92] clk: rockchip: rk3399: Set 400MHz " Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:50   ` [PATCH 56/92] ram: rk3399: Add spaces in pctl_cfg Jagan Teki
2019-06-11 14:50     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 57/92] ram: rk3399: Configure phy IO in ds odt Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 58/92] ram: rk3399: Add lpddr4 rank mask for cs training Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 59/92] ram: rk3399: Add lpddr4 rank mask for wdql training Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 60/92] ram: rk3399: Move mode_sel assignment Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 61/92] ram: rk3399: Don't wait for PLL lock in lpddr4 Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 62/92] ram: rk3399: Avoid two channel ZQ Cal Start at the same time Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 63/92] ram: rk3399: Configure PHY_898, PHY_919 for lpddr4 Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 64/92] ram: rk3399: Configure BOOSTP_EN, BOOSTN_EN " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 65/92] ram: rk3399: Configure SLEWP_EN, SLEWN_EN " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 66/92] ram: rk3399: Configure PHY RX_CM_INPUT " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 67/92] ram: rk3399: Map chipselect " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 68/92] ram: rk3399: Configure tsel write ca " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 69/92] ram: rk3399: Don't disable dfi dram clk for lpddr4, rank 1 Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 70/92] ram: rk3399: Add IO settings Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 71/92] ram: sdram: Configure lpddr4 tsel rd, wr based on " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 72/92] ram: rk3399: Add tsel control clock drive Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 73/92] ram: rk3399: Configure soc odt support Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 74/92] ram: rk3399: Get lpddr4 tsel_rd_en from io settings Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 75/92] ram: rk3399: Update lpddr4 vref based on " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 76/92] ram: rk3399: Update lpddr4 mode_sel " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 77/92] ram: rk3399: Update lpddr4 vref_mode_ac Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 78/92] ram: rk3399: Add LPPDR4 mr detection Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 79/92] arm: include: rockchip: Add rk3399 pmu file Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 80/92] rockchip: rk3399: syscon: Add pmu support Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 81/92] rockchip: dts: rk3399: Add u-boot,dm-pre-reloc for pmu Jagan Teki
2019-06-11 14:51     ` [U-Boot] [PATCH 81/92] rockchip: dts: rk3399: Add u-boot, dm-pre-reloc " Jagan Teki
2019-06-11 14:51   ` [PATCH 82/92] ram: rk3399: Add LPPDDR4-400 timings inc Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 83/92] ram: rk3399: Add LPPDDR4-800 " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 84/92] ram: rk3399: Add lpddr4 set rate support Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 85/92] ram: rk3399: Set lpddr4 dq odt Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 86/92] ram: rk3399: Set lpddr4 ca odt Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 87/92] ram: rk3399: Set lpddr4 MR3 Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 88/92] ram: rk3399: Set lpddr4 MR12 Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 89/92] ram: rk3399: Set lpddr4 MR14 Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 90/92] rockchip: dts: rk3399: Add LPDDR4-100 timings Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 91/92] rockchip: dts: rk3399: rockpro64: Use LPDDR4-100 dtsi Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:51   ` [PATCH 92/92] rockchip: dts: rk3399: rock-pi-4: " Jagan Teki
2019-06-11 14:51     ` [U-Boot] " Jagan Teki
2019-06-11 14:53   ` [PATCH 00/92] ram: rk3399: Add LPDDR4 support Philipp Tomsich
2019-06-11 14:53     ` [U-Boot] " Philipp Tomsich
     [not found]     ` <349AB0AF-4DEE-4BC8-8FEF-B3DBD34564E4-SN7IsUiht6C/RdPyistoZJqQE7yCjDx5@public.gmane.org>
2019-06-11 15:03       ` Jagan Teki
2019-06-11 15:03         ` [U-Boot] " Jagan Teki
     [not found]         ` <CAMty3ZDxop1nKHOxGYC0O7b8HL_ybmBSZr1P8gbDpz7eKyOyDw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-06-11 15:06           ` Philipp Tomsich
2019-06-11 15:06             ` [U-Boot] " Philipp Tomsich
2019-06-12 15:30             ` Jagan Teki
2019-06-12 15:30               ` [U-Boot] " Jagan Teki
2019-06-12 15:40               ` Philipp Tomsich
2019-06-12 15:40                 ` [U-Boot] " Philipp Tomsich
2019-06-13  1:50         ` Kever Yang
2019-06-13  1:50           ` [U-Boot] " Kever Yang
     [not found]           ` <b4c1bc19-70b5-d6c4-6764-1c1356b47b38-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2019-06-13  6:26             ` Jagan Teki
2019-06-13  6:26               ` [U-Boot] " Jagan Teki
2019-06-13  1:44 ` Kever Yang
2019-06-13  1:44   ` [U-Boot] " Kever Yang
2019-06-13  6:23   ` Jagan Teki
2019-06-13  6:23     ` [U-Boot] " Jagan Teki

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=20190611145135.21399-49-jagan@amarulasolutions.com \
    --to=jagan-dyjbcgdgk7pe9whmmfpqlfatqe2ktcn/@public.gmane.org \
    --cc=cym-TNX95d0MmH7DzftRWevZcw@public.gmane.org \
    --cc=gajjar04akash-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=kever.yang-TNX95d0MmH7DzftRWevZcw@public.gmane.org \
    --cc=linux-amarula-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org \
    --cc=linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=philipp.tomsich-SN7IsUiht6C/RdPyistoZJqQE7yCjDx5@public.gmane.org \
    --cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=u-boot-0aAXYlwwYIKGBzrmiIFOJg@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.