From patchwork Mon Feb 18 05:28:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Bansal X-Patchwork-Id: 1043790 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="CbssSVFf"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 442sph6dMXz9sD4 for ; Mon, 18 Feb 2019 16:28:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726863AbfBRF2L (ORCPT ); Mon, 18 Feb 2019 00:28:11 -0500 Received: from mail-eopbgr30089.outbound.protection.outlook.com ([40.107.3.89]:11296 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726692AbfBRF2L (ORCPT ); Mon, 18 Feb 2019 00:28:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c3hNkYFu44Q14nVXvphAVTFp+HDMD3/7eZeMuiq8zzo=; b=CbssSVFfDXw2N9eCSku7jxAHnblx5h/dF5HGJ+dr68wo4WA9QuVNGte4qAcDapuaxgHZd4Oq8UzuCIq+Wd0x1jV9mQjMwBMUq0BXqaHOte2Ce/PVITBF+wlY831HXr3tdit4yv+9JODLiro6Z7j8XDZZ66BcRoD8OYp6+cRKGt8= Received: from VI1PR0401MB2496.eurprd04.prod.outlook.com (10.168.65.10) by VI1PR0401MB1968.eurprd04.prod.outlook.com (10.166.141.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Mon, 18 Feb 2019 05:28:07 +0000 Received: from VI1PR0401MB2496.eurprd04.prod.outlook.com ([fe80::208f:755e:b057:2cfe]) by VI1PR0401MB2496.eurprd04.prod.outlook.com ([fe80::208f:755e:b057:2cfe%8]) with mapi id 15.20.1622.016; Mon, 18 Feb 2019 05:28:07 +0000 From: Pankaj Bansal To: Leo Li , Peter Rosin , Rob Herring , Frank Rowand CC: "devicetree@vger.kernel.org" , Pankaj Bansal Subject: [PATCH] dt-bindings: add register based devices' mux controller DT bindings Thread-Topic: [PATCH] dt-bindings: add register based devices' mux controller DT bindings Thread-Index: AQHUx0q6cjY2AwPneEWEK5y0OhdjqQ== Date: Mon, 18 Feb 2019 05:28:07 +0000 Message-ID: <20190218105246.23488-1-pankaj.bansal@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BM1PR01CA0080.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:1::20) To VI1PR0401MB2496.eurprd04.prod.outlook.com (2603:10a6:800:56::10) authentication-results: spf=none (sender IP is ) smtp.mailfrom=pankaj.bansal@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [92.120.1.69] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 14cbcdcf-06ca-4032-de8c-08d69561dcc3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0401MB1968; x-ms-traffictypediagnostic: VI1PR0401MB1968: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; VI1PR0401MB1968; 23:y2y5Nuw7MnIrEhPl5FEXMPbRPU09EF4IqCopX?= =?iso-8859-1?q?oeGrS1Esqde8ErO8mpkQZB1uD?= =?iso-8859-1?q?caBxoEUDQSZrituPMzTPc66DJ2FWHcqyWdfblko4fpUdDveRK6k?= =?iso-8859-1?q?DCGwtAdG9b/aFdxJC+FJKPtqpYunPvXUPWGBYUGbVhJbyX54A3d?= =?iso-8859-1?q?a9FXeInp0YHh1rBP7bmnpChEEXQLDHdbHeQXxya+6b19Ih7UH1x?= =?iso-8859-1?q?HqdHgXOljk7iFEow1lCuisZ13utUpd44Dj2NYFgvCWDFtkxhwIQ?= =?iso-8859-1?q?0NKNYC+VlHJ3naSVNWI6CSJ3MzwghAXuKVZl9MBj2+VB4d3AZVC?= =?iso-8859-1?q?/LDfyxtxZkEIS5UPEIcfJ3/gpuGDdg6UxB/X99O1SkNO7Vulrw1?= =?iso-8859-1?q?r+vdZCxNvlZ6QAkHULt6LUAJp8RPjZkw2zmC9dnoNWE/KiktLsI?= =?iso-8859-1?q?91fGzPv2X3vClWp35lhF0MWmK/6GWZwnW1ER10OxXCBN//+It4S?= =?iso-8859-1?q?9bQ6+bIuFJK4V+o/Vip9dFXOzArA0ixsKqvwy9qcp7MeYr0/knC?= =?iso-8859-1?q?pN187cpbBJmcuiRPXd2VuPK6HfYp3uCvaHqjbnK5g+GN4rrB/OM?= =?iso-8859-1?q?xbiW8ygsaHcRMMffIrz2Y2i+9pG0nUUGQyxZhrvhWY6pCpvEofU?= =?iso-8859-1?q?r0IQ/kOphyUIdK2nSA2/XNjfpm5YhHS6zTcMWjuB0qgRE32qlJC?= =?iso-8859-1?q?hk8O0CzMMMKzq3dy3kH3GPzJcoMV2QMk/990RDacrhw2XD+2Nwh?= =?iso-8859-1?q?uU+/1sRwQNCMva2NQydtgtCri6MD25zl/LJi+riAqk3JLc/b1b8?= =?iso-8859-1?q?ZTwhoPySeDkgb5ewms/W8yIEQXt3H6qdfYZsSgwCzTuXJAbW2Pu?= =?iso-8859-1?q?ZLGJtYNUlJFGlTVi+OO9yLFhphsRADVAtQcKWllFdDeJcxd35aH?= =?iso-8859-1?q?vXdO982prlYw7OoW5WtyjUe9JBuig+diOiAapdYwXBzriNVJyJY?= =?iso-8859-1?q?9mAKuZuDkP+i/51IQMPPog9X6xm4ogMkCU7kuS4EcHcQkiFyJhH?= =?iso-8859-1?q?qb46ZdqLFeu9rYzE9R5fZaMcYpCzSu42VrkusUeK8QATAxhuHrL?= =?iso-8859-1?q?UwelQrEdGIgZ+a3A1BBwBKttXyre9Me4D7bE+Hpz30LJuiSz5mm?= =?iso-8859-1?q?E5V3NiP9CLI4MGfcHKRfUfqULL2SaOa+uXARXMXCtzUar/6WuHC?= =?iso-8859-1?q?o/cYeg/wTQ/nnIXjyXSAYhYOPak1kfheDiJCivBDH3cIHUtKpab?= =?iso-8859-1?q?hvXRTWWIiGE=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09525C61DB x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(396003)(346002)(39860400002)(136003)(366004)(199004)(189003)(305945005)(6486002)(6436002)(14444005)(8936002)(8676002)(50226002)(2616005)(81166006)(81156014)(256004)(7736002)(53936002)(14454004)(2906002)(6512007)(68736007)(66066001)(476003)(478600001)(4326008)(186003)(486006)(36756003)(44832011)(105586002)(5660300002)(106356001)(86362001)(54906003)(25786009)(99286004)(97736004)(3846002)(6116002)(1076003)(102836004)(316002)(71190400001)(26005)(71200400001)(386003)(6506007)(110136005)(52116002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0401MB1968; H:VI1PR0401MB2496.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: gScluBv3ZqM21K/Ha43yAA3cyD94IZ9PAThwGMx68LnmK6WuEhf3ByLQcOoZ4t7ro0gY4Au1KYd7wCmbly8fXYFYFHeNCYT2odvS8/nCCHIRpmU2I8zSM3H9H75xQa2D2JV1K8C2gboL1pPD10zQLsxB0WGcx4+tX2VeZzKH7JrM2Fd+ylIIVml6JHWXD465DeNVuUilbSMB/kDko5Z/tuACrfOlFwvG6itPJ8g1udqBM2/cph209oFMVYgJJ8139dw6DIvm/XiyZQ34BvMYUTqV55md2LN5hSVOxT9yZpZ1TB3rjOy1Qi/i5pVoPLGy5lxuDCRbfEMHUOZmjM7tLbHuGrKt7A9MN0g3/99wMYGjgKXI7KYSxRjFSBMCJoG1anqYIf/SHAjVQgik9gOuu7caUJi9nTG0WtZINgr/P8s= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 14cbcdcf-06ca-4032-de8c-08d69561dcc3 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Feb 2019 05:28:05.0489 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB1968 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This adds device tree binding documentation for generic register based multiplexer controlled by a bitfields in a parent device's register range. Signed-off-by: Pankaj Bansal --- .../devicetree/bindings/mux/reg-mux.txt | 84 ++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/Documentation/devicetree/bindings/mux/reg-mux.txt b/Documentation/devicetree/bindings/mux/reg-mux.txt new file mode 100644 index 000000000000..c5e6faa2a7cf --- /dev/null +++ b/Documentation/devicetree/bindings/mux/reg-mux.txt @@ -0,0 +1,84 @@ +Generic register bitfield-based multiplexer controller bindings + +Define register bitfields to be used to control multiplexers. The parent +device tree node must be a device node to provide register r/w access. + +Required properties: +- compatible : "reg-mux" +- #mux-control-cells : <1> +- mux-reg-masks : an array of register offset and pre-shifted bitfield mask + pairs, each describing a single mux control. +* Standard mux-controller bindings as decribed in mux-controller.txt + +Optional properties: +- idle-states : if present, the state the muxes will have when idle. The + special state MUX_IDLE_AS_IS is the default. + +The multiplexer state of each multiplexer is defined as the value of the +bitfield described by the corresponding register offset and bitfield mask pair +in the mux-reg-masks array, accessed through the parent syscon. + +Example: + +&i2c0 { + status = "okay"; + + fpga@66 { // fpga connected to i2c + compatible = "fsl,lx2160aqds-fpga", "fsl,fpga-qixis-i2c", + "simple-mfd"; + reg = <0x66>; + + mux: mux-controller { // Mux Producer + compatible = "reg-mux"; + #mux-control-cells = <1>; + mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */ + <0x54 0x07>; /* 1: reg 0x54, bit 2:0 */ + }; + }; +}; + + mdio-mux-1 { // Mux consumer + compatible = "mdio-mux"; + mux-controls = <&mux 0>; + mdio-parent-bus = <&emdio1>; + #address-cells=<1>; + #size-cells = <0>; + + mdio@0 { + reg = <0x00>; + #address-cells = <1>; + #size-cells = <0>; + }; + + mdio@40 { + reg = <0x40>; + #address-cells = <1>; + #size-cells = <0>; + }; + + .. + .. + }; + + mdio-mux-2 { // Mux consumer + compatible = "mdio-mux"; + mux-controls = <&mux 1>; + mdio-parent-bus = <&emdio2>; + #address-cells=<1>; + #size-cells = <0>; + + mdio@0 { + reg = <0x00>; + #address-cells = <1>; + #size-cells = <0>; + }; + + mdio@1 { + reg = <0x01>; + #address-cells = <1>; + #size-cells = <0>; + }; + + .. + .. + };