> -----Original Message----- > From: Fabio Estevam [mailto:festevam@xxxxxxxxx] > Sent: Tuesday, July 11, 2017 8:25 AM > To: Vivien Didelot > Cc: A.s. Dong; Greg Kroah-Hartman; Jiri Slaby; Stefan Agner; Mingkai Hu; > Y.b. Lu; Andy Duan; andy.shevchenko@xxxxxxxxx; Nikita Yushchenko; linux- > serial@xxxxxxxxxxxxxxx > Subject: Re: Broken serial as of 0d6fce904452 > > On Mon, Jul 10, 2017 at 7:04 PM, Fabio Estevam <festevam@xxxxxxxxx> wrote: > > Hi Vivien, > > > > On Mon, Jul 10, 2017 at 6:35 PM, Vivien Didelot > > <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> wrote: > >> Hi all, > >> > >> Commit 0d6fce904452 ("tty: serial: lpuart: introduce lpuart_soc_data > >> to represent SoC property") breaks my ZII Dev Rev B and C boards > >> (arch/arm/boot/dts/vf610-zii-dev-rev-{b,c}.dts), now stuck at: > >> > >> Ucompressing Linux... done, booting the kernel. > >> > >> As of 0d6fce904452^ the boards behave correctly. Reverting it brings > >> conflicts, so hard to find a proper fix. Am I missing something? > > > > Does this change restore serial for you? > > https://pastebin.com/Rs2RTzce > OOps.. I found that UPIO_MEM32BE is not defined by bitmap. It's actually an integer number which results in the bit operation malfunction. See: #define SERIAL_IO_MEM32BE 6 #define UPIO_MEM32BE (SERIAL_IO_MEM32BE) /* 32b big endian */ And Vybrid is happened to be UPIO_MEM which is 2. Then for Vybrid, "if (sport->port.iotype & UPIO_MEM32BE)" is always true. > Here is a cleaner version: > https://pastebin.com/ifj8exau > > I don't have a Vybrid board to test it. > > Please let me know if it works for you. Thanks for spotting this. I think you could send a formal patch out with a bit comment message refined. Regards Dong Aisheng ��.n��������+%������w��{.n�����{��ǫ����{ay�ʇڙ���f���h������_�(�階�ݢj"��������G����?���&��