From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D0FDBC433FE for ; Tue, 12 Apr 2022 23:27:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230296AbiDLX3j (ORCPT ); Tue, 12 Apr 2022 19:29:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38758 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231217AbiDLX2K (ORCPT ); Tue, 12 Apr 2022 19:28:10 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A7927DFFA7 for ; Tue, 12 Apr 2022 15:33:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1649802813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=fVvyj7UT2RLX5Fjubi2oetumHl0CrI2Ol/3tyXbUefQ=; b=XZGZOq2mA5t8Xp6D+4WeGIaAmR/cO9WTqakx8i8OkP1wNF6OKn3bepxSIYIQInTCrLOZb2 ZvK6L3/ht4MthzfG0mkRjPZ+bS8qBuw/pBY4KPfgjKLaHPwy/9PgOWnuh4QodCaSMYqYnh SJ/T4Y9VfAizhN4uKnuNZzw1HFqZFUk= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-90-FxgtqUHaOa6c2QWSgC6JEA-1; Tue, 12 Apr 2022 16:14:11 -0400 X-MC-Unique: FxgtqUHaOa6c2QWSgC6JEA-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A1D76833959; Tue, 12 Apr 2022 20:14:10 +0000 (UTC) Received: from cmirabil.remote.csb (unknown [10.22.32.76]) by smtp.corp.redhat.com (Postfix) with ESMTP id 10CFB401DAC; Tue, 12 Apr 2022 20:14:10 +0000 (UTC) From: Charles Mirabile To: linux-kernel@vger.kernel.org Cc: Charles Mirabile , Serge Schneider , Stefan Wahren , Nicolas Saenz Julienne , Mattias Brugger , linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, fedora-rpi@googlegroups.com, Daniel Bauman , Mwesigwa Guma , Joel Savitz Subject: [PATCH v8 0/6] Raspberry Pi Sense HAT driver Date: Tue, 12 Apr 2022 16:13:37 -0400 Message-Id: <20220412201343.8074-1-cmirabil@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Signed-off-by: Daniel Bauman Co-developed-by: Mwesigwa Guma Signed-off-by: Mwesigwa Guma Co-developed-by: Joel Savitz Signed-off-by: Joel Savitz Signed-off-by: Charles Mirabile 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