[U-Boot] [PATCH v2 5/7] x86: i8042: Correctly initialize the controller

Simon Glass sjg at chromium.org
Sun Aug 23 23:22:43 CEST 2015


Hi Bin,

On 23 August 2015 at 06:25, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Sat, Aug 22, 2015 at 7:27 AM, Simon Glass <sjg at chromium.org> wrote:
>> Hi Bin,
>>
>> On 21 August 2015 at 01:18, Bin Meng <bmeng.cn at gmail.com> wrote:
>>> The existing i8042 keyboard controller driver has some issues.
>>> First of all, it does not issue a self-test command (0xaa) to the
>>> controller at the very beginning. Without this, the controller
>>> does not respond any command at all. Secondly, it initializes
>>
>> a few nits
>>
>> "does not response to any command"
>
> OK
>
>>
>>> the configuration byte reigster to turn on keyboard's interrupt,
>>
>> turn on the keyboard's interrupt
>
> OK
>
>>
>>> which is not allowed as U-Boot we don't normally enable interrupt.
>>
>> as U-Boot does not normally allow interrupts to be processed.
>
> OK
>
>>
>>> Finally, at the end of the initialization routine, it wrongly
>>> sets the controller to disable all interfaces including both
>>> keyboard and mouse.
>>>
>>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>>> Acked-by: Simon Glass <sjg at chromium.org>
>>>
>>> ---
>>>
>>> Changes in v2:
>>> - Reorder this patch to follow the i8042 driver clean up patches
>>>
>>>  drivers/input/i8042.c | 43 +++++++++++++++++++++----------------------
>>>  1 file changed, 21 insertions(+), 22 deletions(-)
>>
>> I am amazed this code actually works! But at least on chromebook_link, it does.
>>
>
> Me either. The old codes could work on QEMU too, but I believe that is
> because QEMU does not emulate hardware exactly (like does not have to
> issue self-test command before any command). As for chromebook_link,
> is i8042 implemented in the EC? I suspect some EC firmware may be
> quite of forgiveness :-)

Yes that explains it, I think. Anyway it's good to have it correct now!

Regards,
Simon


More information about the U-Boot mailing list