<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>6696</bug_id>
          
          <creation_ts>2014-09-08 20:24:19 +0000</creation_ts>
          <short_desc>I2C number changed in Firmware?</short_desc>
          <delta_ts>2014-11-06 23:16:58 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>12</classification_id>
          <classification>Hardware Platforms</classification>
          <product>MinnowBoard MAX</product>
          <component>hw-minnowmax</component>
          <version>2C A1</version>
          <rep_platform>MinnowBoard Max</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>Production Release</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John &apos;Warthog9&apos; Hawley">warthog9</reporter>
          <assigned_to name="John &apos;Warthog9&apos; Hawley">warthog9</assigned_to>
          <cc>david.wei</cc>
    
    <cc>dvhart</cc>
    
    <cc>ivan.rouzanov</cc>
    
    <cc>michael.p.krau</cc>
    
    <cc>sjolley.yp.pm</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>45457</commentid>
    <comment_count>0</comment_count>
    <who name="John &apos;Warthog9&apos; Hawley">warthog9</who>
    <bug_when>2014-09-08 20:24:19 +0000</bug_when>
    <thetext>Under the LPSS settings we have the two I2C interfaces that are user configurable.  In 0.73 the two interfaces now claim to be #6 and #7, in previous versions it was #5 and #6.

Was this change intentional to deal with confusion from the OS level, or have we enabled / disabled the wrong I2C interfaces now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45459</commentid>
    <comment_count>1</comment_count>
    <who name="Ivan Rouzanov">ivan.rouzanov</who>
    <bug_when>2014-09-08 20:30:24 +0000</bug_when>
    <thetext>LPSS devices used to be enumerated as PCI, in PCI device instance follows the function number which is 0-based. By default LPSS supposed to be enumerated as ACPI to help all OSes, in ACPI DSDT I2C controllers are named I2C1-I2C7. While this might be confusing, at the same time this is the same scheme all BYT-based platforms follow so I&apos;d suggest to keep it this way as it will make it less confusing for developers supporting different boards (Sharks Cove is one example).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45463</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Krau">michael.p.krau</who>
    <bug_when>2014-09-08 20:52:36 +0000</bug_when>
    <thetext>In the hardware the two I2C devices are hardware devices 5 &amp; 6 (zero relative, which matches the PCI enumeration).  LPSS is following the ACPI (one relative numbers).   Same devices just new designations.

The question becomes one of expectation across developers.  If there is consensus across the community, the enumeration could be manipulated to meet that consensus, but if there is some debate, then any change (or not) will not meet all expectations.  

Agreeing with Ivan on this one, the one relative count seems to be more standard across the Baytrail implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45466</commentid>
    <comment_count>3</comment_count>
    <who name="John &apos;Warthog9&apos; Hawley">warthog9</who>
    <bug_when>2014-09-08 23:31:51 +0000</bug_when>
    <thetext>Ok so this boils down to an expected change, but something that needs to get documented since all our public documentation currently refers to those as #5 and #6 respectively, correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45467</commentid>
    <comment_count>4</comment_count>
    <who name="Ivan Rouzanov">ivan.rouzanov</who>
    <bug_when>2014-09-08 23:34:36 +0000</bug_when>
    <thetext>Yes, I agree. I am not however sure what is the documentation for ACPI declarations. In production systems ACPI is often considered essentially self-documenting - DSDT is the documentation. But I 100% agree this can (and as we saw already) does get confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45468</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Krau">michael.p.krau</who>
    <bug_when>2014-09-08 23:40:42 +0000</bug_when>
    <thetext>There is more here than ACPI verse LPSS:

5 &amp; 6 (the zero relative numbers) are also the designations in the schematic - per the SoC specification.  So somebody looking at the schematic could be confused as well (that is what lead me down the bunny trail).

In the documentation it should be noted that ACPI is one relative and that some devices may be designated by one value higher than the zero relative hardware designation (which is also the PCI enumeration, and could be the LPSS designation).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45469</commentid>
    <comment_count>6</comment_count>
    <who name="Ivan Rouzanov">ivan.rouzanov</who>
    <bug_when>2014-09-08 23:43:19 +0000</bug_when>
    <thetext>I agree, it&apos;s just where do we document ACPI numbering?
Despite how confusing it is, I really would prefer ACPI on MinnowBoard MAX to stay consistent with all other BYT-based programs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45553</commentid>
    <comment_count>7</comment_count>
    <who name="Darren Hart">dvhart</who>
    <bug_when>2014-09-11 23:35:40 +0000</bug_when>
    <thetext>Rather than worry about which numbering scheme is used for ACPI and PCI (neither of which impacts the programming interface), why not just use something that makes semantic sense to the end user, like:

&quot;Low Speed Expansion I2C&quot;

and

&quot;High Speed Expansion I2C&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45556</commentid>
    <comment_count>8</comment_count>
    <who name="Ivan Rouzanov">ivan.rouzanov</who>
    <bug_when>2014-09-12 00:01:04 +0000</bug_when>
    <thetext>This is no _DDN, this is actual name if the device as in Device(XXXX) ACPI statement. Per ACPI Spec 5.3 &quot;All names are a fixed 32 bits.&quot;, so only 4 characters can be used for the name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45561</commentid>
    <comment_count>9</comment_count>
    <who name="John &apos;Warthog9&apos; Hawley">warthog9</who>
    <bug_when>2014-09-12 01:15:23 +0000</bug_when>
    <thetext>Ivan, I think you are confused on where we want this statement.  Specifically we want this shown in the firmware menu, that&apos;s where this change happened.  I don&apos;t really care what&apos;s in the ACPI table, assuming that it hasn&apos;t changed as well (which it doesn&apos;t look like it has under Linux)

Right now the menu says:

LPSS I2C #5 Support  [Enable]
LPSS I2C #6 Support  [Enable]

My original question was, why did those numbers changed to 6 &amp; 7 respectively in 0.73 (might be earlier I&apos;m not sure)

And Darren is suggesting instead of the lines mentioned he wants

Low Speed Expansion I2C   [Enable]
High Speed Expansion I2C  [Enable]

which I&apos;ve got a small modification of

Low Speed Expansion I2C (#5)  [Enable]
High Speed Expansion I2C (#6) [Enable]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45562</commentid>
    <comment_count>10</comment_count>
    <who name="Ivan Rouzanov">ivan.rouzanov</who>
    <bug_when>2014-09-12 01:21:04 +0000</bug_when>
    <thetext>Ah!
You are right, I did not get it.

Yes, makes perfect sense to me. Maybe help could mention which header it is on.
But in any case - sure, this makes sense. Sorry, I did not get it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46225</commentid>
    <comment_count>11</comment_count>
    <who name="David_Wei">david.wei</who>
    <bug_when>2014-10-09 08:58:13 +0000</bug_when>
    <thetext>BIOS team Update:

Fixed. Will be available in next release. 

Item - Low Speed Expansion I2C (#5)  [Enable]
Help - I2C Controller PCI device Dev24: Func6  ; Schematic names it I2C5, ACPI table names it I2C6.

Item - High Speed Expansion I2C (#6) [Enable]
Help - I2C Controller PCI device Dev24: Func7 ;  Schematic names it I2C6, ACPI table names it I2C7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46830</commentid>
    <comment_count>12</comment_count>
    <who name="Darren Hart">dvhart</who>
    <bug_when>2014-11-06 23:16:58 +0000</bug_when>
    <thetext>Confirmed fixed in Firmware 0.74.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>