Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3838316imu; Mon, 10 Dec 2018 08:35:51 -0800 (PST) X-Google-Smtp-Source: AFSGD/UFTCcwFU3PXQOzkaQlFjedyNKbfN44SghZ4J3X6QEiI4N91vdNBFnFe7TypgFO4t3E6h8W X-Received: by 2002:a63:a552:: with SMTP id r18mr11447439pgu.176.1544459751494; Mon, 10 Dec 2018 08:35:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544459751; cv=none; d=google.com; s=arc-20160816; b=CeNGKnBiw1hwI5GBuAxOfDLGDmfeCpRqSpWm+AdDoC7b0tEICcCoQO4HLaCB7l9/Cm 8bxm1DeXMaqTfyvsRDbRZ3TkwVYsV6IhMIVTpEBmgrUpyu4c47nxVdxc45iDsa3UpFpH eXZdTir8TQUX9J1L5QKPxofRp0LHch+zAdtsFqYF8qI7+w5i2zSBuIfqdcz+TzpSjLz1 Ys0qEwXOtFJeMXkzavTTew36r971GWgMIZhsx9KvY8rqvwpAYUai6C8ycY0VmopXw65c 7ZTfNSVF1NxIkRn3zK4rtwV1UHSn3cu3EmriurJWw7oLaEDIFhxO3NMx1Ox6pDKqM627 UWDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=hsugPhMugOeSje6//q89KFd3B8hkNLyEpSET/vl54Eo=; b=Oz3zhYqwsEkY0yeYGs6wbjLApf4isXwdUQMS12/C2vHvH3NZKuyi8DwS3jTlsokqg3 dkxyfFc1+LKNCym2HfzsK041o79mTHXY627FodUjjhxZXbjChOzkkH0/qjI/EMAvLawV uekwmuvpNsYvucTuuqiJJ6E/F7qt7zM13/1u8KlXj7r0yQP16gx/R9g+Q0Ru/q7FJwYA X5VS+UaDza77WCaWLuiUzLlBE0691HypLMG2xo8SxL2Rk8M/OI+kl5DuiH7/dOCDytkD /tNnq8Bua97OI0ts2mjdf9GnWmf6azYDfifY0YrIebAK5GLcWhmQMAqzXAgtroS6qTVt Sxrw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z11si10807102pfg.107.2018.12.10.08.35.36; Mon, 10 Dec 2018 08:35:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728454AbeLJQbX (ORCPT + 99 others); Mon, 10 Dec 2018 11:31:23 -0500 Received: from mx2.suse.de ([195.135.220.15]:45610 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728314AbeLJQbW (ORCPT ); Mon, 10 Dec 2018 11:31:22 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 56441AFAF; Mon, 10 Dec 2018 16:31:20 +0000 (UTC) From: Nicolas Saenz Julienne To: linux-input@vger.kernel.org Cc: linux-rpi-kernel@lists.infradead.org, stefan.wahren@i2se.com, eric@anholt.net, agraf@suse.de, Nicolas Saenz Julienne , Dmitry Torokhov , Rob Herring , Mark Jonas , Hans-Christian Noren Egtvedt , Zhu Yi , Masanari Iida , Corentin Labbe , Eugen Hristev , Hans de Goede , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/2] input: driver for RPi's official 7" touchscreen Date: Mon, 10 Dec 2018 17:30:19 +0100 Message-Id: <20181210163036.24813-1-nsaenzjulienne@suse.de> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This small series adds support for Raspberry pi's 7" touchscreen. Which alongside with the backlight driver are the last devices needed to have a functional touchscreen upstream. With this setup the board's VC4 firmware takes care of communicating with the touch chip and provides data though a shared memory area provided by the driver. The driver takes care of polling the firmware whenever at around 60Hz since there is no interrupt line available. The 1.0 revision of the touchscreen is based on the ft5426 chip. Technically, with some changes in edt-ft54x4.c we should be able to access the data directly through I2C. Yet this bus is meant to be owned by RPi's firmware and might access it anytime. For example, to configure RPi's camera device. As sharing the bus master interface is not possible a series of alternatives have been tested unsuccessfully [1]. It seems that we'll be unable to access the chip directly in a "clean" way which leaves us with this firmware based solution. The driver was rewritten based on the one available on the downstream Raspberry Pi kernel tree: https://github.com/raspberrypi/linux/. This series is based on v4.20-rc6 and was tested on a RPi 3 B+. Changelog RFC -> PATCH: - Better dependencies check in Kconfig - Add SPDX tag - Use polled input device API - Use input_mt_sync_frame() - Drop reference from dt node in probe - Use devm where possible - Small cosmetic changes [1] https://lists.infradead.org/pipermail/linux-rpi-kernel/2018-December/008444.html === Nicolas Saenz Julienne (2): input: add official Raspberry Pi's touchscreen driver Input: raspberrypi-ts - add devicetree binding documentation .../touchscreen/raspberrypi,firmware-ts.txt | 26 ++ drivers/input/touchscreen/Kconfig | 12 + drivers/input/touchscreen/Makefile | 1 + drivers/input/touchscreen/raspberrypi-ts.c | 223 ++++++++++++++++++ 4 files changed, 262 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/raspberrypi,firmware-ts.txt create mode 100644 drivers/input/touchscreen/raspberrypi-ts.c -- 2.19.2