From patchwork Sat Oct 31 18:17:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Cameron X-Patchwork-Id: 320106 Delivered-To: patch@linaro.org Received: by 2002:a92:7b12:0:0:0:0:0 with SMTP id w18csp2437005ilc; Sat, 31 Oct 2020 11:20:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzsZwjAYEyrIohccAthqsu4tOiRdmrd+MEeQ+7D0ExHDJ7NLU3k2+ZzQJ07pAeyOxopUFAx X-Received: by 2002:a17:906:a0cb:: with SMTP id bh11mr8463871ejb.314.1604168416292; Sat, 31 Oct 2020 11:20:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1604168416; cv=none; d=google.com; s=arc-20160816; b=ZK8JmocBsJX7Apc64GEgAlC6okT24+1bUpugbHnFj7tb47kRQnAHINaW0ICdli/FNV 46cnXDYXIKUnd9Y+g8s62NY8x7DMeNqtYa3h2j4Jtydy0uT+B4EjmuPH/MfcAVPkEOa3 SB8d1nhbIjxHDSZytxIktAcItVkxffs7V/h8BtqGW6no7cFxsCtrof2CVlrr3Sje4jIG GkP+EiSksOoexkvwU0zCigPTcuj16Z1Zhw8sffF8ZwfyxujG1KVTpHnKe2fjxpgqZqho VqKlQonwdJGxnXX7Gfw7NXSQ3Pk01pH9h2sEWNu/iS1IEjNt2tINBYeQSCDXYS6QDsmX pyLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=tl2C5r1CuWBoWila9LAT+bXAHBE5bfxg0HGWQ/iEHbo=; b=qwZDZStjRqcdTLOZsiP70SeePRNxjm8xa8Qyn5p1EzVP0pNKlDpIF503Hs+JUcyym8 TAWIbWEElP1a4xWGvBF2aRcYPakycDcqJCkzFVggsuU9Vpw2b1HvuT0yHEBJsqp+eWFH OjNBy6Ut6eebZvVLNiFSNyXIwP+wpOIo13ho3XIYbfXDwOYigHwBOxTtUG4oNi+FmElo BL6Cj3f1X25M68KpwN0op1eStnY0CCanvURMAL1FXXa5b1DO/eNJBXgomvh56GZu9fXy UweGPypTuG/oJ6sIjICHoR1iGVgG5r7ctYFkbNLa1EuebHS4HaD9XjQVbEz0B071r0Tn 0mlg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=J7IOWt6P; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a16si8093688ejk.22.2020.10.31.11.20.16; Sat, 31 Oct 2020 11:20:16 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=J7IOWt6P; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728219AbgJaSUP (ORCPT + 6 others); Sat, 31 Oct 2020 14:20:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:47344 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727967AbgJaSUP (ORCPT ); Sat, 31 Oct 2020 14:20:15 -0400 Received: from localhost.localdomain (cpc149474-cmbg20-2-0-cust94.5-4.cable.virginm.net [82.4.196.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B5A1E206E3; Sat, 31 Oct 2020 18:20:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604168414; bh=jbJQIsNnmVBL/hC0vfUaWlEmHz/8T8FVXPn5z06RA3w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J7IOWt6PAHkN+iznkuGVNVy5FV0MNErDNX0ktTn4O02fu4z/TRS3v3lhw6qySRroU gYcNbTJjRvsfNpQn25qsWg7WpghII4fwK6F13q2njXCSYq57yt3KPttxRHyvbBczWR urKn5Ii3Km+k90wT/NFqnYNG1WGyHjNUX2kmfy7k= From: Jonathan Cameron To: linux-iio@vger.kernel.org, Rob Herring , devicetree@vger.kernel.org, linux-i2c@vger.kernel.org Cc: Wolfram Sang , Jonathan Cameron , Peter Rosin , Wolfram Sang Subject: [PATCH 1/3] dt-bindings:i2c:i2c-gate: txt to yaml conversion Date: Sat, 31 Oct 2020 18:17:59 +0000 Message-Id: <20201031181801.742585-2-jic23@kernel.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201031181801.742585-1-jic23@kernel.org> References: <20201031181801.742585-1-jic23@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Jonathan Cameron Needed to reference from the invensense,mpu6050 yaml binding. Signed-off-by: Jonathan Cameron Cc: Peter Rosin Cc: Wolfram Sang --- .../devicetree/bindings/i2c/i2c-gate.txt | 41 --------------- .../devicetree/bindings/i2c/i2c-gate.yaml | 52 +++++++++++++++++++ 2 files changed, 52 insertions(+), 41 deletions(-) -- 2.28.0 diff --git a/Documentation/devicetree/bindings/i2c/i2c-gate.txt b/Documentation/devicetree/bindings/i2c/i2c-gate.txt deleted file mode 100644 index 1846d236e656..000000000000 --- a/Documentation/devicetree/bindings/i2c/i2c-gate.txt +++ /dev/null @@ -1,41 +0,0 @@ -An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected -to the i2c bus. Gates are similar to arbitrators in that you need to perform -some kind of operation to access the i2c bus past the arbitrator/gate, but -there are no competing masters to consider for gates and therefore there is -no arbitration happening for gates. - -Common i2c gate properties. - -- i2c-gate child node - -Required properties for the i2c-gate child node: -- #address-cells = <1>; -- #size-cells = <0>; - -Optional properties for i2c-gate child node: -- Child nodes conforming to i2c bus binding - - -Example : - - /* - An Invensense mpu9150 at address 0x68 featuring an on-chip Asahi - Kasei ak8975 compass behind a gate. - */ - - mpu9150@68 { - compatible = "invensense,mpu9150"; - reg = <0x68>; - interrupt-parent = <&gpio1>; - interrupts = <18 1>; - - i2c-gate { - #address-cells = <1>; - #size-cells = <0>; - - ax8975@c { - compatible = "ak,ak8975"; - reg = <0x0c>; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/i2c/i2c-gate.yaml b/Documentation/devicetree/bindings/i2c/i2c-gate.yaml new file mode 100644 index 000000000000..29aa0690ed9a --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-gate.yaml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/i2c-gate.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Common i2c gate properties + +maintainers: + - Peter Rosin + +description: | + An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected + to the i2c bus. Gates are similar to arbitrators in that you need to perform + some kind of operation to access the i2c bus past the arbitrator/gate, but + there are no competing masters to consider for gates and therefore there is + no arbitration happening for gates. + +properties: + $nodename: + const: i2c-gate + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-fA-F]+$": + type: object + description: | + Child nodes for i2c devices behind the gate. + +required: + - "#address-cells" + - "#size-cells" + +additionalProperties: true + +examples: + - | + i2c-gate { + #address-cells = <1>; + #size-cells = <0>; + ak8975@c { + compatible = "ak,ak8975"; + reg = <0x0c>; + }; + }; +... + From patchwork Sat Oct 31 18:18:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Cameron X-Patchwork-Id: 320108 Delivered-To: patch@linaro.org Received: by 2002:a92:7b12:0:0:0:0:0 with SMTP id w18csp2437045ilc; Sat, 31 Oct 2020 11:20:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw01XfnyS6HYIwk4ZmNhT0TIPoj//lKEpHxr6QVf3LDRTdzx2EQtnIbFNiLy2PKeasckfUg X-Received: by 2002:aa7:c717:: with SMTP id i23mr8548594edq.250.1604168420283; Sat, 31 Oct 2020 11:20:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1604168420; cv=none; d=google.com; s=arc-20160816; b=OsQKjalOWVhx3tjsbPObn1RJDfdeYQKlXxYfPdMwNFL99gypzyq1yTBINVr4qcqSna O6l7knS2YYsbAvO5WZkbQ7Ut+Kmf1YsP+EVYXcOVRl9faRAprxBdyQCEZMb5krpMKLEO gTmYc40pOA46UTwI0IAlOSlqIRjl8ToXCjqubbZ4XrnFRWHhbs3URVxsGmHjeEewjLLl NC9XyGE+fq90+JKrpQwKe0eRPn3+QrmG7WLZkn9HIx74ESD4I0RBxH+eavipnORp/LmN C6kGwPF7AKNCPePcxkTsTwyK9jQsXxeydYUws+r31ujZgN/Z433xmpv48fUpHil2eZ8+ +88w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=swCfsPvTS/z8q4vdJ25z4ZtvWywOxWiyB32IhKAQNSQ=; b=kkXJRJQlJl226JLom3GB7yABFSs91ZIq1TfbbHyzWFBeeP0gusrGG5U+38AoPv/iz2 NQ8PLuO5/lzVpIgUU5fOD7Ve59ldr+RY7tKWFB9gG3GJhfe+O/vupp9N2fv46AhGHbWN cMwHy4ZNReoIjHkxG2F39ZbigRe89DgRoMuPZerrG851y+A0QntMHQUKMtWWTwXC9Uqp CP4Zj4UBo+utcF1DwJMVikEQzcaLZpVODy+fBrojvYd44xk5C+b2+6UYBeLyyyIw/2CH SI8Hslcb2u9aERYciuamT0TTf7EE3OlwR1D0HStmV9KQcKiiq5ZL81k56wp0J6S+kYRn 0Fag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o8TzeA3J; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a16si8093688ejk.22.2020.10.31.11.20.20; Sat, 31 Oct 2020 11:20:20 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o8TzeA3J; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728239AbgJaSUT (ORCPT + 6 others); Sat, 31 Oct 2020 14:20:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:47448 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727967AbgJaSUT (ORCPT ); Sat, 31 Oct 2020 14:20:19 -0400 Received: from localhost.localdomain (cpc149474-cmbg20-2-0-cust94.5-4.cable.virginm.net [82.4.196.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id DBAAF206F9; Sat, 31 Oct 2020 18:20:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604168418; bh=tskoch4DLlTeJ2sYv4chlZZnXQWrFh+JhKivYGYdftQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=o8TzeA3J0YA7LuH4SJ+rpZyvgCGcGk6H+Gz1+QTBs31Ox0Muqfq3E9Y8k2ebiY+NY gWpQKLHvMxyD1aI6uJKsz+iYWzTn5cjOzI3Q+aaxTrSsDl0puuRGtDnYG6976pGbfu EdZ9rnskK+4G8fH52Z/5qai/AEqUQzKUTxNcrj8E= From: Jonathan Cameron To: linux-iio@vger.kernel.org, Rob Herring , devicetree@vger.kernel.org, linux-i2c@vger.kernel.org Cc: Wolfram Sang , Jonathan Cameron , Linus Walleij Subject: [PATCH 3/3] dt-bindings:iio:gyro:invensense, mpu3050: txt to yaml format conversion. Date: Sat, 31 Oct 2020 18:18:01 +0000 Message-Id: <20201031181801.742585-4-jic23@kernel.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201031181801.742585-1-jic23@kernel.org> References: <20201031181801.742585-1-jic23@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Jonathan Cameron Very similar to the mpu6050 binding. Only unusual element is the i2c-gate section. Example tweaked a little to include a real device behind the gate. Signed-off-by: Jonathan Cameron Cc: Linus Walleij --- .../iio/gyroscope/invensense,mpu3050.txt | 45 ------------ .../iio/gyroscope/invensense,mpu3050.yaml | 70 +++++++++++++++++++ 2 files changed, 70 insertions(+), 45 deletions(-) -- 2.28.0 Reviewed-by: Linus Walleij diff --git a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt deleted file mode 100644 index 233fe207aded..000000000000 --- a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt +++ /dev/null @@ -1,45 +0,0 @@ -Invensense MPU-3050 Gyroscope device tree bindings - -Required properties: - - compatible : should be "invensense,mpu3050" - - reg : the I2C address of the sensor - -Optional properties: - - interrupts : interrupt mapping for the trigger interrupt from the - internal oscillator. The following IRQ modes are supported: - IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, IRQ_TYPE_LEVEL_HIGH and - IRQ_TYPE_LEVEL_LOW. The driver should detect and configure the hardware - for the desired interrupt type. - - vdd-supply : supply regulator for the main power voltage. - - vlogic-supply : supply regulator for the signal voltage. - - mount-matrix : see iio/mount-matrix.txt - -Optional subnodes: - - The MPU-3050 will pass through and forward the I2C signals from the - incoming I2C bus, alternatively drive traffic to a slave device (usually - an accelerometer) on its own initiative. Therefore is supports a subnode - i2c gate node. For details see: i2c/i2c-gate.txt - -Example: - -mpu3050@68 { - compatible = "invensense,mpu3050"; - reg = <0x68>; - interrupt-parent = <&foo>; - interrupts = <12 IRQ_TYPE_EDGE_FALLING>; - vdd-supply = <&bar>; - vlogic-supply = <&baz>; - - /* External I2C interface */ - i2c-gate { - #address-cells = <1>; - #size-cells = <0>; - - fnord@18 { - compatible = "fnord"; - reg = <0x18>; - interrupt-parent = <&foo>; - interrupts = <13 IRQ_TYPE_EDGE_FALLING>; - }; - }; -}; diff --git a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml new file mode 100644 index 000000000000..b0a476afb656 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml @@ -0,0 +1,70 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/gyroscope/invensense,mpu3050.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Invensense MPU-3050 Gyroscope + +maintainers: + - Linus Walleij + +properties: + compatible: + const: invensense,mpu3050 + + reg: + maxItems: 1 + + vdd-supply: true + + vlogic-supply: true + + interrupts: + minItems: 1 + description: + Interrupt mapping for the trigger interrupt from the internal oscillator. + + mount-matrix: true + + i2c-gate: + $ref: "../../i2c/i2c-gate.yaml" + unevaluatedProperties: false + description: | + The MPU-3050 will pass through and forward the I2C signals from the + incoming I2C bus, alternatively drive traffic to a slave device (usually + an accelerometer) on its own initiative. Therefore is supports a subnode + i2c gate node. + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + #include + i2c { + #address-cells = <1>; + #size-cells = <0>; + gyroscope@68 { + compatible = "invensense,mpu3050"; + reg = <0x68>; + interrupt-parent = <&foo>; + interrupts = <12 IRQ_TYPE_EDGE_FALLING>; + vdd-supply = <&bar>; + vlogic-supply = <&baz>; + + i2c-gate { + #address-cells = <1>; + #size-cells = <0>; + + magnetometer@c { + compatible = "ak,ak8975"; + reg = <0x0c>; + }; + }; + }; + }; +...