From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754360AbcG0Ioj (ORCPT ); Wed, 27 Jul 2016 04:44:39 -0400 Received: from mail-db5eur01on0135.outbound.protection.outlook.com ([104.47.2.135]:56251 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753979AbcG0IoI (ORCPT ); Wed, 27 Jul 2016 04:44:08 -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" , Greg Kroah-Hartman , Andrew Morton , Kalle Valo , Mauro Carvalho Chehab , Emil Velikov , , , Crestez Dan Leonard Subject: [PATCH 2/7] dt-bindings: i2c: add support for 'i2c-arb' subnode Date: Wed, 27 Jul 2016 10:43:25 +0200 Message-ID: <1469609010-23049-3-git-send-email-peda@axentia.se> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1469609010-23049-1-git-send-email-peda@axentia.se> References: <1469609010-23049-1-git-send-email-peda@axentia.se> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [217.210.101.82] X-ClientProxiedBy: DB6PR0701CA0026.eurprd07.prod.outlook.com (10.168.7.164) To HE1PR02MB1306.eurprd02.prod.outlook.com (10.169.115.152) X-MS-Office365-Filtering-Correlation-Id: c8a87f14-3808-400d-1d3a-08d3b5fa2a48 X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1306;2:ke7Khyf05Y+G7DF8YneTMpdovDuE4JCZh6mRS/RlOHG05Yg8+JggGjonMGNJkGOlskIJN7w2B6KPe3KTdJvrEj7c3LfPIv1fgC+jMDRPPpk9EbZjrE/AgQw8UYmYGwMasymZGeChPfu04RnwebAoHL0/2J2zXHXMoNEePMJtrWix6ADVtVt6r4ODMWV3afS/;3:mVwEmFdx65ro9PUPxESs5i9pcvZswM4SozE3cUhHDpK8CfQpIftA+xhV0Nwa/PuqMwN0u6788k0z3wRVV+YWMotZjCBmjuBGOeBbYjIirb+0iIrWGNncZyfajPhxHcQF;25:Xe0DE57ZuROc1G/HcVP6N7CtBKAD4qaHHCyOdCTZwcqRrFM7LA/B1ASgRNi6pv5CVgWGVtFdfZCgFSVc0RBkUmVxvkrpJ6yf8NjtWc6JGx7iARgBU8o1gPKppHTjGasHQoRofmKo/ielJkwjHrZZyUwVMFlOzJJ5kC/1XnHe/OBtWGIJ70WI3z3FJ+gn6sj54/+2dhCx/kIo76bkctt6HIiCHi9IG3EdmzXNhiWczVA4//gE/aVSqhMRtKqrOlKWAS5Z8K3u1UcOcUPwY3P9aTGf1IDrfEnaHS//mA5NSBpIxw9WuqIFqazn/S5n4C4V9kRh0UoeIShzZqjUv/45BUo4X2Z6GecQFzOdiyebLNsauhTGYhU8geTfbToIYbtFYaSC6c4R3D9o74W2ByBLE0LHE24Y5GbkwSX1vqp3T9I=;31:NJ/Xh7ZnyZEUi0GKb7KWakuKOYLdFdfRHYfnkQ41/CAWJRZNKxEWz+1X5wNxEPYqWL4GpugG4lDn4VUeRyfElVgSmI3D/ykAEn8bA/ka5MQIuZOJLPQzt/NfG/gfwPtz5s+K/9clqn7/eTFB4HC48k+KjRFapZmZGlK9DQNb5wBePGAK5zFF9FawMpNOvGh6O39PqQO7FVG2Q6xf4/jPUA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1306; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041072)(6043046);SRVR:HE1PR02MB1306;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1306; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1306;4:cJ5jc/R5UfPv1VVTYD6QyeGmX26To2m01eQTizaIOzNa4p9er8PO1BRYryMYOrK7IeEdqXEnf0DxeJoATshI39iByi0gKPJ1xBEChmuB9+KuOxYD9EGF/rTannJnKDywLaWObPC/2W2PL06Dkl/hx90tFUu7d6o+ow9+PBOM43R+H2J/4BaX1lpnT+9sCMgswLWWsFbtIJAqUiqGg+bJv1YMRcvEnccEc/UhEAfAjWxU/lMGYdBoNBDSLjSr4p6Ox9LYMZ2l1YFMI+CUThBsvn4kfAJ02y/CxsZ/mJ0miC1gnZkisA5a9fi0XnYh2Kn4qcpZZy0ppung6+xlDHDyGp3YVi84Wwtx+/+CyxjrOC4yI6H1PfGsgp6ZBMsZy7xfImX69Th0tw5Ui/0pAvoK7pc9G3NzhUIxira2eZ/n9S0= X-Forefront-PRVS: 0016DEFF96 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6069001)(7916002)(199003)(189002)(2906002)(74482002)(101416001)(6116002)(36756003)(97736004)(33646002)(2950100001)(3846002)(586003)(5890100001)(106356001)(229853001)(575784001)(2351001)(8676002)(77096005)(81166006)(81156014)(86362001)(4326007)(7846002)(48376002)(7736002)(305945005)(68736007)(50466002)(5003940100001)(110136002)(189998001)(92566002)(66066001)(42186005)(19580395003)(47776003)(76176999)(105586002)(50226002)(50986999)(19580405001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR02MB1306;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR02MB1306;23:jia2TAIiIQnrdKD5/TcLi3AXlug0zWbG8bI4f5xhM?= =?us-ascii?Q?cEJqKl6R/YfZJPwbF38/BB9JbkPNvO25Duego7lpcyDROG7pHiHGyJ6LuPZW?= =?us-ascii?Q?QosiXXcFUOsJwCnntAeQV5dF5xqGuNg4acYya/ckyhT/WeIV7CSUOpYkcN9z?= =?us-ascii?Q?O9+S+sG+/zy3ISXVGOiajBGFt8CVs4zOyPv7+dpDJnMpAS4+KMKhj/zjPfDB?= =?us-ascii?Q?qyibZq+WLl7ywzm5iBJHfy/6eovGLVTHtPmFb2FIO8M2bMkkJPd3g6tFEYtr?= =?us-ascii?Q?RuX3NQ4Z31dyhmE7dRFmTVjgUzqN2mXJfAoedM13NVVV9dsYGWh2khUb3Jp7?= =?us-ascii?Q?AfSuuliaJcMCnTj56Hr6LElD/UJEhNkGhI4JGmsVFN+66YN3fS51GDGa7998?= =?us-ascii?Q?7Sm5Z2H2AJ/1OeJ2uYJCej3DTTH/63+33+RhzEhCjRKSMyQijSlVJau0bksy?= =?us-ascii?Q?iRb8fIMidKSSKmXlwq1hDVo+D9HM2jxGrGt+pk8KRGjbjHmW4WirqjuhEL3O?= =?us-ascii?Q?g46v7DynHRITr4XIz3LfW9T0FOzK9N8MuJKJnPOl0ooAol921qityUrTIO2f?= =?us-ascii?Q?39uv/HGeKWaeU3+VO4a43pYVVvj1aWvj96mT5rFpjDkSqsC+cdzDOE6Z6nBA?= =?us-ascii?Q?Gayn/N7CkKPaD8ny+g+woKqMLMfN9mWl5uXlj3UHmsxt1tzYBlU3NVAQsQlb?= =?us-ascii?Q?qb8JauXKAqWVJl8zlzbBW69jLRNhiaeI/S3CByweCcz/WII814w4qaFefGcY?= =?us-ascii?Q?cbO5bkDOztmotQpoA5WteGcWhAZllEsA1YfYzWs3+e/8HrnZt5VbnHEhxCSq?= =?us-ascii?Q?aK34ZRq8u4hF/WPsA6GGhLQHoi8KSpgMjjj8FeAmLNyppYj5NMQ+L2C5zZTZ?= =?us-ascii?Q?5ieJkqwBmeySB9SdnqICWuhRYO+9rrR5PVK3BDM0JEjoVL4Yn6EVA8ua9w8+?= =?us-ascii?Q?UcUrGLafAbWXCP8rKo4kUkcQzvcnwrfjmtrOf0Oct7OiFiXgQBqh5MhaVbOq?= =?us-ascii?Q?GVzJLr5lp9jTTSVcG1e3pcG+go7ziFbc4mvxOnt+Nhv2HCAY4E1AWTJJuSwU?= =?us-ascii?Q?Xsq40StnAwQD3texpdh41E5av1Xd3h27SwrAfs/vr7/cVjcG+NxrR53VkHDW?= =?us-ascii?Q?IyQpjYzg3SxqZWZQFa+JQWC70+muNc7v2smqxcGPSxFLVWZHYbMqaqDBxRcZ?= =?us-ascii?Q?GOpgKJ97WJUt0I=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1306;6:bkllZUXkGpTcRgrhdPgwHVj3o90nIoBYG2E8zSvJo6xXq9QKFE/H2iKEatrR6WmomYsO4+stajgG/dEtp5jORT7K0HFpBzYtFIx3d+zkYoMOIheE+x/hKKbCElwrou3kRQdPvHOM1Fe/47aEII/u4Ei6R7w9pYoBhhA3aiDHa/9+DzHWpbz0SQ0VfqZN7FZuAfuyUyX0jMhY+0EworhE96QhpTd4jLqim+qnQpD6Hl5fibP34a+opgUBc/q04d5RZGsaZrpETzZCZEmhsM26uHI1yirhGjKFzT9DAf53R9dZRlD1qtbF3AITiPLJkFUT;5:Jr4t8h57b+oPkA0cJEQ+MuGywOaH4W9NSIdgAMqX3mRZJmYxxpEvTrdDHp8wv/L01lFiTxDIMK3RL3u8xPAn9XkI4miObER4GPgpUu94DS9hD7hWHTq8yPYe47m+DMMprvRuojpdGYQPN4wEnINnYA==;24:5l7w3y3G6Wb4CiGXeC3ng6+VuBsUPVaFAgEsWLepxzIht0ON22BLbGljuYPamzemv7LJqNkJWxedvgZjST8PlSwzqcQ1ZELg4M3MKU8kOAA=;7:ddtG7cE6l3xg063Uw4YvMuyM4ajbx7RzWOUziUYinXoTW3Q4QQhve2aTTvT/jExzpq7UDU70XJGbEflu5i+g22eRZUKk+09Zwz+xHmrNYvXeb+xdnCsII8abC8zdtjifegG4NeFWlW1Zzsau191p9M+eoefPiZLPh1m6Zdjx2X6YAAliYjBIJJVpEpygPzCtnAZ4JXmHB+/6mRp2cDCSKK6elaRhvEaeWB6SBHWhOZBay+ZVuLN4QvsIbIy2+ukD SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2016 08:44:02.1743 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR02MB1306 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-mux { #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>; }; }; }; 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 8c20323d1277..543052305a09 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5524,6 +5524,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