From patchwork Sat Jan 13 01:05:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karthikeyan Ramasubramanian X-Patchwork-Id: 860251 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=codeaurora.org header.i=@codeaurora.org header.b="jW9UCVzY"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=codeaurora.org header.i=@codeaurora.org header.b="Ch3HAPMS"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zJLz95JdLz9t3n for ; Sat, 13 Jan 2018 12:06:13 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965367AbeAMBGK (ORCPT ); Fri, 12 Jan 2018 20:06:10 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:38358 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965304AbeAMBGJ (ORCPT ); Fri, 12 Jan 2018 20:06:09 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 7655C60BEA; Sat, 13 Jan 2018 01:06:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1515805568; bh=thKwKfMoJiJvf6UMymKCcI8DUtc/0XaeUi1pixnN1Po=; h=From:To:Cc:Subject:Date:From; b=jW9UCVzYiyasPqaKEPkDV/TdqLi7IfrZeGVHU09dql1HsKXJi61rD2fmnJyMfsSOA FOkPeG1OZHhDbg9BEHs8bt1ah6w0Hi0X1GLLj8wobrNd2Jc2RHGWQUY6o1Z61M1mnV BWHHZzjpsrvZN/scsKUO3tkJP4e88JHoghvg2eAE= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from codeaurora.org (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: kramasub@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 982E960556; Sat, 13 Jan 2018 01:06:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1515805567; bh=thKwKfMoJiJvf6UMymKCcI8DUtc/0XaeUi1pixnN1Po=; h=From:To:Cc:Subject:Date:From; b=Ch3HAPMSXomPqtb4R6KIJ7xx75pqlKrK+dFPU6pC9pJi2hWpqDR+IL8f8AjayL8Ig EqZGMsjFbTv1raf+K3fk3WYMqXDIksGZFQZxN9kbMvnCHzSly11wTO63wAtFmdBewn bNZE5k7wyoxzziH7S0h647EYdj+S3dC4y6KzJtMY= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 982E960556 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=kramasub@codeaurora.org From: Karthikeyan Ramasubramanian To: corbet@lwn.net, andy.gross@linaro.org, david.brown@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com, wsa@the-dreams.de, gregkh@linuxfoundation.org Cc: Karthikeyan Ramasubramanian , linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-i2c@vger.kernel.org, linux-serial@vger.kernel.org, jslaby@suse.com Subject: [PATCH v2 0/7] Introduce GENI SE Controller Driver Date: Fri, 12 Jan 2018 18:05:40 -0700 Message-Id: <1515805547-22816-1-git-send-email-kramasub@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Generic Interface (GENI) firmware based Qualcomm Universal Peripheral (QUP) Wrapper is a next generation programmable module for supporting a wide range of serial interfaces like UART, SPI, I2C, I3C, etc. A single QUP module can provide upto 8 Serial Interfaces using its internal Serial Engines (SE). The protocol supported by each interface is determined by the firmware loaded to the Serial Engine. This patch series introduces GENI SE Driver to manage the GENI based QUP Wrapper and the common aspects of all SEs inside the QUP Wrapper. This patch series also introduces the UART and I2C Controller drivers to drive the SEs that are programmed with the respective protocols. [v2] * Updated device tree bindings to describe the hardware * Updated SE DT node as child node of QUP Wrapper DT node * Moved common AHB clocks to QUP Wrapper DT node * Use the standard "clock-frequency" I2C property * Update compatible field in UART Controller to reflect hardware manual * Addressed other device tree binding specific comments from Rob Herring Karthikeyan Ramasubramanian (7): qcom-geni-se: Add QCOM GENI SE Driver summary dt-bindings: soc: qcom: Add device tree binding for GENI SE soc: qcom: Add GENI based QUP Wrapper driver dt-bindings: i2c: Add device tree bindings for GENI I2C Controller i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller dt-bindings: serial: Add bindings for GENI based UART Controller tty: serial: msm_geni_serial: Add serial driver support for GENI based QUP .../devicetree/bindings/i2c/i2c-qcom-geni.txt | 35 + .../devicetree/bindings/serial/qcom,geni-uart.txt | 29 + .../devicetree/bindings/soc/qcom/qcom,geni-se.txt | 66 + Documentation/qcom-geni-se.txt | 56 + drivers/i2c/busses/Kconfig | 10 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-qcom-geni.c | 656 +++++++++ drivers/soc/qcom/Kconfig | 8 + drivers/soc/qcom/Makefile | 1 + drivers/soc/qcom/qcom-geni-se.c | 1016 ++++++++++++++ drivers/tty/serial/Kconfig | 10 + drivers/tty/serial/Makefile | 1 + drivers/tty/serial/qcom_geni_serial.c | 1414 ++++++++++++++++++++ include/linux/qcom-geni-se.h | 807 +++++++++++ 14 files changed, 4110 insertions(+) create mode 100644 Documentation/devicetree/bindings/i2c/i2c-qcom-geni.txt create mode 100644 Documentation/devicetree/bindings/serial/qcom,geni-uart.txt create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt create mode 100644 Documentation/qcom-geni-se.txt create mode 100644 drivers/i2c/busses/i2c-qcom-geni.c create mode 100644 drivers/soc/qcom/qcom-geni-se.c create mode 100644 drivers/tty/serial/qcom_geni_serial.c create mode 100644 include/linux/qcom-geni-se.h