linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 00/11] OMAP-GPMC: generic time calc, prepare for driver
@ 2012-09-19 13:21 Afzal Mohammed
  2012-09-19 13:22 ` [PATCH v7 01/11] ARM: OMAP2+: nand: unify init functions Afzal Mohammed
                   ` (11 more replies)
  0 siblings, 12 replies; 19+ messages in thread
From: Afzal Mohammed @ 2012-09-19 13:21 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-09-28  4:52 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-19 13:21 [PATCH v7 00/11] OMAP-GPMC: generic time calc, prepare for driver Afzal Mohammed
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

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).