qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC v5 0/5] hw/arm: add initial support for Canon DIGI


From: Antony Pavlov
Subject: Re: [Qemu-devel] [RFC v5 0/5] hw/arm: add initial support for Canon DIGIC SoC
Date: Fri, 13 Sep 2013 18:37:27 +0400

On Sat,  7 Sep 2013 11:04:22 +0400
Antony Pavlov <address@hidden> wrote:

ping
> [RFC v5 1/5] hw/arm: add very initial support for Canon DIGIC SoC
> [RFC v5 2/5] hw/arm/digic: prepare DIGIC-based boards support
> [RFC v5 3/5] hw/arm/digic: add timer support
> [RFC v5 4/5] hw/arm/digic: add UART support
> [RFC v5 5/5] hw/arm/digic: add NOR ROM support
> 
> Changes since v4:
>  1. digic.h: parent_obj: change type Object -> DeviceState
>  2. digic-uart: drop reg array
>  3. digic_boards: fix K8P3215UQB comment
>  4. Makefile: place digic stuff in own line
>  5. drop cpu-qom.h inclusion
>  6. digic.h: add private/public labels
>  7. digic.h: fix guard macro
>  8. move base address macros to digic.c
>  9. fix header comments
> 
> Changes since v3:
>  1. fix typos and formatting
>  2. digic-timer: drop DPRINTF
>  3. digic-timer: fix DIGIC4_TIMER_BASE() macro
>  4. digic.c: fix max timer device string
> 
> Changes since v2:
>  1. rebase over latest master;
>    * pass available size to object_initialize().
>  2. digic-uart: qemu_log: use LOG_UNIMP instead LOG_GUEST_ERROR;
>  3. digic-boards: update rom image load code: introduce digic_load_rom().
> 
> Changes since v1:
>  0. drop the "add ARM946E-S CPU" patch;
>  1. convert to QOM, split DIGIC SoC code and board code
>     (thanks to Andreas Fa:rber, Peter Maydell and Peter Crosthwaite);
>  2. fix digic-uart (many thanks to Peter Crosthwaite
>     for his comments);
>  3. digic-boards: digic4_add_k8p3215uqb_rom(): update
>     rom image load code: use the '-bios' option.
> 
> DIGIC is Canon Inc.'s name for a family of SoC
> for digital cameras and camcorders.
> 
> See http://en.wikipedia.org/wiki/DIGIC for details.
> 
> There is no publicly available specification for
> DIGIC chips. All information about DIGIC chip
> internals is based on reverse engineering efforts
> made by CHDK (http://chdk.wikia.com) and
> Magic Lantern (http://www.magiclantern.fm) projects
> contributors.
> 
> Also this patch series adds initial support for Canon
> PowerShot A1100 IS compact camera (it is my only camera
> with connected UART interface). As the DIGIC-based cameras
> differences mostly are unsignificant (e.g. RAM-size,
> ROM type and size, GPIO usage) the other compact
> and DSLR cameras support can be easely added.
> 
> This DIGIC support patch series is inspired
> by EOS QEMU from Magic Lantern project.
> The main differences:
>  * EOS QEMU uses home-brew all-in-one monolith design;
>  this patch series uses conventional qemu object-centric design;
>  * EOS QEMU tries provide simplest emulation for most
>  controllers inside SoC to run Magic Lantern firmware;
>  this patch series provide more complete support
>  only for core devices to run barebox bootloader.
>   ** EOS QEMU does not support timer counting
>   (this patch series emulate 1 MHz counting);
>   ** EOS QEMU support DIGIC UART only for output
>   character to stderr; (this patch series emulate
>   introduces full blown UART interface);
>   ** EOS QEMU has incomplete ROM support;
>   (this patch series uses conventional qemu pflash).
> 
> This initial DIGIC support can't be used to run
> the original camera firmware, but it can successfully
> run experimental version of barebox bootloader
> (see http://www.barebox.org).
> 
> The last sources of barebox for PowerShot A1100 can be
> obtained here:
>   https://github.com/frantony/barebox/tree/next.digic.20130829
> 
> The precompiled ROM image usable with qemu can be
> obtained here:
>   
> https://github.com/frantony/barebox/blob/next.digic.20130829/canon-a1100-rom1.bin
> 
> This ROM image (after "dancing bit" encoding) can be run on
> real Canon A1100 camera.
> 
> The short build instruction for __previous__ DIGIC barebox
> version (it can be used with more recent sources too) can
> be obtained here:
>   http://lists.infradead.org/pipermail/barebox/2013-August/016007.html


-- 
-- 
Best regards,
  Antony Pavlov



reply via email to

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