On 04/23/14 22:00, Eric Nelson wrote: > Hi Stefano, > > On 04/23/2014 10:07 AM, Stefano Babic wrote: >> Hi Tim, hi Nikita, >> >> On 10/04/2014 16:08, Nikita Kiryanov wrote: >> >>>> The cfg files are currently all written to use the IOMUX register >>>> names as MX6_ (no Q vs DL) so that a single cfg file can be used for a >>>> build-time configuration of IMX6Q or IMX6DL. >>> >>> OK now I understand. It seems to me that you only have this problem >>> because you are using these address #defines as values for >>> mx6_mmdc_ioregs structs to define a register mapping. You can >>> also define this mapping by using a struct template that matches the >>> register layout and a base address, both of which change between CPU >>> types. >>> >> >> Reason to do in this way is the thought that the layout among the >> processsors can be completely different, thing that for other area is >> also true. >> >> This was discussed also in a previous RFC by Eric: >> >> http://lists.denx.de/pipermail/u-boot/2013-November/166665.html >> >> Tim, what about to repost in your patchset Eric's patch ? It completes >> your patchset and add documentation that is now missing (added Eric in >> CC if he will complain about this..) >> > > I have no problem with this, but when I did some follow-on work to > bring up SPL on Nitrogen6x boards, I recall finding some bugs in > that patch set. > > I didn't follow up with updates because I ran into some other > snags. In particular, our use of SPI-NOR makes it crucial that > we be able to download a secondary U-Boot over USB. > >> However, if we can recognize the same layout for all three variations (I >> have only check some registers in 6Q and 6DL layout), using the same >> structure with a different base address can be even more readable. I >> admit I have not checked deeply, but it seems at first glance that >> mx6dq_ctrl and mx6sdl_ctrl in 7/11 share the same layout. >> > > There's a lot of commonality, but a quick diff of arch-mx6/mx6q-ddr.h > and arch-mx6/mx6dl-ddr.h will show the problem areas. > >>> You can find an example of this in the Wandboard SPL implementation. >>> It's not in mainline ATM so you'll have to download their BSP. >>> The template + base addr method also doesn't use up additional memory >>> to define this layout, which is a point in its favor. >> >> If the layout is exactly the same, you could make the structure >> available to all imx6 flavors. >> > > Unfortunately, I don't believe it is.
I also, remember it is not. What Tim says actually makes sense, if layout is not the same, define two structs and choose the right one in runtime. -- Regards, Igor. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot