From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38656) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VMwd1-0001VQ-OV for qemu-devel@nongnu.org; Fri, 20 Sep 2013 05:03:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VMwcx-00023d-P9 for qemu-devel@nongnu.org; Fri, 20 Sep 2013 05:03:55 -0400 Received: from mail-la0-x230.google.com ([2a00:1450:4010:c03::230]:34182) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VMwcx-000230-Cl for qemu-devel@nongnu.org; Fri, 20 Sep 2013 05:03:51 -0400 Received: by mail-la0-f48.google.com with SMTP id er20so138167lab.35 for ; Fri, 20 Sep 2013 02:03:49 -0700 (PDT) Date: Fri, 20 Sep 2013 13:01:14 +0400 From: Antony Pavlov Message-Id: <20130920130114.9e583d3dec0a07439c7c3e6f@gmail.com> In-Reply-To: <20130913183727.11241a3770cea724627da00f@gmail.com> References: <1378537467-13471-1-git-send-email-antonynpavlov@gmail.com> <20130913183727.11241a3770cea724627da00f@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC v5 0/5] hw/arm: add initial support for Canon DIGIC SoC: ping-ping List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Antony Pavlov Cc: Peter Maydell , Peter Crosthwaite , qemu-devel@nongnu.org, Paul Brook , Paolo Bonzini , Andreas =?ISO-8859-1?Q?F=E4rber?= On Fri, 13 Sep 2013 18:37:27 +0400 Antony Pavlov wrote: ping-ping > On Sat, 7 Sep 2013 11:04:22 +0400 > Antony Pavlov wrote: >=20 > 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 > >=20 > > 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 > >=20 > > 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 > >=20 > > 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(= ). > >=20 > > 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. > >=20 > > DIGIC is Canon Inc.'s name for a family of SoC > > for digital cameras and camcorders. > >=20 > > See http://en.wikipedia.org/wiki/DIGIC for details. > >=20 > > 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. > >=20 > > 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. > >=20 > > 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). > >=20 > > 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). > >=20 > > The last sources of barebox for PowerShot A1100 can be > > obtained here: > > https://github.com/frantony/barebox/tree/next.digic.20130829 > >=20 > > The precompiled ROM image usable with qemu can be > > obtained here: > > https://github.com/frantony/barebox/blob/next.digic.20130829/canon-a1= 100-rom1.bin > >=20 > > This ROM image (after "dancing bit" encoding) can be run on > > real Canon A1100 camera. > >=20 > > 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 >=20 >=20 > --=A0 > Best regards, > =A0 Antony Pavlov --=A0 Best regards, =A0 Antony Pavlov