mbox series

[edk2,edk2-platforms,v2,0/7] Add Secure96 mezzanine support

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

Message

Ard Biesheuvel Feb. 20, 2018, 5:49 p.m. UTC
Almost a complete rewrite of the v1. I omitted the patches that add SPI
and I2C DT nodes to the SynQuacer DTS. I did include the v2 of the Atmel
AtSha204a driver, since the latter patches depend on it.

This version 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.

Patch #1 is v2 of the AtSha204a driver, with Leif's review comments
addressed.

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

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

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

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

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

Patch #7 wires everything up for the DeveloperBox platform.

Ard Biesheuvel (7):
  Silicon/Atmel: add support for AtSha204a RNG
  Platform/NinetySixBoards: introduce package and mezzanine protocol
  Platform/NinetySixBoards: introduce I2C driver
  Platform/NinetySixBoards: introduce LsConnector protocol
  Platform/NinetySixBoards: add a driver for the Secure96 mezzanine
    board
  Platform/NinetySixBoards: add core driver for LS connector and config
  Platform/Socionext/DeveloperBox: add 96boards mezzanine support

 Platform/NinetySixBoards/Include/Guid/FormSet.h                          |  23 ++
 Platform/NinetySixBoards/Include/Protocol/LsConnector.h                  |  35 +++
 Platform/NinetySixBoards/Include/Protocol/Mezzanine.h                    |  71 +++++
 Platform/NinetySixBoards/NinetySixBoards.dec                             |  73 +++++
 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.c         | 221 ++++++++++++++
 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.h         |  32 ++
 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.inf       |  57 ++++
 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsHii.uni       |  27 ++
 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsHii.vfr       |  51 ++++
 Platform/NinetySixBoards/NinetySixBoardsI2cDxe/NinetySixBoardsI2cDxe.c   | 202 +++++++++++++
 Platform/NinetySixBoards/NinetySixBoardsI2cDxe/NinetySixBoardsI2cDxe.inf |  51 ++++
 Platform/NinetySixBoards/Secure96Dxe/Secure96.dts                        |  76 +++++
 Platform/NinetySixBoards/Secure96Dxe/Secure96.h                          |  26 ++
 Platform/NinetySixBoards/Secure96Dxe/Secure96Dxe.c                       | 211 +++++++++++++
 Platform/NinetySixBoards/Secure96Dxe/Secure96Dxe.inf                     |  67 +++++
 Platform/Socionext/DeveloperBox/DeveloperBox.dsc                         |  34 +++
 Platform/Socionext/DeveloperBox/DeveloperBox.fdf                         |  10 +
 Silicon/Atmel/AtSha204a/AtSha204a.dec                                    |  22 ++
 Silicon/Atmel/AtSha204a/AtSha204aDriver.c                                | 309 ++++++++++++++++++++
 Silicon/Atmel/AtSha204a/AtSha204aDriver.h                                |  81 +++++
 Silicon/Atmel/AtSha204a/AtSha204aDxe.inf                                 |  52 ++++
 Silicon/Atmel/AtSha204a/ComponentName.c                                  | 186 ++++++++++++
 Silicon/Atmel/AtSha204a/DriverBinding.c                                  | 242 +++++++++++++++
 Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.c            |   9 +
 Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf          |   2 +
 25 files changed, 2170 insertions(+)
 create mode 100644 Platform/NinetySixBoards/Include/Guid/FormSet.h
 create mode 100644 Platform/NinetySixBoards/Include/Protocol/LsConnector.h
 create mode 100644 Platform/NinetySixBoards/Include/Protocol/Mezzanine.h
 create mode 100644 Platform/NinetySixBoards/NinetySixBoards.dec
 create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.c
 create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.h
 create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.inf
 create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsHii.uni
 create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsHii.vfr
 create mode 100644 Platform/NinetySixBoards/NinetySixBoardsI2cDxe/NinetySixBoardsI2cDxe.c
 create mode 100644 Platform/NinetySixBoards/NinetySixBoardsI2cDxe/NinetySixBoardsI2cDxe.inf
 create mode 100644 Platform/NinetySixBoards/Secure96Dxe/Secure96.dts
 create mode 100644 Platform/NinetySixBoards/Secure96Dxe/Secure96.h
 create mode 100644 Platform/NinetySixBoards/Secure96Dxe/Secure96Dxe.c
 create mode 100644 Platform/NinetySixBoards/Secure96Dxe/Secure96Dxe.inf
 create mode 100644 Silicon/Atmel/AtSha204a/AtSha204a.dec
 create mode 100644 Silicon/Atmel/AtSha204a/AtSha204aDriver.c
 create mode 100644 Silicon/Atmel/AtSha204a/AtSha204aDriver.h
 create mode 100644 Silicon/Atmel/AtSha204a/AtSha204aDxe.inf
 create mode 100644 Silicon/Atmel/AtSha204a/ComponentName.c
 create mode 100644 Silicon/Atmel/AtSha204a/DriverBinding.c

-- 
2.11.0

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

Comments

Leif Lindholm Feb. 22, 2018, 4:04 p.m. UTC | #1
So, the ones I haven't commented on in this series, I'm happy with,
but since there may be non-trivial refactoring I'm not posting R-b on yet.

On Tue, Feb 20, 2018 at 05:49:37PM +0000, Ard Biesheuvel wrote:
> Almost a complete rewrite of the v1. I omitted the patches that add SPI

> and I2C DT nodes to the SynQuacer DTS. I did include the v2 of the Atmel

> AtSha204a driver, since the latter patches depend on it.

> 

> This version 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.

> 

> Patch #1 is v2 of the AtSha204a driver, with Leif's review comments

> addressed.

> 

> Patch #2 introduces the mezzanine protocol, which abstracts away from

> any particular mezzanine implementation.

> 

> Patch #3 introduces the generic I2C plumbing for any mezzanine that exposes

> I2C peripherals.

> 

> Patch #4 implements the protocol that asserts the presence of a 96boards LS

> connector and the type of mezzanine connected to it.

> 

> Patch #5 adds the Secure96 driver, which incorporates the DT overlay, and

> a description of the I2C peripheral.

> 

> Patch #6 adds a generic driver for configuring the type of mezzanine, and

> to interface with it at end of DXE time to install the appropriate DT

> overlay.

> 

> Patch #7 wires everything up for the DeveloperBox platform.

> 

> Ard Biesheuvel (7):

>   Silicon/Atmel: add support for AtSha204a RNG

>   Platform/NinetySixBoards: introduce package and mezzanine protocol

>   Platform/NinetySixBoards: introduce I2C driver

>   Platform/NinetySixBoards: introduce LsConnector protocol

>   Platform/NinetySixBoards: add a driver for the Secure96 mezzanine

>     board

>   Platform/NinetySixBoards: add core driver for LS connector and config

>   Platform/Socionext/DeveloperBox: add 96boards mezzanine support

> 

>  Platform/NinetySixBoards/Include/Guid/FormSet.h                          |  23 ++

>  Platform/NinetySixBoards/Include/Protocol/LsConnector.h                  |  35 +++

>  Platform/NinetySixBoards/Include/Protocol/Mezzanine.h                    |  71 +++++

>  Platform/NinetySixBoards/NinetySixBoards.dec                             |  73 +++++

>  Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.c         | 221 ++++++++++++++

>  Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.h         |  32 ++

>  Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.inf       |  57 ++++

>  Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsHii.uni       |  27 ++

>  Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsHii.vfr       |  51 ++++

>  Platform/NinetySixBoards/NinetySixBoardsI2cDxe/NinetySixBoardsI2cDxe.c   | 202 +++++++++++++

>  Platform/NinetySixBoards/NinetySixBoardsI2cDxe/NinetySixBoardsI2cDxe.inf |  51 ++++

>  Platform/NinetySixBoards/Secure96Dxe/Secure96.dts                        |  76 +++++

>  Platform/NinetySixBoards/Secure96Dxe/Secure96.h                          |  26 ++

>  Platform/NinetySixBoards/Secure96Dxe/Secure96Dxe.c                       | 211 +++++++++++++

>  Platform/NinetySixBoards/Secure96Dxe/Secure96Dxe.inf                     |  67 +++++

>  Platform/Socionext/DeveloperBox/DeveloperBox.dsc                         |  34 +++

>  Platform/Socionext/DeveloperBox/DeveloperBox.fdf                         |  10 +

>  Silicon/Atmel/AtSha204a/AtSha204a.dec                                    |  22 ++

>  Silicon/Atmel/AtSha204a/AtSha204aDriver.c                                | 309 ++++++++++++++++++++

>  Silicon/Atmel/AtSha204a/AtSha204aDriver.h                                |  81 +++++

>  Silicon/Atmel/AtSha204a/AtSha204aDxe.inf                                 |  52 ++++

>  Silicon/Atmel/AtSha204a/ComponentName.c                                  | 186 ++++++++++++

>  Silicon/Atmel/AtSha204a/DriverBinding.c                                  | 242 +++++++++++++++

>  Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.c            |   9 +

>  Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf          |   2 +

>  25 files changed, 2170 insertions(+)

>  create mode 100644 Platform/NinetySixBoards/Include/Guid/FormSet.h

>  create mode 100644 Platform/NinetySixBoards/Include/Protocol/LsConnector.h

>  create mode 100644 Platform/NinetySixBoards/Include/Protocol/Mezzanine.h

>  create mode 100644 Platform/NinetySixBoards/NinetySixBoards.dec

>  create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.c

>  create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.h

>  create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsDxe.inf

>  create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsHii.uni

>  create mode 100644 Platform/NinetySixBoards/NinetySixBoardsDxe/NinetySixBoardsHii.vfr

>  create mode 100644 Platform/NinetySixBoards/NinetySixBoardsI2cDxe/NinetySixBoardsI2cDxe.c

>  create mode 100644 Platform/NinetySixBoards/NinetySixBoardsI2cDxe/NinetySixBoardsI2cDxe.inf

>  create mode 100644 Platform/NinetySixBoards/Secure96Dxe/Secure96.dts

>  create mode 100644 Platform/NinetySixBoards/Secure96Dxe/Secure96.h

>  create mode 100644 Platform/NinetySixBoards/Secure96Dxe/Secure96Dxe.c

>  create mode 100644 Platform/NinetySixBoards/Secure96Dxe/Secure96Dxe.inf

>  create mode 100644 Silicon/Atmel/AtSha204a/AtSha204a.dec

>  create mode 100644 Silicon/Atmel/AtSha204a/AtSha204aDriver.c

>  create mode 100644 Silicon/Atmel/AtSha204a/AtSha204aDriver.h

>  create mode 100644 Silicon/Atmel/AtSha204a/AtSha204aDxe.inf

>  create mode 100644 Silicon/Atmel/AtSha204a/ComponentName.c

>  create mode 100644 Silicon/Atmel/AtSha204a/DriverBinding.c

> 

> -- 

> 2.11.0

> 

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