MdeModulePkg/Bus/Spi/SpiBus: Adding SpiBus Drivers

Added SpiBus DXE and SMM drivers. This code translates SPI requests from
the application layer into SPI Bus transactions on the SPI host
controller. The code is responsible for checking if the transaction is
valid, then setting up the SPI clock and chip select properly before
passing the bus transaction to the host controller.

Platform Initialization Spec 1.7 volume 5 section 18.1.6

Bugzilla #4753

Cc: Abner Chang <abner.chang@amd.com>
Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
Signed-off-by: Brit Chesley <brit.chesley@amd.com>
Reviewed-by: Abner Chang <abner.chang@amd.com>
This commit is contained in:
Brit Chesley
2024-04-29 15:32:58 -05:00
committed by mergify[bot]
parent fa7fdb89a3
commit efc7ccf906
7 changed files with 1052 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
## @file
# Component description for the SPI BUS DXE module
#
# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 1.27
BASE_NAME = SpiBusDxe
FILE_GUID = 25CE038C-5C3A-4A9B-A111-90DF5897E058
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 0.1
PI_SPECIFICATION_VERSION = 0x0001000A
ENTRY_POINT = SpiBusEntry
[Packages]
MdePkg/MdePkg.dec
[LibraryClasses]
DebugLib
DevicePathLib
MemoryAllocationLib
UefiBootServicesTableLib
UefiDriverEntryPoint
[Sources]
SpiBusDxe.c
SpiBus.c
SpiBus.h
[Protocols]
gEfiSpiConfigurationProtocolGuid ## CONSUMES
gEfiSpiHcProtocolGuid ## CONSUMES
[Depex]
gEfiSpiConfigurationProtocolGuid AND
gEfiSpiHcProtocolGuid
[UserExtensions.TianoCore."ExtraFiles"]
SpiBus.uni