[PATCH 0/8 v2] ARM OMAP2+ GPMC: fixes and bus children

Robert ABEL
2015-02-24T20:05:41Z

These are the changes I proposed in two separate patchsets
#([1], [2]) rebased to 3.19 as well as new changes for little bugs
I noticed while preparing this patchset.

1. DEBUG was undefined in source code --> remove offending lines
2. add capability to have busses as children of the GPMC and multiple
devices on a bus. See [2] for an example DTS syntax.
3. debug output was unaligned --> align it
4. output for copy-pasting to DTS had erroneous timing outputs and
made it hard to copy-paste --> remove timing values, add comments
as DTS comments.
5. WAITMONITORINGTIME is expressed as GPMC_CLK cycles for all accesses.
GPMCFCLKDIVIDER is used as a divider, so it must always be programmed.
6. GPMCFCLKDIVIDER is calculated according to WAITMONITORINGTIME for
asynchronous accesses inside the driver --> asynchronous accesses now
completely decoupled from gpmc,sync-clk-ps.
7. WAITMONITORINGTIME was being programmed/shown in GPMC_FCLK cycles instead
of GPMC_CLK cycles --> add clock domain information where necessary.
8. Calculated values for WAITMONITORINGTIME and CLKACTIVATIONTIME that were
outside the defined range would not raise an error.
DEVICESIZE, ATTACHEDDEVICEPAGELENGTH, WAITMONITORINGTIME and
CLKACTIVATIONTIME would not be marked as incorrect on DTS output.
--> Fix all of these.

[1]: https://lkml.org/lkml/2015/2/12/495
[2]: https://lkml.org/lkml/2015/2/16/337

Robert ABEL (9):
ARM OMAP2+ GPMC: don't undef DEBUG
ARM OMAP2+ GPMC: add bus children
ARM OMAP2+ GPMC: fix debug output alignment
ARM OMAP2+ GPMC: change get_gpmc_timing_reg output for DTS
ARM OMAP2+ GPMC: always program GPMCFCLKDIVIDER
ARM OMAP2+ GPMC: calculate GPMCFCLKDIVIDER based on WAITMONITORINGTIME
ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug
ARM OMAP2+ GPMC: fix programming/showing reserved timing parameters

arch/arm/mach-omap2/gpmc-nand.c | 17 +--
arch/arm/mach-omap2/gpmc-onenand.c | 4 +-
drivers/memory/Makefile | 2 +
drivers/memory/omap-gpmc.c | 287 +++++++++++++++++++++++++++++--------
include/linux/omap-gpmc.h | 2 +-
5 files changed, 240 insertions(+), 72 deletions(-)

--
2.3.0