qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Inès Varhol" <ines.varhol@telecom-paris.fr>
To: qemu-devel@nongnu.org
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Samuel Tardieu" <sam@rfc1149.net>,
	qemu-arm@nongnu.org, "Thomas Huth" <thuth@redhat.com>,
	"Arnaud Minier" <arnaud.minier@telecom-paris.fr>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Inès Varhol" <ines.varhol@telecom-paris.fr>,
	"Laurent Vivier" <lvivier@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [PATCH v6 0/5] Add device DM163 (led driver, matrix colors shield & display)
Date: Wed, 24 Apr 2024 22:06:50 +0200	[thread overview]
Message-ID: <20240424200929.240921-1-ines.varhol@telecom-paris.fr> (raw)

This device implements the IM120417002 colors shield v1.1 for Arduino
(which relies on the DM163 8x3-channel led driving logic) and features
a simple display of an 8x8 RGB matrix. This color shield can be plugged
on the Arduino board (or the B-L475E-IOT01A board) to drive an 8x8
RGB led matrix. This RGB led matrix takes advantage of retinal persistance
to seemingly display different colors in each row.

Thank you for the reviews.

Changes from v5 (1st commit) :
- use `extract16` and `deposit32` in `dm163_propagate_outputs` for
more clarity
- similarly, use `extract64` and `deposit32` in `dm163_bank(0|1)`

Changes from v4 :
dm163
- redefine `DM163_NUM_LEDS` for clarity
- change definition of `COLOR_BUFFER_SIZE`
- rename `age_of_row` to `row_persistance_delay`
- remove unnecessary QOM cast macro in GPIO handlers
- remove unnecessary inline of `dm163_bank0` and `dm163_bank1`
- replace occurrences of number 8 by the right define macro
- use unsigned type to print GPIO input `new_stateq`
STM32L4x5 qtests
- add comment to explain GPIO forwarding to SoC
B-L475E-IOT01A
- correct formatting
- use unsigned for gpio pins' indices
DM163 qtest
- use an enum for dm163 inputs
- inline ['dm163-test'] in meson.build (I don't plan on adding qtests)
OTHER
- update copyrights to 2023-2024

Changes from v3 (review of the 1st commit by Peter Maydell) :
- dm163.c : instead of redrawing the entire console each frame,
only redraw the rows that changed using a new variable `redraw`
- reset all the fields in `dm163_reset_hold`
- correcting typos : persistance -> persistence
- b-l475e-iot01a.rst : correcting typo

Changes from v2 : Corrected typo in the Based-on message id

Changes from v1 :
- moving the DM163 from the SoC to the B-L475E-IOT01A machine
(changing config files and tests accordingly)
- restricting DM163 test to ARM & DM163 availability
- using `object_class_by_name()` to check for DM163 presence at run-time
- exporting SYSCFG inputs to the SoC (and adapting tests accordingly)

Signed-off-by: Arnaud Minier <arnaud.minier@telecom-paris.fr>
Signed-off-by: Inès Varhol <ines.varhol@telecom-paris.fr>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Inès Varhol (5):
  hw/display : Add device DM163
  hw/arm : Pass STM32L4x5 SYSCFG gpios to STM32L4x5 SoC
  hw/arm : Create Bl475eMachineState
  hw/arm : Connect DM163 to B-L475E-IOT01A
  tests/qtest : Add testcase for DM163

 docs/system/arm/b-l475e-iot01a.rst  |   3 +-
 include/hw/display/dm163.h          |  59 +++++
 hw/arm/b-l475e-iot01a.c             | 105 +++++++--
 hw/arm/stm32l4x5_soc.c              |   6 +-
 hw/display/dm163.c                  | 349 ++++++++++++++++++++++++++++
 tests/qtest/dm163-test.c            | 194 ++++++++++++++++
 tests/qtest/stm32l4x5_gpio-test.c   |  13 +-
 tests/qtest/stm32l4x5_syscfg-test.c |  17 +-
 hw/arm/Kconfig                      |   1 +
 hw/display/Kconfig                  |   3 +
 hw/display/meson.build              |   1 +
 hw/display/trace-events             |  14 ++
 tests/qtest/meson.build             |   2 +
 13 files changed, 736 insertions(+), 31 deletions(-)
 create mode 100644 include/hw/display/dm163.h
 create mode 100644 hw/display/dm163.c
 create mode 100644 tests/qtest/dm163-test.c

-- 
2.43.2



             reply	other threads:[~2024-04-24 20:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-24 20:06 Inès Varhol [this message]
2024-04-24 20:06 ` [PATCH v6 1/5] hw/display : Add device DM163 Inès Varhol
2024-04-24 20:06 ` [PATCH v6 2/5] hw/arm : Pass STM32L4x5 SYSCFG gpios to STM32L4x5 SoC Inès Varhol
2024-04-24 20:06 ` [PATCH v6 3/5] hw/arm : Create Bl475eMachineState Inès Varhol
2024-04-24 20:06 ` [PATCH v6 4/5] hw/arm : Connect DM163 to B-L475E-IOT01A Inès Varhol
2024-04-24 20:06 ` [PATCH v6 5/5] tests/qtest : Add testcase for DM163 Inès Varhol
2024-04-30 15:08 ` [PATCH v6 0/5] Add device DM163 (led driver, matrix colors shield & display) 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=20240424200929.240921-1-ines.varhol@telecom-paris.fr \
    --to=ines.varhol@telecom-paris.fr \
    --cc=arnaud.minier@telecom-paris.fr \
    --cc=lvivier@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sam@rfc1149.net \
    --cc=thuth@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).