From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753350AbcHOTPX (ORCPT ); Mon, 15 Aug 2016 15:15:23 -0400 Received: from mail-db5eur01on0095.outbound.protection.outlook.com ([104.47.2.95]:31712 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753188AbcHOTPU (ORCPT ); Mon, 15 Aug 2016 15:15:20 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; 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 2/8] dt-bindings: i2c: add support for 'i2c-arb' subnode Date: Mon, 15 Aug 2016 15:40:25 +0200 Message-ID: <1471268431-5148-3-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 Content-Type: text/plain 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: c7a8e096-c6c8-4a98-89cd-08d3c511d313 X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2309;2:V7cXdXhWrF205TNpDPYZ+yVrtEYBfnLizcv4fbEBr9Es9qy5thEeyWDaOMliT63iaaORH2yiMxbabERgHPd/ubBdj5YyybB907YOd9W6MI/AthTpwIdWz70ltVVtiFqtBLJprlrLGwBdL/wCFAi7ucZuqzJHYdFRA3+HkKQnj0djnfNSIXPH9gE93qip7nZ6;3:/0JG6F+a69kVhTVmmcNvJ3I0+tOcIWr10/q3NGr5CGxNyOrN+v9nHJUAPEsXmRY8i9WRGmru14d/IsgZRwEA5Wk4DYKQ8A8RvmujeLqL1lCIkKiK4TaQgzA/0bzGUhkN;25:r+ka0ZFcfc111U4o5jwpieXneKRUowzbKpCeHjb6colWRHYFPnv0cTUIX9xDp2U27Q8vyZhUJDtEzZLwKj/odbzew+OPmr6uqWCv0pHmqXgw/FXaOIbV7N93kNFsB8XX5r0+YDO509uDDiZ+AeEbZK5AhwOM2G7vjHwbSO40YfVutyaO7/4EsBK72T34aE2gGQtH8zDf/zr3VtM9U1HoCABF7p+ZVo5yXz4QZi0ryOb3qnlT82zjD2S4y8qlUhB5xOYdTIT24QsxnvNO5S3Sxw2hsKPUhSg1sqv+zi+J79uYHhTZ9NruLy5lqUYkaoPgTg521uGYN+2Vp3St5m6X6XsWeRYf85t7jriFy4KnJYFMgk5l1loDo+/rB9XPgfxgf+PVdMwRtkShYUNqyNkgow== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0201MB2309; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2309;31:tU5TiWiL27TUSGNIQGVW/MZ1CqF7Q/OuRTHnv4exxZz4mz+6Jlpaspm+umcRz0f3OXx6gbdIoTI4+VFr2NZiRmv1Bb3PFV8tplnFRykkoV8ClsZaaVQDqkZv5CdKz81CVK4hSg4bjyReJbeWr5GMFIAFMhxSkqis3N/Xu8Qxk9mW4ur+o8ClCTR1lcsZMCIE/qExnuXWY9qDquZatjORpNc4Q8R4fT5NNPRMLLF78gk=;4:ha3DrA9/Ue4TVe24nv94HKke76vl/CHWR3B/ATQv22T5dOVLr4FWmi5Av861imOWVOHJYSE4SanrP9YRg/w4ZdNIlwvv9z0+gHNgA1KQ73IKZxB0detUl8Bd76Ac8DRMdeQyl2rxgg2j9MuN7Zbl98d0lz7rqYB/RJJ8uXHxswM69drzRg2I4oQTuexKa7NHmeuhzvhSUN2mKmUaEJ4WBEEJ70+QBKcfOj8UrYOa0Bq6aAKfX2oYcNUAFUwgbGR6MdoKOGigNN1HMqDy+2d4sQuDaEHX0ZXiD0BD4UrpJ10EzAl01IxAmqBaOq9nOzTGjWbBXKk3mUrEpxgWH6eaq9R9O4NK6FfHWIA5lJp24foDL64nsGxWkYLzzl/SrJuzfellhMWX69EUW0YMf990kV3F/iTLESSsnL30Ib6LqP0= 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)(5890100001)(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; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0201MB2309;23:Fpi/6VAFVSW3tDUzoYkpVtl7L0HlowE6kD2Q3Ht?= =?us-ascii?Q?f+0Ko3ToEyClTwswa460N8Z7VqPYqx+M0LfI/QxN/HCyEXvlY1hNdiVh1e8q?= =?us-ascii?Q?bPclWh0X21SXLC0BhcnMZ5eUrSvoAuniG27WeN7oJUjFhy/DNwkPFaogFltW?= =?us-ascii?Q?+vTUh8b14s/aHfc1DPAtuy53d6FTWk9Wg0HSjzogU2Qolf8SDHXTB9KSZdCJ?= =?us-ascii?Q?mWEo/ksG+CSowKzDqVrBdXxQoEtG4TNqeWcckC4tiCk4sVehT2pO1hy7GQD2?= =?us-ascii?Q?vaV9sxkat+pXPHBiGNN4XKlTAiEyo5dLDwuIwIhOUXAeICGiXVOI3JpUMo8o?= =?us-ascii?Q?NDgxisjo4Nh5liqUZJc1wHCee+3AR4aDCGn8koRpk+tiltkVYxVC1Q5ubSAi?= =?us-ascii?Q?fnXXxyjmC9Xlydef+JEzYX+2vMFiQzE0ywVatNdIZdNgutTa/hyHjXgTdlec?= =?us-ascii?Q?QQHzoNAJ9Q8Ga66zUl6sksn4E9KsoF3+Ko2DwsQahM6RBLlxFlcCaTWftFtY?= =?us-ascii?Q?BNjh5cqM6yAzNKOQFzrsWYtcEWZeJUoCqOE3OHjO4o7T6xHugHBZyOYSJ2q3?= =?us-ascii?Q?8zGfaQq3UoNeWbkUQRZxxt0KoMfhWM2TJ+2b2wFH+spQGxT1QapOHlSzwM40?= =?us-ascii?Q?LC0RoSG2gnoKMjegwCp6RkFdKX3jQjVn3zD67twXsKoYxIfBG2p2udog0CSV?= =?us-ascii?Q?Fu+hW8+1GcW/3h9sRortDr4dZXOEmk6+YJgbygTCbVbm7TzcB8QPArohEVZg?= =?us-ascii?Q?JO6WamdXKQVHMvshYRuuPoTjiEdXJ6Nr+7NdvDXK4j4LRTNeo2zByQWy93e6?= =?us-ascii?Q?rRIvhauJ/l9Ck9q81NZw99SO9QAFYe9MDMqQO80SIN/5iBnVYxs16yexixHO?= =?us-ascii?Q?OpANOXrSRSmzUJS0ngILH0OjRvJS67PXJewcsKx5isvRtuI5X3TWt1FzWq8H?= =?us-ascii?Q?xwnlQJWX3AYPRyAgvT4HR37NKRXLoeoS9cmN45wtsjTupcAYyN8gHN3a/AiT?= =?us-ascii?Q?dnXNrk6DnAqbHOqKAN1aJZZ6CuulDhC2eUrrBdIBpuepfHjEJlIUHL6JBeQ9?= =?us-ascii?Q?I7+uDvueYOzzH60105ePZN7fV36MQxGEOK+UHePWH7PVxkRQGWunTDD6r5HY?= =?us-ascii?Q?f8mE1aSFVteZELwUcNbEfjxekeVAHjV6RcWQZU636KfNjSIInULNsVlOrDyP?= =?us-ascii?Q?PW89Y/oS5S2oftVUNZbQ3/tSStcAygSL+mxnM?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2309;6:A//Gthy6nm+WdhtBAj46l36Ij8zi4+e0nPnJqLoJVuZC3lqQoMAZymte/6N5YS6VZ0QVKFO91UOKJWyc+FTwnrJDhpHueU2cQigOFl7AgFNXGJ+BASpjpuarNh6rJq68R9dZP27WdV+homvW4K5Q7kpC9wIGlWXjwH2iYv712JyKXECRxqL3peALF6hItdvLOZRf4OiuCg2ht9QzQySFG/jo7UqbJF4+r5vk8+OV2lbq61LueOnT+3AIRoLb53CR+I4GOpje5nEcXLVivy+764Aa/hihN3w5d9/jQhfXiioRwvbWR59ZCGN9450oZhtH;5:3/ChDheoS3t4CqiGNqQ/2L5Cdq3yq/DPpvzKUaZDCa7xHtwTXoHpcfBHqb76HZnqTVkEahhtF2EkOURHBfPlQmmGQC73e+o1Atm5OEEaVTD8jI6LoHIDbYJG8jlOnUNmf+ibENSf3S4lupsShB3qbg==;24:pVd/A5k1aIh1MRrIuGZyB9s75+ScfJPhALDeo0KsdWeiia/d8jczMYu6DsFYH+JlKt2eke8GD46/uE/rqEU/Dy4EDojKGejKVEXgUMzGdm4=;7:qb5ROBTHkxhXSZD/1wToovKxs62IEI+H+J5YC3BONNkpDwQvQ8b6ICeMlEvcIRzn4MVyIWj9mUjnqotXPrFUkTAR9WeFr3eNWekgvCVkdtcx4rUjqqWuwP9l+JppU09kfmkyOlfB3r6+yPtIVVxbU2xV9qKWC1c6ToGZWgbpqfCQw7rVx9qkMWJDp3WfJIT1RTHlrV7FOu0tu01rq5aRV/NPpE/XWFULs51ES8jCqWlevT/LDT3gdAeUUMOSp6F8 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2016 13:41:12.0738 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0201MB2309 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This gets rid of the need for a pointless 'reg' property for i2c arbitrators. I.e. this new and more compact style some-arbitrator { i2c-arb { #address-cells = <1>; #size-cells = <0>; some-i2c-device@50 { reg = <0x50>; }; }; }; instead of the old some-arbitrator { #address-cells = <1>; #size-cells = <0>; i2c@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; some-i2c-device@50 { reg = <0x50>; }; }; }; Acked-by: Rob Herring Signed-off-by: Peter Rosin --- .../bindings/i2c/i2c-arb-gpio-challenge.txt | 8 ++--- Documentation/devicetree/bindings/i2c/i2c-arb.txt | 35 ++++++++++++++++++++++ MAINTAINERS | 1 + 3 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 Documentation/devicetree/bindings/i2c/i2c-arb.txt diff --git a/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt b/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt index 71191ff0e781..248a155414c2 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt @@ -44,8 +44,7 @@ Required properties: - our-claim-gpio: The GPIO that we use to claim the bus. - their-claim-gpios: The GPIOs that the other sides use to claim the bus. Note that some implementations may only support a single other master. -- Standard I2C mux properties. See i2c-mux.txt in this directory. -- Single I2C child bus node at reg 0. See i2c-mux.txt in this directory. +- I2C arbitration bus node. See i2c-arb.txt in this directory. Optional properties: - slew-delay-us: microseconds to wait for a GPIO to go high. Default is 10 us. @@ -63,8 +62,6 @@ Example: i2c-arbitrator { compatible = "i2c-arb-gpio-challenge"; - #address-cells = <1>; - #size-cells = <0>; i2c-parent = <&{/i2c@12CA0000}>; @@ -74,8 +71,7 @@ Example: wait-retry-us = <3000>; wait-free-us = <50000>; - i2c@0 { - reg = <0>; + i2c-arb { #address-cells = <1>; #size-cells = <0>; diff --git a/Documentation/devicetree/bindings/i2c/i2c-arb.txt b/Documentation/devicetree/bindings/i2c/i2c-arb.txt new file mode 100644 index 000000000000..59abf9277bdc --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-arb.txt @@ -0,0 +1,35 @@ +Common i2c arbitration bus properties. + +- i2c-arb child node + +Required properties for the i2c-arb child node: +- #address-cells = <1>; +- #size-cells = <0>; + +Optional properties for i2c-arb child node: +- Child nodes conforming to i2c bus binding + + +Example : + + /* + An NXP pca9541 I2C bus master selector at address 0x74 + with a NXP pca8574 GPIO expander attached. + */ + + arb@74 { + compatible = "nxp,pca9541"; + reg = <0x74>; + + i2c-arb { + #address-cells = <1>; + #size-cells = <0>; + + gpio@38 { + compatible = "nxp,pca8574"; + reg = <0x38>; + #gpio-cells = <2>; + gpio-controller; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 20bb1d00098c..1a61e2f5a0a9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5660,6 +5660,7 @@ S: Maintained F: Documentation/i2c/i2c-topology F: Documentation/i2c/muxes/ F: Documentation/devicetree/bindings/i2c/i2c-mux* +F: Documentation/devicetree/bindings/i2c/i2c-arb* F: drivers/i2c/i2c-mux.c F: drivers/i2c/muxes/ F: include/linux/i2c-mux.h -- 2.1.4