[PATCH v7 00/11] OMAP-GPMC: generic time calc, prepare for driver

2012-09-19 Thread Afzal Mohammed
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/includ

Re: [PATCH v7 00/11] OMAP-GPMC: generic time calc, prepare for driver

2012-09-20 Thread Tony Lindgren
* Afzal Mohammed  [120919 06:22]:
> 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.

I gave this series a quick test on my n800 after applying the
two serial patches needed to get the uart to work, and it seems
to be working just fine.

Was there still some discussion on the format of the generic
timings that's still pending? I think Jon made some comments 
on the format?

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH v7 00/11] OMAP-GPMC: generic time calc, prepare for driver

2012-09-20 Thread Mohammed, Afzal
Hi Tony,

On Fri, Sep 21, 2012 at 10:21:04, Tony Lindgren wrote:

> I gave this series a quick test on my n800 after applying the
> two serial patches needed to get the uart to work, and it seems
> to be working just fine.
> 
> Was there still some discussion on the format of the generic
> timings that's still pending? I think Jon made some comments 
> on the format?

What I deduced finally from Jon's replies was that he wanted
more documentation on generic timings, and that has been
added in this series.

Regards
Afzal


Re: [PATCH v7 00/11] OMAP-GPMC: generic time calc, prepare for driver

2012-09-20 Thread Tony Lindgren
* Mohammed, Afzal  [120920 22:02]:
> Hi Tony,
> 
> On Fri, Sep 21, 2012 at 10:21:04, Tony Lindgren wrote:
> 
> > I gave this series a quick test on my n800 after applying the
> > two serial patches needed to get the uart to work, and it seems
> > to be working just fine.
> > 
> > Was there still some discussion on the format of the generic
> > timings that's still pending? I think Jon made some comments 
> > on the format?
> 
> What I deduced finally from Jon's replies was that he wanted
> more documentation on generic timings, and that has been
> added in this series.

OK let's see if he has other pending comments next week.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html