By the way, since I have manually swapped the chip, I wanted to let you
know that it is not directly mounted to the motherboard.
It is attached to a smaller daughter board which might be the SD host
controller itself.

On Thu, Apr 9, 2020 at 10:20 AM Alesandar Metodiev <
[email protected]> wrote:

> I have booted with spkmodem enabled, but nothing has changed. The device
> is still not present.
>
> On Thu, Apr 9, 2020 at 3:04 AM Peter Stuge <[email protected]> wrote:
>
>> AreYouLoco? wrote:
>> > I was wrong it isn't detected as SD/MMC it doesn't get detected at all.
>> > There is a separate device for SD/MMC present both on coreboot and
>> stock.
>>
>> Are you really sure? There is no such device in the vendor BIOS logs.
>>
>>
>> Alesandar Metodiev wrote:
>> > I have tried to enable spkmodem, but now I can not boot at all.
>> > Maybe I did something wrong. No SeaBios, just a black screen.
>>
>> No - just wait really long, 10-20 minutes, depending on console level.
>> IIRC it's 1200 bps, around 100 byte per second, so the 110860 byte
>> console log at https://del.dog/raw/cbmemlog would take 18 minutes.
>> Reduce the console level with spkmodem.
>>
>>
>> Nico Huber wrote:
>> > e822 vs. e823 smells like an upgrade to me. I suspect that we'd need to
>> > load some firmware on the 0.0 device. Or at least to configure something
>> > there so it switches 0.3 on.
>>
>>
>> Nico Huber wrote:
>> > https://del.dog/raw/nnvvvxxx_root
>> > https://del.dog/raw/xxxx_root
>> > https://del.dog/raw/lspci_tv
>> >
>> > Note, lspci calls it e823 even the DID register says e822, I have no
>> > idea where it gets the number from.
>>
>> Also fun. lspci has an -A option to specify how it reads data. It
>> would be interesting to compare what the kernel has (the default is
>> one of the linux- methods) with the registers in the devices (the
>> intel-conf1 method). If there is a difference then maybe the device
>> still wasn't quite ready when the kernel booted.
>>
>>
>> > Peter, do you happen to know something about the Virtual Channel
>> > capability?
>>
>> I didn't, and I looked at the spec now but it seems uninteresting.
>> It's a mechanism for multiple channels over a single link, with each
>> VC possibly having different buffering and traffic class.
>>
>>
>> I found something that might be relevant in https://del.dog/raw/cbmemlog
>> however, search it for Remap:
>>
>> --8<-- https://del.dog/raw/cbmemlog#149
>> PCI: 00:1c.0: Disabling device
>> PCI: 00:1c.0: check set enabled
>> PCH: Remap PCIe function 1 to 0
>> PCI: 00:1c.1 [8086/1c12] enabled
>> PCI: 00:1c.2: Disabling device
>> PCH: Remap PCIe function 3 to 0
>> PCI: 00:1c.3 [8086/1c16] enabled
>> PCH: Remap PCIe function 4 to 0
>> PCI: 00:1c.4 [8086/1c18] enabled
>> -->8--
>>
>> It looks strange that fn 1, 3 and 4 are all supposedly remapped to fn 0.
>> I looked in the code, to me it looks like this will cause a mess in RPFN:
>>
>> --8<-- southbridge/intel/bd82x6x/pch.c#229
>> /* Swap function numbers assigned to two PCIe Root Ports */
>> static void pch_pcie_function_swap(u8 old_fn, u8 new_fn)
>> {
>>         u32 old_rpfn = new_rpfn;
>>
>>         printk(BIOS_DEBUG, "PCH: Remap PCIe function %d to %d\n",
>>                old_fn, new_fn);
>>
>>         new_rpfn &= ~(RPFN_FNMASK(old_fn) | RPFN_FNMASK(new_fn));
>>
>>         /* Old function set to new function and disabled */
>>         new_rpfn |= RPFN_FNSET(old_fn, RPFN_FNGET(old_rpfn, new_fn));
>>         new_rpfn |= RPFN_FNSET(new_fn, RPFN_FNGET(old_rpfn, old_fn));
>> }
>> ... line 373:
>>                 int fn;
>>
>>                 /*
>>                  * Check if there is a lower disabled port to swap with
>> this
>>                  * port in order to maintain linear order starting at
>> zero.
>>                  */
>>                 if (config->pcie_port_coalesce) {
>>                         for (fn=0; fn < PCI_FUNC(dev->path.pci.devfn);
>> fn++) {
>>                                 if (!(new_rpfn & RPFN_HIDE(fn)))
>>                                         continue;
>>
>>                                 /* Swap places with this function */
>>                                 pch_pcie_function_swap(
>>                                         PCI_FUNC(dev->path.pci.devfn),
>> fn);
>>                                 break;
>>                         }
>>                 }
>> -->8--
>>
>> But later in the log it doesn't look like RPFN has all functions on
>> top of each other, but it also doesn't look really good:
>>
>>
>> --8<-- https://del.dog/raw/cbmemlog#162
>> PCH: PCIe map 1c.0 -> 1c.4
>> PCH: PCIe map 1c.1 -> 1c.0
>> PCH: PCIe map 1c.3 -> 1c.1
>> PCH: PCIe map 1c.4 -> 1c.3
>> -->8--
>>
>> If the gaps are to be filled then I'd expect to see something like:
>>
>> 1c.1 -> 1c.0
>> 1c.3 -> 1c.1
>> 1c.4 -> 1c.2
>>
>> The devicetree.cb seems not quite done, at least not for this mainboard:
>>
>> --8<-- https://del.dog/raw/cbmemlog#175
>> PCI: Leftover static devices:
>> PCI: 00:01.0
>> PCI: 00:16.1
>> PCI: 00:16.2
>> PCI: 00:16.3
>> PCI: 00:1c.4
>> PCI: 00:1c.2
>> PCI: 00:1c.5
>> PCI: 00:1c.7
>> PCI: Check your devicetree.cb.
>> -->8--
>>
>> But scanning the busses, actually both the Renesas xHCI/USB3 and the Ricoh
>> are visible:
>>
>> --8<-- https://del.dog/raw/cbmemlog#189
>> PCI: pci_scan_bus for bus 02
>> PCI: 02:00.0 [1912/0015] enabled
>> Enabling Common Clock Configuration
>> ASPM: Enabled L0s and L1
>> PCIe: Max_Payload_Size adjusted to 128
>> scan_bus: bus PCI: 00:1c.1 finished in 0 msecs
>> PCI: 00:1c.3 scanning...
>> PCI: pci_scan_bus for bus 03
>> PCI: 03:00.0 [1180/e822] enabled
>> Enabling Common Clock Configuration
>> ASPM: Enabled L0s and L1
>> PCIe: Max_Payload_Size adjusted to 128
>> Failed to enable LTR for dev = PCI: 03:00.0
>> scan_bus: bus PCI: 00:1c.3 finished in 0 msecs
>> -->8--
>>
>> But the Ricoh has the wrong DID, and while looking at
>> https://del.dog/raw/sd-mmc-not-fw
>>
>> I notice that the device looks more like a PCI device than a PCI Express
>> one,
>> with INTA routed to IRQ 16 instead of using MSI.
>>
>>
>> Sorry - I'm not able to suggest anything really concrete, but these are
>> my observations.
>>
>>
>> //Peter
>> _______________________________________________
>> coreboot mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
>
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to