From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53911) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKUXY-0008Bi-8u for qemu-devel@nongnu.org; Fri, 13 Sep 2013 10:40:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKUXT-0002wu-3A for qemu-devel@nongnu.org; Fri, 13 Sep 2013 10:40:08 -0400 Received: from mail-lb0-x229.google.com ([2a00:1450:4010:c04::229]:59134) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKUXS-0002tu-LQ for qemu-devel@nongnu.org; Fri, 13 Sep 2013 10:40:03 -0400 Received: by mail-lb0-f169.google.com with SMTP id z5so2212555lbh.28 for ; Fri, 13 Sep 2013 07:40:01 -0700 (PDT) Date: Fri, 13 Sep 2013 18:37:27 +0400 From: Antony Pavlov Message-Id: <20130913183727.11241a3770cea724627da00f@gmail.com> In-Reply-To: <1378537467-13471-1-git-send-email-antonynpavlov@gmail.com> References: <1378537467-13471-1-git-send-email-antonynpavlov@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 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Peter Crosthwaite , Paul Brook , Andreas =?ISO-8859-1?Q?F=E4rber?= , Peter Maydell On Sat, 7 Sep 2013 11:04:22 +0400 Antony Pavlov 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 >=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-a110= 0-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 --=A0 Best regards, =A0 Antony Pavlov