From: afzal@ti.com (Afzal Mohammed)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 00/11] OMAP-GPMC: generic time calc, prepare for driver
Date: Wed, 19 Sep 2012 18:51:08 +0530 [thread overview]
Message-ID: <cover.1348058726.git.afzal@ti.com> (raw)
Hi,
This version - v7 as compared to previous version, takes care of
rounding issues due to the usage of nanoseconds in generic timing
routine. All calculations are now in picoseconds. Once all timings
are calculated it is converted to nanoseconds so that calculated
timing values are compatible with existing custom timing routines
(this will help in reverting back to custom routines easily in case
of any issues). And documentation has been added on gpmc timings.
Also redundant rounding of nand timings has been removed as part of
this series.
**********************************************************************
Abstract:
This series provides a generic gpmc timing calculation routine. There
were three peripherals (OneNAND, tusb6010, smc91x) using custom timing
calculations, they are migrated to use the generic timing calculation.
Such a generic routine would help create a driver out of gpmc platform
code, which would be peripheral agnostic and thus lead to DT finally.
Input to generic timing calculation routine would be gpmc peripheral
timings, output - translated timings that gpmc can understand. Later,
to DT'ify, gpmc peripheral timings could be passed through DT. Input
timings that has been used here are selected such that it represents
those that are present in peripheral timing datasheets.
Also this series contains minor cleanups that were low hanging fruits
came across upon implementing generic timing routine. One such is
credited to Jon Hunter, relevant patch is 1/2 of his series
@ http://marc.info/?l=linux-omap&m=134090910321284&w=2
**********************************************************************
Proposed generic routine has been tested on OneNAND (async) on
OMAP3EVM rev C (as mainline does not have the OneNAND support for this,
local patch were used to test). For other cases of custom timing
calculation (tusb6010, smc91x non-muxed, OneNAND sync), generic timing
calculation routine was verified by simulating on OMAP3EVM.
This series is available
@ git://gitorious.org/x0148406-public/linux-kernel.git gpmc-prep-v7
and is based on
linux-next (next-20120918)
Regards
Afzal
v7:
1. Use picoseconds throughout generic timing routine to prevent
rounding error.
2. Documentation on gpmc timings
3. Remove redundant rounding of nand timings (a new patch)
v6:
1. Generic timing calculation, move existing users of custom
calculation to use the new generic one
2. Set OneNAND part to async mode before gpmc configuration
3. Move extra delay time user handling to proper patch
(3/10 -> 2/10)
4. Modify nand init for OMAP3EVM too as support got added
v5:
Use flags for sync_read/write, hv, vhf
v4:
Reorganize OneNAND set_sync/async functions in a better way
v3:
1. Refactor OneNAND set_sync/async functions to separate out
timing and configurations
2. Handle bool type timings too
3. Swap patches 2 & 3 due to dependency of OneNAND change on
newly added bool type timings
v2:
1. Make use of timing api for setting clock activation time,
and remove direct writing to register for clock activation.
2. Move ensuring that async mode in OneNAND has been setup from
set_sync to setup function, improve commit message
Afzal Mohammed (10):
ARM: OMAP2+: nand: unify init functions
ARM: OMAP2+: nand: remove redundant rounding
ARM: OMAP2+: gpmc: handle additional timings
ARM: OMAP2+: onenand: refactor for clarity
ARM: OMAP2+: gpmc: find features by ip rev check
ARM: OMAP2+: gpmc: remove cs# in sync clk div calc
ARM: OMAP2+: gpmc: generic timing calculation
ARM: OMAP2+: onenand: generic timing calculation
ARM: OMAP2+: smc91x: generic timing calculation
ARM: OMAP2+: tusb6010: generic timing calculation
Jon Hunter (1):
ARM: OMAP2+: GPMC: Remove unused OneNAND get_freq() platform function
Documentation/bus-devices/ti-gpmc.txt | 77 ++++++
arch/arm/mach-omap2/board-devkit8000.c | 8 +-
arch/arm/mach-omap2/board-flash.c | 45 ++--
arch/arm/mach-omap2/board-flash.h | 6 +-
arch/arm/mach-omap2/board-igep0020.c | 2 +-
arch/arm/mach-omap2/board-ldp.c | 4 +-
arch/arm/mach-omap2/board-omap3beagle.c | 8 +-
arch/arm/mach-omap2/board-omap3evm.c | 8 +-
arch/arm/mach-omap2/board-omap3touchbook.c | 8 +-
arch/arm/mach-omap2/board-overo.c | 7 +-
arch/arm/mach-omap2/board-zoom.c | 5 +-
arch/arm/mach-omap2/common-board-devices.c | 45 ----
arch/arm/mach-omap2/common-board-devices.h | 1 -
arch/arm/mach-omap2/gpmc-nand.c | 30 +--
arch/arm/mach-omap2/gpmc-onenand.c | 334 +++++++++++--------------
arch/arm/mach-omap2/gpmc-smc91x.c | 43 ++--
arch/arm/mach-omap2/gpmc.c | 383 ++++++++++++++++++++++++++++-
arch/arm/mach-omap2/usb-tusb6010.c | 181 ++++----------
arch/arm/plat-omap/include/plat/gpmc.h | 114 +++++++--
arch/arm/plat-omap/include/plat/onenand.h | 8 -
20 files changed, 836 insertions(+), 481 deletions(-)
create mode 100644 Documentation/bus-devices/ti-gpmc.txt
--
1.7.12
next reply other threads:[~2012-09-19 13:21 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-19 13:21 Afzal Mohammed [this message]
2012-09-19 13:22 ` [PATCH v7 01/11] ARM: OMAP2+: nand: unify init functions Afzal Mohammed
2012-09-19 13:22 ` [PATCH v7 02/11] ARM: OMAP2+: nand: remove redundant rounding Afzal Mohammed
2012-09-19 13:22 ` [PATCH v7 03/11] ARM: OMAP2+: gpmc: handle additional timings Afzal Mohammed
2012-09-19 13:22 ` [PATCH v7 04/11] ARM: OMAP2+: onenand: refactor for clarity Afzal Mohammed
2012-09-19 13:23 ` [PATCH v7 05/11] ARM: OMAP2+: GPMC: Remove unused OneNAND get_freq() platform function Afzal Mohammed
2012-09-19 13:23 ` [PATCH v7 06/11] ARM: OMAP2+: gpmc: find features by ip rev check Afzal Mohammed
2012-09-19 13:23 ` [PATCH v7 07/11] ARM: OMAP2+: gpmc: remove cs# in sync clk div calc Afzal Mohammed
2012-09-19 13:23 ` [PATCH v7 08/11] ARM: OMAP2+: gpmc: generic timing calculation Afzal Mohammed
2012-09-27 3:24 ` Jon Hunter
2012-09-27 10:07 ` Mohammed, Afzal
2012-09-27 15:16 ` Jon Hunter
2012-09-28 4:52 ` Mohammed, Afzal
2012-09-19 13:23 ` [PATCH v7 09/11] ARM: OMAP2+: onenand: " Afzal Mohammed
2012-09-19 13:23 ` [PATCH v7 10/11] ARM: OMAP2+: smc91x: " Afzal Mohammed
2012-09-19 13:24 ` [PATCH v7 11/11] ARM: OMAP2+: tusb6010: " Afzal Mohammed
2012-09-21 4:51 ` [PATCH v7 00/11] OMAP-GPMC: generic time calc, prepare for driver Tony Lindgren
2012-09-21 5:01 ` Mohammed, Afzal
2012-09-21 5:19 ` Tony Lindgren
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=cover.1348058726.git.afzal@ti.com \
--to=afzal@ti.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).