All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: Linus Walleij <linus.walleij@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/3] arm/vexpress: Add proper display connector emulation
Date: Sat, 17 Feb 2018 15:28:29 -0300	[thread overview]
Message-ID: <3f009bb2-fb39-36ff-b3ed-a9b8c63db081@amsat.org> (raw)
In-Reply-To: <20180217140051.22731-3-linus.walleij@linaro.org>

Hi Linus,

On 02/17/2018 11:00 AM, Linus Walleij wrote:
> This adds the SiI9022 and EDID I2C devices to the ARM Versatile
> Express machine, and selects the two I2C devices necessary in the
> arm-softmmy.mak configuration so everything will build smoothly.
> 
> I am implementing proper handling of the graphics in the Linux
> kernel and adding proper emulation of SiI9022 and EDID makes the
> driver probe as nicely as before, retrieveing the resolutions
> supported by the "QEMU monitor" and overall just working nice.
> 
> The assignment of the SiI9022 at address 0x39 and the EDID
> DDC I2C at address 0x50 is not strictly correct: the DDC I2C
> is there all the time but in the actual component it only
> appears once activated inside the SiI9022, so ideally it should
> be added and removed to the bus by the SiI9022. However for this
> purpose it works fine to just have it around.

This seems easier to just do it now rather than postpone :)

In your patch #2:

static void sii9022_realize(DeviceState *dev, Error **errp)
{
    I2CBus *bus;

    bus = I2C_BUS(qdev_get_parent_bus(dev));
    i2c_create_slave(bus, TYPE_I2CDDC, 0x50);
}

static void sii9022_class_init(ObjectClass *klass, void *data)
{
    DeviceClass *dc = DEVICE_CLASS(klass);

...
    dc->realize = sii9022_realize;
}

> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  default-configs/arm-softmmu.mak | 2 ++
>  hw/arm/vexpress.c               | 7 ++++++-
>  2 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
> index ca34cf446242..54f855d07206 100644
> --- a/default-configs/arm-softmmu.mak
> +++ b/default-configs/arm-softmmu.mak
> @@ -21,6 +21,8 @@ CONFIG_STELLARIS_INPUT=y
>  CONFIG_STELLARIS_ENET=y
>  CONFIG_SSD0303=y
>  CONFIG_SSD0323=y
> +CONFIG_DDC=y
> +CONFIG_SII9022=y
>  CONFIG_ADS7846=y
>  CONFIG_MAX111X=y
>  CONFIG_SSI=y
> diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
> index dc5928ae1ab5..d6c912c97684 100644
> --- a/hw/arm/vexpress.c
> +++ b/hw/arm/vexpress.c
> @@ -29,6 +29,7 @@
>  #include "hw/arm/arm.h"
>  #include "hw/arm/primecell.h"
>  #include "hw/devices.h"
> +#include "hw/i2c/i2c.h"
>  #include "net/net.h"
>  #include "sysemu/sysemu.h"
>  #include "hw/boards.h"
> @@ -537,6 +538,7 @@ static void vexpress_common_init(MachineState *machine)
>      uint32_t sys_id;
>      DriveInfo *dinfo;
>      pflash_t *pflash0;
> +    I2CBus *i2c;
>      ram_addr_t vram_size, sram_size;
>      MemoryRegion *sysmem = get_system_memory();
>      MemoryRegion *vram = g_new(MemoryRegion, 1);
> @@ -628,7 +630,10 @@ static void vexpress_common_init(MachineState *machine)
>      sysbus_create_simple("sp804", map[VE_TIMER01], pic[2]);
>      sysbus_create_simple("sp804", map[VE_TIMER23], pic[3]);
>  
> -    /* VE_SERIALDVI: not modelled */
> +    dev = sysbus_create_simple("versatile_i2c", map[VE_SERIALDVI], NULL);
> +    i2c = (I2CBus *)qdev_get_child_bus(dev, "i2c");
> +    i2c_create_slave(i2c, "sii9022", 0x39);
> +    i2c_create_slave(i2c, "i2c-ddc", 0x50);
>  
>      sysbus_create_simple("pl031", map[VE_RTC], pic[4]); /* RTC */
>  
> 

  reply	other threads:[~2018-02-17 18:28 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-17 14:00 [Qemu-devel] [PATCH 1/3] hw/i2c-ddc: Do not fail writes Linus Walleij
2018-02-17 14:00 ` [Qemu-devel] [PATCH 2/3] hw/sii9022: Add support for Silicon Image SII9022 Linus Walleij
2018-02-17 18:32   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-02-27  7:41     ` Linus Walleij
2018-02-27 10:09       ` Peter Maydell
2018-02-27 10:21         ` Linus Walleij
2018-02-27 10:24           ` Peter Maydell
2018-02-27 10:29             ` Peter Maydell
2018-02-22 14:42   ` Peter Maydell
2018-02-17 14:00 ` [Qemu-devel] [PATCH 3/3] arm/vexpress: Add proper display connector emulation Linus Walleij
2018-02-17 18:28   ` Philippe Mathieu-Daudé [this message]
2018-02-19 14:10     ` Linus Walleij
2018-02-19 15:16       ` Corey Minyard
2018-02-19 15:20       ` [Qemu-devel] [PATCH 0/2] Move the bus class to i2c.h minyard
2018-02-19 15:20         ` [Qemu-devel] [PATCH 1/2] i2c: Fix some brace style issues minyard
2018-02-19 15:24           ` Peter Maydell
2018-02-22 15:37           ` Linus Walleij
2018-02-19 15:20         ` [Qemu-devel] [PATCH 2/2] i2c: Move the bus class to i2c.h minyard
2018-02-19 15:25           ` Peter Maydell
2018-02-20 13:06             ` Corey Minyard
2018-02-22 15:39               ` Linus Walleij
2018-02-22 15:44                 ` Peter Maydell
2018-02-22 15:55                   ` Linus Walleij
2018-02-22 15:38           ` Linus Walleij
2018-02-22 14:36 ` [Qemu-devel] [Qemu-arm] [PATCH 1/3] hw/i2c-ddc: Do not fail writes Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3f009bb2-fb39-36ff-b3ed-a9b8c63db081@amsat.org \
    --to=f4bug@amsat.org \
    --cc=linus.walleij@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.