[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 2/5] hw/arm: add very initial support for Canon DI
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [RFC 2/5] hw/arm: add very initial support for Canon DIGIC SoC |
Date: |
Thu, 29 Aug 2013 21:16:49 +0100 |
On 29 August 2013 20:36, Antony Pavlov <address@hidden> wrote:
> On Thu, 29 Aug 2013 14:15:40 +0200
> Andreas Färber <address@hidden> wrote:
>> DigicState should be a QOM type derived from TYPE_DEVICE. Since you're
>> hardcoding the CPU type, please use object_initialize() to create it
>> in-place - note we're about to extend that function but rebase will be
>> trivial.
>
> I have just examinied platforms with hardcoded cpu: pxa2xx, exynos4210.
> They don't use object_initialize().
You'll find that QEMU is full of old code that hasn't been updated
to the current "best practice". pxa2xx in particular is pretty elderly
and probably a bad example to copy from. object_initialize()
is pretty new, which is why you can't find many examples yet.
>> Is the RAM on the board or on the SoC? It's in DigicState but
>> initialized from the board init. If it's on the SoC, then
>> _add_subregion and _register_ram_global should be in its realizefn.
>> Otherwise please separate it from the SoC state.
>
> It's not a trivial question!
> See "Digging Into 'DIGIC 4' Image Processor (2)"
> (http://techon.nikkeibp.co.jp/english/NEWS_EN/20090218/165866/).
> The authors removed the upper package with a chemical solution and exposed
> the chips.
> The 'DIGIC 4' contains 3 chips in one package:
> * processor itself;
> * 64-Mbit NOR flash memory, the "K8P6415UQB" (note that I have found another
> flash K8P3215UQB on my Canon A1100: Manufacturer ID: 0xEC, Device ID:
> 0x7E0301);
> * 512-Mbit SDRAM, the "K4X51323PE" (just the same 64 M RAM as I see with
> barebox).
>
> So we can assume taht these memory chips are inalienable parts of the SoC.
Package-on-Package is really just a funky way of connecting
up separate components (the layers are only connected
together at PCB assembly time, wikipedia tells me), and
indeed you can have different component combinations
(as you've found with the flash memory). So I would suggest
that either:
(a) just model them all as separate components
(SoC, memory, flash) instantiated by the board
(b) model them as separate components, and have a
"container" component which puts them together and
then the board just instantiates that.
Whether (b) is worthwhile depends on whether we
expect to have lots of boards that differ but have the
same PoP stack. I suspect (a) is better.
thanks
-- PMM
- [Qemu-devel] [RFC 1/5] target-arm: add ARM946E-S CPU, (continued)
- [Qemu-devel] [RFC 1/5] target-arm: add ARM946E-S CPU, Antony Pavlov, 2013/08/29
- Re: [Qemu-devel] [RFC 1/5] target-arm: add ARM946E-S CPU, Peter Maydell, 2013/08/29
- Re: [Qemu-devel] [RFC 1/5] target-arm: add ARM946E-S CPU, Antony Pavlov, 2013/08/29
- Re: [Qemu-devel] [RFC 1/5] target-arm: add ARM946E-S CPU, Antony Pavlov, 2013/08/29
- Re: [Qemu-devel] [RFC 1/5] target-arm: add ARM946E-S CPU, Peter Crosthwaite, 2013/08/30
- Re: [Qemu-devel] [RFC 1/5] target-arm: add ARM946E-S CPU, Peter Maydell, 2013/08/30
- Re: [Qemu-devel] [RFC 1/5] target-arm: add ARM946E-S CPU, Antony Pavlov, 2013/08/30
[Qemu-devel] [RFC 2/5] hw/arm: add very initial support for Canon DIGIC SoC, Antony Pavlov, 2013/08/29
Re: [Qemu-devel] [RFC 2/5] hw/arm: add very initial support for Canon DIGIC SoC, Andreas Färber, 2013/08/30
Re: [Qemu-devel] [RFC 2/5] hw/arm: add very initial support for Canon DIGIC SoC, Condello, 2013/08/29
[Qemu-devel] [RFC 3/5] hw/arm/digic: add timer support, Antony Pavlov, 2013/08/29
[Qemu-devel] [RFC 4/5] hw/arm/digic: add UART support, Antony Pavlov, 2013/08/29