[PATCH 00/36] OMAP: GPMC: Restructure and move OMAP GPMC driver out of mach-omap2

Roger Quadros rogerq at ti.com
Wed Jun 11 04:54:49 PDT 2014


Hi Javier,

On 06/11/2014 02:52 PM, Javier Martinez Canillas wrote:
> Hello Roger,
> 
> What a great series!!

Thanks :)

> 
> On Wed, Jun 11, 2014 at 10:56 AM, Roger Quadros <rogerq at ti.com> wrote:
>> Hi,
>>
>> This is a complete functional set to get the gpmc driver out of mach-omap2
>> and into drivers/memory. The DT binding remains the same except for the
>> following minor changes
> 
> I probably won't have time to do a proper review until at least next
> week but doing a quick glance it looks very good to me.
> 
>> - compatible property is required for NAND & OneNAND nodes
> 
> This is a minor ABI breakage but I agree with you that it is wrong
> that these were not introduced in the first place and relied on the
> dev node so I think is not that bad to break it in this case.
> 
>> - Second register space and interrupts properties are required for
>>   NAND controller node
>> - ti,onenand-sync-rw property added for OneNAND node.
>>
>> The series does the following changes
>> - Move GPMC IRQ and NAND register handling to NAND driver.
>>   The entire GPMC register space is made available to the NAND driver.
>> - Clean up NAND device tree handling. Don't rely on legacy platform device
>>   i.e. don't call gpmc_nand_init()
>> - Add 2 public APIs omap_gpmc_retime() and omap_gpmc_get_clk_period()
>>   omap_gpmc_retime() allows to reconfigure the GPMC settings and timings
>>   for the specified Chip select region.
>>   omap_gpmc_get_clk_period() allows to query the GPMC_CLK (external clock)
>>   period, to perform timing calculations.
>>   Both functions will be needed by the OneNAND driver since it calculates
>>   device timings on the fly and needs to change from Asynchronous mode
>>   to Synchronous mode.
>> - Setup OneNAND in Asynchronous mode by default and move Synchronous
>>   setting code into OneNAND driver.
>> - Clean up OneNAND device tree handling. Don't rely on legacy platform device
>>   i.e. don't call gpmc_onenand_init()
>> - Introduce gpmc_generic_init() that should be used by board files to specify
>>   GPMC chip select setting/timing and platform device within that Chip Select.
>> - Stop using all gpmc*() that are meant to be private to GPMC driver.
>> - Move GPMC driver into drivers/memory
>>
>> Tested on:
>>
>> - beagleboard C4: NAND
>> - Nokia N900: OneNAND
>>
> 
> Do you have a tree somewhere that I can use it to test on the boards I
> maintain and post patches to update the DTS according the new binding?

You can find the series at
git at github.com:rogerq/linux.git
gpmc-3.16-v1

cheers,
-roger




More information about the linux-mtd mailing list