[PATCH v8 0/6] Raspberry Pi Sense HAT driver

Charles Mirabile cmirabil at redhat.com
Tue Apr 12 13:13:37 PDT 2022


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 and communicate 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 the test folder in
this repo: https://github.com/underground-software/sensehat.git
	- sensehat_joystick_test logs the input events from the
	  joystick to the console
	- sensehat_display_test displays various solid colors on
	  the LED panel.
	- full_sensehat_test displays a single lit cell that can be
	  moved with the joystick. Pressing the joystick ends the
	  program.

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

Changes since v7:
	- Added missing error checks to sensehat-display and
	  sensehat-joystick probe functions (allocation failure,
	  and failure to get regmap)
	- Propogated potential error from regmap write out of
	  the update display function so that an innability to
	  connect with hardware can be detected during probe
	- Changed the userspace format back to individual bytes
	  one per color channel, three per pixel. They are now
	  arranged as rgb triples instead of the native format
	  for the hardware.
	- Thanks to Miguel Ojeda for these suggestions.

Co-developed-by: Daniel Bauman <dbauman at redhat.com>
Signed-off-by: Daniel Bauman <dbauman at redhat.com>
Co-developed-by: Mwesigwa Guma <mguma at redhat.com>
Signed-off-by: Mwesigwa Guma <mguma at redhat.com>
Co-developed-by: Joel Savitz <jsavitz at redhat.com>
Signed-off-by: Joel Savitz <jsavitz at redhat.com>
Signed-off-by: Charles Mirabile <cmirabil at redhat.com>

Charles Mirabile (6):
  drivers/mfd: sensehat: Add Raspberry Pi Sense HAT to simple_mfd_i2c
  drivers/input/joystick: sensehat: Raspberry Pi Sense HAT joystick
    driver
  drivers/auxdisplay: sensehat: Raspberry Pi Sense HAT display driver
  dt-bindings: mfd: sensehat: Add Raspberry Pi Sense HAT schema
  MAINTAINERS: Add sensehat driver authors to MAINTAINERS
  DO NOT MERGE: full sensehat device tree overlay for raspberry pi 4

 .../raspberrypi,sensehat-display.yaml         |  27 +++
 .../input/raspberrypi,sensehat-joystick.yaml  |  33 +++
 .../bindings/mfd/raspberrypi,sensehat.yaml    |  69 ++++++
 MAINTAINERS                                   |  11 +
 drivers/auxdisplay/Kconfig                    |   8 +
 drivers/auxdisplay/Makefile                   |   1 +
 drivers/auxdisplay/sensehat-display.c         | 205 ++++++++++++++++++
 drivers/input/joystick/Kconfig                |  11 +
 drivers/input/joystick/Makefile               |   1 +
 drivers/input/joystick/sensehat-joystick.c    | 137 ++++++++++++
 drivers/mfd/simple-mfd-i2c.c                  |   1 +
 sensehat.dtbs                                 |  54 +++++
 12 files changed, 558 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/auxdisplay/raspberrypi,sensehat-display.yaml
 create mode 100644 Documentation/devicetree/bindings/input/raspberrypi,sensehat-joystick.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/raspberrypi,sensehat.yaml
 create mode 100644 drivers/auxdisplay/sensehat-display.c
 create mode 100644 drivers/input/joystick/sensehat-joystick.c
 create mode 100644 sensehat.dtbs

-- 
2.31.1




More information about the linux-arm-kernel mailing list