From patchwork Thu Jan 14 17:55:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miquel Raynal X-Patchwork-Id: 362988 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 BB812C433E0 for ; Thu, 14 Jan 2021 18:02:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 802A123B54 for ; Thu, 14 Jan 2021 18:02:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726043AbhANSB6 (ORCPT ); Thu, 14 Jan 2021 13:01:58 -0500 Received: from mslow2.mail.gandi.net ([217.70.178.242]:44870 "EHLO mslow2.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725995AbhANSB6 (ORCPT ); Thu, 14 Jan 2021 13:01:58 -0500 Received: from relay9-d.mail.gandi.net (unknown [217.70.183.199]) by mslow2.mail.gandi.net (Postfix) with ESMTP id 3AAC33A50D0 for ; Thu, 14 Jan 2021 17:57:04 +0000 (UTC) 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 relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 29E86FF804; Thu, 14 Jan 2021 17:56:01 +0000 (UTC) From: Miquel Raynal To: Rob Herring , , Alexandre Belloni , linux-i3c@lists.infradead.org Cc: Thomas Petazzoni , Conor Culhane , Rajeev Huralikoppi , Nicolas Pitre , Miquel Raynal Subject: [PATCH v4 0/6] Silvaco I3C master driver Date: Thu, 14 Jan 2021 18:55:52 +0100 Message-Id: <20210114175558.17097-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 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 controller 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 | 186 +++ .../devicetree/bindings/i3c/mipi-i3c-hci.yaml | 5 +- .../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, 1747 insertions(+), 141 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