All of lore.kernel.org
 help / color / mirror / Atom feed
From: Charles Mirabile <cmirabil@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: Charles Mirabile <cmirabil@redhat.com>,
	Lee Jones <lee.jones@linaro.org>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	linux-input@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org,
	Serge Schneider <serge@raspberrypi.org>,
	Stefan Wahren <stefan.wahren@i2se.com>,
	Nicolas Saenz Julienne <nsaenzju@redhat.com>,
	linux-rpi-kernel@lists.infradead.org,
	fedora-rpi@googlegroups.com, Mwesigwa Guma <mguma@redhat.com>,
	Joel Savitz <jsavitz@redhat.com>
Subject: [RFC PATCH v2 0/4] Raspberry Pi Sense HAT driver
Date: Fri, 20 Aug 2021 14:07:57 -0400	[thread overview]
Message-ID: <20210820180801.561119-1-cmirabil@redhat.com> (raw)

This patch series adds a set of drivers for operating the Sense HAT
peripheral device. This board is an add on for the Raspberry Pi that is
designed to connect using the GPIO connector via I2C.

It features:
	- a joystick
	- an 8x8 RGB LED matrix display
	- a whole bunch of environmental sensors with their own drivers
	(those are already in upstream Linux)

This is a refactor of the work of Serge Schneider, the author of a
version of this driver that is currently in the Raspberry Pi downstream
kernel. We modified his code to make it suitable for upstream Linux.

A couple of tests are available for the driver in this repo:
https://github.com/underground-software/sensehat/tree/master/tests
	- color_test displays various solid colors on the LED panel
	- framebuffer_test diplays a single lit cell that is
	  controllable via the arrow keys or the joystick

Known issue:
	- We are not sure how to integrate the device tree overlay for the
	Sense HAT into mainline Linux, or if we even should at this time.

Fortunately, most Linux distrubtions that can run on the Raspberry Pi
already include an appropriate device tree overlay since they often import
all of the overlays from the downstream Raspberry Pi kernel.

We have included a hypothetical overlay that would work for the sensehat
as a fourth patch in this series but we just put it in the root of the
source tree for the time being so that patch should not be merged unless a
consensus is reached that the overlay should be in the tree, and a proper
location is found to put it.

Suggestions are welcome and appreciated.

For more information about the Sense HAT, visit:
https://www.raspberrypi.org/products/sense-hat/

Changes since v1:
	- We included a device tree overlay for the Sense HAT
	- Based on Feedback from v1 we:
		- Changed the style of a few lines
		- Adding more error logging
		- Changed the compatible strings to use the more common
		"raspberrypi" instead of just "rpi"
		- Renamed everything from rpisense to sensehat

Signed-off-by: Charles Mirabile <cmirabil@redhat.com>
Signed-off-by: Mwesigwa Guma <mguma@redhat.com>
Signed-off-by: Joel Savitz <jsavitz@redhat.com>

Charles Mirabile (4):
  Add core driver and config
  Add joystick driver and config
  Add display driver and config
  Add sensehat device tree overlay

 arch/arm/boot/dts/sensehat.dtbs            |  51 +++++
 drivers/auxdisplay/Kconfig                 |   7 +
 drivers/auxdisplay/Makefile                |   1 +
 drivers/auxdisplay/sensehat-display.c      | 234 +++++++++++++++++++++
 drivers/input/joystick/Kconfig             |   8 +
 drivers/input/joystick/Makefile            |   1 +
 drivers/input/joystick/sensehat-joystick.c | 124 +++++++++++
 drivers/mfd/Kconfig                        |   8 +
 drivers/mfd/Makefile                       |   1 +
 drivers/mfd/sensehat-core.c                | 168 +++++++++++++++
 include/linux/mfd/sensehat.h               |  55 +++++
 11 files changed, 658 insertions(+)
 create mode 100644 arch/arm/boot/dts/sensehat.dtbs
 create mode 100644 drivers/auxdisplay/sensehat-display.c
 create mode 100644 drivers/input/joystick/sensehat-joystick.c
 create mode 100644 drivers/mfd/sensehat-core.c
 create mode 100644 include/linux/mfd/sensehat.h

-- 
2.27.0


             reply	other threads:[~2021-08-20 18:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-20 18:07 Charles Mirabile [this message]
2021-08-20 18:07 ` [RFC PATCH v2 1/4] drivers/mfd: sensehat: Raspberry Pi Sense HAT core driver Charles Mirabile
2021-08-30 12:48   ` nsaenzju
2021-08-20 18:07 ` [RFC PATCH vs 2/4] drivers/input/joystick: sensehat: Raspberry Pi Sense HAT joystick driver Charles Mirabile
2021-08-30 13:00   ` nsaenzju
2021-08-20 18:08 ` [RFC PATCH v2 3/4] drivers/auxdisplay: senshat Raspberry Pi Sense HAT display driver Charles Mirabile
2021-08-30 13:28   ` nsaenzju
2021-09-16 11:00     ` Matthias Brugger
2021-08-20 18:08 ` [RFC PATCH v2 4/4] sensehat: Add device tree overlay (do not merge) Charles Mirabile
2021-08-30 12:45   ` nsaenzju
2021-09-16 10:57   ` Matthias Brugger

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=20210820180801.561119-1-cmirabil@redhat.com \
    --to=cmirabil@redhat.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=fedora-rpi@googlegroups.com \
    --cc=jsavitz@redhat.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=mguma@redhat.com \
    --cc=nsaenzju@redhat.com \
    --cc=ojeda@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=serge@raspberrypi.org \
    --cc=stefan.wahren@i2se.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 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.