1<?xml version="1.0"?>
2<!-- The fuzzy_fastboot config for b1/c1 -->
3<config>
4	<!-- All the device specific getvar variables should be listed here -->
5	<getvar>
6		<var key="product" assert="crosshatch|blueline"/>
7		<var key="variant" assert="(\w+ )*\w+"/>
8		<var key="slot-suffixes" assert="_a,_b"/>
9		<var key="version-bootloader" assert="[\w\-.]+"/>
10		<var key="max-download-size" assert="0x[[:digit:]]+"/>
11		<var key="version-baseband" assert="[\w\-.]+"/>
12		<var key="secure-boot" assert="NONE"/>
13		<var key="secure" assert="yes|no"/>
14		<var key="hw-revision" assert="[[:upper:]]+[[:digit:]]+.[[:digit:]]+"/>
15		<var key="slot-count" assert="[[:digit:]]"/>
16		<var key="current-slot" assert="[a-b]"/>
17		<var key="unlocked" assert="yes|no"/>
18		<var key="nos-production" assert="yes|no"/>
19		<var key="off-mode-charge" assert="1|0"/>
20		<var key="slot-retry-count:a" assert="[[:digit:]]+"/>
21		<var key="slot-unbootable:a" assert="yes|no"/>
22		<var key="slot-successful:a" assert="yes|no"/>
23		<var key="slot-retry-count:b" assert="[[:digit:]]+"/>
24		<var key="slot-unbootable:b" assert="yes|no"/>
25		<var key="slot-successful:b" assert="yes|no"/>
26		<var key="battery-voltage" assert="[34][[:digit:]]{3}"/>
27		<var key="battery-soc-ok" assert="yes|no"/>
28	</getvar>
29
30	<!-- All the device partitions should be listed here -->
31	<partitions>
32		<part value="boot" slots="yes" test="yes" hashable="yes" parsed="yes"/>
33
34		<part value="ssd" slots="no" test="yes" hashable="no" parsed="no"/>
35		<part value="misc" slots="no" test="yes" hashable="no" parsed="no"/>
36		<part value="keystore" slots="no" test="yes" hashable="no" parsed="no"/>
37		<part value="frp" slots="no" test="yes" hashable="no" parsed="no"/>
38
39		<part value="system" slots="yes" test="yes" hashable="yes"/>
40		<part value="product" slots="yes" test="yes" hashable="yes"/>
41		<part value="vendor" slots="yes" test="yes" hashable="yes"/>
42
43		<part value="modem" slots="yes" test="yes" hashable="yes"/>
44		<part value="apdp" slots="yes" test="yes" hashable="yes"/>
45		<part value="klog" slots="no" test="yes" hashable="no"/>
46		<part value="metadata" slots="no" test="yes" hashable="no"/>
47		<part value="userdata" slots="no" test="yes" hashable="no"/>
48		<part value="ddr" slots="no" test="yes" hashable="no"/>
49		<part value="modemcal" slots="no" test="yes" hashable="no"/>
50		<part value="uefivar" slots="no" test="yes" hashable="no"/>
51		<part value="sec" slots="no" test="yes" hashable="no"/>
52		<part value="vbmeta" slots="yes" test="yes" hashable="yes"/>
53		<part value="dtbo" slots="yes" test="yes" hashable="yes"/>
54		<part value="modemst1" slots="no" test="yes" hashable="no"/>
55		<part value="modemst2" slots="no" test="yes" hashable="no"/>
56		<part value="fsg" slots="no" test="yes" hashable="no"/>
57		<part value="fsc" slots="no" test="yes" hashable="no"/>
58		<part value="devinfo" slots="no" test="yes" hashable="no"/>
59		<part value="dip" slots="no" test="yes" hashable="no"/>
60		<part value="spunvm" slots="no" test="yes" hashable="no"/>
61		<part value="limits" slots="no" test="yes" hashable="no"/>
62		<part value="toolsfv" slots="no" test="yes" hashable="no"/>
63		<part value="sti" slots="no" test="yes" hashable="no"/>
64		<part value="ImageFv" slots="no" test="yes" hashable="no"/>
65		<part value="splash" slots="no" test="yes" hashable="no"/>
66
67
68		<!-- Special config partitions you don't want to mess with -->
69		<part value="cdt" slots="no" test="no" hashable="no"/>
70		<part value="persist" slots="no" test="no" hashable="no"/>
71
72		<!-- Bootloader partitions -->
73		<part value="abl" slots="yes" test="no" hashable="yes"/>
74		<part value="aop" slots="yes" test="no" hashable="yes"/>
75		<part value="cmnlib64" slots="yes" test="no" hashable="yes"/>
76		<part value="devcfg" slots="yes" test="no" hashable="yes"/>
77		<part value="keymaster" slots="yes" test="no" hashable="yes"/>
78		<part value="msadp" slots="yes" test="no" hashable="yes"/>
79		<part value="qupfw" slots="yes" test="no" hashable="yes"/>
80		<part value="tz" slots="yes" test="no" hashable="yes"/>
81		<part value="xbl" slots="yes" test="no" hashable="yes"/>
82		<part value="cmnlib" slots="yes" test="no" hashable="yes"/>
83		<part value="hyp" slots="yes" test="no" hashable="yes"/>
84		<part value="logfs" slots="no" test="no" hashable="no"/>
85		<part value="storsec" slots="yes" test="no" hashable="yes"/>
86		<part value="xbl_config" slots="yes" test="no" hashable="yes"/>
87	</partitions>
88
89	<!-- All the device packed partitions should be listed here -->
90	<packed>
91		<part value="bootloader" slots="yes">
92			<child>abl</child>
93			<child>aop</child>
94			<child>cmnlib64</child>
95			<child>devcfg</child>
96			<child>keymaster</child>
97			<child>msadp</child>
98			<child>qupfw</child>
99			<child>tz</child>
100			<child>xbl</child>
101			<child>cmnlib</child>
102			<child>hyp</child>
103			<child>logfs</child>
104			<child>storsec</child>
105			<child>xbl_config</child>
106			<test packed="bootloader.img" unpacked="bootloader_unpacked"/>
107			<test packed="bootloader_garbage.img" expect="fail"/>
108		</part>
109
110		<part value="radio" slots="yes">
111			<child>modem</child>
112			<test packed="radio.img" unpacked="radio_unpacked"/>
113			<test packed="radio_garbage.img" expect="fail"/>
114		</part>
115	</packed>
116
117	<!-- All the oem commands should be listed here -->
118	<oem>
119		<command value="rma" permissions="unlocked">
120			<test value="get_challenge" expect="okay" output="challenge.img" validate="python validator.py" />
121			<test value="send_response" expect="fail" input="radio.img"/>
122		</command>
123
124	</oem>
125	<!-- If there is a custom oem checksum command, add it here -->
126	<checksum value="oem sha1sum" parser="python checksum_parser.py"/>
127</config>
128