summaryrefslogtreecommitdiff
path: root/src/vendorcode/amd/fsp/cezanne
diff options
context:
space:
mode:
authorFelix Held <felix-coreboot@felixheld.de>2024-01-25 19:43:35 +0100
committerFelix Held <felix-coreboot@felixheld.de>2024-01-26 19:02:58 +0000
commit054b84294ef5e66c9ade39bccb14f6627bed24c2 (patch)
treeaf8b3411cbcd886921d5a4eb09491511591545aa /src/vendorcode/amd/fsp/cezanne
parent4687325448c7e283ebb54ca967274590587f6d26 (diff)
vc/amd: move verstage on PSP files to new psp_verstage folder
Move the verstage on PSP files in vendorcode from the fsp subdirectory to a new psp_verstage subdirectory, since those files aren't specific to the case of the FSP being used for the silicon initialization. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: Ic47f8b18bc515600add7838f4c7afcb4fff7c004 Reviewed-on: https://review.coreboot.org/c/coreboot/+/80209 Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com> Reviewed-by: Varshit Pandya <pandyavarshit@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Diffstat (limited to 'src/vendorcode/amd/fsp/cezanne')
-rw-r--r--src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_end.S44
-rw-r--r--src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_header.inc64
-rw-r--r--src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_startup.S71
-rw-r--r--src/vendorcode/amd/fsp/cezanne/include/bl_uapp/bl_errorcodes_public.h37
-rw-r--r--src/vendorcode/amd/fsp/cezanne/include/bl_uapp/bl_syscall_public.h349
5 files changed, 0 insertions, 565 deletions
diff --git a/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_end.S b/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_end.S
deleted file mode 100644
index db6556cb0a..0000000000
--- a/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_end.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (c) 2019, Advanced Micro Devices, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-.arm
-.global LastBytes
-.section PSP_FOOTER_DATA, "a", %note
-.balign 64
-
-// Note: this is used for determining the size of the binary. It is 64 byte aligned and 64 byte
-// in size so that the binary size is multiple of 64 bytes.
-//
-LastBytes:
- .byte 0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99
- .byte 0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99
- .byte 0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99
- .byte 0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99
-
-.end
diff --git a/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_header.inc b/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_header.inc
deleted file mode 100644
index 35c906a445..0000000000
--- a/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_header.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (c) 2019, Advanced Micro Devices, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-.global LastBytes
-
-#define BL_UAPP_START_ADDRESS 0x00036000
-#define SIZE_OF_THIS_HEADER 256
-#define SIZE_OF_PSP_END 64
-#define IMAGE_SIZE LastBytes + SIZE_OF_PSP_END - BL_UAPP_START_ADDRESS - SIZE_OF_THIS_HEADER
-
-#define IMAGE_VERSION 0x01,0x00,0x00,0x00
-#define FW_TYPE 0x52
-
-
- // 256 byte binary header
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // nonce
- .byte 0x00,0x00,0x00,0x00 // header version
- .word IMAGE_SIZE
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte IMAGE_VERSION
- .byte 0x00,0x00,0x00,0x00 // APU Family ID
- .byte 0x00,0x01,0x00,0x00 // Load Address
- .byte 0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte FW_TYPE
- .byte 0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
diff --git a/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_startup.S b/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_startup.S
deleted file mode 100644
index f5f1e18e6c..0000000000
--- a/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_startup.S
+++ /dev/null
@@ -1,71 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (c) 2019, Advanced Micro Devices, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#include <arch/asm.h>
-#include <bl_uapp/bl_errorcodes_public.h>
-
- .global Main
- .global _psp_vs_start
-
- .global PSP_VERSTAGE_STACK_END
-
-.arm
-.text
-.section "PSP_HEADER_DATA", "aw", %note
-
-//==============================================================================
-// First 256 bytes of the binary image contain the header.
-// Executable code starts from offset 0x100.
-//==============================================================================
-#include "bl_uapp_header.inc"
-
-//==============================================================================
-// This is entry point to the binary which is called by main Boot Loader.
-//==============================================================================
-
-ENTRY(_psp_vs_start)
-
- ldr sp, =PSP_VERSTAGE_STACK_END // stack pointer
-
- // Return value contains Virtual Address of mapped stack
- //
- ldr lr, =ShouldNotBeReached // return address
-
- ldr r2, =Main // pass control to verstage main function
- blx r2
-
-// This point should not be reached. The Main() function should return
-// to main BL using Svc_Exit().
-//
-ShouldNotBeReached:
- mov r0, #BL_ERR_GENERIC // Returned from Main
- svc #0x0 // SVC_EXIT
-
-ENDPROC(_psp_vs_start)
-.end
diff --git a/src/vendorcode/amd/fsp/cezanne/include/bl_uapp/bl_errorcodes_public.h b/src/vendorcode/amd/fsp/cezanne/include/bl_uapp/bl_errorcodes_public.h
deleted file mode 100644
index 4fa9a3371f..0000000000
--- a/src/vendorcode/amd/fsp/cezanne/include/bl_uapp/bl_errorcodes_public.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (c) 2020, Advanced Micro Devices, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *******************************************************************************/
-
-#ifndef BL_ERRORCODES_PUBLIC_H
-#define BL_ERRORCODES_PUBLIC_H
-
-/* Bootloader Return Codes, Error only (0x00 through 0x9F) */
-#define BL_OK 0x00 // General - Success
-#define BL_ERR_GENERIC 0x01 // Generic Error Code
-
-#endif /* BL_ERRORCODES_PUBLIC_H */
diff --git a/src/vendorcode/amd/fsp/cezanne/include/bl_uapp/bl_syscall_public.h b/src/vendorcode/amd/fsp/cezanne/include/bl_uapp/bl_syscall_public.h
deleted file mode 100644
index d88bfe1801..0000000000
--- a/src/vendorcode/amd/fsp/cezanne/include/bl_uapp/bl_syscall_public.h
+++ /dev/null
@@ -1,349 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (c) 2020, Advanced Micro Devices, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef _BL_SYSCALL_PUBLIC_H_
-#define _BL_SYSCALL_PUBLIC_H_
-
-#include <stdint.h>
-
-#define SVC_EXIT 0x00
-#define SVC_ENTER 0x02
-#define SVC_DEBUG_PRINT 0x06
-#define SVC_MODEXP 0x0C
-#define SVC_DEBUG_PRINT_EX 0x1A
-#define SVC_GET_BOOT_MODE 0x1C
-#define SVC_DELAY_IN_MICRO_SECONDS 0x2F
-#define SVC_GET_SPI_INFO 0x60
-#define SVC_MAP_SPIROM_DEVICE 0x61
-#define SVC_UNMAP_SPIROM_DEVICE 0x62
-#define SVC_MAP_FCH_IO_DEVICE 0x63
-#define SVC_UNMAP_FCH_IO_DEVICE 0x64
-#define SVC_UPDATE_PSP_BIOS_DIR 0x65
-#define SVC_COPY_DATA_FROM_UAPP 0x66
-#define SVC_RESET_SYSTEM 0x67
-#define SVC_READ_TIMER_VAL 0x68
-#define SVC_SHA 0x69
-#define SVC_CCP_DMA 0x6A
-#define SVC_SET_PLATFORM_BOOT_MODE 0x6C
-#define SVC_WRITE_POSTCODE 0x6D
-
-struct mod_exp_params {
- char *pExponent; // Exponent address
- unsigned int ExpSize; // Exponent size in bytes
- char *pModulus; // Modulus address
- unsigned int ModulusSize; // Modulus size in bytes
- char *pMessage; // Message address, same size as ModulusSize
- char *pOutput; // Output address; Must be big enough to hold the
- // data of ModulusSize
-};
-
-enum psp_boot_mode {
- PSP_BOOT_MODE_S0 = 0x0,
- PSP_BOOT_MODE_S0i3_RESUME = 0x1,
- PSP_BOOT_MODE_S3_RESUME = 0x2,
- PSP_BOOT_MODE_S4 = 0x3,
- PSP_BOOT_MODE_S5_COLD = 0x4,
- PSP_BOOT_MODE_S5_WARM = 0x5,
-};
-
-enum reset_type
-{
- RESET_TYPE_COLD = 0,
- RESET_TYPE_WARM = 1,
- RESET_TYPE_MAX = 2,
-};
-
-enum fch_io_device {
- FCH_IO_DEVICE_SPI,
- FCH_IO_DEVICE_I2C,
- FCH_IO_DEVICE_GPIO,
- FCH_IO_DEVICE_ESPI,
- FCH_IO_DEVICE_IOMUX,
- FCH_IO_DEVICE_MISC,
- FCH_IO_DEVICE_AOAC,
- FCH_IO_DEVICE_IOPORT,
- FCH_IO_DEVICE_UART,
-
- FCH_IO_DEVICE_END,
-};
-
-enum fch_uart_id {
- FCH_UART_ID_0 = 0,
- FCH_UART_ID_1 = 1,
- FCH_UART_ID_MAX,
-};
-
-enum fch_i2c_controller_id {
- FCH_I2C_CONTROLLER_ID_0 = 0,
- FCH_I2C_CONTROLLER_ID_1 = 1,
- FCH_I2C_CONTROLLER_ID_2 = 2,
- FCH_I2C_CONTROLLER_ID_3 = 3,
- FCH_I2C_CONTROLLER_ID_MAX,
-};
-
-struct spirom_info {
- void *SpiBiosSysHubBase;
- void *SpiBiosSmnBase;
- uint32_t SpiBiosSize;
-};
-
-enum psp_timer_type {
- PSP_TIMER_TYPE_CHRONO = 0,
- PSP_TIMER_TYPE_SECURE_RTC = 1,
- PSP_TIMER_TYPE_MAX = 2,
-};
-
-/* SHA types same as ccp SHA type in crypto.h */
-enum sha_type {
- SHA_TYPE_256,
- SHA_TYPE_384
-};
-
-/* All SHA operation supported */
-enum sha_operation_mode {
- SHA_GENERIC
-};
-
-/* SHA Supported Data Structures */
-struct sha_generic_data {
- enum sha_type SHAType;
- uint8_t *Data;
- uint32_t DataLen;
- uint32_t DataMemType;
- uint8_t *Digest;
- uint32_t DigestLen;
- uint8_t *IntermediateDigest;
- uint32_t IntermediateMsgLen;
- uint32_t Init;
- uint32_t Eom;
-};
-
-/*
- * This is state that PSP manages internally.
- * We only report BOOT_MODE_DEVELOPER or BOOT_MODE_PRODUCTION in verstage.
- */
-enum chrome_platform_boot_mode
-{
- NON_CHROME_BOOK_BOOT_MODE = 0x0,
- CHROME_BOOK_BOOT_MODE_UNSIGNED_VERSTAGE = 0x1,
- CHROME_BOOK_BOOT_MODE_PRODUCTION = 0x2,
- CHROME_BOOK_BOOT_MODE_DEVELOPER = 0x3,
- CHROME_BOOK_BOOT_MODE_TYPE_MAX_LIMIT = 0x4, // used for boundary check
-};
-
-/*
- * Exit to the main Boot Loader. This does not return back to user application.
- *
- * Parameters:
- * status - either Ok or error code defined by AGESA
- */
-void svc_exit(uint32_t status);
-
-/* Print debug message into serial console.
- *
- * Parameters:
- * string - null-terminated string
- */
-void svc_debug_print(const char *string);
-
-/* Print 4 DWORD values in hex to serial console
- *
- * Parameters:
- * dword0...dword3 - 32-bit DWORD to print
- */
-void svc_debug_print_ex(uint32_t dword0,
- uint32_t dword1, uint32_t dword2, uint32_t dword3);
-
-/* Description - Returns the current boot mode from the enum psp_boot_mode found in
- * bl_public.h.
- *
- * Inputs - boot_mode - Output parameter passed in R0
- *
- * Outputs - The boot mode in boot_mode.
- * See Return Values.
- *
- * Return Values - BL_OK
- * BL_ERR_NULL_PTR
- * Other BL_ERRORs lofted up from called functions
- */
-uint32_t svc_get_boot_mode(uint32_t *boot_mode);
-
-/* Add delay in micro seconds
- *
- * Parameters:
- * delay - required delay value in microseconds
- *
- * Return value: NONE
- */
-void svc_delay_in_usec(uint32_t delay);
-
-/* Get the SPI-ROM information
- *
- * Parameters:
- * spi_rom_iInfo - SPI-ROM information
- *
- * Return value: BL_OK or error code
- */
-uint32_t svc_get_spi_rom_info(struct spirom_info *spi_rom_info);
-
-/* Map the FCH IO device register space (SPI/I2C/GPIO/eSPI/etc...)
- *
- * Parameters:
- * io_device - ID for respective FCH IO controller register space to be mapped
- * arg1 - Based on IODevice ID, interpretation of this argument changes.
- * arg2 - Based on IODevice ID, interpretation of this argument changes.
- * io_device_axi_addr - AXI address for respective FCH IO device register space
- *
- * Return value: BL_OK or error code
- */
-uint32_t svc_map_fch_dev(enum fch_io_device io_device,
- uint32_t arg1, uint32_t arg2, void **io_device_axi_addr);
-
-/* Unmap the FCH IO device register space mapped earlier using Svc_MapFchIODevice()
- *
- * Parameters:
- * io_device - ID for respective FCH IO controller register space to be unmapped
- * io_device_addr - AXI address for respective FCH IO device register space
- *
- * Return value: BL_OK or error code
- */
-uint32_t svc_unmap_fch_dev(enum fch_io_device io_device,
- void *io_device_axi_addr);
-
-/* Map the SPIROM FLASH device address space
- *
- * Parameters:
- * SpiRomAddr - Address in SPIROM tobe mapped (SMN based)
- * size - Size to be mapped
- * pSpiRomAddrAxi - Mapped address in AXI space
- *
- * Return value: BL_OK or error code
- */
-uint32_t svc_map_spi_rom(void *spi_rom_addr,
- uint32_t size, void **spi_rom_axi_addr);
-
-/* Unmap the SPIROM FLASH device address space mapped earlier using Svc_MapSpiRomDevice()
- *
- * Parameters:
- * pSpiRomAddrAxi - Address in AXI address space previously mapped
- *
- * Return value: BL_OK or error code
- */
-uint32_t svc_unmap_spi_rom(void *spi_rom_addr);
-
-/* Updates the offset at which PSP or BIOS Directory can be found in the
- * SPI flash
- *
- * Parameters:
- * psp_dir_offset - [in/out] Offset at which PSP Directory can be
- * found in the SPI Flash. Same pointer is used
- * to return the offset in case of GET operation
- * bios_dir_offset - [in/out] Offset at which BIOS Directory can be
- * found in the SPI Flash. Same pointer is used
- * to return the offset in case of GET operation
- *
- * Return value: BL_OK or error code
- */
-uint32_t svc_update_psp_bios_dir(uint32_t *psp_dir_offset,
- uint32_t *bios_dir_offset);
-
-/* Copies the data that is shared by verstage to the PSP BL owned memory
- *
- * Parameters:
- * address - Address in UAPP controlled/owned memory
- * size - Total size of memory to copy (max 16Kbytes)
- */
-uint32_t svc_save_uapp_data(void *address, uint32_t size);
-
-/*
- * Read timer raw (currently CHRONO and RTC) value
- *
- * Parameters:
- * type - [in] Type of timer UAPP would like to read from
- * (currently CHRONO and RTC)
- * counter_value - [out] return the raw counter value read from
- * RTC or CHRONO_LO/HI counter register
- -----------------------------------------------------------------------------*/
-uint32_t svc_read_timer_val(enum psp_timer_type type, uint64_t *counter_value);
-
-/*
- * Reset the system
- *
- * Parameters:
- * reset_type - Cold or Warm reset
- */
-uint32_t svc_reset_system(enum reset_type reset_type);
-
-/*
- * Write postcode to Port-80
- *
- * Parameters:
- * postcode - Postcode value to be written on port-80h
- */
-uint32_t svc_write_postcode(uint32_t postcode);
-
-/*
- * Generic SHA call for SHA, SHA_OTP, SHA_HMAC
- */
-uint32_t svc_crypto_sha(struct sha_generic_data *sha_op, enum sha_operation_mode sha_mode);
-
-/*
- * Calculate ModEx
- *
- * Parameters:
- * mod_exp_param - ModExp parameters
- *
- * Return value: BL_OK or error code
- */
-uint32_t svc_modexp(struct mod_exp_params *mod_exp_param);
-
-/*
- * Copies the data from source to destination using ccp
- *
- * Parameters:
- * Source Address - SPI ROM offset
- * Destination Address - Address in Verstage memory
- * Size - Total size to copy
- *
- * Return value: BL_OK or error code
- */
-uint32_t svc_ccp_dma(uint32_t spi_rom_offset, void *dest, uint32_t size);
-
-/*
- * Get the Platform boot mode from verstage. Production or developer
- *
- * Parameters:
- * - boot mode
- -----------------------------------------------------------------------------*/
-uint32_t svc_set_platform_boot_mode(enum chrome_platform_boot_mode boot_mode);
-
-/* C entry point for the Bootloader Userspace Application */
-void Main(void);
-
-#endif /* _BL_SYSCALL__PUBLIC_H_ */