blob: 3bb79c4b67a45c89c26e5ce59cb509c3ef6ee1f4 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: Intel */
Bin Meng2922b3e2014-12-12 21:05:28 +08002/*
3 * Copyright (C) 2013, Intel Corporation
4 * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
Bin Meng2922b3e2014-12-12 21:05:28 +08005 */
6
7#ifndef __FSP_HOB_H__
8#define __FSP_HOB_H__
9
Park, Aiden538aec92019-08-03 08:30:31 +000010#include <asm/hob.h>
Bin Meng2922b3e2014-12-12 21:05:28 +080011
Bin Meng3c8b48a2017-08-15 22:41:52 -070012enum pixel_format {
13 pixel_rgbx_8bpc, /* RGB 8 bit per color */
14 pixel_bgrx_8bpc, /* BGR 8 bit per color */
15 pixel_bitmask,
16};
17
18struct __packed hob_graphics_info {
19 phys_addr_t fb_base; /* framebuffer base address */
20 u32 fb_size; /* framebuffer size */
21 u32 version;
22 u32 width;
23 u32 height;
24 enum pixel_format pixel_format;
25 u32 red_mask;
26 u32 green_mask;
27 u32 blue_mask;
28 u32 reserved_mask;
29 u32 pixels_per_scanline;
30};
31
Bin Meng2922b3e2014-12-12 21:05:28 +080032/* FSP specific GUID HOB definitions */
Bin Mengdb60d862014-12-17 15:50:49 +080033#define FSP_GUID_DATA1 0x912740be
34#define FSP_GUID_DATA2 0x2284
35#define FSP_GUID_DATA3 0x4734
36#define FSP_GUID_DATA4_0 0xb9
37#define FSP_GUID_DATA4_1 0x71
38#define FSP_GUID_DATA4_2 0x84
39#define FSP_GUID_DATA4_3 0xb0
40#define FSP_GUID_DATA4_4 0x27
41#define FSP_GUID_DATA4_5 0x35
42#define FSP_GUID_DATA4_6 0x3f
43#define FSP_GUID_DATA4_7 0x0c
44
Park, Aiden0961cf72019-08-03 08:30:20 +000045#define FSP_GUID_BYTE0 0xbe
46#define FSP_GUID_BYTE1 0x40
47#define FSP_GUID_BYTE2 0x27
48#define FSP_GUID_BYTE3 0x91
49#define FSP_GUID_BYTE4 0x84
50#define FSP_GUID_BYTE5 0x22
51#define FSP_GUID_BYTE6 0x34
52#define FSP_GUID_BYTE7 0x47
53#define FSP_GUID_BYTE8 FSP_GUID_DATA4_0
54#define FSP_GUID_BYTE9 FSP_GUID_DATA4_1
55#define FSP_GUID_BYTE10 FSP_GUID_DATA4_2
56#define FSP_GUID_BYTE11 FSP_GUID_DATA4_3
57#define FSP_GUID_BYTE12 FSP_GUID_DATA4_4
58#define FSP_GUID_BYTE13 FSP_GUID_DATA4_5
59#define FSP_GUID_BYTE14 FSP_GUID_DATA4_6
60#define FSP_GUID_BYTE15 FSP_GUID_DATA4_7
61
Bin Meng2922b3e2014-12-12 21:05:28 +080062#define FSP_HEADER_GUID \
Park, Aiden0961cf72019-08-03 08:30:20 +000063 EFI_GUID(FSP_GUID_DATA1, FSP_GUID_DATA2, FSP_GUID_DATA3, \
64 FSP_GUID_DATA4_0, FSP_GUID_DATA4_1, FSP_GUID_DATA4_2, \
65 FSP_GUID_DATA4_3, FSP_GUID_DATA4_4, FSP_GUID_DATA4_5, \
66 FSP_GUID_DATA4_6, FSP_GUID_DATA4_7)
Bin Meng2922b3e2014-12-12 21:05:28 +080067
68#define FSP_NON_VOLATILE_STORAGE_HOB_GUID \
Park, Aiden0961cf72019-08-03 08:30:20 +000069 EFI_GUID(0x721acf02, 0x4d77, 0x4c2a, \
70 0xb3, 0xdc, 0x27, 0x0b, 0x7b, 0xa9, 0xe4, 0xb0)
Bin Meng2922b3e2014-12-12 21:05:28 +080071
72#define FSP_BOOTLOADER_TEMP_MEM_HOB_GUID \
Park, Aiden0961cf72019-08-03 08:30:20 +000073 EFI_GUID(0xbbcff46c, 0xc8d3, 0x4113, \
74 0x89, 0x85, 0xb9, 0xd4, 0xf3, 0xb3, 0xf6, 0x4e)
Bin Meng2922b3e2014-12-12 21:05:28 +080075
76#define FSP_HOB_RESOURCE_OWNER_FSP_GUID \
Park, Aiden0961cf72019-08-03 08:30:20 +000077 EFI_GUID(0x69a79759, 0x1373, 0x4367, \
78 0xa6, 0xc4, 0xc7, 0xf5, 0x9e, 0xfd, 0x98, 0x6e)
Bin Meng2922b3e2014-12-12 21:05:28 +080079
80#define FSP_HOB_RESOURCE_OWNER_TSEG_GUID \
Park, Aiden0961cf72019-08-03 08:30:20 +000081 EFI_GUID(0xd038747c, 0xd00c, 0x4980, \
82 0xb3, 0x19, 0x49, 0x01, 0x99, 0xa4, 0x7d, 0x55)
Bin Meng2922b3e2014-12-12 21:05:28 +080083
84#define FSP_HOB_RESOURCE_OWNER_GRAPHICS_GUID \
Park, Aiden0961cf72019-08-03 08:30:20 +000085 EFI_GUID(0x9c7c3aa7, 0x5332, 0x4917, \
86 0x82, 0xb9, 0x56, 0xa5, 0xf3, 0xe6, 0x2a, 0x07)
Bin Meng2922b3e2014-12-12 21:05:28 +080087
Bin Mengf3c06322017-08-15 22:41:51 -070088/* The following GUIDs are newly introduced in FSP spec 1.1 */
89
90#define FSP_HOB_RESOURCE_OWNER_BOOTLOADER_TOLUM_GUID \
Park, Aiden0961cf72019-08-03 08:30:20 +000091 EFI_GUID(0x73ff4f56, 0xaa8e, 0x4451, \
92 0xb3, 0x16, 0x36, 0x35, 0x36, 0x67, 0xad, 0x44)
Bin Mengf3c06322017-08-15 22:41:51 -070093
Bin Meng3c8b48a2017-08-15 22:41:52 -070094#define FSP_GRAPHICS_INFO_HOB_GUID \
Park, Aiden0961cf72019-08-03 08:30:20 +000095 EFI_GUID(0x39f62cce, 0x6825, 0x4669, \
96 0xbb, 0x56, 0x54, 0x1a, 0xba, 0x75, 0x3a, 0x07)
Bin Meng3c8b48a2017-08-15 22:41:52 -070097
Bin Meng2922b3e2014-12-12 21:05:28 +080098#endif