Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1298647

[PATCH 1/2] memory: omap-gpmc: Add support for AAD timings

Path csiph.com!news.mixmin.net!aioe.org!news.servidellagleba.it!bofh.it!news.nic.it!robomod
From Neil Armstrong <narmstrong@baylibre.com>
Newsgroups linux.kernel
Subject [PATCH 1/2] memory: omap-gpmc: Add support for AAD timings
Date Mon, 28 Dec 2015 14:50:03 +0100
Message-ID <qKGlt-2JC-31@gated-at.bofh.it> (permalink)
References <qKGbM-2E4-17@gated-at.bofh.it>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PzYBcgpNtNVaE9PhlkigQxF+jVnk+FZAUjzWj9Daw7o=; b=vy/grGbZEv7FSgKvuWG0aSdmvKZvV0uOfOsA2pUlHfzpwaRbMh0V5lLk1DtMDFuaDt uo00oF0mfcxvTGUkKYacSuynyo6kDahU8n6eSU+II39xlQwih8go9AJWvlZfGT5nKVxS VJ2vsLjFmYRlTKaM/ipnSO5Kd+77bzjlf27yqPflzfrTuR4reHOcMJV1vsHmom/kIz0N JqgCz3T59/VOWr9N6fIq95W/q0gEwTt3xMTwfDbtkAXJBq9vgUhK1QcbaNY+dEp3pfmB Jd3G8Jug2pEzp1/qw+u4RlzJXZpbsmPIeM9dvv4WjZTt4U2qC023RnX5jJGG0ZMPiwUR wATA==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PzYBcgpNtNVaE9PhlkigQxF+jVnk+FZAUjzWj9Daw7o=; b=A+dnitPVpIrQ+EOlJN4SVSVdI/7xrQb4e+4Y/u0uSO02FFAeCNVy9k/31kRZZVlxi4 DYDGfFuJ8TIIOTAobfncIsQc8g8xneG6C+VlDRbvhbcLKvI32eRAGJh8nXlEc3atgmNt llHRP7BNn+Xzm+DsNX7VWRCbWIlb5ywG/2zJFCEO4D4zAq+TfYVn00znrtSSfhSfB/NL Ggl8QjQ6oCIm/DfKttP/wo3etyymjzsoFVkf5ChTzY/dFkZH1pAiLky/ey3l7Ztw3GNi OLNoHYqrDmhHhEBeLrI0LcVvNuNNM5Q7rhG3zazCmrJzp63k3idc9M1jJpFuWdmRrfQm jBfw==
X-Gm-Message-State ALoCoQmpPU0PDE+xsbln37cSJIpDrMwcP31SNuyz8Qggi3ZAGAuud7M2htiOebEXsKi0tjOPhIl1R/Qs6dk710eSiikt8QrmJA==
X-Received by 10.194.78.146 with SMTP id b18mr53735610wjx.24.1451309977248; Mon, 28 Dec 2015 05:39:37 -0800 (PST)
X-Mailer git-send-email 1.9.1
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 111
Organization linux.* mail to news gateway
X-Original-Cc Neil Armstrong <narmstrong@baylibre.com>
X-Original-Date Mon, 28 Dec 2015 14:39:20 +0100
X-Original-Message-ID <1451309961-7247-2-git-send-email-narmstrong@baylibre.com>
X-Original-References <1451309961-7247-1-git-send-email-narmstrong@baylibre.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1298647

Show key headers only | View raw


In order to support extended timings parameters on hardware supporting the
"AAD" mode like the AM335x or DM816x, add these entries into the GPMC driver
if the hardware is capable.

Tested on DM816x and AM335x.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
 drivers/memory/omap-gpmc.c | 30 ++++++++++++++++++++++++++++++
 include/linux/omap-gpmc.h  |  5 +++++
 2 files changed, 35 insertions(+)

diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
index 6515dfc..21825dd 100644
--- a/drivers/memory/omap-gpmc.c
+++ b/drivers/memory/omap-gpmc.c
@@ -541,9 +541,20 @@ static void gpmc_cs_show_timings(int cs, const char *desc)
 	GPMC_GET_TICKS(GPMC_CS_CONFIG3,  0,  3, "adv-on-ns");
 	GPMC_GET_TICKS(GPMC_CS_CONFIG3,  8, 12, "adv-rd-off-ns");
 	GPMC_GET_TICKS(GPMC_CS_CONFIG3, 16, 20, "adv-wr-off-ns");
+	if (gpmc_capability & GPMC_HAS_MUX_AAD) {
+		GPMC_GET_TICKS(GPMC_CS_CONFIG3, 4, 6, "adv-aad-mux-on-ns");
+		GPMC_GET_TICKS(GPMC_CS_CONFIG3, 24, 26,
+				"adv-aad-mux-rd-off-ns");
+		GPMC_GET_TICKS(GPMC_CS_CONFIG3, 28, 30,
+				"adv-aad-mux-wr-off-ns");
+	}
 
 	GPMC_GET_TICKS(GPMC_CS_CONFIG4,  0,  3, "oe-on-ns");
 	GPMC_GET_TICKS(GPMC_CS_CONFIG4,  8, 12, "oe-off-ns");
+	if (gpmc_capability & GPMC_HAS_MUX_AAD) {
+		GPMC_GET_TICKS(GPMC_CS_CONFIG4,  4,  6, "oe-aad-mux-on-ns");
+		GPMC_GET_TICKS(GPMC_CS_CONFIG4, 13, 15, "oe-aad-mux-off-ns");
+	}
 	GPMC_GET_TICKS(GPMC_CS_CONFIG4, 16, 19, "we-on-ns");
 	GPMC_GET_TICKS(GPMC_CS_CONFIG4, 24, 28, "we-off-ns");
 
@@ -734,9 +745,18 @@ int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t,
 	GPMC_SET_ONE(GPMC_CS_CONFIG3,  0,  3, adv_on);
 	GPMC_SET_ONE(GPMC_CS_CONFIG3,  8, 12, adv_rd_off);
 	GPMC_SET_ONE(GPMC_CS_CONFIG3, 16, 20, adv_wr_off);
+	if (gpmc_capability & GPMC_HAS_MUX_AAD) {
+		GPMC_SET_ONE(GPMC_CS_CONFIG3,  4,  6, adv_aad_mux_on);
+		GPMC_SET_ONE(GPMC_CS_CONFIG3, 24, 26, adv_aad_mux_rd_off);
+		GPMC_SET_ONE(GPMC_CS_CONFIG3, 28, 30, adv_aad_mux_wr_off);
+	}
 
 	GPMC_SET_ONE(GPMC_CS_CONFIG4,  0,  3, oe_on);
 	GPMC_SET_ONE(GPMC_CS_CONFIG4,  8, 12, oe_off);
+	if (gpmc_capability & GPMC_HAS_MUX_AAD) {
+		GPMC_SET_ONE(GPMC_CS_CONFIG4,  4,  6, oe_aad_mux_on);
+		GPMC_SET_ONE(GPMC_CS_CONFIG4, 13, 15, oe_aad_mux_off);
+	}
 	GPMC_SET_ONE(GPMC_CS_CONFIG4, 16, 19, we_on);
 	GPMC_SET_ONE(GPMC_CS_CONFIG4, 24, 28, we_off);
 
@@ -1722,6 +1742,12 @@ static void __maybe_unused gpmc_read_timings_dt(struct device_node *np,
 	of_property_read_u32(np, "gpmc,adv-on-ns", &gpmc_t->adv_on);
 	of_property_read_u32(np, "gpmc,adv-rd-off-ns", &gpmc_t->adv_rd_off);
 	of_property_read_u32(np, "gpmc,adv-wr-off-ns", &gpmc_t->adv_wr_off);
+	of_property_read_u32(np, "gpmc,adv-aad-mux-on-ns",
+			     &gpmc_t->adv_aad_mux_on);
+	of_property_read_u32(np, "gpmc,adv-aad-mux-rd-off-ns",
+			     &gpmc_t->adv_aad_mux_rd_off);
+	of_property_read_u32(np, "gpmc,adv-aad-mux-wr-off-ns",
+			     &gpmc_t->adv_aad_mux_wr_off);
 
 	/* WE signal timings */
 	of_property_read_u32(np, "gpmc,we-on-ns", &gpmc_t->we_on);
@@ -1730,6 +1756,10 @@ static void __maybe_unused gpmc_read_timings_dt(struct device_node *np,
 	/* OE signal timings */
 	of_property_read_u32(np, "gpmc,oe-on-ns", &gpmc_t->oe_on);
 	of_property_read_u32(np, "gpmc,oe-off-ns", &gpmc_t->oe_off);
+	of_property_read_u32(np, "gpmc,oe-aad-mux-on-ns",
+			     &gpmc_t->oe_aad_mux_on);
+	of_property_read_u32(np, "gpmc,oe-aad-mux-off-ns",
+			     &gpmc_t->oe_aad_mux_off);
 
 	/* access and cycle timings */
 	of_property_read_u32(np, "gpmc,page-burst-access-ns",
diff --git a/include/linux/omap-gpmc.h b/include/linux/omap-gpmc.h
index 7dee0014..d833eb4 100644
--- a/include/linux/omap-gpmc.h
+++ b/include/linux/omap-gpmc.h
@@ -51,6 +51,9 @@ struct gpmc_timings {
 	u32 adv_on;		/* Assertion time */
 	u32 adv_rd_off;		/* Read deassertion time */
 	u32 adv_wr_off;		/* Write deassertion time */
+	u32 adv_aad_mux_on;	/* ADV assertion time for AAD */
+	u32 adv_aad_mux_rd_off;	/* ADV read deassertion time for AAD */
+	u32 adv_aad_mux_wr_off;	/* ADV write deassertion time for AAD */
 
 	/* WE signals timings corresponding to GPMC_CONFIG4 */
 	u32 we_on;		/* WE assertion time */
@@ -59,6 +62,8 @@ struct gpmc_timings {
 	/* OE signals timings corresponding to GPMC_CONFIG4 */
 	u32 oe_on;		/* OE assertion time */
 	u32 oe_off;		/* OE deassertion time */
+	u32 oe_aad_mux_on;	/* OE assertion time for AAD */
+	u32 oe_aad_mux_off;	/* OE deassertion time for AAD */
 
 	/* Access time and cycle time timings corresponding to GPMC_CONFIG5 */
 	u32 page_burst_access;	/* Multiple access word delay */
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH 0/2] ti-gpmc: Add support for AAD timings Neil Armstrong <narmstrong@baylibre.com> - 2015-12-28 14:40 +0100
  [PATCH 2/2] dt-bindings: bus: ti-gpmc: Add AAD timings properties Neil Armstrong <narmstrong@baylibre.com> - 2015-12-28 14:40 +0100
    Re: [PATCH 2/2] dt-bindings: bus: ti-gpmc: Add AAD timings properties Rob Herring <robh@kernel.org> - 2015-12-29 19:40 +0100
  [PATCH 1/2] memory: omap-gpmc: Add support for AAD timings Neil Armstrong <narmstrong@baylibre.com> - 2015-12-28 14:50 +0100

csiph-web