qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 8/9] hw/arm/raspi: Add the Raspberry Pi Zero machine


From: Igor Mammedov
Subject: Re: [PATCH v3 8/9] hw/arm/raspi: Add the Raspberry Pi Zero machine
Date: Fri, 23 Oct 2020 19:39:13 +0200

On Fri, 23 Oct 2020 19:35:19 +0200
Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:

> Hi Igor,
> 
> On 10/23/20 5:51 PM, Igor Mammedov wrote:
> > On Sun, 18 Oct 2020 22:33:57 +0200
> > Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> >   
> >> Similarly to the Pi A, the Pi Zero uses a BCM2835 SoC (ARMv6Z core).
> >>
> >> Example booting the machine using content from [*]:
> >>
> >>    $ qemu-system-arm -M raspi0 -serial stdio \
> >>        -kernel raspberrypi/firmware/boot/kernel.img \
> >>        -dtb raspberrypi/firmware/boot/bcm2708-rpi-zero.dtb \
> >>        -append 'printk.time=0 earlycon=pl011,0x20201000 console=ttyAMA0'
> >>    [    0.000000] Booting Linux on physical CPU 0x0
> >>    [    0.000000] Linux version 4.19.118+ (dom@buildbot) (gcc version 
> >> 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1311 Mon Apr 27 
> >> 14:16:15 BST 2020
> >>    [    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 
> >> (ARMv7), cr=00c5387d
> >>    [    0.000000] CPU: VIPT aliasing data cache, unknown instruction cache
> >>    [    0.000000] OF: fdt: Machine model: Raspberry Pi Zero
> >>    ...
> >>
> >> [*] 
> >> http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel_1.20200512-2_armhf.deb
> >>
> >> Reviewed-by: Luc Michel <luc.michel@greensocs.com>
> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> >> ---
> >>   hw/arm/raspi.c | 13 +++++++++++++
> >>   1 file changed, 13 insertions(+)
> >>
> >> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
> >> index 91a59d1d489..1510ca01afe 100644
> >> --- a/hw/arm/raspi.c
> >> +++ b/hw/arm/raspi.c
> >> @@ -319,6 +319,15 @@ static void 
> >> raspi_machine_class_common_init(MachineClass *mc,
> >>       mc->default_ram_id = "ram";
> >>   };
> >>   
> >> +static void raspi0_machine_class_init(ObjectClass *oc, void *data)
> >> +{
> >> +    MachineClass *mc = MACHINE_CLASS(oc);
> >> +    RaspiMachineClass *rmc = RASPI_MACHINE_CLASS(oc);
> >> +
> >> +    rmc->board_rev = 0x900092;  
> > 
> > shouldn't it be
> > 920092      Zero    1.2     512MB   Embest
> > or
> > 920093  Zero        1.3     512MB   Embest  
> 
> I took the value from the "New-style revision codes"
> table listed in hw/arm/raspi.c before the REV_CODE
> register definitions:
> 
> https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md
> 
> 90009x's manufacturer is "Sony UK", 92009x is "Embest".
> I guess we don't care much the manufacturer :)
> 
> The Revision 1.3 exposed the MIPI camera interface.
> As we don't model it, I prefer to use the 1.2 revision
> which matches better.
> 
> I'll add this information in the commit description.

With that
Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> 
> Thanks for reviewing!
> 
> >   
> >> +    raspi_machine_class_common_init(mc, rmc->board_rev);
> >> +};
> >> +
> >>   static void raspi1ap_machine_class_init(ObjectClass *oc, void *data)
> >>   {
> >>       MachineClass *mc = MACHINE_CLASS(oc);
> >> @@ -352,6 +361,10 @@ static void raspi3b_machine_class_init(ObjectClass 
> >> *oc, void *data)
> >>   
> >>   static const TypeInfo raspi_machine_types[] = {
> >>       {
> >> +        .name           = MACHINE_TYPE_NAME("raspi0"),
> >> +        .parent         = TYPE_RASPI_MACHINE,
> >> +        .class_init     = raspi0_machine_class_init,
> >> +    }, {
> >>           .name           = MACHINE_TYPE_NAME("raspi1ap"),
> >>           .parent         = TYPE_RASPI_MACHINE,
> >>           .class_init     = raspi1ap_machine_class_init,  
> > 
> >   
> 




reply via email to

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