Received: by 2002:ab2:4a89:0:b0:1f4:a8b6:6e69 with SMTP id w9csp283465lqj; Wed, 10 Apr 2024 10:13:45 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWRHpgpCs3GUymbso5nG36mfUDUXOxqZdnSVOWpD+DeCAg3g0OmG9tEzikCLgtBVI5HNKtWug6Sn9LURMwrf+NLEjrTQpuwBK/YwFmLqA== X-Google-Smtp-Source: AGHT+IGtmogARveUE/UEwHCIHboQdocmF3WtGNdYd+6XXLTEbxfwhzz3tB4Al80nOO6dhejHBmT4 X-Received: by 2002:ac2:4471:0:b0:515:d176:dfd1 with SMTP id y17-20020ac24471000000b00515d176dfd1mr2590569lfl.56.1712769225294; Wed, 10 Apr 2024 10:13:45 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712769225; cv=pass; d=google.com; s=arc-20160816; b=KlBVOMVudBBJ3YO6tymZr3JpA55blUW+eJfHJa/AyZCACLGuP+pxGpNWh0Z8dyCk2x qVJ7F/wMj/wLUMakC1ryfI8LpcfNpXPhRV+G8mROP29g0DwaqzDiTy3Ap8qVlYr54fkY 8XRn6R06iWxccfDj5GBmj8jgAPtuw172WHIaoyp803pxDa5Bf87ej7xiCcLGM86zFs+y J/R7HUy9tv+8/SusgjdSzfuKRUkS94DzPY19L0WIqIgz8b9UiC9rc6GwFKSG/2QL1nXW q9tWF13CY2rwT2E4RcMgtyctj8albKO8gsFC6jBuc/RqbmYFggiPqwl7zLcmPBamkHyM qvvg== ARC-Message-Signature: i=2; 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=dqccYW4TTVMR245oWOMT2QE+v65GZJhVyqPmQez5YqY=; fh=Eu5L3sgz86Kzl6IEDyftC4XW3Fl29ynD4qAZm1Qpja4=; b=K8T2Hngogo/fbIc9oJpOlleDfjdOxnqJmABtO7pigGSiLH3Yq4zO2yK9FQyz1n6gL2 /8h5jQxsc4wecExvxj2mm9sqZcHNZC5xrvr/3xFYvZzaUyz+gy3BnGLhF+ooKXtPSnX+ aWEhrq//T/wmx4NNS3L/HGgyc9x1IGYHsK+iJoLC89QmU4sG7VmYRXRl49SSyLmxdv/6 aP3tKdXG/PxA/L25lBsbjh3H+cwSct693FxNVpmlJPOzEc6t3WcbLmeBURgmi6ZK2AKa cAeVlG68+SA3CwtuMM1VACvcS16mw38XXMhlXl3mzord4PoJZYt9nFFA9IV7BWxmRV29 TrRQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=AxOGyNET; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-139052-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-139052-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 cr12-20020a170906d54c00b00a51fe1642easi1756970ejc.102.2024.04.10.10.13.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Apr 2024 10:13:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-139052-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=AxOGyNET; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-139052-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-139052-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 60DFC1F2285A for ; Wed, 10 Apr 2024 17:13:07 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BE41517B51B; Wed, 10 Apr 2024 17:12:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="AxOGyNET" Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 A068D17BB05; Wed, 10 Apr 2024 17:12:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712769157; cv=none; b=qqZj3XkRY6ird6BJSKcbEAABNVodvHxfXKurZSvOmvMnTupyY/tY+vxo57q4BdKPvAvpgF3PWYcyW1SYxwmbZrJBan/lU9kQMsQmANslS/bmnu1dYlEdFnxM0E/QewZGMXofhWFx3lQDyLx2EHpZXkCcV590+MV5z8sYWU6oNHE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712769157; c=relaxed/simple; bh=UZN6bZ/VOXpFVmBzCZFb4rCBgwKePZT8MRaqGDGNeJc=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=EZRfgsGpz+2iz1BS4P0uvFo+9VhlZjn4VOVySF61cSGyx9+o7LRo8umVDJ9OhoINVD/WQfGR44IYv+Z+ZZ6A4M9t+SYHXwZTC1/3eapHphnMPpvAAqWDhyY46352+XfQHaG7X4i24hkISenyih6pcNVfqLcVNea71SVg+nnLTNQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=AxOGyNET; arc=none smtp.client-ip=217.70.183.197 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 316DC1C0007; Wed, 10 Apr 2024 17:12:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1712769153; 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=dqccYW4TTVMR245oWOMT2QE+v65GZJhVyqPmQez5YqY=; b=AxOGyNET4LG1HW8fSstIXz09u4haS/irmvIXJwE+egN4x7TBc7ozRAEpcDcq+Ho1M4zbdQ 9ApaXNMtozqImA5//vRRIIfJ9bBnadcfrS6ylMxAFTP7BK92xLEFslIW/VakwDZZBerra7 9vQ2DEp6kLggGdis0ULzAQJGitGq3Wl8xYIaJPq3syuIcBl9TYFW2lQHfaHfu7VkbTMB+T F15GVbK2S2jcX7ZcjC8sAozClZZYmP6E2BFSijilbI2YyLLHPrJZz3xkLAqdDvbiH4KFEG X7fal4duV454FlGG14edLIRRkblyevjDN0ERjeB6sQyw9DUW+y7E4qR477aPNg== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Subject: [PATCH 00/11] Add Mobileye EyeQ system controller support (clk, reset, pinctrl) Date: Wed, 10 Apr 2024 19:12:29 +0200 Message-Id: <20240410-mbly-olb-v1-0-335e496d7be3@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=H4sIAH3IFmYC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDIxMDEwML3dyknErd/JwkXXPTRAvTNNPktJRUYyWg8oKi1LTMCrBR0bG1tQD bvinJWgAAAA== To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Michael Turquette , Stephen Boyd , Philipp Zabel , Linus Walleij Cc: linux-mips@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Vladimir Kondratiev , Gregory CLEMENT , Thomas Petazzoni , Tawfik Bayouk , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.13.0 X-GND-Sasl: theo.lebrun@bootlin.com Hello, This builds on previous EyeQ5 system-controller revisions [0] and adds EyeQ6L + EyeQ6H support. Pinctrl is not affected because it is not handled in the same manner on those new platforms; it will be dealt with with pinctrl-single. Only clk and reset expand to support those new platform. Changes in drivers are pretty massive, which explains why I started a new revision count. EyeQ6H is particular in that it has not one but seven OLB instances. All seven host a (different) clock controller. Three host a reset controller. Patches are targeting MIPS, clk, reset and pinctrl trees independently. - dt-bindings: soc: mobileye: add EyeQ5 OLB system controller - MIPS: mobileye: eyeq5: add OLB syscon node - MIPS: mobileye: eyeq5: use OLB clocks controller node - MIPS: mobileye: eyeq5: add OLB reset controller node - MIPS: mobileye: eyeq5: add pinctrl node & pinmux function nodes Patches have no dependencies on this series. All required devicetrees and bindings got in the last release. Bindings changes below are only related to EyeQ6L/EyeQ6H. - dt-bindings: clock: mobileye,eyeq5-clk: add EyeQ6L and EyeQ6H - clk: divider: Introduce CLK_DIVIDER_EVEN_INTEGERS flag - clk: eyeq: add driver Clocks on all three platforms are rather similar. We have a bunch of PLLs children to the main crystal, some being required early (at of_clk_init(), before platform bus init). We have a few divider clocks in some instances. A custom clk-divider flag is introduced for the divisor because one clk would have a 256 entries table otherwise. Compatible match data stores it all, nothing is declared in DT. Match data has three arrays for the three types of clocks: early PLLs, standard PLLs and divider clks. - dt-bindings: reset: mobileye,eyeq5-reset: add EyeQ6L and EyeQ6H - reset: eyeq: add platform driver Resets on all three platforms are rather similar. We therefore declare reset domain types and assign compatibles to an array of domains, with types and valid masks associated. The rest is pretty similar to previous code. EyeQ6H west and east OLB each host an instance of the same compat. - pinctrl: eyeq5: add platform driver Not affected by EyeQ6L/EyeQ6H additions. It has not changed. Have a nice day, Théo [0]: https://lore.kernel.org/lkml/20240301-mbly-clk-v9-0-cbf06eb88708@bootlin.com/ Signed-off-by: Théo Lebrun --- Théo Lebrun (11): dt-bindings: soc: mobileye: add EyeQ5 OLB system controller dt-bindings: clock: mobileye,eyeq5-clk: add EyeQ6L and EyeQ6H dt-bindings: reset: mobileye,eyeq5-reset: add EyeQ6L and EyeQ6H clk: divider: Introduce CLK_DIVIDER_EVEN_INTEGERS flag clk: eyeq: add driver reset: eyeq: add platform driver pinctrl: eyeq5: add platform driver MIPS: mobileye: eyeq5: add OLB syscon node MIPS: mobileye: eyeq5: use OLB clocks controller node MIPS: mobileye: eyeq5: add OLB reset controller node MIPS: mobileye: eyeq5: add pinctrl node & pinmux function nodes .../bindings/clock/mobileye,eyeq5-clk.yaml | 103 +++- .../bindings/reset/mobileye,eyeq5-reset.yaml | 88 ++- .../bindings/soc/mobileye/mobileye,eyeq5-olb.yaml | 125 ++++ MAINTAINERS | 8 + .../{eyeq5-fixed-clocks.dtsi => eyeq5-clocks.dtsi} | 54 +- arch/mips/boot/dts/mobileye/eyeq5-pins.dtsi | 125 ++++ arch/mips/boot/dts/mobileye/eyeq5.dtsi | 42 +- drivers/clk/Kconfig | 11 + drivers/clk/Makefile | 1 + drivers/clk/clk-divider.c | 12 +- drivers/clk/clk-eyeq.c | 644 +++++++++++++++++++++ drivers/pinctrl/Kconfig | 14 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/pinctrl-eyeq5.c | 579 ++++++++++++++++++ drivers/reset/Kconfig | 13 + drivers/reset/Makefile | 1 + drivers/reset/reset-eyeq.c | 543 +++++++++++++++++ include/dt-bindings/clock/mobileye,eyeq5-clk.h | 21 + include/linux/clk-provider.h | 11 +- 19 files changed, 2322 insertions(+), 74 deletions(-) --- base-commit: c8e31f416e99bd460f6f8847709bf69c72a3e146 change-id: 20240408-mbly-olb-75a85f5cfde3 Best regards, -- Théo Lebrun