blob: 9d1fea72601cb4c2237761624b48e214d5f1a4ca [file] [log] [blame]
Sridhar Parasuram2ac5a1f2015-11-06 13:34:08 -08001#/*
Mayank Grover2a3188d2018-05-23 11:44:35 +05302# * Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
Sridhar Parasuram2ac5a1f2015-11-06 13:34:08 -08003# *
4# * Redistribution and use in source and binary forms, with or without
5# * modification, are permitted provided that the following conditions are
6# * met:
7# * * Redistributions of source code must retain the above copyright
8# * notice, this list of conditions and the following disclaimer.
9# * * Redistributions in binary form must reproduce the above
10# * copyright notice, this list of conditions and the following
11# * disclaimer in the documentation and/or other materials provided
12# * with the distribution.
13# * * Neither the name of The Linux Foundation nor the names of its
14# * contributors may be used to endorse or promote products derived
15# * from this software without specific prior written permission.
16# *
17# * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18# * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19# * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20# * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21# * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22# * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23# * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24# * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25# * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26# * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27# * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#*/
29
30
31#/** @file QcomModulePkg.fdf
32# FLASH layout file for QcomModulePkg.
33#**/
34
35
36################################################################################
37#
38# FD Section
39# The [FD] Section is made up of the definition statements and a
40# description of what goes into the Flash Device Image. Each FD section
41# defines one flash "device" image. A flash device image may be one of
42# the following: Removable media bootable image (like a boot floppy
43# image,) an Option ROM image (that would be "flashed" into an add-in
44# card,) a System "Flash" image (that would be burned into a system's
45# flash) or an Update ("Capsule") image that will be used to update and
46# existing system flash.
47#
48################################################################################
49
50
51[FD.QcomModule_EFI]
52BaseAddress = 0x80200000|gEmbeddedTokenSpaceGuid.PcdEmbeddedFdBaseAddress #The base address of the FLASH Device.
Alexander Martinz63427292021-02-25 00:02:17 +010053Size = 0x00044000|gEmbeddedTokenSpaceGuid.PcdEmbeddedFdSize #The size in bytes of the FLASH Device
Sridhar Parasuram2ac5a1f2015-11-06 13:34:08 -080054ErasePolarity = 1
55BlockSize = 0x200
Alexander Martinz63427292021-02-25 00:02:17 +010056NumBlocks = 0x220
Sridhar Parasuram2ac5a1f2015-11-06 13:34:08 -080057
58################################################################################
59#
60# Following are lists of FD Region layout which correspond to the locations of different
61# images within the flash device.
62#
63# Regions must be defined in ascending order and may not overlap.
64#
65# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
66# the pipe "|" character, followed by the size of the region, also in hex with the leading
67# "0x" characters. Like:
68# Offset|Size
69# PcdOffsetCName|PcdSizeCName
70# RegionType <FV, DATA, or FILE>
71#
72################################################################################
73
74# 512 bytes of configuration header & 8 bytes of image header
Alexander Martinz63427292021-02-25 00:02:17 +0100750x00000000|0x00044000
Sridhar Parasuram2ac5a1f2015-11-06 13:34:08 -080076gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize
77FV = FVMAIN_COMPACT
78
79################################################################################
80#
81# FV Section
82#
83# [FV] section is used to define what components or modules are placed within a flash
84# device file. This section also defines order the components and modules are positioned
85# within the image. The [FV] section consists of define statements, set statements and
86# module statements.
87#
88################################################################################
89
90[FV.FvMain]
91BlockSize = 0x40
92NumBlocks = 0 # This FV gets compressed so make it just big enough
93FvAlignment = 8 # FV alignment and FV attributes setting.
94ERASE_POLARITY = 1
95MEMORY_MAPPED = TRUE
96STICKY_WRITE = TRUE
97LOCK_CAP = TRUE
98LOCK_STATUS = TRUE
99WRITE_DISABLED_CAP = TRUE
100WRITE_ENABLED_CAP = TRUE
101WRITE_STATUS = TRUE
102WRITE_LOCK_CAP = TRUE
103WRITE_LOCK_STATUS = TRUE
104READ_DISABLED_CAP = TRUE
105READ_ENABLED_CAP = TRUE
106READ_STATUS = TRUE
107READ_LOCK_CAP = TRUE
108READ_LOCK_STATUS = TRUE
Channagoud Kadabi4178c722016-03-25 13:39:57 -0700109FvNameGuid = 046fae99-cf2e-49ed-a6a8-a1488b7e80d3
Sridhar Parasuram2ac5a1f2015-11-06 13:34:08 -0800110
Sridhar Parasuram2ac5a1f2015-11-06 13:34:08 -0800111INF QcomModulePkg/Application/LinuxLoader/LinuxLoader.inf
Sridhar Parasuram2ac5a1f2015-11-06 13:34:08 -0800112
113[FV.FVMAIN_COMPACT]
114FvAlignment = 8
115ERASE_POLARITY = 1
116MEMORY_MAPPED = TRUE
117STICKY_WRITE = TRUE
118LOCK_CAP = TRUE
119LOCK_STATUS = TRUE
120WRITE_DISABLED_CAP = TRUE
121WRITE_ENABLED_CAP = TRUE
122WRITE_STATUS = TRUE
123WRITE_LOCK_CAP = TRUE
124WRITE_LOCK_STATUS = TRUE
125READ_DISABLED_CAP = TRUE
126READ_ENABLED_CAP = TRUE
127READ_STATUS = TRUE
128READ_LOCK_CAP = TRUE
129READ_LOCK_STATUS = TRUE
130
131 FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
132 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
133 SECTION FV_IMAGE = FVMAIN
134 }
135 }
136
137################################################################################
138#
139# Rules are use with the [FV] section's module INF type to define
140# how an FFS file is created for a given INF file. The following Rule are the default
141# rules for the different module type. User can add the customized rules to define the
142# content of the FFS file.
143#
144################################################################################
145
146[Rule.Common.SEC]
147 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
148 TE TE Align = 16 |.efi
149 }
150
151[Rule.Common.PEI_CORE]
152 FILE PEI_CORE = $(NAMED_GUID) {
153 TE TE |.efi
154 UI STRING ="$(MODULE_NAME)" Optional
155 }
156
157[Rule.Common.PEIM]
158 FILE PEIM = $(NAMED_GUID) {
159 PEI_DEPEX PEI_DEPEX Optional |.depex
160 PE32 PE32 |.efi
161 UI STRING="$(MODULE_NAME)" Optional
162 }
163
164[Rule.Common.PEIM.TIANOCOMPRESSED]
165 FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
166 PEI_DEPEX PEI_DEPEX Optional |.depex
167 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
168 PE32 PE32 |.efi
169 UI STRING="$(MODULE_NAME)" Optional
170 }
171 }
172
173[Rule.Common.DXE_CORE]
174 FILE DXE_CORE = $(NAMED_GUID) {
175 PE32 PE32 |.efi
176 UI STRING="$(MODULE_NAME)" Optional
177 }
178
179[Rule.Common.UEFI_DRIVER]
180 FILE DRIVER = $(NAMED_GUID) {
181 DXE_DEPEX DXE_DEPEX Optional |.depex
182 PE32 PE32 |.efi
183 UI STRING="$(MODULE_NAME)" Optional
184 }
185
186[Rule.Common.DXE_DRIVER]
187 FILE DRIVER = $(NAMED_GUID) {
188 DXE_DEPEX DXE_DEPEX Optional |.depex
189 PE32 PE32 |.efi
190 UI STRING="$(MODULE_NAME)" Optional
191 }
192
193[Rule.Common.DXE_RUNTIME_DRIVER]
194 FILE DRIVER = $(NAMED_GUID) {
195 DXE_DEPEX DXE_DEPEX Optional |.depex
196 PE32 PE32 |.efi
197 UI STRING="$(MODULE_NAME)" Optional
198 }
199
200[Rule.Common.DXE_RUNTIME_DRIVER.BINARY]
201 FILE DRIVER = $(NAMED_GUID) {
202 DXE_DEPEX DXE_DEPEX Optional |.depex
203 PE32 PE32 |.efi
204 UI STRING="$(MODULE_NAME)" Optional
205 }
206
207[Rule.Common.UEFI_APPLICATION]
208 FILE APPLICATION = $(NAMED_GUID) {
209 UI STRING ="$(MODULE_NAME)" Optional
210 PE32 PE32 |.efi
211 }
212
213[Rule.Common.DXE_DRIVER.BINARY]
214 FILE DRIVER = $(NAMED_GUID) {
215 DXE_DEPEX DXE_DEPEX Optional |.depex
216 PE32 PE32 |.efi
217 UI STRING="$(MODULE_NAME)" Optional
218 }
219
220[Rule.Common.UEFI_APPLICATION.BINARY]
221 FILE APPLICATION = $(NAMED_GUID) {
222 DXE_DEPEX DXE_DEPEX Optional |.depex
223 PE32 PE32 |.efi
224 UI STRING="$(MODULE_NAME)" Optional
225 }