Hi Alexander, On Mon, Nov 28, 2016 at 10:27:33AM +0100, Alexander Kurz wrote: > The i.MX6 series SoC type is determined by barebox by examining the > USB_ANALOG_DIGPROG aka IMX6_ANATOP_SI_REV register. This register is located > at a common offset for all mx6 SoC - except for i.MX6SL where a different > offset is used. This creates a dilemma while distinguishing the mx6sl from > non-mx6sl SOC since the SoC type identification register location is type > specific itself. > > Access to undocumented and probably invalid or unpredictable registers should > be avoided as possible. For the mx6sl detection an access to the general > USB_ANALOG_DIGPROG @0x260 cannot be avoided when running on mx6sl. This > register contained the value 0x00014009 for different mx6sl Rev. 1.2 based > e-book readers using MCIMX6L7DVN10AB and MCIMX6L8DVN10AB SoC. This > implementation assumes the value of MAJOR_UPPER (here 0x01) to be smaller > than the smallest non-6sl MAJOR_UPPER (0x61 for mx6s). The i.MX6SL code would be quite straight forward and easy to merge without this handicap. I'll probably need a few more days to swallow this pill. I assume you already searched for better ways to detect a i.MX6SL, right? Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox