mbox series

[edk2,edk2-platforms,v3,0/6] Add Secure96 mezzanine support

Message ID 20180223154052.9828-1-ard.biesheuvel@linaro.org
Headers show
Series Add Secure96 mezzanine support | expand

Message

Ard Biesheuvel Feb. 23, 2018, 3:40 p.m. UTC
This v3 (as did v2) implements a complete split between the generic
96boards LS connector support and its associated plumbing (defining which
I2C, SPI and GPIO controllers are connected) on the one hand, and support
for the Secure96 mezzanine board in particular on the other. More
specifically, all Secure96 PCDs were dropped, and the only platform
specific configuration that remains is including the Secure96 driver
and the driver for its peripherals to the build.

v3:
- The ATSHA204A driver has been merged, so it has been dropped from this
  series.
- Rename Platform/NinetySixBoards back to Platform/96Boards. Note that in
  some places, using leading digits is problematic so the string does still
  occur in a couple of places.
- Rebase onto EDK2 that has the MultiPhase.h VFR changes.

Patch #1 introduces the mezzanine protocol, which abstracts away from
any particular mezzanine implementation.

Patch #2 introduces the generic I2C plumbing for any mezzanine that exposes
I2C peripherals.

Patch #3 implements the protocol that asserts the presence of a 96boards LS
connector and the type of mezzanine connected to it.

Patch #4 adds the Secure96 driver, which incorporates the DT overlay, and
a description of the I2C peripheral.

Patch #5 adds a LS connector driver for configuring the type of mezzanine,
and to interface with it at end of DXE time to install the appropriate DT
overlay.

Patch #6 wires everything up for the DeveloperBox platform.

Ard Biesheuvel (6):
  Platform/96Boards: introduce package and mezzanine protocol
  Platform/96Boards: introduce I2C driver
  Platform/96Boards: introduce LsConnector protocol
  Platform/96Boards: add a driver for the Secure96 mezzanine board
  Platform/96Boards: add driver for low speed (LS) connector
  Platform/Socionext/DeveloperBox: add 96Boards mezzanine support

 Platform/96Boards/96Boards.dec                                  |  73 +++++++
 Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.c               | 206 ++++++++++++++++++
 Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.inf             |  51 +++++
 Platform/96Boards/Include/Guid/FormSet.h                        |  23 ++
 Platform/96Boards/Include/Protocol/LsConnector.h                |  35 ++++
 Platform/96Boards/Include/Protocol/Mezzanine.h                  |  71 +++++++
 Platform/96Boards/LsConnectorDxe/LsConnectorDxe.c               | 221 ++++++++++++++++++++
 Platform/96Boards/LsConnectorDxe/LsConnectorDxe.h               |  32 +++
 Platform/96Boards/LsConnectorDxe/LsConnectorDxe.inf             |  57 +++++
 Platform/96Boards/LsConnectorDxe/LsConnectorHii.uni             |  27 +++
 Platform/96Boards/LsConnectorDxe/LsConnectorHii.vfr             |  45 ++++
 Platform/96Boards/Secure96Dxe/Secure96.dts                      |  85 ++++++++
 Platform/96Boards/Secure96Dxe/Secure96.h                        |  26 +++
 Platform/96Boards/Secure96Dxe/Secure96Dxe.c                     | 211 +++++++++++++++++++
 Platform/96Boards/Secure96Dxe/Secure96Dxe.inf                   |  67 ++++++
 Platform/Socionext/DeveloperBox/DeveloperBox.dsc                |  34 +++
 Platform/Socionext/DeveloperBox/DeveloperBox.fdf                |  10 +
 Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.c   |   9 +
 Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf |   2 +
 19 files changed, 1285 insertions(+)
 create mode 100644 Platform/96Boards/96Boards.dec
 create mode 100644 Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.c
 create mode 100644 Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.inf
 create mode 100644 Platform/96Boards/Include/Guid/FormSet.h
 create mode 100644 Platform/96Boards/Include/Protocol/LsConnector.h
 create mode 100644 Platform/96Boards/Include/Protocol/Mezzanine.h
 create mode 100644 Platform/96Boards/LsConnectorDxe/LsConnectorDxe.c
 create mode 100644 Platform/96Boards/LsConnectorDxe/LsConnectorDxe.h
 create mode 100644 Platform/96Boards/LsConnectorDxe/LsConnectorDxe.inf
 create mode 100644 Platform/96Boards/LsConnectorDxe/LsConnectorHii.uni
 create mode 100644 Platform/96Boards/LsConnectorDxe/LsConnectorHii.vfr
 create mode 100644 Platform/96Boards/Secure96Dxe/Secure96.dts
 create mode 100644 Platform/96Boards/Secure96Dxe/Secure96.h
 create mode 100644 Platform/96Boards/Secure96Dxe/Secure96Dxe.c
 create mode 100644 Platform/96Boards/Secure96Dxe/Secure96Dxe.inf

-- 
2.11.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Leif Lindholm Feb. 23, 2018, 3:56 p.m. UTC | #1
On Fri, Feb 23, 2018 at 03:40:46PM +0000, Ard Biesheuvel wrote:
> This v3 (as did v2) implements a complete split between the generic

> 96boards LS connector support and its associated plumbing (defining which

> I2C, SPI and GPIO controllers are connected) on the one hand, and support

> for the Secure96 mezzanine board in particular on the other. More

> specifically, all Secure96 PCDs were dropped, and the only platform

> specific configuration that remains is including the Secure96 driver

> and the driver for its peripherals to the build.

> 

> v3:

> - The ATSHA204A driver has been merged, so it has been dropped from this

>   series.

> - Rename Platform/NinetySixBoards back to Platform/96Boards. Note that in

>   some places, using leading digits is problematic so the string does still

>   occur in a couple of places.

> - Rebase onto EDK2 that has the MultiPhase.h VFR changes.


All of my feedback has been addressed, so for the series:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>


If we get enum support in VfrCompile in the future, a minor cleanup to
the code introduced by 5/6 will be possible, but this is an excellent
start to a generic mezzanine infrastructure - thanks!
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Feb. 23, 2018, 4:02 p.m. UTC | #2
On 23 February 2018 at 15:56, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> On Fri, Feb 23, 2018 at 03:40:46PM +0000, Ard Biesheuvel wrote:

>> This v3 (as did v2) implements a complete split between the generic

>> 96boards LS connector support and its associated plumbing (defining which

>> I2C, SPI and GPIO controllers are connected) on the one hand, and support

>> for the Secure96 mezzanine board in particular on the other. More

>> specifically, all Secure96 PCDs were dropped, and the only platform

>> specific configuration that remains is including the Secure96 driver

>> and the driver for its peripherals to the build.

>>

>> v3:

>> - The ATSHA204A driver has been merged, so it has been dropped from this

>>   series.

>> - Rename Platform/NinetySixBoards back to Platform/96Boards. Note that in

>>   some places, using leading digits is problematic so the string does still

>>   occur in a couple of places.

>> - Rebase onto EDK2 that has the MultiPhase.h VFR changes.

>

> All of my feedback has been addressed, so for the series:

> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

>

> If we get enum support in VfrCompile in the future, a minor cleanup to

> the code introduced by 5/6 will be possible, but this is an excellent

> start to a generic mezzanine infrastructure - thanks!



Thank you

Pushed as 487015fb23c1..d8e4d4565841
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel