On 8 February 2018 at 00:13, Ard Biesheuvel <ard.biesheu...@linaro.org> wrote: > On 7 February 2018 at 16:12, Haojian Zhuang <haojian.zhu...@linaro.org> wrote: >> On 7 February 2018 at 23:52, Ard Biesheuvel <ard.biesheu...@linaro.org> >> wrote: >>> >>>> On 7 Feb 2018, at 15:50, Haojian Zhuang <haojian.zhu...@linaro.org> wrote: >>>> >>>> Hi all, >>>> >>>> I have an issue on tty terminal. I setup PL011 serial console as the >>>> tty terminal on HiKey platform. When it's built in debug mode, arrow >>>> key works well. When it's built in release mode, arrow key can't work. >>>> >>>> For example, DOWN key is gotten in terminal with "~[B" value in debug >>>> build. DOWN key is gotten in terminal with "~" value in release build. >>>> These values are fetched by GetOneKeyFromSerial(). >>>> >>>> But I can't find any difference on PL011 serial driver between debug >>>> and release mode. >>>> >>>> Do you have any idea on this? >>>> >>>> >>> >>> You need to set the FIFO depth to 16 iirc >> >> I think you mean the initialization code in PL011UartInitializePort (). >> >> HardwareFifoDepth = (PL011_UARTPID2_VER (MmioRead32 (UartBase + UARTPID2)) >> \ >> > PL011_VER_R1P4) \ >> ? 32 : 16 ; >> >> I tried to hardcode the value with both 32 and 16. The issue still exists. >> > > Actually, it is the other way around. You need to set > > gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0 > > as the default is 1, which makes no sense at all.
After updating the PCD value to 0, this issue is gone. Great thanks for your help. Now I have a new question. Why do I miss the issue in debug build? Do you have any idea? Best Regards Haojian _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel