|
From: | Philippe Mathieu-Daudé |
Subject: | Re: [PATCH v3 8/9] hw/arm/raspi: Add the Raspberry Pi Zero machine |
Date: | Fri, 23 Oct 2020 19:35:19 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 |
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. 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,
[Prev in Thread] | Current Thread | [Next in Thread] |