[PATCH v5 1/3] efi_loader: Add SPI I/O protocol support

Simon Glass sjg at chromium.org
Thu Dec 15 15:24:02 CET 2022


Yes, that's it. Thanks.


- Simon

On Wed, 14 Dec 2022 at 01:57, Paul Barker <paul.barker at sancloud.com> wrote:
>
> On 14/12/2022 04:39, Simon Glass wrote:
> > Hi Paul,
> >
> > On Wed, 23 Nov 2022 at 10:50, Paul Barker <paul.barker at sancloud.com> wrote:
> >>
> >> This addition allows UEFI applications running under u-boot to access
> >> peripherals on SPI busses. It is based on the UEFI Platform
> >> Initialization (PI) Specification, Version 1.7 Errata A (April 2020).
> >> Only the core functionality required to discover SPI peripherals and
> >> communicate with them is currently implemented. Other functionality such
> >> as the legacy SPI controller interface and the ability to update the SPI
> >> peripheral object associated with a particular SPI I/O protocol object
> >> is currently unimplemented.
> >>
> >> The following protocols are defined:
> >> * EFI_SPI_CONFIGURATION_PROTOCOL
> >> * EFI_SPI_IO_PROTOCOL
> >> * EFI_LEGACY_SPI_CONTROLLER_PROTOCOL
> >>
> >> Since there are no open source implementations of these protocols to use
> >> as an example, educated guesses/hacks have been made in cases where the
> >> UEFI PI specification is unclear and these are documented in comments.
> >>
> >> This implementation has been tested on the SanCloud BBE Lite and allowed
> >> a UEFI test application to successfully communicate with a Micron
> >> Authenta flash device connected via the SPI bus.
> >>
> >> Signed-off-by: Paul Barker <paul.barker at sancloud.com>
> >> ---
> >>  MAINTAINERS                       |   6 +
> >>  configs/am335x_evm_defconfig      |   1 +
> >>  include/efi_api.h                 |   4 +
> >>  include/efi_loader.h              |   4 +
> >>  include/efi_spi_protocol.h        | 166 +++++++++
> >>  lib/efi_loader/Kconfig            |   8 +
> >>  lib/efi_loader/Makefile           |   1 +
> >>  lib/efi_loader/efi_setup.c        |   6 +
> >>  lib/efi_loader/efi_spi_protocol.c | 576 ++++++++++++++++++++++++++++++
> >>  lib/uuid.c                        |   4 +
> >>  10 files changed, 776 insertions(+)
> >>  create mode 100644 include/efi_spi_protocol.h
> >>  create mode 100644 lib/efi_loader/efi_spi_protocol.c
> >
> > This should have a sandbox test as well. See test/dm/spi.c or sf.c for examples.
>
> Hi Simon,
>
> There is a test case in patch 2 of this series, is that what you're
> looking for? It was split out as requested in the review of v3 of this
> series.
>
> Thanks,
>
> --
> Paul Barker
> Principal Software Engineer
> SanCloud Ltd
>
> e: paul.barker at sancloud.com
> w: https://sancloud.com/
>


More information about the U-Boot mailing list