Hi Mark,

On Thu, Feb 7, 2013 at 6:51 AM, Mark Jackson <[email protected]> wrote:
> Okay ... I have made some progress, but it's not ideal.
>
> Currently I've hacked the GPMC DT driver (gpmc_probe_dt(), etc) so it now 
> handles setting up the
> chip selects and timings for NOR devices, e.g.
>
>                 gpmc: gpmc@50000000 {
>                         status = "okay";
>                         ranges = <0 0 0x08000000 0x08000000>;   /* CS0: NOR 
> 16M */
>
>                         nor@0,0 {
>                                 compatible = "spansion,s29gl064n90t", 
> "cfi-flash";
>                                 reg = <0 0 0>;
>                                 bank-width = <2>;
>
>                                 gpmc,sync-clk = <0>;
>                                 gpmc,cs-on = <10>;
>                                 gpmc,cs-rd-off = <150>;
>                                 gpmc,cs-wr-off = <150>;
>                                 gpmc,adv-on = <10>;
>                                 gpmc,adv-rd-off = <10>;
>                                 gpmc,adv-wr-off = <10>;
>                                 gpmc,oe-on = <30>;
>                                 gpmc,oe-off = <150>;
>                                 gpmc,we-on = <30>;
>                                 gpmc,we-off = <150>;
>                                 gpmc,rd-cycle = <150>;
>                                 gpmc,wr-cycle = <150>;
>                                 gpmc,access = <130>;
>                                 gpmc,page-burst-access = <10>;
>                                 gpmc,cycle2cycle-diff = <1>;
>                                 gpmc,cycle2cycle-same = <1>;
>                                 gpmc,cycle2cycle-delay = <10>;
>                                 gpmc,wr-data-mux-bus = <60>;
>                         };
>                 };
>
> But the physmap driver (of_flash_probe()) is unable to use this information.  
> It seems that although
> I can call of_flash_probe() from my NOR setup code, the platform_device being 
> reference is wrong.
>
> The platform_device passed to my gpmc_probe_nor_child() routine from 
> gpmc_probe_dt() points to my
> gpmc entry (above), but the physmap probe requires its own DT entry (rather 
> than a node child such
> as my NOR entry with the GPMC device entry).
>

I think you can call something like:

of_platform_populate();

On your GPMC node and have the child initialize.
This way you don't need to have separate cfi-flash compatible nodes,
you can have them as childs.

Although I'm not sure this is a sane approach, I'm almost sure this should work.

-- 
    Ezequiel
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to