Received: by 2002:a05:7412:8d06:b0:f9:332d:97f1 with SMTP id bj6csp78996rdb; Mon, 18 Dec 2023 09:21:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IEvizv91dplb8b4pUwV+hfFTD+psdUvXSfjDUP2SgtgJW251YT72pFNoJOOccHPkRkgMxsO X-Received: by 2002:a05:6512:a8d:b0:50e:2fee:21c8 with SMTP id m13-20020a0565120a8d00b0050e2fee21c8mr1924745lfu.77.1702920080614; Mon, 18 Dec 2023 09:21:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702920080; cv=none; d=google.com; s=arc-20160816; b=KtkbUMiULCbE8Nqg86h4aisl9hn1Glu5Av6xXTc9c/WCvb3sdcfZUI54rmrhu/Gp2f IarBewseLV90Ay6e57e6CT+5mjmRX9y5/CHXBFVQwWZYCKUUivOuGaQJraVVl1liFKo+ DP2A78P1A4ZVLXM3t48o9rnjH1UNx1Nv4/1mNtw1tUxj9RWP01Mn3osdZ2AozvycIOeJ SL1945ZetPFX7r0mxZpCY6wZu0EcZHSKJ3EDs/RUkN/JmrVXNcDsM2CbJYvHwg1ogtSS BMQ/5nNPiOwGeRg5wz6/chTpWlMR72mKOfcYaP7/fseQGTdBZMtAkTktqWDx/XhRiR3D BnJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:from :dkim-signature; bh=Ti36AdyiFQvN3/eY4vcX7OOVTVxOSw0U3/0TkVosSso=; fh=s7S0IY9Tz563FDa18ivkgXeQy//bxhfhgMk8PVNuTl0=; b=Mey9fDLKs+Se1wE7sGkJPGQhS1sJMFcJRkjsbp/ZbK+ZK1LKk242ylmezO3e4raOBi 6hiyah5QNuH/UrcooAy3PgpMUjeMlpO88GK3EbXcpFi7SPr6yyxO64f54PNdO1QtSnHJ BkaWsVJ63rfy/juq1FCi7dphgduMvoxFX7xdsjuxwasiRWQcjjG6qhbXsQNkv6jzt+84 AUPsA9DZbODYynEdxjSh0crBl3Ola/X02TNFefDcibY3JoHycN0viMup1aAy7HroF7Ru GI/F363B7gamiRzfCEmOWepFNJ28nTH9L8pLbsMJodc7VhJ984s7w7COocDHWXfdzCBD OOGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=CmTZp2PG; spf=pass (google.com: domain of linux-kernel+bounces-4148-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-4148-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id j6-20020a170906474600b00a23577abb6csi1014527ejs.762.2023.12.18.09.21.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Dec 2023 09:21:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-4148-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=CmTZp2PG; spf=pass (google.com: domain of linux-kernel+bounces-4148-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-4148-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 824C21F22D62 for ; Mon, 18 Dec 2023 17:20:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F06735A852; Mon, 18 Dec 2023 17:20:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="CmTZp2PG" X-Original-To: linux-kernel@vger.kernel.org Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) (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 747EE5A85A; Mon, 18 Dec 2023 17:20:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 30F2B20004; Mon, 18 Dec 2023 17:20:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1702920007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ti36AdyiFQvN3/eY4vcX7OOVTVxOSw0U3/0TkVosSso=; b=CmTZp2PGXgK4u4XpIXG7p/+mZ69OemtMncx3up09ozpyP4QhtvKSzx5kQgZO8Pl61ZcpDb uj9rLR5Iz4LEhjsuxnkK8qpwtyVT+gzLUziclCy25VqYnrhfWB3yHRQOjIdZlV5KcnGbXb ZlDyTYi4nMZ9D8jdHZkJC0rPXc6AZdHSyfAkGsPgOwPt0CeYKhJUBgGzLQkKamNjtrr1cz nOffJZr7CuED37AFBFrAGgtx5U7vQoBJbr8SPPcJi+c5NBjQ9i6CvLVwQazjlqYrDBbIj5 JzDj8Sga+F+ZzHFxJowhcq0jFTPkJC22+JXNvlYXtfZYnphhnBb5TKFjCHfZlg== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Subject: [PATCH 0/4] Add support for Mobileye EyeQ5 pin controller Date: Mon, 18 Dec 2023 18:19:45 +0100 Message-Id: <20231218-mbly-pinctrl-v1-0-2f7d366c2051@bootlin.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-B4-Tracking: v=1; b=H4sIADF/gGUC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDI2NDINbNTcqp1C3IzEsuKcrRNU9MS7VMNje2sDQ2UwJqKShKTcusABsXHVt bCwBMJ+pmXgAAAA== To: Vladimir Kondratiev , Gregory CLEMENT , Linus Walleij , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thomas Bogendoerfer Cc: linux-mips@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Petazzoni , Tawfik Bayouk , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.12.4 X-GND-Sasl: theo.lebrun@bootlin.com Hi, This series adds pinctrl support to the Mobileye EyeQ5 platform, following up on the platform support series by Grégory Clement [1]. All registers involved live in a shared register region called OLB ("Other Logic Block"). We have control over bias, drive strength and muxing. The latter allows two functions per pin; the first function is always GPIO while the second one is pin-dependent. Functions are statically declared in the driver, associated to compatibles. Two compatibles exist, one for each bank. The pin controller's functionality is not limited so each pin maps to one group. That makes pin & group indexes the same, simplifying logic. Having two instances, one per bank, also is done to simplify the driver's logic. The series ends by adding the two banks as devicetree nodes and declaring a pin-mux node for each function. We also add pinctrl references to the existing UART nodes. We are based on the reset series [2] for the sole reason of avoiding merge conflicts in the devicetree. [1]: https://lore.kernel.org/lkml/20231212163459.1923041-1-gregory.clement@bootlin.com/ [2]: https://lore.kernel.org/lkml/20231218-mbly-reset-v1-0-b4688b916213@bootlin.com/ Have a nice day, Théo Lebrun Signed-off-by: Théo Lebrun --- Théo Lebrun (4): dt-bindings: pinctrl: mobileye,eyeq5-pinctrl: add bindings pinctrl: eyeq5: add driver MIPS: mobileye: eyeq5: add pinctrl nodes & pinmux function nodes MIPS: mobileye: eyeq5: add pinctrl properties to uarts .../bindings/pinctrl/mobileye,eyeq5-pinctrl.yaml | 125 +++++ MAINTAINERS | 2 + arch/mips/boot/dts/mobileye/eyeq5-pins.dtsi | 128 +++++ arch/mips/boot/dts/mobileye/eyeq5.dtsi | 17 + drivers/pinctrl/Kconfig | 15 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/pinctrl-eyeq5.c | 593 +++++++++++++++++++++ 7 files changed, 881 insertions(+) --- base-commit: cfa954ebcdc3504dbf38ff5ba1589ed0cdfc8313 change-id: 20231023-mbly-pinctrl-7afe9c738936 Best regards, -- Théo Lebrun