<p>Julien Viard de Galbert has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/23738">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mb/scaleway/tagada: Remove memory down option<br><br>The board does not have memory down, only 2 DDR4 Slots.<br><br>Change-Id: I70eda83fbce7a707da170c7e555ed1a6dc6b1f4a<br>Signed-off-by: Julien Viard de Galbert <jviarddegalbert@online.net><br>---<br>M src/mainboard/scaleway/tagada/Kconfig<br>M src/mainboard/scaleway/tagada/Makefile.inc<br>M src/mainboard/scaleway/tagada/romstage.c<br>D src/mainboard/scaleway/tagada/spd/Makefile.inc<br>D src/mainboard/scaleway/tagada/spd/micron_4GiB_dimm_MTA9ASF51272PZ-2G1A2.spd.hex<br>D src/mainboard/scaleway/tagada/spd/spd.c<br>D src/mainboard/scaleway/tagada/spd/spd.h<br>7 files changed, 5 insertions(+), 740 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/38/23738/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/scaleway/tagada/Kconfig b/src/mainboard/scaleway/tagada/Kconfig</span><br><span>index 4c9aafd..53c1f6d 100644</span><br><span>--- a/src/mainboard/scaleway/tagada/Kconfig</span><br><span>+++ b/src/mainboard/scaleway/tagada/Kconfig</span><br><span>@@ -33,17 +33,4 @@</span><br><span>     string</span><br><span>       default "Scaleway"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-config ENABLE_FSP_MEMORY_DOWN</span><br><span style="color: hsl(0, 100%, 40%);">-   bool "Enable Memory Down"</span><br><span style="color: hsl(0, 100%, 40%);">-     default n</span><br><span style="color: hsl(0, 100%, 40%);">-       help</span><br><span style="color: hsl(0, 100%, 40%);">-      Select this option to enable Memory Down function.</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-config SPD_LOC</span><br><span style="color: hsl(0, 100%, 40%);">-      depends on ENABLE_FSP_MEMORY_DOWN</span><br><span style="color: hsl(0, 100%, 40%);">-       hex "SPD binary location in cbfs"</span><br><span style="color: hsl(0, 100%, 40%);">-     default 0xfffdf000</span><br><span style="color: hsl(0, 100%, 40%);">-      help</span><br><span style="color: hsl(0, 100%, 40%);">-      Location of SPD binary for memory down function.</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> endif # BOARD_SCALEWAY_TAGADA</span><br><span>diff --git a/src/mainboard/scaleway/tagada/Makefile.inc b/src/mainboard/scaleway/tagada/Makefile.inc</span><br><span>index d100688..7421f38 100644</span><br><span>--- a/src/mainboard/scaleway/tagada/Makefile.inc</span><br><span>+++ b/src/mainboard/scaleway/tagada/Makefile.inc</span><br><span>@@ -14,8 +14,6 @@</span><br><span> ## GNU General Public License for more details.</span><br><span> ##</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-subdirs-$(CONFIG_ENABLE_FSP_MEMORY_DOWN) += spd</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> romstage-y += boardid.c</span><br><span> romstage-y += hsio.c</span><br><span> </span><br><span>diff --git a/src/mainboard/scaleway/tagada/romstage.c b/src/mainboard/scaleway/tagada/romstage.c</span><br><span>index f0c7cb9..144d1e8 100644</span><br><span>--- a/src/mainboard/scaleway/tagada/romstage.c</span><br><span>+++ b/src/mainboard/scaleway/tagada/romstage.c</span><br><span>@@ -16,70 +16,11 @@</span><br><span> </span><br><span> #include "harcuvar_boardid.h"</span><br><span> #include "gpio.h"</span><br><span style="color: hsl(0, 100%, 40%);">-#include "spd/spd.h"</span><br><span> #include <console/console.h></span><br><span> #include <fsp/api.h></span><br><span> #include <fsp/soc_binding.h></span><br><span> #include <string.h></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#if IS_ENABLED(CONFIG_ENABLE_FSP_MEMORY_DOWN)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*</span><br><span style="color: hsl(0, 100%, 40%);">- * Define platform specific Memory Down Configure structure.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * If CONFIG_ENABLE_FSP_MEMORY_DOWN is enabled, the MEMORY_DOWN_CONFIG</span><br><span style="color: hsl(0, 100%, 40%);">- * structure should be customized to match the design.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * .SlotState indicates the memory down state of the specific channel/DIMM.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * SlotState options:</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *     STATE_MEMORY_DOWN: Memory down.</span><br><span style="color: hsl(0, 100%, 40%);">- *     STATE_MEMORY_SLOT: Physical memory slot.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * .SpdDataLen should always be MAX_SPD_BYTES/512.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * .SpdDataPtr is pointing to the SPD data structure when memory modules</span><br><span style="color: hsl(0, 100%, 40%);">- *             are memory down.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * SpdDataPtr options:</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *     Non-NULL: Pointing to SPD data structure.</span><br><span style="color: hsl(0, 100%, 40%);">- *     NULL: Physical memory slot, no SPD data used.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * DIMM Mapping of SlotState & SpdDataPtr:</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *     {{CH0DIMM0, CH0DIMM1}, {CH1DIMM0, CH1DIMM1}}</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Sample: Channel 0 is memory down and channel 1 is physical slot.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *  const MEMORY_DOWN_CONFIG mMemoryDownConfig = {</span><br><span style="color: hsl(0, 100%, 40%);">- *                .SlotState = {</span><br><span style="color: hsl(0, 100%, 40%);">- *                        {STATE_MEMORY_DOWN, STATE_MEMORY_DOWN},</span><br><span style="color: hsl(0, 100%, 40%);">- *                       {STATE_MEMORY_SLOT, STATE_MEMORY_SLOT}</span><br><span style="color: hsl(0, 100%, 40%);">- *                },</span><br><span style="color: hsl(0, 100%, 40%);">- *            .SpdDataLen = MAX_SPD_BYTES,</span><br><span style="color: hsl(0, 100%, 40%);">- *          .SpdDataPtr = {</span><br><span style="color: hsl(0, 100%, 40%);">- *                       {(void *)CONFIG_SPD_LOC, (void *)CONFIG_SPD_LOC},</span><br><span style="color: hsl(0, 100%, 40%);">- *                     {(void *)NULL, (void *)NULL}</span><br><span style="color: hsl(0, 100%, 40%);">- *          }</span><br><span style="color: hsl(0, 100%, 40%);">- *     }</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-const MEMORY_DOWN_CONFIG mMemoryDownConfig = {</span><br><span style="color: hsl(0, 100%, 40%);">-      .SlotState = {</span><br><span style="color: hsl(0, 100%, 40%);">-          {STATE_MEMORY_SLOT, STATE_MEMORY_SLOT},</span><br><span style="color: hsl(0, 100%, 40%);">-         {STATE_MEMORY_SLOT, STATE_MEMORY_SLOT}</span><br><span style="color: hsl(0, 100%, 40%);">-  },</span><br><span style="color: hsl(0, 100%, 40%);">-      .SpdDataLen = MAX_SPD_BYTES,</span><br><span style="color: hsl(0, 100%, 40%);">-    .SpdDataPtr = {</span><br><span style="color: hsl(0, 100%, 40%);">-         {(void *)NULL, (void *)NULL},</span><br><span style="color: hsl(0, 100%, 40%);">-           {(void *)NULL, (void *)NULL}</span><br><span style="color: hsl(0, 100%, 40%);">-    }</span><br><span style="color: hsl(0, 100%, 40%);">-};</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#endif /* CONFIG_ENABLE_FSP_MEMORY_DOWN */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> void mainboard_config_gpios(void);</span><br><span> void mainboard_memory_init_params(FSPM_UPD *mupd);</span><br><span> </span><br><span>@@ -118,27 +59,10 @@</span><br><span> </span><br><span> void mainboard_memory_init_params(FSPM_UPD *mupd)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-#if IS_ENABLED(CONFIG_ENABLE_FSP_MEMORY_DOWN)</span><br><span style="color: hsl(0, 100%, 40%);">- uint8_t *spd_data_ptr = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+ mupd->FspmConfig.PcdFspDebugPrintErrorLevel = 3; // Verbose</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      /* Get SPD data pointer */</span><br><span style="color: hsl(0, 100%, 40%);">-      spd_data_ptr = mainboard_find_spd_data();</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       if (spd_data_ptr != NULL) {</span><br><span style="color: hsl(0, 100%, 40%);">-             printk(BIOS_DEBUG, "Memory Down function is enabled!\n");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-             /* Enable Memory Down function, set Memory</span><br><span style="color: hsl(0, 100%, 40%);">-               * Down Configure structure pointer.</span><br><span style="color: hsl(0, 100%, 40%);">-             */</span><br><span style="color: hsl(0, 100%, 40%);">-             mupd->FspmConfig.PcdMemoryDown = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-          mupd->FspmConfig.PcdMemoryDownConfigPtr =</span><br><span style="color: hsl(0, 100%, 40%);">-                    (uint32_t)&mMemoryDownConfig;</span><br><span style="color: hsl(0, 100%, 40%);">-       } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                printk(BIOS_DEBUG, "Memory Down function is disabled!\n");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-            /* Disable Memory Down function */</span><br><span style="color: hsl(0, 100%, 40%);">-              mupd->FspmConfig.PcdMemoryDown = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-          mupd->FspmConfig.PcdMemoryDownConfigPtr = 0;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">-#endif /* CONFIG_ENABLE_FSP_MEMORY_DOWN */</span><br><span style="color: hsl(120, 100%, 40%);">+   // Enable Rmt and Fast Boot by default, RMT will be run only on first</span><br><span style="color: hsl(120, 100%, 40%);">+ // boot or when dimms change</span><br><span style="color: hsl(120, 100%, 40%);">+  mupd->FspmConfig.PcdMrcRmtSupport = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+     mupd->FspmConfig.PcdFastBoot = 1;</span><br><span> }</span><br><span>diff --git a/src/mainboard/scaleway/tagada/spd/Makefile.inc b/src/mainboard/scaleway/tagada/spd/Makefile.inc</span><br><span>deleted file mode 100644</span><br><span>index 38d5046..0000000</span><br><span>--- a/src/mainboard/scaleway/tagada/spd/Makefile.inc</span><br><span>+++ /dev/null</span><br><span>@@ -1,38 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-##</span><br><span style="color: hsl(0, 100%, 40%);">-## This file is part of the coreboot project.</span><br><span style="color: hsl(0, 100%, 40%);">-##</span><br><span style="color: hsl(0, 100%, 40%);">-## Copyright (C) 2013 Google Inc.</span><br><span style="color: hsl(0, 100%, 40%);">-## Copyright (C) 2015 - 2017 Intel Corporation.</span><br><span style="color: hsl(0, 100%, 40%);">-##</span><br><span style="color: hsl(0, 100%, 40%);">-## This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(0, 100%, 40%);">-## it under the terms of the GNU General Public License as published by</span><br><span style="color: hsl(0, 100%, 40%);">-## the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(0, 100%, 40%);">-##</span><br><span style="color: hsl(0, 100%, 40%);">-## This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(0, 100%, 40%);">-## but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(0, 100%, 40%);">-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(0, 100%, 40%);">-## GNU General Public License for more details.</span><br><span style="color: hsl(0, 100%, 40%);">-##</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-romstage-y += spd.c</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-SPD_BIN = $(obj)/spd.bin</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-# Order matters for SPD sources. The following indices</span><br><span style="color: hsl(0, 100%, 40%);">-# define the SPD data to use.</span><br><span style="color: hsl(0, 100%, 40%);">-SPD_SOURCES = micron_4GiB_dimm_MTA9ASF51272PZ-2G1A2</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-SPD_DEPS := $(foreach f, $(SPD_SOURCES), src/mainboard/$(MAINBOARDDIR)/spd/$(f).spd.hex)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-# Include spd rom data</span><br><span style="color: hsl(0, 100%, 40%);">-$(SPD_BIN): $(SPD_DEPS)</span><br><span style="color: hsl(0, 100%, 40%);">-   for f in $+; \</span><br><span style="color: hsl(0, 100%, 40%);">-    do for c in $$(cat $$f | grep -v ^#); \</span><br><span style="color: hsl(0, 100%, 40%);">-           do echo -e -n "\\x$$c"; \</span><br><span style="color: hsl(0, 100%, 40%);">-   done; \</span><br><span style="color: hsl(0, 100%, 40%);">-       done > $@</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-cbfs-files-y += spd.bin</span><br><span style="color: hsl(0, 100%, 40%);">-spd.bin-file := $(SPD_BIN)</span><br><span style="color: hsl(0, 100%, 40%);">-spd.bin-position := $(CONFIG_SPD_LOC)</span><br><span style="color: hsl(0, 100%, 40%);">-spd.bin-type := spd</span><br><span>diff --git a/src/mainboard/scaleway/tagada/spd/micron_4GiB_dimm_MTA9ASF51272PZ-2G1A2.spd.hex b/src/mainboard/scaleway/tagada/spd/micron_4GiB_dimm_MTA9ASF51272PZ-2G1A2.spd.hex</span><br><span>deleted file mode 100644</span><br><span>index 4abad8d..0000000</span><br><span>--- a/src/mainboard/scaleway/tagada/spd/micron_4GiB_dimm_MTA9ASF51272PZ-2G1A2.spd.hex</span><br><span>+++ /dev/null</span><br><span>@@ -1,513 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#DDR4_4GB_RDIMM_Micron_MTA9ASF51272PZ-2G1A2.txt</span><br><span style="color: hsl(0, 100%, 40%);">-23</span><br><span style="color: hsl(0, 100%, 40%);">-10</span><br><span style="color: hsl(0, 100%, 40%);">-0C</span><br><span style="color: hsl(0, 100%, 40%);">-01</span><br><span style="color: hsl(0, 100%, 40%);">-84</span><br><span style="color: hsl(0, 100%, 40%);">-19</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-05</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-03</span><br><span style="color: hsl(0, 100%, 40%);">-01</span><br><span style="color: hsl(0, 100%, 40%);">-0B</span><br><span style="color: hsl(0, 100%, 40%);">-80</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-08</span><br><span style="color: hsl(0, 100%, 40%);">-0C</span><br><span style="color: hsl(0, 100%, 40%);">-F4</span><br><span style="color: hsl(0, 100%, 40%);">-1B</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-6C</span><br><span style="color: hsl(0, 100%, 40%);">-6C</span><br><span style="color: hsl(0, 100%, 40%);">-6C</span><br><span style="color: hsl(0, 100%, 40%);">-11</span><br><span style="color: hsl(0, 100%, 40%);">-08</span><br><span style="color: hsl(0, 100%, 40%);">-74</span><br><span style="color: hsl(0, 100%, 40%);">-20</span><br><span style="color: hsl(0, 100%, 40%);">-08</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-05</span><br><span style="color: hsl(0, 100%, 40%);">-70</span><br><span style="color: hsl(0, 100%, 40%);">-03</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-A8</span><br><span style="color: hsl(0, 100%, 40%);">-1E</span><br><span style="color: hsl(0, 100%, 40%);">-2B</span><br><span style="color: hsl(0, 100%, 40%);">-2B</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-0E</span><br><span style="color: hsl(0, 100%, 40%);">-2E</span><br><span style="color: hsl(0, 100%, 40%);">-16</span><br><span style="color: hsl(0, 100%, 40%);">-36</span><br><span style="color: hsl(0, 100%, 40%);">-16</span><br><span style="color: hsl(0, 100%, 40%);">-36</span><br><span style="color: hsl(0, 100%, 40%);">-16</span><br><span style="color: hsl(0, 100%, 40%);">-36</span><br><span style="color: hsl(0, 100%, 40%);">-0E</span><br><span style="color: hsl(0, 100%, 40%);">-2E</span><br><span style="color: hsl(0, 100%, 40%);">-23</span><br><span style="color: hsl(0, 100%, 40%);">-04</span><br><span style="color: hsl(0, 100%, 40%);">-2B</span><br><span style="color: hsl(0, 100%, 40%);">-0C</span><br><span style="color: hsl(0, 100%, 40%);">-2B</span><br><span style="color: hsl(0, 100%, 40%);">-0C</span><br><span style="color: hsl(0, 100%, 40%);">-23</span><br><span style="color: hsl(0, 100%, 40%);">-04</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-EC</span><br><span style="color: hsl(0, 100%, 40%);">-B5</span><br><span style="color: hsl(0, 100%, 40%);">-CE</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-C2</span><br><span style="color: hsl(0, 100%, 40%);">-64</span><br><span style="color: hsl(0, 100%, 40%);">-2B</span><br><span style="color: hsl(0, 100%, 40%);">-11</span><br><span style="color: hsl(0, 100%, 40%);">-11</span><br><span style="color: hsl(0, 100%, 40%);">-03</span><br><span style="color: hsl(0, 100%, 40%);">-05</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-86</span><br><span style="color: hsl(0, 100%, 40%);">-32</span><br><span style="color: hsl(0, 100%, 40%);">-B1</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-EF</span><br><span style="color: hsl(0, 100%, 40%);">-9E</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-80</span><br><span style="color: hsl(0, 100%, 40%);">-2C</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-39</span><br><span style="color: hsl(0, 100%, 40%);">-41</span><br><span style="color: hsl(0, 100%, 40%);">-53</span><br><span style="color: hsl(0, 100%, 40%);">-46</span><br><span style="color: hsl(0, 100%, 40%);">-35</span><br><span style="color: hsl(0, 100%, 40%);">-31</span><br><span style="color: hsl(0, 100%, 40%);">-32</span><br><span style="color: hsl(0, 100%, 40%);">-37</span><br><span style="color: hsl(0, 100%, 40%);">-32</span><br><span style="color: hsl(0, 100%, 40%);">-50</span><br><span style="color: hsl(0, 100%, 40%);">-5a</span><br><span style="color: hsl(0, 100%, 40%);">-2d</span><br><span style="color: hsl(0, 100%, 40%);">-32</span><br><span style="color: hsl(0, 100%, 40%);">-47</span><br><span style="color: hsl(0, 100%, 40%);">-31</span><br><span style="color: hsl(0, 100%, 40%);">-41</span><br><span style="color: hsl(0, 100%, 40%);">-32</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-32</span><br><span style="color: hsl(0, 100%, 40%);">-80</span><br><span style="color: hsl(0, 100%, 40%);">-2C</span><br><span style="color: hsl(0, 100%, 40%);">-41</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span style="color: hsl(0, 100%, 40%);">-00</span><br><span>diff --git a/src/mainboard/scaleway/tagada/spd/spd.c b/src/mainboard/scaleway/tagada/spd/spd.c</span><br><span>deleted file mode 100644</span><br><span>index 37f4424..0000000</span><br><span>--- a/src/mainboard/scaleway/tagada/spd/spd.c</span><br><span>+++ /dev/null</span><br><span>@@ -1,58 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-/*</span><br><span style="color: hsl(0, 100%, 40%);">- * This file is part of the coreboot project.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Copyright (C) 2014 Google Inc.</span><br><span style="color: hsl(0, 100%, 40%);">- * Copyright (C) 2015 - 2017 Intel Corporation.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(0, 100%, 40%);">- * it under the terms of the GNU General Public License as published by</span><br><span style="color: hsl(0, 100%, 40%);">- * the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(0, 100%, 40%);">- * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(0, 100%, 40%);">- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(0, 100%, 40%);">- * GNU General Public License for more details.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#include <arch/byteorder.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <cbfs.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <console/console.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <string.h></span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#include "spd.h"</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/* Get SPD data for on-board memory */</span><br><span style="color: hsl(0, 100%, 40%);">-uint8_t *mainboard_find_spd_data()</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">- uint8_t *spd_data;</span><br><span style="color: hsl(0, 100%, 40%);">-      int spd_index;</span><br><span style="color: hsl(0, 100%, 40%);">-  size_t spd_file_len;</span><br><span style="color: hsl(0, 100%, 40%);">-    char *spd_file;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- spd_index = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  spd_file = cbfs_boot_map_with_leak("spd.bin", CBFS_TYPE_SPD,</span><br><span style="color: hsl(0, 100%, 40%);">-                                     &spd_file_len);</span><br><span style="color: hsl(0, 100%, 40%);">-  if (!spd_file)</span><br><span style="color: hsl(0, 100%, 40%);">-          die("SPD data not found.");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-   if (spd_file_len < ((spd_index + 1) * SPD_LEN)) {</span><br><span style="color: hsl(0, 100%, 40%);">-            printk(BIOS_ERR,</span><br><span style="color: hsl(0, 100%, 40%);">-                       "SPD index override to 0 due to incorrect SPD index.\n");</span><br><span style="color: hsl(0, 100%, 40%);">-              spd_index = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       if (spd_file_len < SPD_LEN)</span><br><span style="color: hsl(0, 100%, 40%);">-          die("Missing SPD data.");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-     /* Assume same memory in both channels */</span><br><span style="color: hsl(0, 100%, 40%);">-       spd_index *= SPD_LEN;</span><br><span style="color: hsl(0, 100%, 40%);">-   spd_data = (uint8_t *)(spd_file + spd_index);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-   /* Make sure a valid SPD was found */</span><br><span style="color: hsl(0, 100%, 40%);">-   if (spd_data[0] == 0)</span><br><span style="color: hsl(0, 100%, 40%);">-           die("Invalid SPD data.");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-     return spd_data;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span>diff --git a/src/mainboard/scaleway/tagada/spd/spd.h b/src/mainboard/scaleway/tagada/spd/spd.h</span><br><span>deleted file mode 100644</span><br><span>index 13692d7..0000000</span><br><span>--- a/src/mainboard/scaleway/tagada/spd/spd.h</span><br><span>+++ /dev/null</span><br><span>@@ -1,35 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-/*</span><br><span style="color: hsl(0, 100%, 40%);">- * This file is part of the coreboot project.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Copyright (C) 2014 Google Inc.</span><br><span style="color: hsl(0, 100%, 40%);">- * Copyright (C) 2015 - 2017 Intel Corporation.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(0, 100%, 40%);">- * it under the terms of the GNU General Public License as published by</span><br><span style="color: hsl(0, 100%, 40%);">- * the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(0, 100%, 40%);">- * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(0, 100%, 40%);">- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(0, 100%, 40%);">- * GNU General Public License for more details.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#ifndef MAINBOARD_SPD_H</span><br><span style="color: hsl(0, 100%, 40%);">-#define MAINBOARD_SPD_H</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_LEN 512</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_DRAM_TYPE 2</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_DRAM_DDR3 0x0b</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_DRAM_LPDDR3 0xf1</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_DENSITY_BANKS 4</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_ADDRESSING 5</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_ORGANIZATION 7</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_BUS_DEV_WIDTH 8</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_PART_OFF 128</span><br><span style="color: hsl(0, 100%, 40%);">-#define SPD_PART_LEN 18</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-uint8_t *mainboard_find_spd_data(void);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/23738">change 23738</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/23738"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I70eda83fbce7a707da170c7e555ed1a6dc6b1f4a </div>
<div style="display:none"> Gerrit-Change-Number: 23738 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Julien Viard de Galbert <jviarddegalbert@online.net> </div>