Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753501AbcJKOPZ (ORCPT ); Tue, 11 Oct 2016 10:15:25 -0400 Received: from mail-he1eur01on0092.outbound.protection.outlook.com ([104.47.0.92]:65395 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752097AbcJKOPW (ORCPT ); Tue, 11 Oct 2016 10:15:22 -0400 X-Greylist: delayed 71244 seconds by postgrey-1.27 at vger.kernel.org; Tue, 11 Oct 2016 10:15:21 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Subject: Re: [PATCH 06/10] i2c: i2c-mux-ptxpmb-cpld: Add device tree bindings To: Rob Herring , Pantelis Antoniou References: <1475853451-22121-1-git-send-email-pantelis.antoniou@konsulko.com> <1475853451-22121-7-git-send-email-pantelis.antoniou@konsulko.com> <20161010174517.GA18097@rob-hp-laptop> CC: Lee Jones , Linus Walleij , Alexandre Courbot , "Mark Rutland" , Frank Rowand , Wolfram Sang , David Woodhouse , Brian Norris , Wim Van Sebroeck , Guenter Roeck , Debjit Ghosh , "Georgi Vlaev" , Guenter Roeck , "JawaharBalaji Thirumalaisamy" , Rajat Jain , , , , , , From: Peter Rosin Organization: Axentia Technologies AB Message-ID: <8a2c459d-0ead-86f1-8633-eb483fe33281@axentia.se> Date: Tue, 11 Oct 2016 09:36:55 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <20161010174517.GA18097@rob-hp-laptop> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [217.210.101.82] X-ClientProxiedBy: AM4PR0101CA0031.eurprd01.prod.exchangelabs.com (10.167.254.41) To VI1PR0201MB2320.eurprd02.prod.outlook.com (10.168.63.22) X-MS-Office365-Filtering-Correlation-Id: ee72f404-d241-4b46-12a5-08d3f1a9641b X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB2320;2:wd6tY50L5TfKQbSY0SB8PpVHYaXUg6aUeFvL7aFbQfkWseef4DWQKR/HewTnMFnL7N3i8zqlQlwr4hq/FiLQ56wbUQLdD8X4vk8eCMTwMUgnvFEDf0GnBV1N1qZGuYZkYmi4oISrfYRuf1jZwwqiKst2jdKIvxK4UuswSGZSNFOdeY7nI+2vi2MGy1WVtr8HGs3BithGRqg217YCh7OAGw==;3:RYmOYL0X0mjlnTk0UagY46yVvxB0LydKqDCaAzchGh6oDXsYbPsnT0AmXm4zzee46mZwBxBmYnU8teX47AveWrKhahttvEYwSlomY/CwPDfx1+EJqQ7xB/zlR5T1SWU4vGhL844+iLs/nG6s4uf/3Q==;25:MY4kQNvxG+ZebNTSYOTzmkDnDDIVzXB3HY0lqsS6tPL05MXHv1/K8aGPSuj0ZrLPVEBoUMMFMxOs5os5ZJrb0x6zMOX1jtn2XL3VKICsVQnnxRa5NeR/Nr7gfLeWn8GtomNgAZGLbYGzID9wPfgF4ELS0YlCt0FCDtFlvLVhnMjF3s7LO426mPeYyxyRzbIH3uoYvNKPfKAF7XL96jgxskAHqZqPbdcGiNZoJiHUXMCOowFEcpafnuqYrjheTmURN+gig/lZV/OvDhZPfqJz5EgGFbUIC02j3NheDvnCRBoTQ5HNqmj4xkidOnrJ8sghuAOfEgWslrNBTLTh+3w0d/ACKdsRQFyAyZ0qYriA31KPKcb94D99LX6Uje+JAT6aAuTLOhN+Vj0HxRP2f152RmvXPab/UqwHdQqmJvsdwQkeBfljADtX9ECXS2PWZFTi X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0201MB2320; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB2320;31:U/T3nm58vf1nojbn5RSXuIt08ujzy/rsalLLy2XawqG7EWMn+R1GL3lVGPWWlh5N0Khm23JIjvKCLpdsmDcOwhlQzt5IyA6t4SQFN/9PXCf3UXxMxUVnQH/Obf9s/6x8VizOGFJbJ3+x0IxwJpws4aW5hZ/heVvS9slEJHUqWncdAHWq2R8bncN7U3fAHpsq71Ze1ejqfSNtad4wUBCV6uAgQI99XhDRQGqM9AJ2eUGRNGS/0GIXxzcTpPSOHD2x;4:2gpr/TiXpn+kfZEobXyeaBmE152IXKUMPp7CIFsv+TTJ9aAQbs97a39necVmWE1vULuf/18hOuu2ZCy8xnpbPLHrHDd4x6Y/k0TwLHm99EqM83cKa4jvXD7V73wK+T8B1EHqFLDhB/lUJH4EidXkDoQykZf8Fz0cuiwWS5bwprnAF5yFlj9+jvbabe75wbyIZ6rTONkXy5NGL4aex7V3giHcqEwHhtKJgIhagayeTxcO9NN3Eqy0EdbXj0deePnXsifPxwAykCIPYZ+QSl0E305kWzGIfoTbHBctEJyHRXsvXdr2F0g+GFHuGrNnEmjeTFl/iEQ8BDnOGG/XhspTYY38A2pGNQJMqUwlsq7p5taoUDqLrHJJ1AdG2Rn5nYJ27A22OG/z4qMZSt4W5YJ+WJsl8gHojvHr3UT3fpX9+qm0Hy/CnoIKVYDUXjDzYr0g+O2LfjYBPMTw5Vg+BgGqRVRtyXLi6RrVzhVK5WDMOLw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(138986009662008); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6042046)(6043046);SRVR:VI1PR0201MB2320;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0201MB2320; X-Forefront-PRVS: 00922518D8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(199003)(189002)(24454002)(377424004)(19580395003)(97736004)(42186005)(5001770100001)(4001350100001)(189998001)(83506001)(65806001)(65956001)(19580405001)(7416002)(8666005)(4001150100001)(47776003)(50466002)(23746002)(92566002)(66066001)(31686004)(230783001)(2906002)(117156001)(6116002)(230700001)(33646002)(4326007)(7736002)(586003)(77096005)(54356999)(68736007)(50986999)(76176999)(3846002)(36756003)(8676002)(101416001)(2950100002)(86362001)(105586002)(305945005)(64126003)(31696002)(7846002)(106356001)(6666003)(74482002)(5660300001)(81156014)(81166006)(65826007)(7059030)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0201MB2320;H:[192.168.0.125];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;VI1PR0201MB2320;23:WrPod3cKDbWz5XdoK4e4imqn0pbOjc097d/?= =?Windows-1252?Q?Jv+guRpSJnlsW9QEjJiwq4b2ZdVLsF0R5yo3HnRrsWxmH6e4zTgZHx+/?= =?Windows-1252?Q?GvhcC6TyYQpEN8CKLvUzdTLJzewiLqa77ZHSkgHVGUmpr7PgqhUiqkG5?= =?Windows-1252?Q?fGk53nXidcK/kImuRJzoGxktobvXsZ7OdcIgQetTWprqkwh5s7xf3BAg?= =?Windows-1252?Q?CH5UDbm/8qGydT/921kKoTaAaNqtXIE8XDUaQL9lAnpL4d+E7qkZSCGq?= =?Windows-1252?Q?vJ4RMlRIWvTgi6XpOLc71nOB5s4o1NYp1GgKXSfThn/FUfeNxvlRcKyz?= =?Windows-1252?Q?wpWJzTSA30hr3s2jJBYG1R1FCkWQ/399zRg3W1lCcY4PxSX3ZHqi7MfP?= =?Windows-1252?Q?LGrahlUf+R/FH6Bq+AZ+x5Y+w1gbDTuFuj5+0/1yRdK5khI4+7sVIVU3?= =?Windows-1252?Q?lfwPcTSpj0rHGENxLJ8hipuzlY0tnuii3K+lbLf1p46fJcF6GIvvxipI?= =?Windows-1252?Q?unZUjXC1Mk4i4vAqyCuehT70xkbBUo892+8vZXDJA27JtK11Sg+cHqKs?= =?Windows-1252?Q?8xj6djs0Zt5VqEtMXwHL5HzQugSL6SoIWlxjR+osU+P/1kOyPkVEo521?= =?Windows-1252?Q?bW3Jt/0Gp+BmP1YiV+ezW4XTqGuZ/M6llXMDUc+RSytinE7uuhv2Wgom?= =?Windows-1252?Q?MKBR+EZCLvbX2S7Rknpz0fkGCrIHXI7qZ+bbZi9UOImiG+YDncQ8M+Mj?= =?Windows-1252?Q?KHfwhn3J65CajBOdKPNU3Ul2OK4oG2xysVayPLtcFg/fwM8+sNLQtTAO?= =?Windows-1252?Q?ydPrdtG/9wPEFt5PB76LClzlVPx99NkEfeTY8w6wLHBDEHIo2f413oB3?= =?Windows-1252?Q?LCJy4yKqOyjCfVDdIIqd3Y57AgdKwPNDd9Ii/FTXLpuGL1yOX0Yg6P48?= =?Windows-1252?Q?jlm0LANtyQtDI2sOkBs1+Fs/rWkmDhb3/DvTQFOg0CZduh6xLW4cCd77?= =?Windows-1252?Q?cnbSiClp7HoaPE1QrJK0V570pN6QLD+KPRCY9WIRpYhuNaT+8v2Ibe2O?= =?Windows-1252?Q?bfE7QvyNiTaDhUUdE/VKvuZqj9pKp+jmtQryOVliucbRdJKzC3UJDwWW?= =?Windows-1252?Q?lGG2YJP5LXlqHusWYdFBjoRTgDNGJsTuihw1B84HqEZYMxOJZ5G1qiX8?= =?Windows-1252?Q?HoJkE77snqIHAgmBSidBucGmlN3NDqSk3ndfLFr0hwFLLKVJGRZaDSG/?= =?Windows-1252?Q?KUpVK8QbGwkylFLy4lTrLFRmJlUOWvwg4+Ut+45GpE4EOh/W6nndJDOj?= =?Windows-1252?Q?Y+3SrqzNmIaKygSyZhelskSD7E3twjrrVcvHbgU0IgsdaQ81tWCW65Fw?= =?Windows-1252?Q?cz+5S+2CwEjEn8En6ts6tSZFXFvBrbFFrFYbXYAvlRpIHdqGlOpt2myo?= =?Windows-1252?Q?FAsqej+xb1i425CHB96QHIXLUdb/c9zro35ZCaC2GlWntVolFhmVDb8I?= =?Windows-1252?Q?RS/fXAgdtNWO73x5lBUTQ+DvTdKPwAJRhoh//em6O+rTFfrpOuaFCk9Q?= =?Windows-1252?Q?PxU8aKXZR3gPrM6saWBOEDMygM2QFWSEJKyKY?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB2320;6:hXE2jO7QjfA0656JJk8nTtk9/6Ohb+HO6z8EnPZJ3gl9h5zw4njzXVYrKSR5MN/2OO3Fb6n8wBaQpirm9TpqOifQC/xcXC6vw2xwGWwObwLn+UXknBU1zqQVN2WFfHjWbO7RXl4AiJN8bj10Wgf5vYtuLVvideWoxc3sOMgOnsuvN7IbutR+5HDxoimewUCkt8RhLeE9Wo19Q/baeWJkHXmKywA4c6Un1Kj92ZMAN21qpVtzOhfVIxHwNnFk9zwkeUr93Opl7ZBHWxB6HXZfYS5HEsB1xcNlJtkGLnLRSAurVt9jlXir7mtpmPI5OjH2a/eQ2+7e8c0qjyjhX+C2qg==;5:VexZ5vbjxTHqyqAcZsrTlPzW6zloKaakbv05bHdItkC7mF/kM8q3vMUT4YflU4ZtEn2b/1HYW+HZBLsLdEdFh5mPBPzQDjv9SmvGoBcxIaIbaKjZc6e+RcasHL3GZVAv1Ty3P4JCKZ4O2XFZ39Y1UQ==;24:ryvk7/5YzrKzYWd10oqygRioxEcm3nk9TBPTSHEqEYvIYAOiyHltT/qYZlqqgv8kIFg0S84fpdy+f9Rp7t5IwJEC+aaqAyB9tPeulEBrgTg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB2320;7:3toCKHjzPJvusGMbKh4KuR6GuesaDgqokZrenN2PaXZnU487N4ca75btRbYcYDv+lFBnUgLNmGT+HnoMVeLSS0GnmrUeiFRjxjqOZfL0LMZlARkItY8X1+XOZeCsDtEhA8gxdRkb+ARaijLYFyZ6mCciHAuS7Gdy+EXmUYrmUohMvvlmeANJpCao3p+5CJPV4h6ViVI73HCtNtY1tgBzBXsEc8XgNOX/bXG+pnVVicDQ5ZjJkkDfHCXuMTq8nmrrLjCAB2qVsqLpepopTlv1JQJJhSeOSvU+XW2HgaUA7Ax9WdBe7Bq1m7P7DQcvndf5RGuaj6ArzT6rE1OA8wKVBwc9QjM8IY/AWCtYYyW+mJk= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2016 07:36:59.9407 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0201MB2320 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3310 Lines: 106 On 2016-10-10 19:45, Rob Herring wrote: > On Fri, Oct 07, 2016 at 06:17:27PM +0300, Pantelis Antoniou wrote: >> From: Georgi Vlaev >> >> Add binding document for the i2c driver of PTXPMB CPLD. >> >> Signed-off-by: Georgi Vlaev >> [Ported from Juniper kernel] >> Signed-off-by: Pantelis Antoniou >> --- >> .../bindings/i2c/jnx,i2c-mux-ptxpmb-cpld.txt | 50 ++++++++++++++++++++++ >> 1 file changed, 50 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/i2c/jnx,i2c-mux-ptxpmb-cpld.txt >> >> diff --git a/Documentation/devicetree/bindings/i2c/jnx,i2c-mux-ptxpmb-cpld.txt b/Documentation/devicetree/bindings/i2c/jnx,i2c-mux-ptxpmb-cpld.txt >> new file mode 100644 >> index 0000000..3b201f7 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/i2c/jnx,i2c-mux-ptxpmb-cpld.txt >> @@ -0,0 +1,50 @@ >> +* Juniper PTXPMB CPLD I2C Mux >> + >> +I2C mux on the PTXPMB CPLD on Juniper series of routers. >> + >> +Required properties: >> + >> + - compatible: Must contain one of the following. >> + "jnx,i2c-mux-ptxpmb-cpld", "jnx,i2c-mux-ngpmb-bcpld" >> + - num-enable: Number of muxes to enable. > > No. Use status property. Reading the code, I understand this mux to be like a combination of i2c switches (like pca9548) where the slave i2c busses can be enabled individually using an "enable" bitmask in one register, and "regular" i2c muxes (like pca9547) where you can only select one slave i2c bus at a time using an enumeration. num-enable would be the number of switches and num-channels would be the number of muxes per switch channel. Or the other way around? This is a real problem. The bindings are too tightly coupled to the way Linux currently handles i2c switches (i.e. not very well, you can only select one slave bus on an i2c switch, thus reducing the more flexible switch hardware to a regular mux). The bindings should not describe what the driver does, they should describe the hardware. Basically, you need to describe the i2c topology of the hardware in the bindings, because I'm just guessing all this, and I shouldn't have to. Cheers, Peter >> + >> + The following required properties are defined externally: >> + >> + - Standard I2C mux properties. See i2c-mux.txt in this directory. >> + - I2C child bus nodes. See i2c-mux.txt in this directory. >> + >> +Optional Properties: >> + >> + - num-channels: Number of channels. If not present the default is 8. > > What's a channel? > >> + - base-bus-num: Base bus number. If not present it is 0. > > No. Linuxism and why do you care? > >> + - use-force: Use the force method of the controller. >> + >> + >> +Example: >> + >> +cpld-i2c-mux { > > mux { > >> + compatible = "jnx,i2c-mux-ptxpmb-cpld"; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + i2c-parent = <&i2c1>; >> + >> + num-enable = <1>; >> + >> + i2c@0 { >> + reg = <0>; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + /* PMB devices are accessed through FPC */ >> + >> + temp-sensor@1a { /* FPC */ >> + compatible = "maxim,max6697"; >> + reg = <0x1a>; >> + smbus-timeout-disable; >> + resistance-cancellation; >> + alert-mask = <0xff>; >> + over-temperature-mask = <0xff>; >> + }; >> + }; >> +}; >> -- >> 1.9.1 >>