From patchwork Thu Jan 21 10:18:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miquel Raynal X-Patchwork-Id: 368091 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C35EC433E0 for ; Thu, 21 Jan 2021 10:19:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F165723356 for ; Thu, 21 Jan 2021 10:19:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728781AbhAUKTP (ORCPT ); Thu, 21 Jan 2021 05:19:15 -0500 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:46325 "EHLO relay7-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729147AbhAUKS5 (ORCPT ); Thu, 21 Jan 2021 05:18:57 -0500 X-Originating-IP: 86.201.233.230 Received: from localhost.localdomain (lfbn-tou-1-151-230.w86-201.abo.wanadoo.fr [86.201.233.230]) (Authenticated sender: miquel.raynal@bootlin.com) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 8AF3020009; Thu, 21 Jan 2021 10:18:09 +0000 (UTC) From: Miquel Raynal To: Alexandre Belloni , linux-i3c@lists.infradead.org, Rob Herring , Cc: Thomas Petazzoni , Conor Culhane , Rajeev Huralikoppi , Nicolas Pitre , Miquel Raynal Subject: [PATCH v5 0/6] Silvaco I3C master driver Date: Thu, 21 Jan 2021 11:18:02 +0100 Message-Id: <20210121101808.14654-1-miquel.raynal@bootlin.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hello, Here is the addition of a driver for the Silvaco I3C master IP. Changes in v5: * Added Rob's R-by when relevant. * Fixed the robots warnings by pushing a little bit forward the changes in the mipi-hci binding file. * Fixed the I3C master node name regex. * Removed the redundant $ref: entries when the hz suffix is used. * Simplified a little bit the regexes defining the child nodes. * Updated the reg propertie description to better describe each entry. Changes in v4: * Converted the I3C binding file to yaml schema (including a license change, as requested by checkpatch.pl) * Included this schema to the MIPI HCI binding file. * Updated the Silvaco binding following Rob's review. * No changes in the driver at all. Changes in v3: * Fix the MAINTAINERS file. * Fix the bindings (clocks description, size-cells, etc) * Add Rob's Ack on one patch. * Dropped unnecessary locks. * Used a hardware feature to automatically NACK IBI's during regular data transfers. * Stopped flushing FIFOs (not needed). * Entirely reworked the IBI handling logic. * Dropped the warning when a device does not advertise it's dynamic address during an IBI. * Moved the IBI logic into the master's workqueue instead of a threaded handler. * Added a svc_i3c_master_readb() helper. * Used consistent bit definitions (BIT() vs. FIELD_GET()). Changes in v2: * Change the manufacturer name from svc to silvaco. Miquel Raynal (6): dt-bindings: i3c: Convert the bus description to yaml dt-bindings: i3c: mipi-hci: Include the bus binding dt-bindings: Add vendor prefix for Silvaco dt-bindings: i3c: Describe Silvaco master binding i3c: master: svc: Add Silvaco I3C master driver MAINTAINERS: Add Silvaco I3C master Documentation/devicetree/bindings/i3c/i3c.txt | 140 -- .../devicetree/bindings/i3c/i3c.yaml | 179 ++ .../devicetree/bindings/i3c/mipi-i3c-hci.yaml | 9 +- .../bindings/i3c/silvaco,i3c-master.yaml | 60 + .../devicetree/bindings/vendor-prefixes.yaml | 2 + MAINTAINERS | 8 + drivers/i3c/master/Kconfig | 8 + drivers/i3c/master/Makefile | 1 + drivers/i3c/master/svc-i3c-master.c | 1478 +++++++++++++++++ 9 files changed, 1743 insertions(+), 142 deletions(-) delete mode 100644 Documentation/devicetree/bindings/i3c/i3c.txt create mode 100644 Documentation/devicetree/bindings/i3c/i3c.yaml create mode 100644 Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml create mode 100644 drivers/i3c/master/svc-i3c-master.c Reviewed-by: Rob Herring Reviewed-by: Rob Herring