Hi Mark, On Thu, Feb 7, 2013 at 6:51 AM, Mark Jackson <mpfj-list@xxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html