qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH] hw: arm: Add basic support for cprman (cloc


From: Guenter Roeck
Subject: Re: [Qemu-devel] [RFC PATCH] hw: arm: Add basic support for cprman (clock subsystem)
Date: Mon, 16 Jul 2018 06:51:04 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

On 07/16/2018 02:08 AM, Peter Maydell wrote:
On 15 July 2018 at 23:06, Guenter Roeck <address@hidden> wrote:
Add basic support for BCM283x CPRMAN. Provide support for reading and
writing CPRMAN registers and initialize registers with sensible default
values. During runtime retain any written values.

Basic CPRMAN support is necessary and sufficient to boot Linux on raspi2
and raspi3 systems.

I can boot Linux on raspi3 with current upstream's level
of cprman support:
https://translatedcode.wordpress.com/2018/04/25/debian-on-qemus-raspberry-pi-3-model/

Yes, as long as you use ttyAMA0 as console. Using ttyS1, which is the real 
console
on raspi3, doesn't work. It doesn't give tracebacks, but it reports

[    8.894257] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    8.973121] bcm2835-aux-uart 3f215040.serial: unable to register 8250 port - 
-22
[    8.981971] bcm2835-aux-uart: probe of 3f215040.serial failed with error -22

and then there is no console. I have to hack the bcm8250 driver to provide
a dummy clock to get it to work.


Signed-off-by: Guenter Roeck <address@hidden>
---
I don't seriously expect this patch to get accepted, but I thought
it might be valuable enough for others to use it when playing with
raspi2 and raspi3 emulations.

I'm not necessarily going to rule it out entirely, but I'm
definitely not very happy about having a model of hardware
that's very clearly "do something that Linux likes". I'd
really rather see hardware documentation here -- presumably
whoever is writing the Linux drivers has that?


Maybe, but I don't, and I was unable to find it. The published documentation
only lists information for some of the registers (for the general purpose
clocks).

In this context, I can't get mmc to work with ToT Linux on raspi3.

/ # mount /dev/mmcblk0 /mnt
[   47.099074] sdhost-bcm2835 3f202000.mmc: timeout waiting for hardware 
interrupt.
[   57.339803] sdhost-bcm2835 3f202000.mmc: timeout waiting for hardware 
interrupt.
[   57.390449] mmc0: Problem switching card into high-speed mode!
[   67.581559] sdhost-bcm2835 3f202000.mmc: timeout waiting for hardware 
interrupt.
[   67.587832] print_req_error: I/O error, dev mmcblk0, sector 2
[   67.588908] Buffer I/O error on dev mmcblk0, logical block 1, lost sync page 
write
[   67.610307] EXT4-fs (mmcblk0): I/O error while writing superblock
[   67.620842] EXT4-fs (mmcblk0): mount failed
[   77.819114] sdhost-bcm2835 3f202000.mmc: timeout waiting for hardware 
interrupt.
[   88.058917] sdhost-bcm2835 3f202000.mmc: timeout waiting for hardware 
interrupt.
[   98.298937] sdhost-bcm2835 3f202000.mmc: timeout waiting for hardware 
interrupt.
[   98.303554] print_req_error: I/O error, dev mmcblk0, sector 2
[   98.306044] Buffer I/O error on dev mmcblk0, logical block 1, lost sync page 
write

Any idea what the problem might be ?

Thanks,
Guenter



reply via email to

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