<p>HARSHAPRIYA N has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/26046">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">lib/nhlt: add support for passing sub_systemid in nhlt_init()<br><br>This patch adds support in nhlt_init() function to recieve the<br>subsystem_id and set it in every ssp endpoint.<br><br>This patch also changes every instance of nhlt_init() function call<br>to pass the subsystem id. For eve its set to 0x006B. For other boards<br>its set to default value.<br><br>Change-Id: Iad53f27e958f50e02e928cd8fa60d8397ca0eb06<br>Signed-off-by: Harsha Priya <harshapriya.n@intel.com><br>---<br>M src/include/nhlt.h<br>M src/lib/nhlt.c<br>M src/mainboard/google/chell/mainboard.c<br>M src/mainboard/google/eve/mainboard.c<br>M src/mainboard/google/fizz/mainboard.c<br>M src/mainboard/google/glados/mainboard.c<br>M src/mainboard/google/lars/mainboard.c<br>M src/mainboard/google/octopus/mainboard.c<br>M src/mainboard/google/poppy/mainboard.c<br>M src/mainboard/google/reef/mainboard.c<br>M src/mainboard/google/zoombini/mainboard.c<br>M src/mainboard/intel/cannonlake_rvp/mainboard.c<br>M src/mainboard/intel/glkrvp/mainboard.c<br>M src/mainboard/intel/kunimitsu/mainboard.c<br>14 files changed, 22 insertions(+), 16 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/46/26046/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/include/nhlt.h b/src/include/nhlt.h</span><br><span>index ddebd5f..754b9f8 100644</span><br><span>--- a/src/include/nhlt.h</span><br><span>+++ b/src/include/nhlt.h</span><br><span>@@ -44,7 +44,7 @@</span><br><span>  *</span><br><span>  * An example sequence:</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * nhlt = nhlt_init()</span><br><span style="color: hsl(120, 100%, 40%);">+ * nhlt = nhlt_init(ssid)</span><br><span>  * ep = nhlt_add_endpoint()</span><br><span>  * nhlt_endpoint_append_config(ep)</span><br><span>  * nhlt_endpoint_add_formats(ep)</span><br><span>@@ -52,7 +52,7 @@</span><br><span>  */</span><br><span> </span><br><span> /* Obtain an nhlt object for adding endpoints. Returns NULL on error. */</span><br><span style="color: hsl(0, 100%, 40%);">-struct nhlt *nhlt_init(void);</span><br><span style="color: hsl(120, 100%, 40%);">+struct nhlt *nhlt_init(int);</span><br><span> </span><br><span> /* Return the size of the NHLT table including APCI header. */</span><br><span> size_t nhlt_current_size(struct nhlt *nhlt);</span><br><span>diff --git a/src/lib/nhlt.c b/src/lib/nhlt.c</span><br><span>index e849f8b..5e24632 100644</span><br><span>--- a/src/lib/nhlt.c</span><br><span>+++ b/src/lib/nhlt.c</span><br><span>@@ -33,10 +33,14 @@</span><br><span>    .data4 = { 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71 },</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-struct nhlt *nhlt_init(void)</span><br><span style="color: hsl(120, 100%, 40%);">+static int subsystem_id = NHLT_SSID;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+struct nhlt *nhlt_init(int ssid)</span><br><span> {</span><br><span>    struct nhlt *nhlt;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        subsystem_id = ssid;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>       nhlt = malloc(sizeof(*nhlt));</span><br><span> </span><br><span>    if (nhlt == NULL)</span><br><span>@@ -66,7 +70,7 @@</span><br><span>        endp->vendor_id = vid;</span><br><span>    endp->device_id = did;</span><br><span>    endp->revision_id = NHLT_RID;</span><br><span style="color: hsl(0, 100%, 40%);">-        endp->subsystem_id = NHLT_SSID;</span><br><span style="color: hsl(120, 100%, 40%);">+    endp->subsystem_id = subsystem_id;</span><br><span>        endp->device_type = device_type;</span><br><span>  endp->direction = dir;</span><br><span>    endp->virtual_bus_id = DEFAULT_VIRTUAL_BUS_ID;</span><br><span>diff --git a/src/mainboard/google/chell/mainboard.c b/src/mainboard/google/chell/mainboard.c</span><br><span>index bfa79b4..8796531 100644</span><br><span>--- a/src/mainboard/google/chell/mainboard.c</span><br><span>+++ b/src/mainboard/google/chell/mainboard.c</span><br><span>@@ -37,7 +37,7 @@</span><br><span> </span><br><span>       start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>     if (nhlt == NULL)</span><br><span>            return start_addr;</span><br><span>diff --git a/src/mainboard/google/eve/mainboard.c b/src/mainboard/google/eve/mainboard.c</span><br><span>index 3f444f1..33e67ab 100644</span><br><span>--- a/src/mainboard/google/eve/mainboard.c</span><br><span>+++ b/src/mainboard/google/eve/mainboard.c</span><br><span>@@ -21,6 +21,8 @@</span><br><span> #include <vendorcode/google/chromeos/chromeos.h></span><br><span> #include <soc/nhlt.h></span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define SUBSYSTEM_ID 0x006B</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static const char *oem_id_maxim = "GOOGLE";</span><br><span> static const char *oem_table_id_maxim = "EVEMAX";</span><br><span> </span><br><span>@@ -38,7 +40,7 @@</span><br><span> </span><br><span>  start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(SUBSYSTEM_ID);</span><br><span>      if (!nhlt)</span><br><span>           return start_addr;</span><br><span> </span><br><span>diff --git a/src/mainboard/google/fizz/mainboard.c b/src/mainboard/google/fizz/mainboard.c</span><br><span>index e6a0296..3689b8b 100644</span><br><span>--- a/src/mainboard/google/fizz/mainboard.c</span><br><span>+++ b/src/mainboard/google/fizz/mainboard.c</span><br><span>@@ -243,7 +243,7 @@</span><br><span> </span><br><span>    start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span>         if (!nhlt)</span><br><span>           return start_addr;</span><br><span> </span><br><span>diff --git a/src/mainboard/google/glados/mainboard.c b/src/mainboard/google/glados/mainboard.c</span><br><span>index 855d69d..0d07012 100644</span><br><span>--- a/src/mainboard/google/glados/mainboard.c</span><br><span>+++ b/src/mainboard/google/glados/mainboard.c</span><br><span>@@ -37,7 +37,7 @@</span><br><span> </span><br><span>      start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>     if (nhlt == NULL)</span><br><span>            return start_addr;</span><br><span>diff --git a/src/mainboard/google/lars/mainboard.c b/src/mainboard/google/lars/mainboard.c</span><br><span>index e044405..def58a1 100644</span><br><span>--- a/src/mainboard/google/lars/mainboard.c</span><br><span>+++ b/src/mainboard/google/lars/mainboard.c</span><br><span>@@ -37,7 +37,7 @@</span><br><span> </span><br><span>          start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-               nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+           nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>             if (nhlt == NULL)</span><br><span>                    return start_addr;</span><br><span>diff --git a/src/mainboard/google/octopus/mainboard.c b/src/mainboard/google/octopus/mainboard.c</span><br><span>index 3709823..75f4987 100644</span><br><span>--- a/src/mainboard/google/octopus/mainboard.c</span><br><span>+++ b/src/mainboard/google/octopus/mainboard.c</span><br><span>@@ -50,7 +50,7 @@</span><br><span> </span><br><span>      start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>     if (nhlt == NULL)</span><br><span>            return start_addr;</span><br><span>diff --git a/src/mainboard/google/poppy/mainboard.c b/src/mainboard/google/poppy/mainboard.c</span><br><span>index 743a920..6064637 100644</span><br><span>--- a/src/mainboard/google/poppy/mainboard.c</span><br><span>+++ b/src/mainboard/google/poppy/mainboard.c</span><br><span>@@ -38,7 +38,7 @@</span><br><span> </span><br><span>      start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>     if (nhlt == NULL)</span><br><span>            return start_addr;</span><br><span>diff --git a/src/mainboard/google/reef/mainboard.c b/src/mainboard/google/reef/mainboard.c</span><br><span>index 7f5a1b3..e358feb 100644</span><br><span>--- a/src/mainboard/google/reef/mainboard.c</span><br><span>+++ b/src/mainboard/google/reef/mainboard.c</span><br><span>@@ -118,7 +118,7 @@</span><br><span> </span><br><span>        start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>     if (nhlt == NULL)</span><br><span>            return start_addr;</span><br><span>diff --git a/src/mainboard/google/zoombini/mainboard.c b/src/mainboard/google/zoombini/mainboard.c</span><br><span>index eee2d74..bbbe611 100644</span><br><span>--- a/src/mainboard/google/zoombini/mainboard.c</span><br><span>+++ b/src/mainboard/google/zoombini/mainboard.c</span><br><span>@@ -34,7 +34,7 @@</span><br><span> </span><br><span>  start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>     if (nhlt == NULL)</span><br><span>            return start_addr;</span><br><span>diff --git a/src/mainboard/intel/cannonlake_rvp/mainboard.c b/src/mainboard/intel/cannonlake_rvp/mainboard.c</span><br><span>index 316485d..9044209 100644</span><br><span>--- a/src/mainboard/intel/cannonlake_rvp/mainboard.c</span><br><span>+++ b/src/mainboard/intel/cannonlake_rvp/mainboard.c</span><br><span>@@ -40,7 +40,7 @@</span><br><span> </span><br><span>      start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>     if (nhlt == NULL)</span><br><span>            return start_addr;</span><br><span>diff --git a/src/mainboard/intel/glkrvp/mainboard.c b/src/mainboard/intel/glkrvp/mainboard.c</span><br><span>index ac5e973..be84ac2 100644</span><br><span>--- a/src/mainboard/intel/glkrvp/mainboard.c</span><br><span>+++ b/src/mainboard/intel/glkrvp/mainboard.c</span><br><span>@@ -50,7 +50,7 @@</span><br><span> </span><br><span>      start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+   nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>     if (nhlt == NULL)</span><br><span>            return start_addr;</span><br><span>diff --git a/src/mainboard/intel/kunimitsu/mainboard.c b/src/mainboard/intel/kunimitsu/mainboard.c</span><br><span>index cbadc2e..02dc6b9 100644</span><br><span>--- a/src/mainboard/intel/kunimitsu/mainboard.c</span><br><span>+++ b/src/mainboard/intel/kunimitsu/mainboard.c</span><br><span>@@ -52,7 +52,7 @@</span><br><span> </span><br><span>          start_addr = current;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-               nhlt = nhlt_init();</span><br><span style="color: hsl(120, 100%, 40%);">+           nhlt = nhlt_init(NHLT_SSID);</span><br><span> </span><br><span>             if (nhlt == NULL)</span><br><span>                    return start_addr;</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/26046">change 26046</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/26046"/><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: Iad53f27e958f50e02e928cd8fa60d8397ca0eb06 </div>
<div style="display:none"> Gerrit-Change-Number: 26046 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: HARSHAPRIYA N <harshapriya.n@intel.com> </div>