Docs: Update configuration docs

Update configuration docs to align with changes which decouples option
configuration and validation in config header files.

Convert header file config system diagrams in svg format
It is difficult to modify existing figures in header_file_system.rst and
kconfig_header_file_system.rst.
Re-draw those figures in svg format and enable developers to more easily
update the diagram.

Change-Id: If88a6a07104ef54de127ccb9149c5ff4792b3cdd
Signed-off-by: David Hu <david.hu@arm.com>
diff --git a/docs/configuration/header_file_config_diagram.svg b/docs/configuration/header_file_config_diagram.svg
new file mode 100755
index 0000000..2ebc05c
--- /dev/null
+++ b/docs/configuration/header_file_config_diagram.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file with editors other than diagrams.net -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="992px" height="602px" viewBox="-0.5 -0.5 992 602" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2023-02-23T09:10:16.611Z&quot; agent=&quot;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36&quot; etag=&quot;veZTvDCcCZI2___2yO1u&quot; version=&quot;20.8.23&quot; type=&quot;device&quot;&gt;&lt;diagram name=&quot;Page-1&quot; id=&quot;e9cu-eLdupSv6wuEjDHl&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 714 400 C 716.76 400 719 402.24 719 405 L 719 584 Q 661.5 555.2 604 584 Q 546.5 612.8 489 584 L 489 416 L 489 405 C 489 402.24 491.24 400 494 400 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="603.5" y="417.5">config_tfm.h</text></g><rect x="71" y="0" width="240" height="190" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 238px; height: 1px; padding-top: 7px; margin-left: 73px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CMake Variables</div></div></div></foreignObject><text x="73" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">CMake Variables</text></switch></g><rect x="783" y="407" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 414px; margin-left: 863px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;"><span style="font-weight: normal;">Component</span></div></div></div></foreignObject><text x="863" y="426" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Component</text></switch></g><path d="M 920 414 L 936 414 L 936 434 L 920 434 L 920 430 L 916 430 L 916 426 L 920 426 L 920 422 L 916 422 L 916 418 L 920 418 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 920 418 L 924 418 L 924 422 L 920 422 M 920 426 L 924 426 L 924 430 L 920 430" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="773" y="398" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 405px; margin-left: 853px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;"><span style="font-weight: normal;">Component</span></div></div></div></foreignObject><text x="853" y="417" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Component</text></switch></g><path d="M 910 405 L 926 405 L 926 425 L 910 425 L 910 421 L 906 421 L 906 417 L 910 417 L 910 413 L 906 413 L 906 409 L 910 409 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 910 409 L 914 409 L 914 413 L 910 413 M 910 417 L 914 417 L 914 421 L 910 421" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 101 280 L 134.63 280" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 139.88 280 L 132.88 283.5 L 134.63 280 L 132.88 276.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="51" cy="280" rx="50" ry="30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="50.5" y="277.5">Command line</text><text x="50.5" y="291.5">input</text></g><path d="M 241 280 L 357.63 280" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 362.88 280 L 355.88 283.5 L 357.63 280 L 355.88 276.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 236.45 230 C 238.31 230.02 239.79 230.64 240.4 231.65 C 241.01 232.66 240.7 233.95 239.54 235.1 L 142.46 324.9 C 141.3 326.05 140.99 327.34 141.6 328.35 C 142.21 329.36 143.69 329.98 145.55 330 L 236.45 330 C 238.31 329.98 239.79 329.36 240.4 328.35 C 241.01 327.34 240.7 326.05 239.54 324.9 L 142.46 235.1 C 141.3 233.95 140.99 232.66 141.6 231.65 C 142.21 230.64 143.69 230.02 145.55 230 L 236.45 230 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 286 35 C 288.76 35 291 37.24 291 40 L 291 78.75 Q 268.5 67.5 246 78.75 Q 223.5 90 201 78.75 L 201 41.25 L 201 40 C 201 37.24 203.24 35 206 35 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="#333333" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="245.5" y="52.5">User defined</text><text x="245.5" y="66.5">config</text></g><path d="M 176 35 C 178.76 35 181 37.24 181 40 L 181 78.75 Q 158.5 67.5 136 78.75 Q 113.5 90 91 78.75 L 91 41.25 L 91 40 C 91 37.24 93.24 35 96 35 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="#333333" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="135.5" y="52.5">Platform config</text></g><path d="M 191.09 170.2 L 191.01 223.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 191 228.88 L 187.51 221.88 L 191.01 223.63 L 194.51 221.89 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 245.64 78.75 L 195.82 121.83" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 191.85 125.27 L 194.85 118.04 L 195.82 121.83 L 199.43 123.34 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 643 429 C 645.76 429 648 431.24 648 434 L 648 472.75 Q 625.5 461.5 603 472.75 Q 580.5 484 558 472.75 L 558 435.25 L 558 434 C 558 431.24 560.24 429 563 429 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="602.5" y="446.5">config_base.h</text></g><path d="M 604 400 L 707.11 314.08" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 711.14 310.72 L 708 317.89 L 707.11 314.08 L 703.52 312.51 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 587 506 C 589.76 506 592 508.24 592 511 L 592 567.25 Q 569.5 551.5 547 567.25 Q 524.5 583 502 567.25 L 502 514.75 L 502 511 C 502 508.24 504.24 506 507 506 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="546.5" y="523.5">User defined</text><text x="546.5" y="537.5">Project config</text><text x="546.5" y="551.5">header file</text></g><path d="M 701 506 C 703.76 506 706 508.24 706 511 L 706 558.5 Q 683.5 545 661 558.5 Q 638.5 572 616 558.5 L 616 513.5 L 616 511 C 616 508.24 618.24 506 621 506 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="660.5" y="523.5">Target config</text><text x="660.5" y="537.5">header file</text></g><path d="M 393 197.33 L 393 170.67 C 393 166.98 409.12 164 429 164 C 448.88 164 465 166.98 465 170.67 L 465 197.33 C 465 201.02 448.88 204 429 204 C 409.12 204 393 201.02 393 197.33 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 393 170.67 C 393 174.35 409.12 177.33 429 177.33 C 448.88 177.33 465 174.35 465 170.67" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 429 250 L 429 210.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 429 205.12 L 432.5 212.12 L 429 210.37 L 425.5 212.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 429 343 L 429 316.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 429 311.12 L 432.5 318.12 L 429 316.37 L 425.5 318.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 494 280 L 640.63 280" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 645.88 280 L 638.88 283.5 L 640.63 280 L 638.88 276.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="364" y="250" width="130" height="60" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="428.5" y="284.5">CMake configuration</text></g><rect x="364" y="343" width="130" height="40" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="428.5" y="367.5">Invalid config check</text></g><rect x="647" y="250" width="130" height="60" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="711.5" y="284.5">CMake Building</text></g><path d="M 547 506 L 574.06 484.02" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 578.13 480.71 L 574.91 487.84 L 574.06 484.02 L 570.49 482.4 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 661 506 L 623.83 474.14" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 619.85 470.73 L 627.44 472.63 L 623.83 474.14 L 622.89 477.94 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="763" y="391" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px"><text x="842.5" y="408.5">Component A</text></g><path d="M 900 398 L 916 398 L 916 418 L 900 418 L 900 414 L 896 414 L 896 410 L 900 410 L 900 406 L 896 406 L 896 402 L 900 402 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 900 402 L 904 402 L 904 406 L 900 406 M 900 410 L 904 410 L 904 414 L 900 414" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 900 429 C 902.76 429 905 431.24 905 434 L 905 481.5 Q 875.25 468 845.5 481.5 Q 815.75 495 786 481.5 L 786 436.5 L 786 434 C 786 431.24 788.24 429 791 429 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="845" y="446.5">config_&lt;A&gt;_check.h</text></g><path d="M 843 391 L 717.42 313.35" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 712.95 310.59 L 720.75 311.29 L 717.42 313.35 L 717.06 317.25 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 719.46 459.2 L 779.63 459.02" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 784.88 459 L 777.89 462.52 L 779.63 459.02 L 777.87 455.52 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 929.5 310 L 897 310 Q 891 310 893.15 304.4 L 911.85 255.6 Q 914 250 920 250 L 985 250 Q 991 250 988.85 255.6 L 970.15 304.4 Q 968 310 962 310 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="940.5" y="277.5">TF-M</text><text x="940.5" y="291.5">Binaries</text></g><path d="M 777 280 L 896.13 280" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 901.38 280 L 894.38 283.5 L 896.13 280 L 894.38 276.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="101" y="91" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="102.5" y="108.5">Override</text></g><path d="M 231 126 C 233.76 126 236 128.24 236 131 L 236 169.75 Q 213.5 158.5 191 169.75 Q 168.5 181 146 169.75 L 146 132.25 L 146 131 C 146 128.24 148.24 126 151 126 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="#333333" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="190.5" y="143.5">Base config</text></g><path d="M 133.93 81.75 L 185.97 122.1" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 190.12 125.31 L 182.44 123.79 L 185.97 122.1 L 186.73 118.26 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="502" y="473" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="531.5" y="490.5">Override</text></g><rect x="649" y="472" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="678.5" y="489.5">Override</text></g><rect x="374" y="137" width="110" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 144px; margin-left: 375px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">CMakeCache</span></div></div></div></foreignObject><text x="429" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">CMakeCache</text></switch></g><rect x="299" y="31" width="110" height="53" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 108px; height: 1px; padding-top: 38px; margin-left: 301px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">For example, TF-M Profile pre-defined CMake config files</span></div></div></div></foreignObject><text x="301" y="50" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">For example, TF-M...</text></switch></g><rect x="382" y="506" width="110" height="53" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-end; width: 108px; height: 1px; padding-top: 513px; margin-left: 382px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: right;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">For example, TF-M Profile pre-defined config header files</span></div></div></div></foreignObject><text x="490" y="525" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="end">For example, TF-M...</text></switch></g><rect x="231" y="91" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="232.5" y="108.5">Override</text></g><rect x="819" y="51" width="156" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 154px; height: 1px; padding-top: 58px; margin-left: 821px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Header file config system</span></div></div></div></foreignObject><text x="821" y="70" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Header file config system</text></switch></g><path d="M 804 95.5 C 806.76 95.5 809 97.74 809 100.5 L 809 122.63 Q 801 115.65 793 122.63 Q 785 129.6 777 122.63 L 777 99.38 L 777 100.5 C 777 97.74 779.24 95.5 782 95.5 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="819" y="98" width="156" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 154px; height: 1px; padding-top: 105px; margin-left: 821px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Legacy CMake based config</span></div></div></div></foreignObject><text x="821" y="117" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Legacy CMake based config</text></switch></g><rect x="738" y="14" width="110" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 21px; margin-left: 739px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Legend</span></div></div></div></foreignObject><text x="793" y="33" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Legend</text></switch></g><path d="M 804 48.5 C 806.76 48.5 809 50.74 809 53.5 L 809 75.63 Q 801 68.65 793 75.63 Q 785 82.6 777 75.63 L 777 52.38 L 777 53.5 C 777 50.74 779.24 48.5 782 48.5 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
diff --git a/docs/configuration/header_file_system.png b/docs/configuration/header_file_system.png
deleted file mode 100755
index 0c2151a..0000000
--- a/docs/configuration/header_file_system.png
+++ /dev/null
Binary files differ
diff --git a/docs/configuration/header_file_system.rst b/docs/configuration/header_file_system.rst
index ff69df3..06c9982 100644
--- a/docs/configuration/header_file_system.rst
+++ b/docs/configuration/header_file_system.rst
@@ -8,22 +8,34 @@
 
 The following diagram shows how the system works.
 
-.. figure:: header_file_system.png
+.. figure:: header_file_config_diagram.svg
+  :align: center
 
-A ``config_tfm.h`` file collects customized configurations, including platform customized and
-project specific settings.
-Each component has a ``config_<comp_name>.h`` which includes the ``config_tfm.h`` first and then
-provides default values for each config option of the component as well as necessary validations
-on config dependencies.
-Source files then include component header files when necessary.
+Source files shall include ``config_tfm.h`` when necessary to fetch Component option settings.
+It is expected that all Component options are included in ``config_tfm.h`` to explicitly set values
+for each option.
+
+
+The ``config_tfm.h`` includes base configuration ``config_base.h``. Refer to
+:ref:`Base_configuration` for details of the base configurations.
 
 The ``config_tfm.h`` includes a customized project config file provided via compile definition
-``PROJECT_CONFIG_HEADER_FILE``.
-Users set the corresponding CMake variable ``PROJECT_CONFIG_HEADER_FILE`` with the full path of the
-configuration header file.
+``PROJECT_CONFIG_HEADER_FILE``. Customized Component options in the project config file overrides
+those configured in ``config_base.h``.
+The project config header file can be
+
+- Generated by the TF-M Kconfig system <kconfig_system>
+- One of the header files of Profiles <tf-m_profiles>, set via the ``TFM_PROFILE`` build option.
+- Manually customized profile based on pre-set profiles.
+
+Users set CMake variable ``PROJECT_CONFIG_HEADER_FILE`` with the full path of the configuration
+header file.
+
 A platform can adjust or place restriction on config options by providing a ``config_tfm_target.h``
 under the root folder of their platforms.
 If the build system finds the file, it sets the ``TARGET_CONFIG_HEADER_FILE`` compile definition.
+Platform specific option settings in ``TARGET_CONFIG_HEADER_FILE`` overrides those configured in
+``config_base.h``.
 
 .. code-block:: c
 
@@ -35,15 +47,10 @@
     #include TARGET_CONFIG_HEADER_FILE
     #endif
 
-The project config header file can be
+    #include "config_base.h"
 
-- Generated by the TF-M Kconfig system <kconfig_system>
-- One of the header files of Profiles <tf-m_profiles>, set via the ``TFM_PROFILE`` build option.
-- Manually customized profile based on pre-set profiles.
-
-It is expected that all Component options are included in the header file to explicitly set values
-for each option.
-Refer to :ref:`Base_configuration` for details the base configurations.
+Each component can implement a ``config_<comp_name>_check.h`` to validate component specific config
+dependencies. ``config_<comp_name>_check.h`` shall include ``config_tfm.h``
 
 --------------
 
diff --git a/docs/configuration/index.rst b/docs/configuration/index.rst
index 260134c..235d05d 100644
--- a/docs/configuration/index.rst
+++ b/docs/configuration/index.rst
@@ -46,7 +46,7 @@
 ****************
 
 TF-M Project provides a base build, defined in ``/config/config_base.cmake``
-and ``/config/profile/config_profile_base.h``. It includes SPM and platform code only.
+and ``/config/config_base.h``.
 Starting from the base, users can enable required services and features using several
 independent methods to configure TF-M.
 
@@ -100,8 +100,8 @@
 Base Configuration
 ******************
 
-The base configuraion is the ground for configuring TF-M providing default
-defined in ``/config/config_base.cmake`` and ``/config/profile/config_profile_base.h``.
+The base configuration is the ground for configuring TF-M providing default
+defined in ``/config/config_base.cmake`` and ``/config/config_base.h``.
 The base build includes SPM and platform code only.
 
 This table lists the config option categorizations of the SPM and Secure
diff --git a/docs/configuration/kconfig_header_file_system.png b/docs/configuration/kconfig_header_file_system.png
deleted file mode 100755
index 80d2ed2..0000000
--- a/docs/configuration/kconfig_header_file_system.png
+++ /dev/null
Binary files differ
diff --git a/docs/configuration/kconfig_header_file_system.svg b/docs/configuration/kconfig_header_file_system.svg
new file mode 100755
index 0000000..96ded0d
--- /dev/null
+++ b/docs/configuration/kconfig_header_file_system.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file with editors other than diagrams.net -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1292px" height="582px" viewBox="-0.5 -0.5 1292 582" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2023-02-23T09:09:57.035Z&quot; agent=&quot;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36&quot; etag=&quot;yLQbZwC1y7tSuCipqXV3&quot; version=&quot;20.8.23&quot; type=&quot;device&quot;&gt;&lt;diagram name=&quot;Page-1&quot; id=&quot;C50KTVw_eySCdgQrAY2m&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 1002 385 C 1004.76 385 1007 387.24 1007 390 L 1007 567.08 Q 967 543.84 927 567.08 Q 887 590.33 847 567.08 L 847 397.92 L 847 390 C 847 387.24 849.24 385 852 385 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="926.5" y="402.5">config_tfm.h</text></g><rect x="371" y="0" width="240" height="180" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 238px; height: 1px; padding-top: 7px; margin-left: 373px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CMake Variables</div></div></div></foreignObject><text x="373" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">CMake Variables</text></switch></g><rect x="1083" y="397" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 404px; margin-left: 1163px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;"><span style="font-weight: normal;">Component</span></div></div></div></foreignObject><text x="1163" y="416" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Component</text></switch></g><path d="M 1220 404 L 1236 404 L 1236 424 L 1220 424 L 1220 420 L 1216 420 L 1216 416 L 1220 416 L 1220 412 L 1216 412 L 1216 408 L 1220 408 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1220 408 L 1224 408 L 1224 412 L 1220 412 M 1220 416 L 1224 416 L 1224 420 L 1220 420" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="1073" y="388" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 395px; margin-left: 1153px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;"><span style="font-weight: normal;">Component</span></div></div></div></foreignObject><text x="1153" y="407" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Component</text></switch></g><path d="M 1210 395 L 1226 395 L 1226 415 L 1210 415 L 1210 411 L 1206 411 L 1206 407 L 1210 407 L 1210 403 L 1206 403 L 1206 399 L 1210 399 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1210 399 L 1214 399 L 1214 403 L 1210 403 M 1210 407 L 1214 407 L 1214 411 L 1210 411" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 401 270 L 434.63 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 439.88 270 L 432.88 273.5 L 434.63 270 L 432.88 266.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="351" cy="270" rx="50" ry="30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="350.5" y="267.5">Command line</text><text x="350.5" y="281.5">input</text></g><path d="M 541 270 L 657.63 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 662.88 270 L 655.88 273.5 L 657.63 270 L 655.88 266.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 536.45 220 C 538.31 220.02 539.79 220.64 540.4 221.65 C 541.01 222.66 540.7 223.95 539.54 225.1 L 442.46 314.9 C 441.3 316.05 440.99 317.34 441.6 318.35 C 442.21 319.36 443.69 319.98 445.55 320 L 536.45 320 C 538.31 319.98 539.79 319.36 540.4 318.35 C 541.01 317.34 540.7 316.05 539.54 314.9 L 442.46 225.1 C 441.3 223.95 440.99 222.66 441.6 221.65 C 442.21 220.64 443.69 220.02 445.55 220 L 536.45 220 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 531 30 C 533.76 30 536 32.24 536 35 L 536 73.75 Q 513.5 62.5 491 73.75 Q 468.5 85 446 73.75 L 446 36.25 L 446 35 C 446 32.24 448.24 30 451 30 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="#333333" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="490.5" y="47.5">Platform config</text></g><path d="M 491.09 160.2 L 491.01 213.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 491 218.88 L 487.51 211.88 L 491.01 213.63 L 494.51 211.89 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 967 414 C 969.76 414 972 416.24 972 419 L 972 457.75 Q 949.5 446.5 927 457.75 Q 904.5 469 882 457.75 L 882 420.25 L 882 419 C 882 416.24 884.24 414 887 414 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="926.5" y="431.5">config_base.h</text></g><path d="M 927 385 L 1007.5 304.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1011.21 300.79 L 1008.73 308.22 L 1007.5 304.5 L 1003.78 303.27 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 967 494 C 969.76 494 972 496.24 972 499 L 972 546.5 Q 949.5 533 927 546.5 Q 904.5 560 882 546.5 L 882 501.5 L 882 499 C 882 496.24 884.24 494 887 494 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="926.5" y="511.5">Target config</text><text x="926.5" y="525.5">header file</text></g><path d="M 693 187.33 L 693 160.67 C 693 156.98 709.12 154 729 154 C 748.88 154 765 156.98 765 160.67 L 765 187.33 C 765 191.02 748.88 194 729 194 C 709.12 194 693 191.02 693 187.33 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 693 160.67 C 693 164.35 709.12 167.33 729 167.33 C 748.88 167.33 765 164.35 765 160.67" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 729 240 L 729 200.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 729 195.12 L 732.5 202.12 L 729 200.37 L 725.5 202.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 729 333 L 729 306.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 729 301.12 L 732.5 308.12 L 729 306.37 L 725.5 308.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 794 270 L 940.63 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 945.88 270 L 938.88 273.5 L 940.63 270 L 938.88 266.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="664" y="240" width="130" height="60" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="728.5" y="274.5">CMake configuration</text></g><rect x="664" y="333" width="130" height="40" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="728.5" y="357.5">Invalid config check</text></g><rect x="1119" y="89" width="156" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 154px; height: 1px; padding-top: 96px; margin-left: 1121px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Header file config system</span></div></div></div></foreignObject><text x="1121" y="108" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Header file config system</text></switch></g><rect x="947" y="240" width="130" height="60" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="1011.5" y="274.5">CMake Building</text></g><path d="M 927 494 L 927 464.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 927 459.12 L 930.5 466.12 L 927 464.37 L 923.5 466.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="1063" y="381" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px"><text x="1142.5" y="398.5">Component A</text></g><path d="M 1200 388 L 1216 388 L 1216 408 L 1200 408 L 1200 404 L 1196 404 L 1196 400 L 1200 400 L 1200 396 L 1196 396 L 1196 392 L 1200 392 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1200 392 L 1204 392 L 1204 396 L 1200 396 M 1200 400 L 1204 400 L 1204 404 L 1200 404" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1200 419 C 1202.76 419 1205 421.24 1205 424 L 1205 471.5 Q 1175.25 458 1145.5 471.5 Q 1115.75 485 1086 471.5 L 1086 426.5 L 1086 424 C 1086 421.24 1088.24 419 1091 419 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="1145" y="436.5">config_&lt;A&gt;_check.h</text></g><path d="M 1143 381 L 1017.42 303.35" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1012.95 300.59 L 1020.75 301.29 L 1017.42 303.35 L 1017.06 307.25 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1007.32 448.96 L 1079.63 449" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1084.88 449 L 1077.88 452.5 L 1079.63 449 L 1077.88 445.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1229.5 300 L 1197 300 Q 1191 300 1193.15 294.4 L 1211.85 245.6 Q 1214 240 1220 240 L 1285 240 Q 1291 240 1288.85 245.6 L 1270.15 294.4 Q 1268 300 1262 300 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="1240.5" y="267.5">TF-M</text><text x="1240.5" y="281.5">Binaries</text></g><path d="M 1077 270 L 1196.13 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1201.38 270 L 1194.38 273.5 L 1196.13 270 L 1194.38 266.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="371" y="116" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="372.5" y="133.5">Override</text></g><path d="M 531 116 C 533.76 116 536 118.24 536 121 L 536 159.75 Q 513.5 148.5 491 159.75 Q 468.5 171 446 159.75 L 446 122.25 L 446 121 C 446 118.24 448.24 116 451 116 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="#333333" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="490.5" y="133.5">Base config</text></g><path d="M 490.82 75.2 L 490.97 109.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 491 114.88 L 487.46 107.9 L 490.97 109.63 L 494.46 107.87 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="781" y="410" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="810.5" y="427.5">Override</text></g><rect x="931" y="465" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="960.5" y="482.5">Override</text></g><path d="M 1104 133.5 C 1106.76 133.5 1109 135.74 1109 138.5 L 1109 160.63 Q 1101 153.65 1093 160.63 Q 1085 167.6 1077 160.63 L 1077 137.38 L 1077 138.5 C 1077 135.74 1079.24 133.5 1082 133.5 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="674" y="127" width="110" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 134px; margin-left: 675px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">CMakeCache</span></div></div></div></foreignObject><text x="729" y="146" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">CMakeCache</text></switch></g><rect x="1119" y="136" width="156" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 154px; height: 1px; padding-top: 143px; margin-left: 1121px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Legacy CMake based config</span></div></div></div></foreignObject><text x="1121" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Legacy CMake based config</text></switch></g><rect x="1038" y="4" width="110" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 11px; margin-left: 1039px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Legend</span></div></div></div></foreignObject><text x="1093" y="23" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Legend</text></switch></g><rect x="491" y="81" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="492.5" y="98.5">Override</text></g><rect x="1" y="240" width="120" height="60" rx="7" ry="7" fill="#d5e8d4" stroke="#82b366" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="60.5" y="274.5">TF-M Kconfig tool</text></g><path d="M 296 116 C 298.76 116 301 118.24 301 121 L 301 159.75 Q 278.5 148.5 256 159.75 Q 233.5 171 211 159.75 L 211 122.25 L 211 121 C 211 118.24 213.24 116 216 116 Z" fill="#d5e8d4" stroke="#82b366" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="255.5" y="133.5">CMake config</text></g><path d="M 301 141 L 439.63 141" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 444.88 141 L 437.88 144.5 L 439.63 141 L 437.88 137.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 121 270 L 166 270 L 166 141 L 204.63 141" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 209.88 141 L 202.88 144.5 L 204.63 141 L 202.88 137.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 296 406 C 298.76 406 301 408.24 301 411 L 301 466.6 Q 278.5 456.87 256 466.6 Q 233.5 476.32 211 466.6 L 211 411.4 L 211 411 C 211 408.24 213.24 406 216 406 Z" fill="#d5e8d4" stroke="#82b366" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="255.5" y="423.5">Project config</text><text x="255.5" y="437.5">header file </text></g><path d="M 301 439 L 875.63 439" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 880.88 439 L 873.88 442.5 L 875.63 439 L 873.88 435.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 121 270 L 166 270 L 166 439 L 204.63 439" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 209.88 439 L 202.88 442.5 L 204.63 439 L 202.88 435.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><rect x="186" y="86" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 93px; margin-left: 187px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Essential build options</span></div></div></div></foreignObject><text x="256" y="105" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Essential build options</text></switch></g><rect x="201" y="378" width="110" height="32" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 385px; margin-left: 202px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Advanced options</span></div></div></div></foreignObject><text x="256" y="397" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Advanced options</text></switch></g><path d="M 61 331 L 61 306.37" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 61 301.12 L 64.5 308.12 L 61 306.37 L 57.5 308.12 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 38 331 L 84 331 L 111 353 L 84 375 L 38 375 L 11 353 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 382px; margin-left: 61px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Dependencies</div></div></div></foreignObject><text x="61" y="394" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Dependencies</text></switch></g><path d="M 111 353 L 657.63 353" fill="none" stroke="#82b366" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 662.88 353 L 655.88 356.5 L 657.63 353 L 655.88 349.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><rect x="381" y="351" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 358px; margin-left: 382px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Replace part of checks</span></div></div></div></foreignObject><text x="451" y="370" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Replace part of checks</text></switch></g><path d="M 1104 86.5 C 1106.76 86.5 1109 88.74 1109 91.5 L 1109 113.63 Q 1101 106.65 1093 113.63 Q 1085 120.6 1077 113.63 L 1077 90.38 L 1077 91.5 C 1077 88.74 1079.24 86.5 1082 86.5 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 1104 39.5 C 1106.76 39.5 1109 41.74 1109 44.5 L 1109 66.63 Q 1101 59.65 1093 66.63 Q 1085 73.6 1077 66.63 L 1077 43.38 L 1077 44.5 C 1077 41.74 1079.24 39.5 1082 39.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="1121" y="42" width="156" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 154px; height: 1px; padding-top: 49px; margin-left: 1123px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Kconfig config system</span></div></div></div></foreignObject><text x="1123" y="61" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Kconfig config system</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
diff --git a/docs/configuration/kconfig_system.rst b/docs/configuration/kconfig_system.rst
index a4b2caf..015d258 100644
--- a/docs/configuration/kconfig_system.rst
+++ b/docs/configuration/kconfig_system.rst
@@ -6,7 +6,7 @@
 The Kconfig system is an alternative tool to the CMake config system for users to change config
 options of TF-M.
 
-.. figure:: kconfig_header_file_system.png
+.. figure:: kconfig_header_file_system.svg
 
 It handles dependencies and validations automatically when you change configurations so that the
 generated configuration options are always valid.