From patchwork Fri Apr 26 16:49:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Farouk Bouabid X-Patchwork-Id: 792970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2111.outbound.protection.outlook.com [40.107.6.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D336E159594; Fri, 26 Apr 2024 16:50:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.6.111 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714150234; cv=fail; b=Jhin9K0TECaIT8WbMVdaRC/1lrYADfDyI9Lvzs6oof5LB/5ZacTJDwuyBQVEPlGRiJTDQ6/z76R3WwKok0EbiZzMJFsaWAlughzvWKqsBUA+jkptMEwDfqqcNjiBS/sKqRcRjkxF04j559HXqX2vS1PNiThJk5fLRluWynXQFBQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714150234; c=relaxed/simple; bh=yL3X3pWgKTV00wee9halDkGv3N82Pfy4kYhp/F57J98=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=QPWcSjTV9+yOI7rj3VswnUuVya2uz4VvcxsV2PaBxklAghhznnUKFAShXY5L2okXeE7FyqSBd7/ys0zSUqUV9+74CFtNcw8W3OJru4V66begAeNPE3zx5iUJ7vkznIfb2iJxGK7jO25LRBnuVLW3kkBvhTQ9CILbUZEVLqdK7Hw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=theobroma-systems.com; spf=pass smtp.mailfrom=theobroma-systems.com; dkim=pass (2048-bit key) header.d=theobroma-systems.com header.i=@theobroma-systems.com header.b=GGbAw9TQ; arc=fail smtp.client-ip=40.107.6.111 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=theobroma-systems.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=theobroma-systems.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=theobroma-systems.com header.i=@theobroma-systems.com header.b="GGbAw9TQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eZTiA10mU/pwlP9fiinbQbSgQ+skoRGQTmN+2aS3ziC4wwgs5Suska3lmQzN6sydCejFKe5QnlpwAUzY/iM/4XbcgK8C29nDTNslKweZaROwmlAJ++PTN4It8W6YjvJ0kP8YJ8rkbOGb4lGRFDOhaO9yj9Y1luRWLtMWcwcCeWwO/VA7PDMYt/do1BxzSPinbWuQ3uALWhZerQVC4woWN8AHLSpMO3d3sQv/F3HKsz2FoGPNT0OWH2tnSbDeO5cvIAwBsrCmdSlMSyVo+8fzIKc45ib0I32karUDNR6EUPXXObHhGFgudSyW9Jgl13+H1jW1m/dgi9WKwBqDxckTJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jALs9GKntVlZQTeo6/+1x1V4OtMgbK0DQtN+qnKkdNs=; b=HvymQIzM/HqFbcEvU1RpOUssD3hsQXvsS3NdX0OqgsNpsgjs7d8+Q0h2BtRjdXQRLiG9NJyd9IcGQbDFZ3QIQ2CGMCTDd9T8xEcJTEpXi4rPpoPCwFChTdq6Rs73Vw8qyaUnCi8rQ9c5ktMMcc6KZKGg3aBluwyYSF+FmOJIcx54M0m8RY24lcSymqWaxmO9eixNJgWTDf013MdDwX3SrYuJA73BjDqsWXSZ2BMYKjgBErsjgV9CN3p5aqRtgPPEANy2S++sN+wbnnYUBRf4bzsahV6atFqnRWfRVb3MNi9BhbQ+NlQyFrbLO8l7gvLtOs+0+PnfqhZVIQViNV5Z9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=theobroma-systems.com; dmarc=pass action=none header.from=theobroma-systems.com; dkim=pass header.d=theobroma-systems.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=theobroma-systems.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jALs9GKntVlZQTeo6/+1x1V4OtMgbK0DQtN+qnKkdNs=; b=GGbAw9TQHqUj85sDgjOjkL/PjupDDDae9oq7Nr7bpzzoZ+OHPt4s5meYTukfwsDjRKJp41rQamOa6rTUp/aO7v6usWkKB3FR0bepNBxXcefUnIWUkcnYk7vIQ1k1iytoDsc46o1UPwhaMlvN7/n41a27d6E3T7Uazrkr9wCj8XHOIhgaidS7YVVkhTS4SO9GfMKNYjQGc3siF4VeQHXzxpcZnrmNoLR45BsDjV1NubhzhBomC3501oeTaI+hrcfs5EqNF+x0r4muy0x794JkX4o8Y9yslFoAn9P8NFZlKHxBdehM19qG+C7P5WKq/SryhwJmzI31RoO9w3Fg1rzuuw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=theobroma-systems.com; Received: from VE1PR04MB6382.eurprd04.prod.outlook.com (2603:10a6:803:122::31) by VI0PR04MB10230.eurprd04.prod.outlook.com (2603:10a6:800:240::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr 2024 16:50:27 +0000 Received: from VE1PR04MB6382.eurprd04.prod.outlook.com ([fe80::59d9:878d:65f0:3936]) by VE1PR04MB6382.eurprd04.prod.outlook.com ([fe80::59d9:878d:65f0:3936%4]) with mapi id 15.20.7472.044; Fri, 26 Apr 2024 16:50:27 +0000 From: Farouk Bouabid Date: Fri, 26 Apr 2024 18:49:33 +0200 Subject: [PATCH 2/7] dt-bindings: i2c: mux: mule: add dt-bindings for mule i2c multiplexer Message-Id: <20240426-dev-mule-i2c-mux-v1-2-045a482f6ffb@theobroma-systems.com> References: <20240426-dev-mule-i2c-mux-v1-0-045a482f6ffb@theobroma-systems.com> In-Reply-To: <20240426-dev-mule-i2c-mux-v1-0-045a482f6ffb@theobroma-systems.com> To: Wolfram Sang , Peter Rosin , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Quentin Schulz , Heiko Stuebner Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, Farouk Bouabid X-Mailer: b4 0.13.0 X-ClientProxiedBy: VI1PR08CA0261.eurprd08.prod.outlook.com (2603:10a6:803:dc::34) To VE1PR04MB6382.eurprd04.prod.outlook.com (2603:10a6:803:122::31) Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6382:EE_|VI0PR04MB10230:EE_ X-MS-Office365-Filtering-Correlation-Id: af46b4df-ff1a-4c96-0ccf-08dc6610f956 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?utf-8?q?4tqGMhHf2wMh2C2x0iXbZuGqC8iNbwk?= =?utf-8?q?2x3yFx+uURHuBslm7PktYWMv8LZ11KBsxqr/klIeC1wEN7x4nHZUMhP1sQbbsNFkb?= =?utf-8?q?rj2YPKhKQ0Obm8CHM84bsANt65aBo5ws2nRjNQLBFgMLrU4u+b4Ykm53GOQJbnnru?= =?utf-8?q?blOwPyDbFVoFi3j+uQsboV657+hUiZzQzk7/ZHyoAAu6Qd2Ep9+kJTyHigLuIhkgk?= =?utf-8?q?joMouwhj++t28pZ50UGxbwhppcBGBInu6KLjy+V7dIYF+vaQ9F9f4Vid63aZPya9n?= =?utf-8?q?KA9JLWWPykJ1P3PaHTozx+Qw7t149he0IGwNT32pK4Itups3ZLyKxig30zNKne5ih?= =?utf-8?q?aCreWGV68eUuhXFpCSVmsRymS4aHiYBPuJ7rjBLlBxsf/B6pCAX3bUBH5TLEEITGS?= =?utf-8?q?bImsqRHw262Nfgg89/idvv6n0KxdqN4uTtCrQJZlq/N+eGVLI8uJnmT8kEYi73jeT?= =?utf-8?q?3zIt7uAiCcaILrFvgeoFvJoa7fmQoFh22tE89LNH1iIHGQMXtDLhZTSa+R6Ql/F/O?= =?utf-8?q?VBcP7JqkzqNcoBf0mSMb0DFS1PVUBAdXCs5JFju7LmP5rtd2oXnDF8zXmyPGXX6Os?= =?utf-8?q?gMmtXgNVs/xb3mLc4MjjjB4v6cMihlNcZP2GynwSmPkde5u0mEanZA2NWWVs/1RGF?= =?utf-8?q?dDnq8FEtUrUjg/2cEOPHMtXz6ioPGN6pnS4WXcBFvBkad4+zlOKd4yHX3kgwqRk5i?= =?utf-8?q?HIaBBDUY57W9SPWczIn8LLaCrPRYugX7aUlBnDFrkNT6Qa7vjrEhp5Db0ZD4A5PZm?= =?utf-8?q?rB8CHdWGb99HUeCFjpyRrV2lmogy0I2inFEIvXJ1t9bGZlhcQK/zaQ8f/ZZKGljkQ?= =?utf-8?q?r9uy9q/zMG4DhUvKNvg1IpWuMZ7LENFk8KYycBlO8W7+zPiCUXDCbvPYf6HuM1KQi?= =?utf-8?q?2OfPGUQKhP609Io49dC6OIDkpBdAqJH3aWAdAUA23PpduOMPDhVK2/PtvK5Izs/fE?= =?utf-8?q?PtOvHHVMTtzV1tNypc9LuR38oSmxO+oBIckhvp++oZJv2mK3rA2mguByTSBDlUcMU?= =?utf-8?q?6W9SNZF61Vs0U5qLW6RABdENWMGGUoL3ocep+EVZewyuk/dhKf4mWPo6sXeME7Uxr?= =?utf-8?q?6LT5iKx4G6Tu07VcaK08bEHWNU7qQXKm+XvTrA9+L/HlY3FzZ629MKpZniS6L/uIQ?= =?utf-8?q?ef5q0ag117xRxEkl4ZIDUrS73dtwbxKk/hoWpVmRf2Bt6031AimYJ/AAoyTdQqcH7?= =?utf-8?q?9eBYiIJu57JPFYll7QPdn1hR9SFParR1IApw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR04MB6382.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(52116005)(7416005)(1800799015)(366007)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?bV2k/usdZgoSMH+wmRUJACIaHVs3?= =?utf-8?q?Le1WpkQxdAMSnBWTspm9dZmD2RApHHivtu7BwSJDEfOlxhT5eMlGW7wV1t5PndS8g?= =?utf-8?q?kyuCoOzrDXRH9NURG4abedj6AHM9g6uEw52OhyQu3lryvDu5kdn+nw6pUwCHHMMK9?= =?utf-8?q?HdMNBstwyXnkVepzwvrsD+NqQbXniFom4mzV1Dj8e4atIVJMu6VcnZqyQ00UipxzL?= =?utf-8?q?ATtE8bbFS917gJihLdp/xYGFEKCCTKHPO7D6i+YG4GwKnDeGbkCzVOqaulczGbN1z?= =?utf-8?q?6WOvK/aiSHiw/vFqINdUqZTX99IwU/gRxAo22cBB/DoDTiND0NB0w+dwu9k2XqEdt?= =?utf-8?q?ctDj2no7l/3xxlFhMt+UcYBurvvoZ6FDDr45s0sYCOXPe8XwoVzjEPlsK6q+Cgl8o?= =?utf-8?q?2yzLV+LkiO3i3a6qqUgBF/6XZfr0lXWaxS976+LpKuaKBMYA+4Im8qrGbhfDVdSJa?= =?utf-8?q?O+Nbnqtpjot7vWlxjMs+8C5H0LQi0stIhdTLXCUuMEypsBtJ0egIbakG2k5Fm6klj?= =?utf-8?q?NwB6ZccEMGcSMueKlZIpcuC04GOgvJmvq+8ABWKY296XHayXKv8W5WQ4goBY4qN1R?= =?utf-8?q?GexQFHfVoZp1WbOMkTJsMMYHfZ2CWrwgPQasnzo2mpFnDEAj5Ce/C8DJvEJEH6BIU?= =?utf-8?q?7uwPxIG3Wrs2yjDKjtuiLz/Yx6N4jUVX3Mc8RXLKKNpc2guoMuDO/ZdKm5at2+vTg?= =?utf-8?q?Kyk68N/HZW/mpuWpV8N5zq4g9YIUgLLa4J3l7Aec85atInodKcSjvpvKn3vEyjAhx?= =?utf-8?q?51sMqg/z4HE/5YphiS0MP0g5eQHrkog96S/aMqDB9oR2viDYfyuZHM4EZMDanz/TW?= =?utf-8?q?ilGj/8/8p1NWKoVfvTfZ7IXI/mKGaTeU5/+usfAcHGymnZVCXzQdxdKGae0boyw76?= =?utf-8?q?MLmrdwb7lLCAIwPwehSsfjzpiZUK2Ie4uxoiADsVTQ1JOriC0Bog53yW3+at5PDj0?= =?utf-8?q?PM25Pp2PCDn7aG3fGPA0TOtpP+pKsVeoLmm3UIaxQKUGIFqY2xyhPFn8mR9yncTgS?= =?utf-8?q?JqDJIuwTVx4lOMWgaMp3jr63T9PJ5Yl5Z8/hdFZpxxseflP7HulKjivhjAy7dxO+L?= =?utf-8?q?akTVjxrA7EUUVUl4IMZzttJgREzTZa3jyTWTlEm0GSo9qUEbcG+fpUKoPZDqCfpqI?= =?utf-8?q?8Msoap4TP+o4uvaaIrViWHkxeWbQjyMcfszG9fa0XBvuyHw5KDIKTdCSzAvbBZorH?= =?utf-8?q?xy6PzIaBHtyj6/nDg4Cel7UzQUrh+dDG1CggDb3zSPJdeSD/D6wDdwSLKNZ/3Nn2g?= =?utf-8?q?0wm0y0oA3gv9LKcP0SuYBjQ7NIFt0UuMRTMcU6HUhSeovLImeV+M5U2Pty2teNpjH?= =?utf-8?q?1gsz2tJqWD+8SLGvLpIev9BlproPqxdFsJGo+QumsfJefAk1v0yB1SYxjJIJPJunO?= =?utf-8?q?5Op4YLll2ZIllqEsGr57n/uSjzgG0aqauEr55pairBsYNq5d82SCtorfVgBYJXk5R?= =?utf-8?q?jXsY1rJzSBOf8ksQ9j/CNW7gTiGp/Q/RpfN7YRipgSh3prNm1zeuur/uSIoBCUUGD?= =?utf-8?q?Lr0CtD+fgXyjoMA+OJhSdo1wnP/2B9b0Ok/XhQeydK8ygQRZEB2oth4=3D?= X-OriginatorOrg: theobroma-systems.com X-MS-Exchange-CrossTenant-Network-Message-Id: af46b4df-ff1a-4c96-0ccf-08dc6610f956 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6382.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 16:50:27.0357 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5e0e1b52-21b5-4e7b-83bb-514ec460677e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UEfeJGkXKgeKFCwo4RCRiluJhh1vlMIspGuJWNh/vlBw/OdXtDvBr4DWadWoSi2fIcu0AATlzPet0th2WfgRSdzJqz3zYmcmJ0uUzzxgDnZJgZAzxYH2EwJHoFVQVlFD X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10230 This patch adds support for the Mule I2C multiplexer. Mule is an mcu that emulates a set of i2c devices which are reacheable through an i2c-mux. The emulated devices share a single i2c address with the mux itself where the requested register is what determines which logic is executed (mux or device). Signed-off-by: Farouk Bouabid --- .../devicetree/bindings/i2c/i2c-mux-mule.yaml | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-mule.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-mule.yaml new file mode 100644 index 000000000000..458e4661cbc8 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-mule.yaml @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/i2c-mux-mule.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Mule I2C multiplexer + +maintainers: + - Farouk Bouabid + - Quentin Schulz + +description: | + Mule is an mcu that emulates a set of i2c devices which are reacheable + through an i2c-mux. + + The emulated devices share a single i2c address with the mux itself where + the requested register is what determines which logic is executed (mux or + device) + + +--------------------------------------------------+ + | Mule | + | +---------------+ | + ------+->|Config register|----+ | + | | +---------------+ | | + | | V_ | + | | | \ +--------+ | + | | | \-------->| dev #0 | | + | | | | +--------+ | + | | | M |-------->| dev #1 | | + | +--------------------->| U | +--------+ | + | | X |-------->| dev #2 | | + | | | +--------+ | + | | /-------->| dev #3 | | + | |__/ +--------+ | + +--------------------------------------------------+ + + +allOf: + - $ref: /schemas/i2c/i2c-mux.yaml# + +properties: + compatible: + const: tsd,mule-i2c-mux + + reg: + maxItems: 1 + +required: + - compatible + - reg + +unevaluatedProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + i2c-mux@18 { + compatible = "tsd,mule-i2c-mux"; + reg = <0x18>; + #address-cells = <1>; + #size-cells = <0>; + + i2c@0 { + reg = <0x0>; + #address-cells = <1>; + #size-cells = <0>; + + fan: fan@18 { + compatible = "ti,amc6821"; + reg = <0x18>; + #cooling-cells = <2>; + }; + }; + }; + }; +...