Re: [PATCH V3 0/8] ARM: Add minimal Raspberry Pi 4 support

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

 




On 03/10/2019 19:24, Stefan Wahren wrote:
> Hi Nicolas,
> 
> Am 03.10.19 um 19:09 schrieb Nicolas Saenz Julienne:
>> On Sat, 2019-09-28 at 14:07 +0200, Stefan Wahren wrote:
>>> This series adds minimal support for the new Raspberry Pi 4, so we are able
>>> to login via debug UART.
>>>
>>> Patch 1-2:   Fix some DT schema warnings
>>> Patch 3-4:   Prepare DTS for the new SoC BMC2711
>>> Patch 5-7:   Add Raspberry Pi 4 DTS support
>>> Patch 8:     Update MAINTAINERS
>>>
>>> Unfortunately the Raspberry Pi Foundation didn't released a
>>> peripheral documentation for the new SoC yet. So we only have a preliminary
>>> datasheet [1] and reduced schematics [2].
>>>
>>> Known issues:
>>> Since Linux 5.3-rc1 DMA doesn't work properly on that platform.
>>> Nicolas Saenz Julienne investigates on that issue. As a temporary workaround
>>> i reverted the following patch to test this series:
>>>
>>> 79a98672 "dma-mapping: remove dma_max_pfn"
>>> 7559d612 "mmc: core: let the dma map ops handle bouncing"
>> [ adding Matthias and Guillaume who first saw this ]
>> [ also adding Adrian Hunter just in case ]
>>
>> Hi,
>> we stubled upon a bug in RPi's sdhci-iproc while testing this series.
>>
>> It only shows-up on slow SD cards, the class 4 ones. On each SD operation we
>> get the following warning:
>>
>> [    2.093328] mmc1: Got data interrupt 0x00000002 even though no data operation was in progress.
>> [    2.102072] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
>> [    2.108603] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00001002
>> [    2.115134] mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
>> [    2.121664] mmc1: sdhci: Argument:  0x00000000 | Trn mode: 0x00000033
>> [    2.128195] mmc1: sdhci: Present:   0x1fff0000 | Host ctl: 0x00000017
>> [    2.134725] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000080
>> [    2.141255] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
>> [    2.147785] mmc1: sdhci: Timeout:   0x00000000 | Int stat: 0x00000000
>> [    2.154314] mmc1: sdhci: Int enab:  0x03ff100b | Sig enab: 0x03ff100b
>> [    2.160843] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
>> [    2.167373] mmc1: sdhci: Caps:      0x45ee6432 | Caps_1:   0x0000a525
>> [    2.173902] mmc1: sdhci: Cmd:       0x00000c1a | Max curr: 0x00080008
>> [    2.180432] mmc1: sdhci: Resp[0]:   0x00000b00 | Resp[1]:  0x00edc87f
>> [    2.186961] mmc1: sdhci: Resp[2]:   0x325b5900 | Resp[3]:  0x00400e00
>> [    2.193490] mmc1: sdhci: Host ctl2: 0x00000001
>> [    2.197992] mmc1: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0xec040208
>> [    2.204521] mmc1: sdhci: ============================================
>>
>> Aside from the serial console noise the RPi still boots alright. But as it's
>> printing one of these per SD operation which is a lot...
>>
>> I've been able to reproduce this both with arm and arn64 on multiple SD cards.
>> Just copying the contents of a class 4 card into a class 10 one fixes the
>> issue.
>>
>> Any ideas?
> i saw this once during testing. AFAIR there has been some changes to
> sdhci in the downstream tree, maybe they was related to this issue.

I did a diff against drivers/mmc/host/sdhci-iproc.c of v5.4-rc1 and haven't
found any significant changes:
- compatible in the upstream driver is only bcm2711-emmc2 and not bcm2838-sdhci,
but DTS uses the former one.
- Upstream driver support probing via ACPI.
- pltfm_host->clk gets only set if we probe via DTS
- get_max_clock() is set to sdhci_iproc_get_max_clock() but this checks if
pltfm_host->clk is set and in that case invokes sdhci_pltfm_clk_get_max_clock()
(same function as the downstream driver).

So AFAIKS nothing relevant here.

Regards,
Matthias



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux