On 2 May 2018 at 23:14, Leif Lindholm <[email protected]> wrote:
> On Thu, Mar 08, 2018 at 09:29:50PM +0800, Haojian Zhuang wrote:
>> Add gpio platform driver to enable GPIO in HiKey960 platform.
>>
>> Cc: Leif Lindholm <[email protected]>
>> Cc: Ard Biesheuvel <[email protected]>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Haojian Zhuang <[email protected]>
>> ---
>> Platform/Hisilicon/HiKey960/HiKey960.dsc | 1 +
>> Platform/Hisilicon/HiKey960/HiKey960.fdf | 1 +
>> Platform/Hisilicon/HiKey960/HiKey960GpioDxe/HiKey960GpioDxe.inf | 35
>> +++++++++
>> Platform/Hisilicon/HiKey960/HiKey960GpioDxe/HiKey960GpioDxe.c | 77
>> ++++++++++++++++++++
>> 4 files changed, 114 insertions(+)
>>
>> diff --git a/Platform/Hisilicon/HiKey960/HiKey960.dsc
>> b/Platform/Hisilicon/HiKey960/HiKey960.dsc
>> index 36f43956ab40..3da1b8556321 100644
>> --- a/Platform/Hisilicon/HiKey960/HiKey960.dsc
>> +++ b/Platform/Hisilicon/HiKey960/HiKey960.dsc
>> @@ -179,6 +179,7 @@ [Components.common]
>> #
>> # GPIO
>> #
>> + Platform/Hisilicon/HiKey960/HiKey960GpioDxe/HiKey960GpioDxe.inf
>> ArmPlatformPkg/Drivers/PL061GpioDxe/PL061GpioDxe.inf
>>
>> #
>> diff --git a/Platform/Hisilicon/HiKey960/HiKey960.fdf
>> b/Platform/Hisilicon/HiKey960/HiKey960.fdf
>> index 655032a36c53..162dbaaf2646 100644
>> --- a/Platform/Hisilicon/HiKey960/HiKey960.fdf
>> +++ b/Platform/Hisilicon/HiKey960/HiKey960.fdf
>> @@ -120,6 +120,7 @@ [FV.FvMain]
>> #
>> # GPIO
>> #
>> + INF Platform/Hisilicon/HiKey960/HiKey960GpioDxe/HiKey960GpioDxe.inf
>> INF ArmPlatformPkg/Drivers/PL061GpioDxe/PL061GpioDxe.inf
>>
>> #
>> diff --git a/Platform/Hisilicon/HiKey960/HiKey960GpioDxe/HiKey960GpioDxe.inf
>> b/Platform/Hisilicon/HiKey960/HiKey960GpioDxe/HiKey960GpioDxe.inf
>> new file mode 100644
>> index 000000000000..a16213f02520
>> --- /dev/null
>> +++ b/Platform/Hisilicon/HiKey960/HiKey960GpioDxe/HiKey960GpioDxe.inf
>> @@ -0,0 +1,35 @@
>> +#
>> +# Copyright (c) 2018, Linaro. All rights reserved.
>> +#
>> +# This program and the accompanying materials
>> +# are licensed and made available under the terms and conditions of the
>> BSD License
>> +# which accompanies this distribution. The full text of the license may
>> be found at
>> +# http://opensource.org/licenses/bsd-license.php
>> +#
>> +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
>> IMPLIED.
>> +#
>> +
>> +[Defines]
>> + INF_VERSION = 0x00010019
>
> Probably bump this to 0x0001001a by now.
>
OK
>
> Missing space before '='.
>
OK
>> + { 0xe8a0b000, 0, 8 }, // GPIO0
>
> It would not improve readability to request all of these live-coded
> values to be replaced by #defines, but barring that, could you add a
> comment header before the definition?:
>
> // { base address, gpio index, gpio count }
>
OK
>> + { 0xe8a0c000, 8, 8 }, // GPIO1
>> + { 0xe8a0d000, 16, 8 }, // GPIO2
>> + { 0xe8a0e000, 24, 8 }, // GPIO3
>> + { 0xe8a0f000, 32, 8 }, // GPIO4
>> + { 0xe8a10000, 40, 8 }, // GPIO5
>> + { 0xe8a11000, 48, 8 }, // GPIO6
>> + { 0xe8a12000, 56, 8 }, // GPIO7
>> + { 0xe8a13000, 64, 8 }, // GPIO8
>> + { 0xe8a14000, 72, 8 }, // GPIO9
>> + { 0xe8a15000, 80, 8 }, // GPIO10
>> + { 0xe8a16000, 88, 8 }, // GPIO11
>> + { 0xe8a17000, 96, 8 }, // GPIO12
>> + { 0xe8a18000, 104, 8 }, // GPIO13
>> + { 0xe8a19000, 112, 8 }, // GPIO14
>> + { 0xe8a1a000, 120, 8 }, // GPIO15
>> + { 0xe8a1b000, 128, 8 }, // GPIO16
>> + { 0xe8a1c000, 136, 8 }, // GPIO17
>> + { 0xff3b4000, 144, 8 }, // GPIO18
>> + { 0xff3b5000, 152, 8 }, // GPIO19
>
> I notice that these:
>> + { 0xe8a1f000, 160, 8 }, // GPIO20
>> + { 0xe8a20000, 168, 8 }, // GPIO21
> are out of order, from their base address.
> Are the names GPIO20/GPIO21 defined in the TRM?
>
Yes, it's mentioned in the TRM.
(https://github.com/96boards/documentation/blob/master/consumer/hikey960/hardware-docs/HiKey960_SoC_Reference_Manual.pdf)
>> + 232, 29, gGpioDevice
>
> And similarly
> // { global gpio count, gpio controller count, GPIO_CONTROLLER }
>
OK
Best Regards
Haojian
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel