From patchwork Mon Aug 15 13:40:26 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Rosin X-Patchwork-Id: 659226 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3sCc9K4n3pz9t39 for ; Mon, 15 Aug 2016 23:41:57 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=axentiatech.onmicrosoft.com header.i=@axentiatech.onmicrosoft.com header.b=TJADzEoD; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753072AbcHONle (ORCPT ); Mon, 15 Aug 2016 09:41:34 -0400 Received: from mail-db5eur01on0105.outbound.protection.outlook.com ([104.47.2.105]:60410 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753064AbcHONlb (ORCPT ); Mon, 15 Aug 2016 09:41:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axentiatech.onmicrosoft.com; s=selector1-axentia-se; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=cx0rCKkhIC1Gl+bWPhSwdmteZumzx39wq6XkxFNRm68=; b=TJADzEoDAE/onXSS3ZJTH3lHGeKkBdSVaM922btyq9DqxLVHDrIqkjf57LC0WevL5q9ZN7vUDGhrQi3Gh4jGWKXnBU7aDgB59jU9AbH5iwuRP4AtEqFyCyMEjTRBFEX/1nXQ/F9MDNp/0ugUlOfg8BBMS5ggWllH7AnafmNeW64= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Received: from localhost.localdomain (217.210.101.82) by DB6PR0201MB2309.eurprd02.prod.outlook.com (10.169.222.148) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.557.21; Mon, 15 Aug 2016 13:41:26 +0000 From: Peter Rosin To: CC: Peter Rosin , Wolfram Sang , Rob Herring , Mark Rutland , Guenter Roeck , "David S. Miller" , Geert Uytterhoeven , Andrew Morton , Greg Kroah-Hartman , Mauro Carvalho Chehab , , , Crestez Dan Leonard Subject: [PATCH v2 3/8] dt-bindings: i2c: add support for 'i2c-gate' subnode Date: Mon, 15 Aug 2016 15:40:26 +0200 Message-ID: <1471268431-5148-4-git-send-email-peda@axentia.se> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1471268431-5148-1-git-send-email-peda@axentia.se> References: <1471268431-5148-1-git-send-email-peda@axentia.se> MIME-Version: 1.0 X-Originating-IP: [217.210.101.82] X-ClientProxiedBy: DB4PR02CA0038.eurprd02.prod.outlook.com (10.242.174.166) To DB6PR0201MB2309.eurprd02.prod.outlook.com (10.169.222.148) X-MS-Office365-Filtering-Correlation-Id: bd580bcf-c847-46f7-d145-08d3c511dbb1 X-Microsoft-Exchange-Diagnostics: 1; DB6PR0201MB2309; 2:AmDBjrulaiyC6m/tXdYnQgvVTvvUm9Ou0gnF/E6B3HC0pU7DwryX+q9JGt9Pjs5EYRIMFuuw0qCs1PILpfVZBzbI9riabv7LRdXVYvq6/MgxxtD1MfxFUsz4vGLdefaChQkFfWOoOup81Kva+XhyDOrOmMb7hlXNIJ8D9jP1krJ1KNaSH8OT52sdnLSKx9cX; 3:eAcf5BIMTigJsk6fKjiWYgG5OGuMZbnvMOV/yjfYzsx5/Ddff0DB10NSD9XhjKbQQqGZ/446pW0xnqZsy4wxSml0N9LFfsxMvm8owX6gxvqSpU48LQcSZ6tV2lW23Dch; 25:93iiJPTHcD7uF48UYvJwn+UlELZzhWdj5tKzQo2PASbVO/JtPtiVziRsZZ6tGH9XzwkWgAPaeTs9r/qEHPU7MrjkyYwgllVrS3Oh8qTLfGXYdlPYVosDwNo0jB2lmHOLtpkgAizfbM7oYwEYBo7R724p0tYoBOzc6lPdwrdz4dV2GXzIwsTFK6J+24rnSc742EYWHpJNUd+HXFp7NC+uoMOfdodGrEo447nCjVMZ+Vw//DgNZMstEq93iEDUdxYBn50/7dVxpJn23XNzu1whB7bukhsi5PCHxRUxOISO77rPrnscbBuWNbZ//49zwhzCkGtZdiki07j5Q8S0GQWoX8DLYlvZ7whP5SBFleLE4ZUk/jMKk1A/D1Kp2GlV0mkG02p1pGxQ/wL2DqaKKqG8yLY4ccqm8yElmBF+ND/hmgU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0201MB2309; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0201MB2309; 31:vnDG70guVgXVVW06EtoQWASCK9wLXRFvS3nSUciN1sgNem9vh7wfx+yeviQoaOFpJCJWzqFpVvA9WLCBgE8UttaoUnba5enawMje7YgbI3zRpw5+q0h3q+R2ikM7A0ODSdfD6E/BLoKGYylFmWKCsUfj3euqhreyqRzI6dm+US3pugm+T4xpd0H0FMcKXeTTQYs9bpCVNbT8zhOHlm9/FbDBShX9LzR48NPbVHI8ym4=; 4:Ic4G0Tx88xpMQZwPVkWmaNYSzbAInlC3L3WqJmcl5ag1vMu74kCADh4e2nn6P9CnDER1zY9Ws8EM2PLKUR+MDCWTvQUYsWpJ4KB/kYpo2IZQuDG8BuldjaftkDFicY3TMJOL+qlk0qtUpRPSd9rJTN88MZC4/wzcQz6Lix+jfskQsenlYnXwc77zC1PiYyHKoYtXlmCGjzgsmOIDQrKDTu1YSHnVY6kX+4RUmtr9x4XdqrLk398w8f2OdaGzU5sBdwmqvxO2Un5JmyKYZSisjxoEIiXI8ARWXCpP+Nxfv2sNXfC5RQW+Eigc2nJ/at8y0ghDDfEpKSCfFAO2qfNuAr28rR88TL0CWn1meqJrcLjDHo+riwj/JDM8ue/U02gDCTi7D1+lsUFMP2iwaAiRBEWKY6pPbqUOb6+kj5QQEP0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6042046)(6043046); SRVR:DB6PR0201MB2309; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0201MB2309; X-Forefront-PRVS: 0035B15214 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(6069001)(7916002)(189002)(199003)(19580405001)(50226002)(106356001)(101416001)(3846002)(36756003)(2351001)(77096005)(74482002)(575784001)(6116002)(229853001)(105586002)(586003)(19580395003)(189998001)(86362001)(42186005)(5003940100001)(8676002)(7416002)(76176999)(66066001)(2950100001)(50986999)(48376002)(68736007)(47776003)(81166006)(7846002)(92566002)(33646002)(97736004)(305945005)(2906002)(4326007)(110136002)(7736002)(81156014)(50466002)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0201MB2309; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: axentia.se does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0201MB2309; 23:1shmOkzW7OfrzrJqnuoePEaeDJ5hnRxC0OezRJ1?= =?us-ascii?Q?C4rU2yLJ5K8/wSRjsFGRl0x4gb1VI9+6VBbOGeBuyOODo13pxPK/ORoqWfy5?= =?us-ascii?Q?SfXkIXyN+tHH71FadyCxQwC765jJ4zPjy10wnGakvsUENPDW3n+K91CBfA5f?= =?us-ascii?Q?Z+tfylo9hbiK2ClO2vfsxvEC+48wemIzz27f8mbofh++vjFBdmbEJSgS/AAz?= =?us-ascii?Q?pBvvWhvOzgeais4PCUZ9Yb5iTWZYkgGDX0JaJe0PicC5SA0Dlte0BymL0g//?= =?us-ascii?Q?j3GDVWhFqrlIE4aLTjkARYTA2YsgdWKrYikOeeRs3wyDgbAyOHuzYE3TAlnI?= =?us-ascii?Q?RxEEuXnvzBw24Ldu5vOK4XotXacuiPrKRLqscO1up9n3Qhc4bdLw2y8o35PN?= =?us-ascii?Q?JUQEDgyovp9Hre+GApJUt4bgVmUQ1DJ3exGU2i6DK6/AEdWxex+5RiffJnmY?= =?us-ascii?Q?cMg4z0Qayw39yHSlR7NixaLNbO+J1Jn9BinAC5hilZey1syVfZHyPcfalnme?= =?us-ascii?Q?vWGYLNyvbxSLdkq5SVu3xpz16tOJqjGEOHYyeXzOW+vnGYFDLTqcthBOoH3W?= =?us-ascii?Q?KSs/H2HSvxHxE0+pp4Ut6zdMEgDuKC/FRW3xsTqGDRscObmMwzLVCXqCAwJM?= =?us-ascii?Q?LO4TC1XW4sBS6R1O2mLua1yNDJjlYMgg/LWj1HojMBdMPpCPPMDFJmU7vzn7?= =?us-ascii?Q?JLLV6FdGR7nBCSZMNwCdcYnyIQ+9/TlVTkMWr1lvsM4BQpzB2K7tfkI+mjdC?= =?us-ascii?Q?Sxk/YvwILM6yXGLkMz7oAUibHxqdUZfXPvZKAYcVzvquQ0uPhqexOW3u2jTN?= =?us-ascii?Q?bU2vJj2PUklpD4cH2i3b/TBeCEqXO3sb4OsE6jrXOLF7/U0udfeohZ+mPxnj?= =?us-ascii?Q?jwllHb0ZFifrZmFx6ETT01kaIMTb9o+NBwTxl+vsr3BCQ8E5htm4AdCA/Qkd?= =?us-ascii?Q?M7htB/KFRndWWOBHlAWouEYo8GCRz90LIKRnpgsfKKwyYVzCZxgn7/kNMX8O?= =?us-ascii?Q?nJFelNTXrqWmaTK5BJ2y2sxYM5giumoJJSrQjXrb82KEvlLt/AVaTHDn4LWe?= =?us-ascii?Q?BDj4ZdZD+J+hOcGa6ZTWRZlEl0sYdQsauotLUvnZQRMv4VsVN07FL24fMGqE?= =?us-ascii?Q?6v/GaZUc3GqJDT6CQ9OJfluhOzQ7n++p2ktQabqRFRvutLgD3wbkK7Q=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0201MB2309; 6:hhwnXmZNilomdw6pBilpT7dgT0mmsp4/kyX+ITBe322EjPGReAefWIY11SilKPpeFdz5O9L8Gd9JH4R1FlMgKrCSh5C4V3iabybB9g6pysEnFeKTU6C7qJ2psr/QAIKY9EgBAHXXKOJA4D5cpYtahH1m5lEXxGcUEZrRVlULqd0baJxp+XuFsASxnb0WLDhLgNggE9LGFPgT87XOxI/Zk6IX3yhtrP5uAMiBdjweUy5JlBpCS3WRjAOMHulVjfbvld16asPDBFgsI4IwspESP5dVwRlwQFmq8P9L5jLdWWTlpuYLUaX2Pq70DHaGTDRk; 5:3sD3P6IGmkHjyhwSeJyl5MpAqoUGArLcuB9ZEKIcTcGTCBwrk0iGtv32err9MP93rwASp/+tCX7n7J15CzWalTwnxAcG0Br1V8AD/HCHatMAoOgwBTnCct2mIpTYJqcRJ/YOi0UqA1M1wI17s471+w==; 24:5pDjU9woeX1eZJoi2PcvSo2kP/2KYN/dClGcF3g+QXxjV6pxSWCRTiPKZMQjYhJhbK+Qi9uYpJy6hpQ0X4mManN/P35UjqTwAG7m6ADvB/c=; 7:l/ZApbZFhu726WmMEzyRVAe+l2YTkW3CUAzHDylJHAflK7B9rNXNalrOkSGdMJZKEdd36KzzO+/TtoxO1bkfVVidwW6erId48t0Dbvd+djgJHgR1I/QFvkuwfpo0FPdy41YcKtfVmuk5dXpmKTXUPxPrhfD+83oE1tOnirXXwW0o8Pzsf6xQIeyyDx5YeT/0Xexiff5pel81/HlTls93K+ayeo1tp/mIs4k4VU7pRemC07Z5YFcbxWVT5oasKnYs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2016 13:41:26.5298 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0201MB2309 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org Handle i2c gates similarly to how i2c arbitrators are handled. This gets rid of a pointless 'reg' property for i2c gates. I.e. this new and more compact style some-gate { i2c-gate { #address-cells = <1>; #size-cells = <0>; some-i2c-device@50 { reg = <0x50>; }; }; }; instead of the old some-gate { #address-cells = <1>; #size-cells = <0>; i2c@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; some-i2c-device@50 { reg = <0x50>; }; }; }; Signed-off-by: Peter Rosin Acked-by: Rob Herring --- Documentation/devicetree/bindings/i2c/i2c-gate.txt | 41 ++++++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 42 insertions(+) create mode 100644 Documentation/devicetree/bindings/i2c/i2c-gate.txt diff --git a/Documentation/devicetree/bindings/i2c/i2c-gate.txt b/Documentation/devicetree/bindings/i2c/i2c-gate.txt new file mode 100644 index 000000000000..0b057fb2a15a --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-gate.txt @@ -0,0 +1,41 @@ +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@0c { + compatible = "ak,ak8975"; + reg = <0x0c>; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 1a61e2f5a0a9..7444b03a4c28 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5661,6 +5661,7 @@ F: Documentation/i2c/i2c-topology F: Documentation/i2c/muxes/ F: Documentation/devicetree/bindings/i2c/i2c-mux* F: Documentation/devicetree/bindings/i2c/i2c-arb* +F: Documentation/devicetree/bindings/i2c/i2c-gate* F: drivers/i2c/i2c-mux.c F: drivers/i2c/muxes/ F: include/linux/i2c-mux.h