<p>Richard Spiegel has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/27845">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">soc/amd/stoneyridge: Disable SATA if not in devicetree<br><br>Grunt boards don't use SATA, so it should be disabled to save power.<br>Create a way to check if SATA is present in devicetree, and if not then<br>disable SATA. Use it to disable grunt SATA.<br><br>BUG=b:112139043<br>TEST=Buil and boot grunt, checked the absence of SATA PCI.<br><br>Change-Id: I4a3b5f65e612e8da5bedff0c557a0850f350dfa8<br>Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com><br>---<br>M src/mainboard/google/kahlee/variants/grunt/devicetree.cb<br>M src/soc/amd/stoneyridge/BiosCallOuts.c<br>M src/soc/amd/stoneyridge/southbridge.c<br>3 files changed, 35 insertions(+), 18 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/45/27845/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/google/kahlee/variants/grunt/devicetree.cb b/src/mainboard/google/kahlee/variants/grunt/devicetree.cb</span><br><span>index a5229b4..286f8a5 100644</span><br><span>--- a/src/mainboard/google/kahlee/variants/grunt/devicetree.cb</span><br><span>+++ b/src/mainboard/google/kahlee/variants/grunt/devicetree.cb</span><br><span>@@ -73,7 +73,6 @@</span><br><span>           device pci 9.0 on  end # PCIe Host Bridge</span><br><span>            device pci 9.2 on  end # HDA</span><br><span>                 device pci 10.0 on  end # xHCI</span><br><span style="color: hsl(0, 100%, 40%);">-          device pci 11.0 on  end # SATA</span><br><span>               device pci 12.0 on  end # EHCI</span><br><span>               device pci 14.0 on      # SMbus</span><br><span>              end # SMbus</span><br><span>diff --git a/src/soc/amd/stoneyridge/BiosCallOuts.c b/src/soc/amd/stoneyridge/BiosCallOuts.c</span><br><span>index 430dc45..9b204f0 100644</span><br><span>--- a/src/soc/amd/stoneyridge/BiosCallOuts.c</span><br><span>+++ b/src/soc/amd/stoneyridge/BiosCallOuts.c</span><br><span>@@ -53,6 +53,7 @@</span><br><span> AGESA_STATUS agesa_fch_initenv(UINT32 Func, UINTN FchData, VOID *ConfigPtr)</span><br><span> {</span><br><span>     AMD_CONFIG_PARAMS *StdHeader = ConfigPtr;</span><br><span style="color: hsl(120, 100%, 40%);">+     const struct device *dev = dev_find_slot(0, SATA_DEVFN);</span><br><span> </span><br><span>         if (StdHeader->Func == AMD_INIT_ENV) {</span><br><span>            FCH_DATA_BLOCK *FchParams_env = (FCH_DATA_BLOCK *)FchData;</span><br><span>@@ -67,19 +68,22 @@</span><br><span> </span><br><span>                 /* SATA configuration */</span><br><span>             FchParams_env->Sata.SataClass = CONFIG_STONEYRIDGE_SATA_MODE;</span><br><span style="color: hsl(0, 100%, 40%);">-                switch ((SATA_CLASS)CONFIG_STONEYRIDGE_SATA_MODE) {</span><br><span style="color: hsl(0, 100%, 40%);">-             case SataRaid:</span><br><span style="color: hsl(0, 100%, 40%);">-          case SataAhci:</span><br><span style="color: hsl(0, 100%, 40%);">-          case SataAhci7804:</span><br><span style="color: hsl(0, 100%, 40%);">-              case SataLegacyIde:</span><br><span style="color: hsl(120, 100%, 40%);">+           if (dev) {</span><br><span style="color: hsl(120, 100%, 40%);">+                    switch ((SATA_CLASS)CONFIG_STONEYRIDGE_SATA_MODE) {</span><br><span style="color: hsl(120, 100%, 40%);">+                   case SataRaid:</span><br><span style="color: hsl(120, 100%, 40%);">+                        case SataAhci:</span><br><span style="color: hsl(120, 100%, 40%);">+                        case SataAhci7804:</span><br><span style="color: hsl(120, 100%, 40%);">+                    case SataLegacyIde:</span><br><span style="color: hsl(120, 100%, 40%);">+                           FchParams_env->Sata.SataIdeMode = FALSE;</span><br><span style="color: hsl(120, 100%, 40%);">+                           break;</span><br><span style="color: hsl(120, 100%, 40%);">+                        case SataIde2Ahci:</span><br><span style="color: hsl(120, 100%, 40%);">+                    case SataIde2Ahci7804:</span><br><span style="color: hsl(120, 100%, 40%);">+                        default: /* SataNativeIde */</span><br><span style="color: hsl(120, 100%, 40%);">+                          FchParams_env->Sata.SataIdeMode = TRUE;</span><br><span style="color: hsl(120, 100%, 40%);">+                            break;</span><br><span style="color: hsl(120, 100%, 40%);">+                        }</span><br><span style="color: hsl(120, 100%, 40%);">+             } else</span><br><span>                       FchParams_env->Sata.SataIdeMode = FALSE;</span><br><span style="color: hsl(0, 100%, 40%);">-                     break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case SataIde2Ahci:</span><br><span style="color: hsl(0, 100%, 40%);">-              case SataIde2Ahci7804:</span><br><span style="color: hsl(0, 100%, 40%);">-          default: /* SataNativeIde */</span><br><span style="color: hsl(0, 100%, 40%);">-                    FchParams_env->Sata.SataIdeMode = TRUE;</span><br><span style="color: hsl(0, 100%, 40%);">-                      break;</span><br><span style="color: hsl(0, 100%, 40%);">-          }</span><br><span> </span><br><span>                /* Platform updates */</span><br><span>               platform_FchParams_env(FchParams_env);</span><br><span>diff --git a/src/soc/amd/stoneyridge/southbridge.c b/src/soc/amd/stoneyridge/southbridge.c</span><br><span>index 63d8806..585321a 100644</span><br><span>--- a/src/soc/amd/stoneyridge/southbridge.c</span><br><span>+++ b/src/soc/amd/stoneyridge/southbridge.c</span><br><span>@@ -72,18 +72,32 @@</span><br><span> </span><br><span> void SetFchResetParams(FCH_RESET_INTERFACE *params)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+ const struct device *dev = dev_find_slot(0, SATA_DEVFN);</span><br><span>     params->Xhci0Enable = IS_ENABLED(CONFIG_STONEYRIDGE_XHCI_ENABLE);</span><br><span style="color: hsl(0, 100%, 40%);">-    params->SataEnable = sb_sata_enable();</span><br><span style="color: hsl(0, 100%, 40%);">-       params->IdeEnable = sb_ide_enable();</span><br><span style="color: hsl(120, 100%, 40%);">+       if (dev) {</span><br><span style="color: hsl(120, 100%, 40%);">+            params->SataEnable = sb_sata_enable();</span><br><span style="color: hsl(120, 100%, 40%);">+             params->IdeEnable = sb_ide_enable();</span><br><span style="color: hsl(120, 100%, 40%);">+       } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              params->SataEnable = FALSE;</span><br><span style="color: hsl(120, 100%, 40%);">+                params->IdeEnable = FALSE;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> }</span><br><span> </span><br><span> void SetFchEnvParams(FCH_INTERFACE *params)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+        const struct device *dev = dev_find_slot(0, SATA_DEVFN);</span><br><span>     params->AzaliaController = AzEnable;</span><br><span>      params->SataClass = CONFIG_STONEYRIDGE_SATA_MODE;</span><br><span style="color: hsl(0, 100%, 40%);">-    params->SataEnable = is_sata_config();</span><br><span style="color: hsl(0, 100%, 40%);">-       params->IdeEnable = !params->SataEnable;</span><br><span style="color: hsl(0, 100%, 40%);">-  params->SataIdeMode = (CONFIG_STONEYRIDGE_SATA_MODE == SataLegacyIde);</span><br><span style="color: hsl(120, 100%, 40%);">+     if (dev) {</span><br><span style="color: hsl(120, 100%, 40%);">+            params->SataEnable = is_sata_config();</span><br><span style="color: hsl(120, 100%, 40%);">+             params->IdeEnable = !params->SataEnable;</span><br><span style="color: hsl(120, 100%, 40%);">+                params->SataIdeMode = (CONFIG_STONEYRIDGE_SATA_MODE ==</span><br><span style="color: hsl(120, 100%, 40%);">+                                     SataLegacyIde);</span><br><span style="color: hsl(120, 100%, 40%);">+       } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              params->SataEnable = FALSE;</span><br><span style="color: hsl(120, 100%, 40%);">+                params->IdeEnable = FALSE;</span><br><span style="color: hsl(120, 100%, 40%);">+         params->SataIdeMode = FALSE;</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span> }</span><br><span> </span><br><span> void SetFchMidParams(FCH_INTERFACE *params)</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/27845">change 27845</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/27845"/><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: I4a3b5f65e612e8da5bedff0c557a0850f350dfa8 </div>
<div style="display:none"> Gerrit-Change-Number: 27845 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Richard Spiegel <richard.spiegel@silverbackltd.com> </div>