Hi Kevin, On 03/28/2015 03:28 PM, Kevin Cernekee wrote: > On Sat, Mar 28, 2015 at 10:01 AM, Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> wrote: >>>> I know these got ACKs already but as you point out in the commit log, >>>> earlycon _will_ need reg-io-width, reg-offset and reg-shift. Since the >>>> distinction between early_init_dt_scan_chosen_serial() and >>>> of_setup_earlycon() is arbitrary, I'd rather see of_setup_earlycon() >>>> taught to properly decode of_serial driver bindings instead of a >>>> stack of parameters to of_setup_earlycon(). >>>> >>>> In fact, this patch allows a mis-defined devicetree to bring up a >>>> functioning earlycon because the 'big-endian' property is directly >>>> associated with UPIO_MEM32BE, which will create incompatibility problems >>>> when DT earlycon is fixed to decode the of_serial DT bindings. >>> >>> That's a good point. This hasn't been merged yet, so there isn't any >>> impact on addressing this. I would propose that for consistency, the >>> earlycon code should always default to 8-bit access. if big-endian >>> accesses are required, then reg-io-width + big-endian must be specified. >>> >>> Something like the following would do it and would be future-proof. We >>> can add support for 16 or 64bit big or little endian access if it ever >>> became necessary. >> >> I was planning on adding MEM32BE support to OF earlycon on top of my >> patch series 'OF earlycon cleanup', which adds full support for the >> of_serial driver DT properties (among other things). > > Hi Peter, > > This is my latest work-in-progress, incorporating the feedback from > you and Grant: > > https://github.com/cernekee/linux/commits/endian > > Not sure if this code plays nice with your recent cleanups? If we're > touching the same files/functions we should probably coordinate. Ok, I'll look over your git tree and add whatever's required to earlycon. > Also, it is untested, as I do not currently have access to BE systems. > If I get desperate I can try it on an LE system, adding the big-endian > properties in DT and then hacking the 8250 driver to swap LE accesses > for BE accesses. Ok. Regards, Peter Hurley