Re: [edk2] [PATCH edk2-platforms 00/27] Import Hummingboard Edge platform for Windows IoT Core

2018-12-19 Thread Chris Co via edk2-devel
Hi Leif,

No problem - it's been a crazy year all around so I fully understand. Thank you 
for making time to review and provide feedback on this patch set.

I am already out of office for the rest of the year so I will make the changes 
recommended by you and Ard when I get back. And I also have some changes marked 
to simplify portions of the code and make it more readable/sane.

Have a great holiday season!

Chris

From: Leif Lindholm 
Sent: Saturday, December 15, 2018 5:32 AM
To: Chris Co
Cc: edk2-devel@lists.01.org; Ard Biesheuvel; Michael D Kinney
Subject: Re: [PATCH edk2-platforms 00/27] Import Hummingboard Edge platform for 
Windows IoT Core

Hi Chris,

Sorry for dragging this out, but it's been a crazy year.
I think I've now provided feedback for all but the SdMmc bits.

For the next revision, please break out SdMmc support (including and put it last
in the series). I still don't like the idea of adding a third driver
stack to the project, and am likely to have ideas of major
restructuring, but if we can isolate that from the rest, reviewing the
remainder should be reasonably quick next time around.

My last day "in the office" before Christmas is 21 December, and then
I'll be out until 7 January. So basically, if you can get a new set
out early nexy week, I may have a chance to look at it, and if not -
take your time :)

Regards,

Leif

On Fri, Sep 21, 2018 at 08:25:52AM +, Chris Co wrote:
> REF: 
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fchristopherco%2Fedk2-platforms%2Ftree%2Fwiniot_hmb_v1data=02%7C01%7CChristopher.Co%40microsoft.com%7Cfe389e235d9f4b5a3db608d66291b91f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636804775359296793sdata=ArbTsmK70lP0z2I5DtAMUtjMaoGvxmjo421G0pFHw20%3Dreserved=0
>
> v0:
> * 
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01.org%2Fpipermail%2Fedk2-devel%2F2018-July%2F027213.htmldata=02%7C01%7CChristopher.Co%40microsoft.com%7Cfe389e235d9f4b5a3db608d66291b91f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636804775359296793sdata=YPaztVWBhe3mimyel5pBFmUQn16PDobNrZDG2Pw9Z4M%3Dreserved=0
> * 
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01.org%2Fpipermail%2Fedk2-devel%2F2018-July%2F027266.htmldata=02%7C01%7CChristopher.Co%40microsoft.com%7Cfe389e235d9f4b5a3db608d66291b91f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636804775359296793sdata=aNuEw0cnaQTgI9vG1aoaeDKCKeZX0nPZPBxrk5IMZLM%3Dreserved=0
> * 
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01.org%2Fpipermail%2Fedk2-devel%2F2018-July%2F027333.htmldata=02%7C01%7CChristopher.Co%40microsoft.com%7Cfe389e235d9f4b5a3db608d66291b91f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636804775359296793sdata=KBKCyLHP2AmOifipqCPt2Q6cxByt%2Fw18sb1v63Eh5%2FE%3Dreserved=0
> * 
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01.org%2Fpipermail%2Fedk2-devel%2F2018-July%2F027409.htmldata=02%7C01%7CChristopher.Co%40microsoft.com%7Cfe389e235d9f4b5a3db608d66291b91f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636804775359296793sdata=chPGxhVlyJmKSOLTn9UNWRdfeya2IdqCIuno2DQlRpk%3Dreserved=0
>
> The patch set supports the bring up of Windows 10 IoT Core on
> Solidrun's Hummingboard Edge board running NXP's i.MX 6Quad SoC.
>
> This patch set is a preliminary submission, with the goal to get further 
> review
> feedback from maintainers since the v0 version had too many initial issues to
> conduct a full review.
>
> Changes in this patch set from v0:
> * Merged the 4 previous patch sets into one.
> * All code should now follow the edk2 coding style.
> * SMBIOS driver refactored to use PCDs. Fixed UUID generation to use MAC 
> address.
> * Updated ACPI HIDs to proper NXP IDs where applicable.
> * Removed unnecessary (and spec-violating) _DSD methods from our ACPI tables.
> * General code cleanup and refactoring.
> * Add Silicon package support for i.MX 6Solo/DualLite, 6SoloX, 
> 6DualPlus/QuadPlus
> families in iMX6Pkg.
>
> Known issues remaining from previous review:
> * Silicon/NXP/iMXPlatformPkg: SdhcDxe fixed initialization needs to be moved 
> to
> a PlatformDxe init and use NonDiscoverableDeviceRegistrationLib.
> * Platform/Microsoft: Left in SdMmcDxe code. Alternatives are still under
> evaluation.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Christopher Co 
> Cc: Ard Biesheuvel 
> Cc: Leif Lindholm 
> Cc: Michael D Kinney 
>
> Christopher Co (27):
>   Platform/Microsoft: Add OpteeClientPkg dec
>   Platform/Microsoft: Add SdMmc Dxe Driver
>   Platform/Microsoft: Add MsPkg
>   Silicon/NXP: Add iMXPlatformPkg dec
>   Silicon/NXP: Add UART library support for i.MX platforms
>   Silicon/NXP: Add I2C library support for i.MX platforms
>   Silicon/NXP: Add i.M

Re: [edk2] [PATCH edk2-platforms 00/27] Import Hummingboard Edge platform for Windows IoT Core

2018-12-15 Thread Leif Lindholm
Hi Chris,

Sorry for dragging this out, but it's been a crazy year.
I think I've now provided feedback for all but the SdMmc bits.

For the next revision, please break out SdMmc support (including and put it last
in the series). I still don't like the idea of adding a third driver
stack to the project, and am likely to have ideas of major
restructuring, but if we can isolate that from the rest, reviewing the
remainder should be reasonably quick next time around.

My last day "in the office" before Christmas is 21 December, and then
I'll be out until 7 January. So basically, if you can get a new set
out early nexy week, I may have a chance to look at it, and if not -
take your time :)

Regards,

Leif

On Fri, Sep 21, 2018 at 08:25:52AM +, Chris Co wrote:
> REF: https://github.com/christopherco/edk2-platforms/tree/winiot_hmb_v1
> 
> v0:
> * https://lists.01.org/pipermail/edk2-devel/2018-July/027213.html
> * https://lists.01.org/pipermail/edk2-devel/2018-July/027266.html
> * https://lists.01.org/pipermail/edk2-devel/2018-July/027333.html
> * https://lists.01.org/pipermail/edk2-devel/2018-July/027409.html
> 
> The patch set supports the bring up of Windows 10 IoT Core on
> Solidrun's Hummingboard Edge board running NXP's i.MX 6Quad SoC.
> 
> This patch set is a preliminary submission, with the goal to get further 
> review
> feedback from maintainers since the v0 version had too many initial issues to
> conduct a full review.
> 
> Changes in this patch set from v0:
> * Merged the 4 previous patch sets into one.
> * All code should now follow the edk2 coding style.
> * SMBIOS driver refactored to use PCDs. Fixed UUID generation to use MAC 
> address.
> * Updated ACPI HIDs to proper NXP IDs where applicable.
> * Removed unnecessary (and spec-violating) _DSD methods from our ACPI tables.
> * General code cleanup and refactoring.
> * Add Silicon package support for i.MX 6Solo/DualLite, 6SoloX, 
> 6DualPlus/QuadPlus
> families in iMX6Pkg.
> 
> Known issues remaining from previous review:
> * Silicon/NXP/iMXPlatformPkg: SdhcDxe fixed initialization needs to be moved 
> to
> a PlatformDxe init and use NonDiscoverableDeviceRegistrationLib.
> * Platform/Microsoft: Left in SdMmcDxe code. Alternatives are still under
> evaluation.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Christopher Co 
> Cc: Ard Biesheuvel 
> Cc: Leif Lindholm 
> Cc: Michael D Kinney 
> 
> Christopher Co (27):
>   Platform/Microsoft: Add OpteeClientPkg dec
>   Platform/Microsoft: Add SdMmc Dxe Driver
>   Platform/Microsoft: Add MsPkg
>   Silicon/NXP: Add iMXPlatformPkg dec
>   Silicon/NXP: Add UART library support for i.MX platforms
>   Silicon/NXP: Add I2C library support for i.MX platforms
>   Silicon/NXP: Add i.MX display library support
>   Silicon/NXP: Add Virtual RTC support for i.MX platform
>   Silicon/NXP: Add headers for SoC-specific i.MX packages to use
>   Silicon/NXP: Add iMX6Pkg dec
>   Silicon/NXP: Add i.MX6 SoC header files
>   Silicon/NXP: Add i.MX6 I/O MUX library
>   Silicon/NXP: Add support for iMX SDHC
>   Silicon/NXP: Add i.MX6 GPT and EPIT timer headers
>   Silicon/NXP: Add i.MX6 GPT Timer library
>   Silicon/NXP: Add i.MX6 Timer DXE driver
>   Silicon/NXP: Add i.MX6 USB Phy Library
>   Silicon/NXP: Add i.MX6 Clock Library
>   Silicon/NXP: Add i.MX6 ACPI tables
>   Silicon/NXP: Add i.MX6 Board init library
>   Silicon/NXP: Add i.MX6 PCIe DXE driver
>   Silicon/NXP: Add i.MX6 GOP driver
>   Silicon/NXP: Add i.MX6 Smbios Driver
>   Silicon/NXP: Add i.MX6 common dsc and fdf files
>   Platform/Solidrun: Add Hummingboard Peripheral Initialization
>   Platform/SolidRun: Add i.MX 6Quad Hummingboard Edge ACPI tables
>   Platform/Solidrun: Add i.MX 6Quad Hummingboard Edge dsc and fdf files
> 
>  Platform/Microsoft/Drivers/SdMmcDxe/BlockIo.c
>   |  548 +
>  Platform/Microsoft/Drivers/SdMmcDxe/Debug.c  
>   |  363 +++
>  Platform/Microsoft/Drivers/SdMmcDxe/Protocol.c   
>   | 1775 ++
>  Platform/Microsoft/Drivers/SdMmcDxe/Protocol.h   
>   |  231 ++
>  Platform/Microsoft/Drivers/SdMmcDxe/RpmbIo.c 
>   |  609 +
>  Platform/Microsoft/Drivers/SdMmcDxe/SdMmc.c  
>   |  886 +++
>  Platform/Microsoft/Drivers/SdMmcDxe/SdMmc.h  
>   |  529 +
>  Platform/Microsoft/Drivers/SdMmcDxe/SdMmcDxe.inf 
>   |   49 +
>  Platform/Microsoft/Drivers/SdMmcDxe/SdMmcHw.h
>   |  505 
>  Platform/Microsoft/Include/Protocol/RpmbIo.h 
>   |  268 +++
>  Platform/Microsoft/Include/Protocol/Sdhc.h   
>   |  197 ++
>  Platform/Microsoft/MsPkg.dec 

[edk2] [PATCH edk2-platforms 00/27] Import Hummingboard Edge platform for Windows IoT Core

2018-09-21 Thread Chris Co
REF: https://github.com/christopherco/edk2-platforms/tree/winiot_hmb_v1

v0:
* https://lists.01.org/pipermail/edk2-devel/2018-July/027213.html
* https://lists.01.org/pipermail/edk2-devel/2018-July/027266.html
* https://lists.01.org/pipermail/edk2-devel/2018-July/027333.html
* https://lists.01.org/pipermail/edk2-devel/2018-July/027409.html

The patch set supports the bring up of Windows 10 IoT Core on
Solidrun's Hummingboard Edge board running NXP's i.MX 6Quad SoC.

This patch set is a preliminary submission, with the goal to get further review
feedback from maintainers since the v0 version had too many initial issues to
conduct a full review.

Changes in this patch set from v0:
* Merged the 4 previous patch sets into one.
* All code should now follow the edk2 coding style.
* SMBIOS driver refactored to use PCDs. Fixed UUID generation to use MAC 
address.
* Updated ACPI HIDs to proper NXP IDs where applicable.
* Removed unnecessary (and spec-violating) _DSD methods from our ACPI tables.
* General code cleanup and refactoring.
* Add Silicon package support for i.MX 6Solo/DualLite, 6SoloX, 
6DualPlus/QuadPlus
families in iMX6Pkg.

Known issues remaining from previous review:
* Silicon/NXP/iMXPlatformPkg: SdhcDxe fixed initialization needs to be moved to
a PlatformDxe init and use NonDiscoverableDeviceRegistrationLib.
* Platform/Microsoft: Left in SdMmcDxe code. Alternatives are still under
evaluation.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Christopher Co 
Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 

Christopher Co (27):
  Platform/Microsoft: Add OpteeClientPkg dec
  Platform/Microsoft: Add SdMmc Dxe Driver
  Platform/Microsoft: Add MsPkg
  Silicon/NXP: Add iMXPlatformPkg dec
  Silicon/NXP: Add UART library support for i.MX platforms
  Silicon/NXP: Add I2C library support for i.MX platforms
  Silicon/NXP: Add i.MX display library support
  Silicon/NXP: Add Virtual RTC support for i.MX platform
  Silicon/NXP: Add headers for SoC-specific i.MX packages to use
  Silicon/NXP: Add iMX6Pkg dec
  Silicon/NXP: Add i.MX6 SoC header files
  Silicon/NXP: Add i.MX6 I/O MUX library
  Silicon/NXP: Add support for iMX SDHC
  Silicon/NXP: Add i.MX6 GPT and EPIT timer headers
  Silicon/NXP: Add i.MX6 GPT Timer library
  Silicon/NXP: Add i.MX6 Timer DXE driver
  Silicon/NXP: Add i.MX6 USB Phy Library
  Silicon/NXP: Add i.MX6 Clock Library
  Silicon/NXP: Add i.MX6 ACPI tables
  Silicon/NXP: Add i.MX6 Board init library
  Silicon/NXP: Add i.MX6 PCIe DXE driver
  Silicon/NXP: Add i.MX6 GOP driver
  Silicon/NXP: Add i.MX6 Smbios Driver
  Silicon/NXP: Add i.MX6 common dsc and fdf files
  Platform/Solidrun: Add Hummingboard Peripheral Initialization
  Platform/SolidRun: Add i.MX 6Quad Hummingboard Edge ACPI tables
  Platform/Solidrun: Add i.MX 6Quad Hummingboard Edge dsc and fdf files

 Platform/Microsoft/Drivers/SdMmcDxe/BlockIo.c  
|  548 +
 Platform/Microsoft/Drivers/SdMmcDxe/Debug.c
|  363 +++
 Platform/Microsoft/Drivers/SdMmcDxe/Protocol.c 
| 1775 ++
 Platform/Microsoft/Drivers/SdMmcDxe/Protocol.h 
|  231 ++
 Platform/Microsoft/Drivers/SdMmcDxe/RpmbIo.c   
|  609 +
 Platform/Microsoft/Drivers/SdMmcDxe/SdMmc.c
|  886 +++
 Platform/Microsoft/Drivers/SdMmcDxe/SdMmc.h
|  529 +
 Platform/Microsoft/Drivers/SdMmcDxe/SdMmcDxe.inf   
|   49 +
 Platform/Microsoft/Drivers/SdMmcDxe/SdMmcHw.h  
|  505 
 Platform/Microsoft/Include/Protocol/RpmbIo.h   
|  268 +++
 Platform/Microsoft/Include/Protocol/Sdhc.h 
|  197 ++
 Platform/Microsoft/MsPkg.dec   
|   39 +
 Platform/Microsoft/MsPkg.dsc   
|   31 +
 Platform/Microsoft/OpteeClientPkg/OpteeClientPkg.dec   
|   49 +
 Platform/SolidRun/HummingBoardEdge_iMX6Q_2GB/AcpiTables/AcpiTables.inf 
|   55 +
 Platform/SolidRun/HummingBoardEdge_iMX6Q_2GB/AcpiTables/DSDT.asl   
|   38 +
 Platform/SolidRun/HummingBoardEdge_iMX6Q_2GB/AcpiTables/Dsdt-Audio.asl 
|   71 +
 Platform/SolidRun/HummingBoardEdge_iMX6Q_2GB/AcpiTables/Dsdt-AudioCodec.asl
|   33 +
 Platform/SolidRun/HummingBoardEdge_iMX6Q_2GB/AcpiTables/Dsdt-I2c.asl   
|   54 +
 Platform/SolidRun/HummingBoardEdge_iMX6Q_2GB/AcpiTables/Dsdt-Pwm.asl   
|   32 +
 Platform/SolidRun/HummingBoardEdge_iMX6Q_2GB/AcpiTables/Dsdt-Rhp.asl   
|  234 ++