From: Jon Hunter <jon-hunter@ti.com>
To: Rob Herring <rob.herring@calxeda.com>,
Grant Likely <grant.likely@secretlab.ca>,
Tony Lindgren <tony@atomide.com>,
Benoit Cousson <b-cousson@ti.com>
Cc: device-tree <devicetree-discuss@lists.ozlabs.org>,
linux-omap <linux-omap@vger.kernel.org>,
linux-arm <linux-arm-kernel@lists.infradead.org>,
Daniel Mack <zonque@gmail.com>, Jon Hunter <jon-hunter@ti.com>
Subject: [PATCH 12/14] ARM: OMAP2+: Add additional GPMC timing parameters
Date: Tue, 26 Feb 2013 11:30:39 -0600 [thread overview]
Message-ID: <1361899842-30303-13-git-send-email-jon-hunter@ti.com> (raw)
In-Reply-To: <1361899842-30303-1-git-send-email-jon-hunter@ti.com>
Some of the GPMC timings parameters are currently missing from the GPMC
device-tree binding. Add these parameters to the binding documentation
as well as code to read them.
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
---
Documentation/devicetree/bindings/bus/ti-gpmc.txt | 25 +++++++++++++++---
arch/arm/mach-omap2/gpmc.c | 28 +++++++++++++++++++++
2 files changed, 49 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/bus/ti-gpmc.txt b/Documentation/devicetree/bindings/bus/ti-gpmc.txt
index a31c32a..53338cf 100644
--- a/Documentation/devicetree/bindings/bus/ti-gpmc.txt
+++ b/Documentation/devicetree/bindings/bus/ti-gpmc.txt
@@ -56,10 +56,27 @@ Timing properties for child nodes. All are optional and default to 0.
- gpmc,oe-off: Deassertion time
Access time and cycle time timings corresponding to GPMC_CONFIG5:
- - gpmc,page-burst-access: Multiple access word delay
- - gpmc,access: Start-cycle to first data valid delay
- - gpmc,rd-cycle: Total read cycle time
- - gpmc,wr-cycle: Total write cycle time
+ - gpmc,page-burst-access: Multiple access word delay
+ - gpmc,access: Start-cycle to first data valid delay
+ - gpmc,rd-cycle: Total read cycle time
+ - gpmc,wr-cycle: Total write cycle time
+ - gpmc,bus-turnaround: Turn-around time between successive accesses
+ - gpmc,cycle2cycle-delay: Delay between chip-select pulses
+ - gpmc,clk-activation: GPMC clock activation time
+ - gpmc,wait-monitoring: Start of wait monitoring with regard to valid
+ data
+
+Boolean timing parameters. If property is present parameter enabled and
+disabled if omitted:
+ - gpmc,adv-extra-delay: ADV signal is delayed by half GPMC clock
+ - gpmc,cs-extra-delay: CS signal is delayed by half GPMC clock
+ - gpmc,cycle2cycle-diffcsen: Add "cycle2cycle-delay" between successive
+ accesses to a different CS
+ - gpmc,cycle2cycle-samecsen: Add "cycle2cycle-delay" between successive
+ accesses to the same CS
+ - gpmc,oe-extra-delay: OE signal is delayed by half GPMC clock
+ - gpmc,we-extra-delay: WE signal is delayed by half GPMC clock
+ - gpmc,time-para-granularity: Multiply all access times by 2
The following are only applicable to OMAP3+ and AM335x:
- gpmc,wr-access
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index eb167b3..78d6c51 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -1328,12 +1328,40 @@ static void __maybe_unused gpmc_read_timings_dt(struct device_node *np,
if (!of_property_read_u32(np, "gpmc,wr-cycle", &val))
gpmc_t->wr_cycle = val;
+ if (!of_property_read_u32(np, "gpmc,bus-turnaround", &val))
+ gpmc_t->bus_turnaround = val;
+
+ if (!of_property_read_u32(np, "gpmc,cycle2cycle-delay", &val))
+ gpmc_t->cycle2cycle_delay = val;
+
+ if (!of_property_read_u32(np, "gpmc,wait-monitoring", &val))
+ gpmc_t->wait_monitoring = val;
+
+ if (!of_property_read_u32(np, "gpmc,clk-activation", &val))
+ gpmc_t->clk_activation = val;
+
/* only for OMAP3430 */
if (!of_property_read_u32(np, "gpmc,wr-access", &val))
gpmc_t->wr_access = val;
if (!of_property_read_u32(np, "gpmc,wr-data-mux-bus", &val))
gpmc_t->wr_data_mux_bus = val;
+
+ /* bool timing parameters */
+ if (of_find_property(np, "gpmc,cycle2cycle-diffcsen", NULL))
+ gpmc_t->bool_timings.cycle2cyclediffcsen = true;
+ if (of_find_property(np, "gpmc,cycle2cycle-samecsen", NULL))
+ gpmc_t->bool_timings.cycle2cyclesamecsen = true;
+ if (of_find_property(np, "gpmc,we-extra-delay", NULL))
+ gpmc_t->bool_timings.we_extra_delay = true;
+ if (of_find_property(np, "gpmc,oe-extra-delay", NULL))
+ gpmc_t->bool_timings.oe_extra_delay = true;
+ if (of_find_property(np, "gpmc,adv-extra-delay", NULL))
+ gpmc_t->bool_timings.adv_extra_delay = true;
+ if (of_find_property(np, "gpmc,cs-extra-delay", NULL))
+ gpmc_t->bool_timings.cs_extra_delay = true;
+ if (of_find_property(np, "gpmc,time-para-granularity", NULL))
+ gpmc_t->bool_timings.time_para_granularity = true;
}
#ifdef CONFIG_MTD_NAND
--
1.7.10.4
next prev parent reply other threads:[~2013-02-26 17:31 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-26 17:30 [PATCH 00/14] ARM: OMAP2+: GPMC clean-up and DT update Jon Hunter
2013-02-26 17:30 ` [PATCH 01/14] ARM: OMAP2+: Simplify code configuring ONENAND devices Jon Hunter
2013-02-26 17:30 ` [PATCH 02/14] ARM: OMAP2+: Add variable to store number of GPMC waitpins Jon Hunter
2013-02-26 17:30 ` [PATCH 03/14] ARM: OMAP2+: Add structure for storing GPMC settings Jon Hunter
2013-02-26 17:30 ` [PATCH 04/14] ARM: OMAP2+: Add function for configuring " Jon Hunter
2013-02-28 6:05 ` Philip, Avinash
[not found] ` <518397C60809E147AF5323E0420B992E3EA8F007-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2013-02-28 15:52 ` Jon Hunter
2013-02-28 17:12 ` Jon Hunter
2013-03-01 5:33 ` Philip, Avinash
2013-03-01 15:43 ` Jon Hunter
[not found] ` <5130CCA9.10905-l0cyMroinI0@public.gmane.org>
2013-03-04 10:05 ` Philip, Avinash
2013-02-26 17:30 ` [PATCH 05/14] ARM: OMAP2+: Convert ONENAND to use gpmc_cs_program_settings() Jon Hunter
2013-02-26 17:30 ` [PATCH 06/14] ARM: OMAP2+: Convert NAND " Jon Hunter
[not found] ` <1361899842-30303-7-git-send-email-jon-hunter-l0cyMroinI0@public.gmane.org>
2013-02-28 10:38 ` Philip, Avinash
2013-02-28 16:02 ` Jon Hunter
2013-03-01 5:40 ` Philip, Avinash
[not found] ` <518397C60809E147AF5323E0420B992E3EA90C46-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2013-03-01 15:50 ` Jon Hunter
2013-02-26 17:30 ` [PATCH 07/14] ARM: OMAP2+: Convert SMC91x " Jon Hunter
2013-02-26 17:30 ` [PATCH 08/14] ARM: OMAP2+: Convert TUSB " Jon Hunter
2013-02-26 17:30 ` [PATCH 09/14] ARM: OMAP2+: Don't configure of chip-select options in gpmc_cs_configure() Jon Hunter
2013-02-26 17:30 ` [PATCH 10/14] ARM: OMAP2+: Add function to read GPMC settings from device-tree Jon Hunter
2013-02-26 17:30 ` [PATCH 11/14] ARM: OMAP2+: Add device-tree support for NOR flash Jon Hunter
2013-03-01 21:25 ` Ezequiel Garcia
2013-03-01 22:24 ` Jon Hunter
2013-03-04 11:57 ` Ezequiel Garcia
2013-03-04 17:51 ` Jon Hunter
[not found] ` <5134DF2A.4050209-l0cyMroinI0@public.gmane.org>
2013-03-04 18:19 ` Jon Hunter
2013-03-05 14:34 ` Mark Jackson
2013-03-05 14:46 ` Jon Hunter
2013-03-05 16:20 ` Mark Jackson
2013-03-05 17:30 ` Jon Hunter
2013-03-05 17:43 ` Ezequiel Garcia
2013-03-05 18:41 ` Jon Hunter
2013-03-05 21:34 ` Jon Hunter
2013-03-06 10:23 ` Mark Jackson
2013-03-06 13:30 ` Mark Jackson
2013-03-06 16:44 ` Jon Hunter
2013-03-06 16:48 ` Mark Jackson
2013-03-06 17:00 ` Jon Hunter
2013-03-06 18:01 ` Jon Hunter
2013-03-06 11:58 ` Ezequiel Garcia
2013-03-06 16:46 ` Jon Hunter
2013-03-06 16:54 ` Ezequiel Garcia
2013-03-07 13:02 ` Ezequiel Garcia
2013-02-26 17:30 ` Jon Hunter [this message]
[not found] ` <1361899842-30303-13-git-send-email-jon-hunter-l0cyMroinI0@public.gmane.org>
2013-03-01 20:11 ` [PATCH 12/14] ARM: OMAP2+: Add additional GPMC timing parameters Ezequiel Garcia
2013-03-01 20:12 ` Ezequiel Garcia
2013-03-01 22:27 ` Jon Hunter
2013-03-01 22:27 ` Jon Hunter
2013-02-26 17:30 ` [PATCH 13/14] ARM: OMAP2+: Convert NAND to retrieve GPMC settings from DT Jon Hunter
2013-02-26 17:30 ` [PATCH 14/14] ARM: OMAP2+: Convert ONENAND " Jon Hunter
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=1361899842-30303-13-git-send-email-jon-hunter@ti.com \
--to=jon-hunter@ti.com \
--cc=b-cousson@ti.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=rob.herring@calxeda.com \
--cc=tony@atomide.com \
--cc=zonque@gmail.com \
/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