grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 8250 memory mapped UART


From: Gailu Singh
Subject: Re: 8250 memory mapped UART
Date: Wed, 1 Mar 2017 16:34:27 +0530

Build problem was due to not running ./configure. I only did make clean and make. Build issue  is now resolved after running configure. Only cosmetic change in your patch.

=============
static void
read_bars(grub_pci_device_t dev, struct grub_serial_board *board)
{
  for (unsigned bar = 0; bar < NUM_BARS; ++bar)

changed to 
=============
static void
read_bars(grub_pci_device_t dev, struct grub_serial_board *board)
{
  unsigned bar;

  for (bar = 0; bar < NUM_BARS; ++bar)
============

I was getting error for C99 enforcement error during build(‘for’ loop initial declarations are only allowed in C99 mode)


I will check PCI vendor ID and Device ID and get back to you.



On Wed, Mar 1, 2017 at 4:27 PM, Matthias Lange <address@hidden> wrote:
On 03/01/2017 11:32 AM, Gailu Singh wrote:
> I checked coreboot where in the memory it is mapped and it seems to be
> on PCIE. Relevant code from coreboot. So I am hopeful that patch will work.
> ---------
> uintptr_t uart_platform_base(int idx)
> {
> u8      *pcie;
> u32      tmp;
> idx  = idx & 3;
> pcie = (u8 *)PCIE_MMIO(0, PCH_DEV_SLOT_UART, idx, 0);
> tmp  = read32 (pcie + PCI_BASE_ADDRESS_0);
> if (tmp == 0xFFFFFFFF) {
> /* the device might be hidden */
> return LPSS_UART_BASE_ADDRESS;
> } else {
> return (uintptr_t) (tmp & 0xFFFFFFF0);
> }
> }
> ---------

This looks promising. Could you extract the PCI vendor and device ID
please? My current implementation currently only supports OXSemi chips.

>  I applied the patches and run make clean followed by make but build
> failed as follows
> ------------------------
> cat syminfo.lst | sort | gawk -f ./genmoddep.awk > moddep.lst || (rm -f
> moddep.lst; exit 1)
> grub_ns8250_pci_mmio_init in serial is not defined
> make[3]: *** [moddep.lst] Error 1
> ------------------------

Hmmm, grub_ns8250_pci_mmio_init is defined in include/grub/serial.h.
Could you check that please? I failed to reproduce your problem, maybe I
did something different?

(master checked out)
/tmp/grub $ /path/to/grub-src/configure --with-platform=efi
/tmp/grub $ make -j12 # success
(applied my three patches)
/tmp/grub $ make clean
/tmp/grub $ make -j12 # success

Matthias.

> On Wed, Mar 1, 2017 at 3:27 PM, Gailu Singh <address@hidden
> <mailto:address@hidden>> wrote:
>
>     Sorry for typo. I meant 8250 instead of 8050 in last email
>
>     On Wed, Mar 1, 2017 at 3:21 PM, Gailu Singh <address@hidden
>     <mailto:address@hidden>> wrote:
>
>         My board is Intel Oxbohill CRB (Apollo lake). On my board UART
>         are not connected to PCI.
>
>         I am using grub2 payload loaded by coreboot. UART works fine in
>         coreboot by using memory mapped 8050 driver
>         (https://github.com/coreboot/coreboot/blob/master/src/drivers/uart/uart8250mem.c
>         <https://github.com/coreboot/coreboot/blob/master/src/drivers/uart/uart8250mem.c>),
>         however when grub2 is loaded it refuses to recognize UART.
>
>
>
>         On Wed, Mar 1, 2017 at 3:08 PM, Matthias Lange
>         <address@hiddencom
>         <mailto:matthias.lange@kernkonzept.com>> wrote:
>
>             Hi,
>
>             On 03/01/2017 08:00 AM, Andrei Borzenkov wrote:
>             > please test patches from Matthias Lange
>             >
>             > https://lists.gnu.org/archive/html/grub-devel/2017-02/msg00104.html
>             <https://lists.gnu.org/archive/html/grub-devel/2017-02/msg00104.html>
>             >
>             >
>             > On Wed, Mar 1, 2017 at 9:15 AM, Gailu Singh <address@hidden <mailto:address@hidden>> wrote:
>             >> Hi Experts,
>             >>
>             >> I am using GRUB2 on intel apollo lake board. This board does not have IO
>             >> mapped uart instead it has 8250 memory mapped UART.
>
>             Could you share some details about the board?
>
>             >> GRUB2 does not recognize memory mapped uart and gives error ("serial port
>             >> COM0 not found). There is a 8250 memory mapped driver available in coreboot.
>             >> Is it possible to port that driver to Grub2?
>
>             My patch set adds support for 8250 MMIO PCI cards. Is the
>             UART on your
>             board connected via PCI?
>
>             Best,
>             Matthias.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]