[MinnowBoard] UART and COM ports problem

Anders, David david.anders at intel.com
Tue Jun 30 16:17:09 UTC 2015


Darren,

You are correct that UART2 not having flow control signals was a routing decision, not a limitation of the silicon...

Dave

From: elinux-MinnowBoard [mailto:elinux-minnowboard-bounces at lists.elinux.org] On Behalf Of Darren Hart
Sent: Tuesday, June 30, 2015 11:13 AM
To: MinnowBoard Development and Community Discussion; Rouzanov, Ivan; edk2-devel(email list)
Subject: Re: [MinnowBoard] UART and COM ports problem

The device you mention here (IUR3) is the debug port of the E3825 SoC. It is routed to the 6 pin header on the MinnowBoard MAX. The other two devices are HSUARTs hung off LPSS. These can be enumerated via ACPI or via PCI. One of these has all the RS232 signals (UART1), while the other only routes RX and TX (UART2) (but I thought that was a routing decision rather than a silicon limitation - will have to look that up in the data sheet to be sure).

Ivan, have we previously documented that that only LPSS UART1 is compatible with Windows?

--
Darren Hart
Intel Open Source Technology Center

On 6/29/15, 10:33 PM, "Anteja Vuk Macek" <anteja.vm at dolotron.com<mailto:anteja.vm at dolotron.com>> wrote:

Hi Ivan,

Thank you for advice, but I want two COM ports.  I found  LPC_DEV.ASL ACPI_table  in Vlv2TbltDeviceRefCodePkg where was ASL code for the device IUR3  HID - PNP0501.

Device(IUR3) // Internal UART
{
  Name(_HID, EISAID("PNP0501"))

  Name(_UID,1)

  // Status Method for internal UART

  Method(_STA,0,Serialized)
  {
    // Only report resources to the OS if internal UART is
    // not set to Disabled in BIOS Setup.

    If(LEqual(USEL,0))
    {
      If(LEqual(PU1E,1))
      {
        Store(1,UI3E) // Enable IRQ3 for UART
        Store(1,UI4E) // Enable IRQ4 for UART
        Store(1,C1EN) // Enable UART
        Return(0x000F)
      }
    }

    Return(0x0000)
  }

  // Disable Method for internal UART

  Method(_DIS,0,Serialized)
  {
    Store(0,UI3E)
    Store(0,UI4E)
    Store(0,C1EN)
  }

  // Current Resource Setting Method for internal UART

  Method(_CRS,0,Serialized)
  {
    // Create the Buffer that stores the Resources to
    // be returned.

    Name(BUF0,ResourceTemplate()
    {
      IO(Decode16,0x03F8,0x03F8,0x01,0x08)
      IRQNoFlags() {3}
    })

    Name(BUF1,ResourceTemplate()
    {
      IO(Decode16,0x03F8,0x03F8,0x01,0x08)
      IRQNoFlags() {4}
    })

    If (LLessEqual(SRID, 0x04))
    {
      Return(BUF0)
    } Else
    {
      Return(BUF1)
    }
  }
}

I want to make second IUR device.  I don't know value of variables : SEL, PU1E, UI3E, UI4E and C1EN  and where it was defined.  Also,  I would like to know what I need to change to write ASL code for second IURx device.
Best regards,

Anteja

>On Thu, Jun 25, 2015 at 11:16 AM, Rouzanov, Ivan <ivan.rouzanov at intel.com<mailto:ivan.rouzanov at intel.com>> wrote:
>Anteja,
>
>As far as I understand we have 2 UARTs but only one follows legacy COM-interface and the other one does not so Windows inbox driver serial.sys does not work with it so you only have one COM port.
>(Basically COMx is just a symbolic link serial.sys creates to point to its device object, so if it does not service a device like in the case of the second HSUART, then it is not a COM-port).
>f you need to use COM-port and have ability to debug, I'd suggest to use Ethernet for debugging and free up COM1 for your other needs.
>
>I hope this helps.
>Best regards,
>van Rouzanov.
>
>
>
>Message: 3
>Date: Wed, 24 Jun 2015 10:06:02 +0200
>From: Anteja Vuk Macek <anteja.vm at dolotron.com<mailto:anteja.vm at dolotron.com>>
>To: EDK2 email list <edk2-devel at lists.sourceforge.net<mailto:edk2-devel at lists.sourceforge.net>>,  MinnowMax
>       Community <elinux-minnowboard at lists.elinux.org<mailto:elinux-minnowboard at lists.elinux.org>>
>Subject: [MinnowBoard] UART and COM ports problem
>Message-ID:
>       <CAOPTR2BQg0h5KT8dogxr60t3++i4tCHPFchyo6qWqKYkqGWZhw at mail.gmail.com<mailto:CAOPTR2BQg0h5KT8dogxr60t3%2B%2Bi4tCHPFchyo6qWqKYkqGWZhw at mail.gmail.com>>
>Content-Type: text/plain; charset="utf-8"
>
>Hi all,
>
>On MinnowMax I work  on Windows 8.1 with UART.
> In BIOS Setup I enable UART.   In  LSS & SCC Configuration menu in BIOS
>Setup I enable : LSS HSUART #1 Support  , LSS HSUART #1 FlowCtrl  , LSS HSUART #2 Support  , and LSS HSUART #2 FlowCtrl .  But I don't know if I need to in BIOS Setup in Miscellaneous configuration  set  UART >interface on  Super IO UART, for now I set  Internal UART for UART interface.
>I install Intel driver (
>https://downloadcenter.intel.com/download/24228/Intel-embedded-drivers-for-Windows-8-1-32-bit-
>)
>and I got two UART controllers.
>
>Problem :
>Problem is that I have only one COM port ( COM1)  and it is for debugging.  I looking in inf (iaiouart.inf ) file of driver for which device is , and I find APCI/INT33BC device.  The COM1 is device
>APCI/PNP0501 .
>
>What I need to do to get COM 2 device ?  I saw  BaseSerialPortLib 16550 module in  MdeModulePkg/Library for what it is this module.  Need I add some module for UART or Serial port in fdf (PlatformPkg.fdf ) file to get
>COM2 device, or add  COM2  in ACPI_table? Where I can find ACPI_table in source of firmware?
>
>Best regards,
>
>Anteja
>

_______________________________________________ elinux-MinnowBoard mailing list elinux-MinnowBoard at lists.elinux.org<mailto:elinux-MinnowBoard at lists.elinux.org> http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20150630/8d145a63/attachment-0001.html>


More information about the elinux-MinnowBoard mailing list