kernel: add pending patches for bcm63268-timer-clocks
bcm63268-timer-clocks have been sent upstream with a positive review, so let's add them to pending v5.15. Also add devm_clk_hw_register_gate() patch from v5.17 to backports since it's needed for upstream bcm63268-timer-clocks patches. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
		| @@ -1,35 +0,0 @@ | |||||||
| From 5a079515cb3066aeb658634301a98871b47c2af4 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> |  | ||||||
| Date: Thu, 25 Feb 2021 19:44:22 +0100 |  | ||||||
| Subject: [PATCH 1/4] mips: bmips: add BCM63268 timer clock definitions |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
|  |  | ||||||
| Add missing timer clock definitions for BCM63268. |  | ||||||
|  |  | ||||||
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> |  | ||||||
| --- |  | ||||||
|  include/dt-bindings/clock/bcm63268-clock.h | 13 +++++++++++++ |  | ||||||
|  1 file changed, 13 insertions(+) |  | ||||||
|  |  | ||||||
| --- a/include/dt-bindings/clock/bcm63268-clock.h |  | ||||||
| +++ b/include/dt-bindings/clock/bcm63268-clock.h |  | ||||||
| @@ -27,4 +27,17 @@ |  | ||||||
|  #define BCM63268_CLK_TBUS	27 |  | ||||||
|  #define BCM63268_CLK_ROBOSW250	31 |  | ||||||
|   |  | ||||||
| +#define BCM63268_TCLK_EPHY1		0 |  | ||||||
| +#define BCM63268_TCLK_EPHY2		1 |  | ||||||
| +#define BCM63268_TCLK_EPHY3		2 |  | ||||||
| +#define BCM63268_TCLK_GPHY1		3 |  | ||||||
| +#define BCM63268_TCLK_DSL		4 |  | ||||||
| +#define BCM63268_TCLK_WAKEON_EPHY	6 |  | ||||||
| +#define BCM63268_TCLK_WAKEON_DSL	7 |  | ||||||
| +#define BCM63268_TCLK_FAP1		11 |  | ||||||
| +#define BCM63268_TCLK_FAP2		15 |  | ||||||
| +#define BCM63268_TCLK_UTO_50		16 |  | ||||||
| +#define BCM63268_TCLK_UTO_EXTIN		17 |  | ||||||
| +#define BCM63268_TCLK_USB_REF		18 |  | ||||||
| + |  | ||||||
|  #endif /* __DT_BINDINGS_CLOCK_BCM63268_H */ |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| From 3327df17635dd9d24a855ac6b7247fac381514cf Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> |  | ||||||
| Date: Thu, 25 Feb 2021 19:45:04 +0100 |  | ||||||
| Subject: [PATCH 2/4] mips: bmips: add BCM63268 timer reset definitions |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
|  |  | ||||||
| Add missing timer reset definitions for BCM63268. |  | ||||||
|  |  | ||||||
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> |  | ||||||
| --- |  | ||||||
|  include/dt-bindings/reset/bcm63268-reset.h | 4 ++++ |  | ||||||
|  1 file changed, 4 insertions(+) |  | ||||||
|  |  | ||||||
| --- a/include/dt-bindings/reset/bcm63268-reset.h |  | ||||||
| +++ b/include/dt-bindings/reset/bcm63268-reset.h |  | ||||||
| @@ -23,4 +23,8 @@ |  | ||||||
|  #define BCM63268_RST_PCIE_HARD	17 |  | ||||||
|  #define BCM63268_RST_GPHY	18 |  | ||||||
|   |  | ||||||
| +#define BCM63268_TRST_SW	29 |  | ||||||
| +#define BCM63268_TRST_HW	30 |  | ||||||
| +#define BCM63268_TRST_POR	31 |  | ||||||
| + |  | ||||||
|  #endif /* __DT_BINDINGS_RESET_BCM63268_H */ |  | ||||||
| @@ -1,59 +0,0 @@ | |||||||
| From c17702bad18a085ae913752b45bcc20c2cea879e Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> |  | ||||||
| Date: Thu, 25 Feb 2021 19:53:08 +0100 |  | ||||||
| Subject: [PATCH 3/4] dt-bindings: clock: Add BCM63268 timer binding |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
|  |  | ||||||
| Document the Broadcom BCM63268 Clock and Reset controller. |  | ||||||
|  |  | ||||||
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> |  | ||||||
| --- |  | ||||||
|  .../clock/brcm,bcm63268-timer-clocks.yaml     | 40 +++++++++++++++++++ |  | ||||||
|  1 file changed, 40 insertions(+) |  | ||||||
|  create mode 100644 Documentation/devicetree/bindings/clock/brcm,bcm63268-timer-clocks.yaml |  | ||||||
|  |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/Documentation/devicetree/bindings/clock/brcm,bcm63268-timer-clocks.yaml |  | ||||||
| @@ -0,0 +1,40 @@ |  | ||||||
| +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |  | ||||||
| +%YAML 1.2 |  | ||||||
| +--- |  | ||||||
| +$id: http://devicetree.org/schemas/clock/brcm,bcm63268-timer-clocks.yaml# |  | ||||||
| +$schema: http://devicetree.org/meta-schemas/core.yaml# |  | ||||||
| + |  | ||||||
| +title: Broadcom BCM63268 Timer Clock and Reset Device Tree Bindings |  | ||||||
| + |  | ||||||
| +maintainers: |  | ||||||
| +  - Álvaro Fernández Rojas <noltari@gmail.com> |  | ||||||
| + |  | ||||||
| +properties: |  | ||||||
| +  compatible: |  | ||||||
| +    const: brcm,bcm63268-timer-clocks |  | ||||||
| + |  | ||||||
| +  reg: |  | ||||||
| +    maxItems: 1 |  | ||||||
| + |  | ||||||
| +  "#clock-cells": |  | ||||||
| +    const: 1 |  | ||||||
| + |  | ||||||
| +  "#reset-cells": |  | ||||||
| +    const: 1 |  | ||||||
| + |  | ||||||
| +required: |  | ||||||
| +  - compatible |  | ||||||
| +  - reg |  | ||||||
| +  - "#clock-cells" |  | ||||||
| +  - "#reset-cells" |  | ||||||
| + |  | ||||||
| +additionalProperties: false |  | ||||||
| + |  | ||||||
| +examples: |  | ||||||
| +  - | |  | ||||||
| +    timer_clk: clock-controller@100000ac { |  | ||||||
| +      compatible = "brcm,bcm63268-timer-clocks"; |  | ||||||
| +      reg = <0x100000ac 0x4>; |  | ||||||
| +      #clock-cells = <1>; |  | ||||||
| +      #reset-cells = <1>; |  | ||||||
| +    }; |  | ||||||
| @@ -0,0 +1,105 @@ | |||||||
|  | From 815f0e738a8d5663a02350e2580706829144a722 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Horatiu Vultur <horatiu.vultur@microchip.com> | ||||||
|  | Date: Wed, 3 Nov 2021 09:50:59 +0100 | ||||||
|  | Subject: [PATCH] clk: gate: Add devm_clk_hw_register_gate() | ||||||
|  |  | ||||||
|  | Add devm_clk_hw_register_gate() - devres-managed version of | ||||||
|  | clk_hw_register_gate() | ||||||
|  |  | ||||||
|  | Suggested-by: Stephen Boyd <sboyd@kernel.org> | ||||||
|  | Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> | ||||||
|  | Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> | ||||||
|  | Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com> | ||||||
|  | Link: https://lore.kernel.org/r/20211103085102.1656081-2-horatiu.vultur@microchip.com | ||||||
|  | --- | ||||||
|  |  drivers/clk/clk-gate.c       | 35 +++++++++++++++++++++++++++++++++++ | ||||||
|  |  include/linux/clk-provider.h | 23 +++++++++++++++++++++++ | ||||||
|  |  2 files changed, 58 insertions(+) | ||||||
|  |  | ||||||
|  | --- a/drivers/clk/clk-gate.c | ||||||
|  | +++ b/drivers/clk/clk-gate.c | ||||||
|  | @@ -7,6 +7,7 @@ | ||||||
|  |   */ | ||||||
|  |   | ||||||
|  |  #include <linux/clk-provider.h> | ||||||
|  | +#include <linux/device.h> | ||||||
|  |  #include <linux/module.h> | ||||||
|  |  #include <linux/slab.h> | ||||||
|  |  #include <linux/io.h> | ||||||
|  | @@ -222,3 +223,37 @@ void clk_hw_unregister_gate(struct clk_h | ||||||
|  |  	kfree(gate); | ||||||
|  |  } | ||||||
|  |  EXPORT_SYMBOL_GPL(clk_hw_unregister_gate); | ||||||
|  | + | ||||||
|  | +static void devm_clk_hw_release_gate(struct device *dev, void *res) | ||||||
|  | +{ | ||||||
|  | +	clk_hw_unregister_gate(*(struct clk_hw **)res); | ||||||
|  | +} | ||||||
|  | + | ||||||
|  | +struct clk_hw *__devm_clk_hw_register_gate(struct device *dev, | ||||||
|  | +		struct device_node *np, const char *name, | ||||||
|  | +		const char *parent_name, const struct clk_hw *parent_hw, | ||||||
|  | +		const struct clk_parent_data *parent_data, | ||||||
|  | +		unsigned long flags, | ||||||
|  | +		void __iomem *reg, u8 bit_idx, | ||||||
|  | +		u8 clk_gate_flags, spinlock_t *lock) | ||||||
|  | +{ | ||||||
|  | +	struct clk_hw **ptr, *hw; | ||||||
|  | + | ||||||
|  | +	ptr = devres_alloc(devm_clk_hw_release_gate, sizeof(*ptr), GFP_KERNEL); | ||||||
|  | +	if (!ptr) | ||||||
|  | +		return ERR_PTR(-ENOMEM); | ||||||
|  | + | ||||||
|  | +	hw = __clk_hw_register_gate(dev, np, name, parent_name, parent_hw, | ||||||
|  | +				    parent_data, flags, reg, bit_idx, | ||||||
|  | +				    clk_gate_flags, lock); | ||||||
|  | + | ||||||
|  | +	if (!IS_ERR(hw)) { | ||||||
|  | +		*ptr = hw; | ||||||
|  | +		devres_add(dev, ptr); | ||||||
|  | +	} else { | ||||||
|  | +		devres_free(ptr); | ||||||
|  | +	} | ||||||
|  | + | ||||||
|  | +	return hw; | ||||||
|  | +} | ||||||
|  | +EXPORT_SYMBOL_GPL(__devm_clk_hw_register_gate); | ||||||
|  | --- a/include/linux/clk-provider.h | ||||||
|  | +++ b/include/linux/clk-provider.h | ||||||
|  | @@ -490,6 +490,13 @@ struct clk_hw *__clk_hw_register_gate(st | ||||||
|  |  		unsigned long flags, | ||||||
|  |  		void __iomem *reg, u8 bit_idx, | ||||||
|  |  		u8 clk_gate_flags, spinlock_t *lock); | ||||||
|  | +struct clk_hw *__devm_clk_hw_register_gate(struct device *dev, | ||||||
|  | +		struct device_node *np, const char *name, | ||||||
|  | +		const char *parent_name, const struct clk_hw *parent_hw, | ||||||
|  | +		const struct clk_parent_data *parent_data, | ||||||
|  | +		unsigned long flags, | ||||||
|  | +		void __iomem *reg, u8 bit_idx, | ||||||
|  | +		u8 clk_gate_flags, spinlock_t *lock); | ||||||
|  |  struct clk *clk_register_gate(struct device *dev, const char *name, | ||||||
|  |  		const char *parent_name, unsigned long flags, | ||||||
|  |  		void __iomem *reg, u8 bit_idx, | ||||||
|  | @@ -544,6 +551,22 @@ struct clk *clk_register_gate(struct dev | ||||||
|  |  	__clk_hw_register_gate((dev), NULL, (name), NULL, NULL, (parent_data), \ | ||||||
|  |  			       (flags), (reg), (bit_idx),		      \ | ||||||
|  |  			       (clk_gate_flags), (lock)) | ||||||
|  | +/** | ||||||
|  | + * devm_clk_hw_register_gate - register a gate clock with the clock framework | ||||||
|  | + * @dev: device that is registering this clock | ||||||
|  | + * @name: name of this clock | ||||||
|  | + * @parent_name: name of this clock's parent | ||||||
|  | + * @flags: framework-specific flags for this clock | ||||||
|  | + * @reg: register address to control gating of this clock | ||||||
|  | + * @bit_idx: which bit in the register controls gating of this clock | ||||||
|  | + * @clk_gate_flags: gate-specific flags for this clock | ||||||
|  | + * @lock: shared register lock for this clock | ||||||
|  | + */ | ||||||
|  | +#define devm_clk_hw_register_gate(dev, name, parent_name, flags, reg, bit_idx,\ | ||||||
|  | +				  clk_gate_flags, lock)			      \ | ||||||
|  | +	__devm_clk_hw_register_gate((dev), NULL, (name), (parent_name), NULL, \ | ||||||
|  | +			       NULL, (flags), (reg), (bit_idx),		      \ | ||||||
|  | +			       (clk_gate_flags), (lock)) | ||||||
|  |  void clk_unregister_gate(struct clk *clk); | ||||||
|  |  void clk_hw_unregister_gate(struct clk_hw *hw); | ||||||
|  |  int clk_gate_is_enabled(struct clk_hw *hw); | ||||||
| @@ -0,0 +1,114 @@ | |||||||
|  | From patchwork Wed Mar 22 17:15:12 2023 | ||||||
|  | Content-Type: text/plain; charset="utf-8" | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Transfer-Encoding: 8bit | ||||||
|  | X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= | ||||||
|  |  <noltari@gmail.com> | ||||||
|  | X-Patchwork-Id: 13184389 | ||||||
|  | Return-Path: <linux-clk-owner@vger.kernel.org> | ||||||
|  | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | ||||||
|  | 	aws-us-west-2-korg-lkml-1.web.codeaurora.org | ||||||
|  | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | ||||||
|  | 	by smtp.lore.kernel.org (Postfix) with ESMTP id 73F2DC6FD1C | ||||||
|  | 	for <linux-clk@archiver.kernel.org>; Wed, 22 Mar 2023 17:15:59 +0000 (UTC) | ||||||
|  | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | ||||||
|  |         id S231363AbjCVRP5 (ORCPT <rfc822;linux-clk@archiver.kernel.org>); | ||||||
|  |         Wed, 22 Mar 2023 13:15:57 -0400 | ||||||
|  | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58824 "EHLO | ||||||
|  |         lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | ||||||
|  |         with ESMTP id S231408AbjCVRPy (ORCPT | ||||||
|  |         <rfc822;linux-clk@vger.kernel.org>); Wed, 22 Mar 2023 13:15:54 -0400 | ||||||
|  | Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com | ||||||
|  |  [IPv6:2a00:1450:4864:20::32d]) | ||||||
|  |         by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70E4C64B28; | ||||||
|  |         Wed, 22 Mar 2023 10:15:24 -0700 (PDT) | ||||||
|  | Received: by mail-wm1-x32d.google.com with SMTP id n19so1740892wms.0; | ||||||
|  |         Wed, 22 Mar 2023 10:15:24 -0700 (PDT) | ||||||
|  | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |         d=gmail.com; s=20210112; t=1679505322; | ||||||
|  |         h=content-transfer-encoding:mime-version:references:in-reply-to | ||||||
|  |          :message-id:date:subject:cc:to:from:from:to:cc:subject:date | ||||||
|  |          :message-id:reply-to; | ||||||
|  |         bh=dEknM98Izmc8d/crPsoJ+ejZxfl78958Ei6SPYhYDHs=; | ||||||
|  |         b=LTOQ75W3s5nYo+nEfiJAKqytSopONB4jCtU3zRygzPMasugVOrYFMsUR+WrpsAjuRT | ||||||
|  |          v4HgWpJxEsIWeRXrUN9W21mFXhGgJLJXSxRnrio0CsZZBNMdkebbNOphgKXIWAdm+2iM | ||||||
|  |          PzqAdGm5t38wT2mmm6V/9hCy90+12raHM82tNFdhhiezfg2cukVOKP3j/TeOVCwas0gQ | ||||||
|  |          iFc+CuZB6y73zYXvMUMUpTsqI5vev4xJsSMHIQJVmUxJAwqhOBhN9JCRo7Ao+wayjn2d | ||||||
|  |          Fxo6AV3A8v68nVfoQ0K0I+eWXG48nMCX45iWh/lVvVTOFcR99kn4va7NY1oVnPsh+WQz | ||||||
|  |          WcLA== | ||||||
|  | X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |         d=1e100.net; s=20210112; t=1679505322; | ||||||
|  |         h=content-transfer-encoding:mime-version:references:in-reply-to | ||||||
|  |          :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc | ||||||
|  |          :subject:date:message-id:reply-to; | ||||||
|  |         bh=dEknM98Izmc8d/crPsoJ+ejZxfl78958Ei6SPYhYDHs=; | ||||||
|  |         b=wv2NSR1B5RnsdoEE7mgJSHAfSs1JHZbQ1HPMldyaGWAk1dcucqh/uDzM3Flz+ADRi1 | ||||||
|  |          19NoaB2Ur7QaWZejbuplnIOK/nte3PnmqJ9ZNw8HejmuS4eU8mB1V1aJUSKSPGsfUi4a | ||||||
|  |          LYe3HSw87l0jrAC7ptdKvdUtzBoIkX0CeFvfguTQQkDhUTyAFIG144hY6uPXY9Mga96b | ||||||
|  |          gnNe2dLCzHQLbEJpaDaavT7FEEcLDxaq7jNcR2xqEEZaIwfcew+Q05t4xL/3i8GAj9Ru | ||||||
|  |          6ivQjIbBKfYQF88o7KnOW9o1wjrGsk+Nd4Iy0OLZix3JQasCJGrKV7ib5awI9J39upYV | ||||||
|  |          fa4A== | ||||||
|  | X-Gm-Message-State: AO0yUKWw75I1M5Vjrd4vXq4GTruQu0H84pycgyi2CT3bczTYRJpWmEWg | ||||||
|  |         +bHDhvp1n5IWW85GI9vKWpbclB13a/S0RQ== | ||||||
|  | X-Google-Smtp-Source:  | ||||||
|  |  AK7set9T/2oJsVetUb2L4mPEWu8YqDrnK8EzHK5bJf1ABIa1Et8f7BFJ7AA3j14ITZuf8cH0HqlRtg== | ||||||
|  | X-Received: by 2002:a05:600c:2304:b0:3ed:2949:985b with SMTP id | ||||||
|  |  4-20020a05600c230400b003ed2949985bmr206833wmo.23.1679505322457; | ||||||
|  |         Wed, 22 Mar 2023 10:15:22 -0700 (PDT) | ||||||
|  | Received: from atlantis.lan (255.red-79-146-124.dynamicip.rima-tde.net. | ||||||
|  |  [79.146.124.255]) | ||||||
|  |         by smtp.gmail.com with ESMTPSA id | ||||||
|  |  v10-20020a05600c470a00b003ee11ac2288sm8414333wmo.21.2023.03.22.10.15.21 | ||||||
|  |         (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); | ||||||
|  |         Wed, 22 Mar 2023 10:15:22 -0700 (PDT) | ||||||
|  | From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com> | ||||||
|  | To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, | ||||||
|  |         krzysztof.kozlowski+dt@linaro.org, p.zabel@pengutronix.de, | ||||||
|  |         f.fainelli@gmail.com, jonas.gorski@gmail.com, | ||||||
|  |         william.zhang@broadcom.com, linux-clk@vger.kernel.org, | ||||||
|  |         devicetree@vger.kernel.org, linux-kernel@vger.kernel.org | ||||||
|  | Cc: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com>, | ||||||
|  |  Rob Herring <robh@kernel.org> | ||||||
|  | Subject: [PATCH v4 1/4] dt-bindings: clk: add BCM63268 timer clock definitions | ||||||
|  | Date: Wed, 22 Mar 2023 18:15:12 +0100 | ||||||
|  | Message-Id: <20230322171515.120353-2-noltari@gmail.com> | ||||||
|  | X-Mailer: git-send-email 2.30.2 | ||||||
|  | In-Reply-To: <20230322171515.120353-1-noltari@gmail.com> | ||||||
|  | References: <20230322171515.120353-1-noltari@gmail.com> | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Precedence: bulk | ||||||
|  | List-ID: <linux-clk.vger.kernel.org> | ||||||
|  | X-Mailing-List: linux-clk@vger.kernel.org | ||||||
|  |  | ||||||
|  | Add missing timer clock definitions for BCM63268. | ||||||
|  |  | ||||||
|  | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||||
|  | Acked-by: Rob Herring <robh@kernel.org> | ||||||
|  | --- | ||||||
|  |  v4: no changes | ||||||
|  |  v3: no changes | ||||||
|  |  v2: change commit title, as suggested by Stephen Boyd | ||||||
|  |  | ||||||
|  |  include/dt-bindings/clock/bcm63268-clock.h | 13 +++++++++++++ | ||||||
|  |  1 file changed, 13 insertions(+) | ||||||
|  |  | ||||||
|  | --- a/include/dt-bindings/clock/bcm63268-clock.h | ||||||
|  | +++ b/include/dt-bindings/clock/bcm63268-clock.h | ||||||
|  | @@ -27,4 +27,17 @@ | ||||||
|  |  #define BCM63268_CLK_TBUS	27 | ||||||
|  |  #define BCM63268_CLK_ROBOSW250	31 | ||||||
|  |   | ||||||
|  | +#define BCM63268_TCLK_EPHY1		0 | ||||||
|  | +#define BCM63268_TCLK_EPHY2		1 | ||||||
|  | +#define BCM63268_TCLK_EPHY3		2 | ||||||
|  | +#define BCM63268_TCLK_GPHY1		3 | ||||||
|  | +#define BCM63268_TCLK_DSL		4 | ||||||
|  | +#define BCM63268_TCLK_WAKEON_EPHY	6 | ||||||
|  | +#define BCM63268_TCLK_WAKEON_DSL	7 | ||||||
|  | +#define BCM63268_TCLK_FAP1		11 | ||||||
|  | +#define BCM63268_TCLK_FAP2		15 | ||||||
|  | +#define BCM63268_TCLK_UTO_50		16 | ||||||
|  | +#define BCM63268_TCLK_UTO_EXTIN		17 | ||||||
|  | +#define BCM63268_TCLK_USB_REF		18 | ||||||
|  | + | ||||||
|  |  #endif /* __DT_BINDINGS_CLOCK_BCM63268_H */ | ||||||
| @@ -0,0 +1,107 @@ | |||||||
|  | From patchwork Wed Mar 22 17:15:13 2023 | ||||||
|  | Content-Type: text/plain; charset="utf-8" | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Transfer-Encoding: 8bit | ||||||
|  | X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= | ||||||
|  |  <noltari@gmail.com> | ||||||
|  | X-Patchwork-Id: 13184390 | ||||||
|  | Return-Path: <linux-clk-owner@vger.kernel.org> | ||||||
|  | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | ||||||
|  | 	aws-us-west-2-korg-lkml-1.web.codeaurora.org | ||||||
|  | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | ||||||
|  | 	by smtp.lore.kernel.org (Postfix) with ESMTP id D0B1AC6FD1C | ||||||
|  | 	for <linux-clk@archiver.kernel.org>; Wed, 22 Mar 2023 17:16:08 +0000 (UTC) | ||||||
|  | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | ||||||
|  |         id S231472AbjCVRQI (ORCPT <rfc822;linux-clk@archiver.kernel.org>); | ||||||
|  |         Wed, 22 Mar 2023 13:16:08 -0400 | ||||||
|  | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58934 "EHLO | ||||||
|  |         lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | ||||||
|  |         with ESMTP id S231435AbjCVRP5 (ORCPT | ||||||
|  |         <rfc822;linux-clk@vger.kernel.org>); Wed, 22 Mar 2023 13:15:57 -0400 | ||||||
|  | Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com | ||||||
|  |  [IPv6:2a00:1450:4864:20::329]) | ||||||
|  |         by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9655064863; | ||||||
|  |         Wed, 22 Mar 2023 10:15:25 -0700 (PDT) | ||||||
|  | Received: by mail-wm1-x329.google.com with SMTP id | ||||||
|  |  v4-20020a05600c470400b003ee4f06428fso2424553wmo.4; | ||||||
|  |         Wed, 22 Mar 2023 10:15:25 -0700 (PDT) | ||||||
|  | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |         d=gmail.com; s=20210112; t=1679505324; | ||||||
|  |         h=content-transfer-encoding:mime-version:references:in-reply-to | ||||||
|  |          :message-id:date:subject:cc:to:from:from:to:cc:subject:date | ||||||
|  |          :message-id:reply-to; | ||||||
|  |         bh=C7ykhArT1dO7P8wtmI92eo4c7KtPZI9w182/5+cB3T0=; | ||||||
|  |         b=WRZRU2SM9n1LfUj4SgTPfQczADC2pfvoIrOsNpBLTym2eOfmkTetb/WbGSla5kw2Wb | ||||||
|  |          SH5MIC2fFeScJg6T5FFAUOOLmRVW9xvl8Q3T3NKb3z/9wvPHO767nrdIbffRWMJFs7gW | ||||||
|  |          wT/kuTpn8GYdfY0sZ/dMTkq41DVusEkxfX6GxtG85O98ZP8xMHQog8aPs9fRfUvI5ZKB | ||||||
|  |          eGYcRz/Wn1cHhjey9jtWzQEEmZ/BT3b0HQTF9Tl88oofhiEgbyjFXr91+vRsLbsJpGXH | ||||||
|  |          /1FjjaLG5DnonKubV9rmbuCU8KzwH331gi2KuRjvLD2V+OMewqSa5i+GvgVv8x2zC8y+ | ||||||
|  |          /mLQ== | ||||||
|  | X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |         d=1e100.net; s=20210112; t=1679505324; | ||||||
|  |         h=content-transfer-encoding:mime-version:references:in-reply-to | ||||||
|  |          :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc | ||||||
|  |          :subject:date:message-id:reply-to; | ||||||
|  |         bh=C7ykhArT1dO7P8wtmI92eo4c7KtPZI9w182/5+cB3T0=; | ||||||
|  |         b=bhd0fNh0jDOMlGSC4F+p5igV8AUlGEPj2cXUwgdgqRfSSuUy9z+Li8cT0MbY/aWH5Z | ||||||
|  |          qInRVA+R1cWV3ubrDyKag6oEc0LDU234bnMFcP9b7MRlrM8Dpit9TFSyqJU4sDUWNDs5 | ||||||
|  |          KOe2k/SNIdat6munC9VOuEBDO0eB/UDMN+repKwXNdHChp/Toq9qMvW4Uy8uHxosbQlD | ||||||
|  |          8P88GbKFjynb1E8I8croGjfub7+y8PPsWB0xNUcafIv6xs3MnVOP1Mk4KwBCbqS509la | ||||||
|  |          mfjsriXtIybO8XFqtn100ungjvbFWdogEplLdSPVdgAqdfF5J8gHxAoApoeYejYkL5/R | ||||||
|  |          kOhQ== | ||||||
|  | X-Gm-Message-State: AO0yUKWdzr3dMmjKhD8tF+ec4Dfdq9VGZ/WCU4d85npKQvxSwhNPZZ1J | ||||||
|  |         5WYRIqivh0suFC1OqEidwenpiJYvXedYjw== | ||||||
|  | X-Google-Smtp-Source:  | ||||||
|  |  AK7set87ew2/mKWeShXTTW/YBbBJNR2zeGFV0CfuqLXhiJEU6tqFuyKcW+vFEoKHIbNUS8wRy1SzLA== | ||||||
|  | X-Received: by 2002:a05:600c:290:b0:3ee:6d88:774a with SMTP id | ||||||
|  |  16-20020a05600c029000b003ee6d88774amr160734wmk.14.1679505323514; | ||||||
|  |         Wed, 22 Mar 2023 10:15:23 -0700 (PDT) | ||||||
|  | Received: from atlantis.lan (255.red-79-146-124.dynamicip.rima-tde.net. | ||||||
|  |  [79.146.124.255]) | ||||||
|  |         by smtp.gmail.com with ESMTPSA id | ||||||
|  |  v10-20020a05600c470a00b003ee11ac2288sm8414333wmo.21.2023.03.22.10.15.22 | ||||||
|  |         (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); | ||||||
|  |         Wed, 22 Mar 2023 10:15:23 -0700 (PDT) | ||||||
|  | From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com> | ||||||
|  | To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, | ||||||
|  |         krzysztof.kozlowski+dt@linaro.org, p.zabel@pengutronix.de, | ||||||
|  |         f.fainelli@gmail.com, jonas.gorski@gmail.com, | ||||||
|  |         william.zhang@broadcom.com, linux-clk@vger.kernel.org, | ||||||
|  |         devicetree@vger.kernel.org, linux-kernel@vger.kernel.org | ||||||
|  | Cc: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com>, | ||||||
|  |  Rob Herring <robh@kernel.org> | ||||||
|  | Subject: [PATCH v4 2/4] dt-bindings: reset: add BCM63268 timer reset | ||||||
|  |  definitions | ||||||
|  | Date: Wed, 22 Mar 2023 18:15:13 +0100 | ||||||
|  | Message-Id: <20230322171515.120353-3-noltari@gmail.com> | ||||||
|  | X-Mailer: git-send-email 2.30.2 | ||||||
|  | In-Reply-To: <20230322171515.120353-1-noltari@gmail.com> | ||||||
|  | References: <20230322171515.120353-1-noltari@gmail.com> | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Precedence: bulk | ||||||
|  | List-ID: <linux-clk.vger.kernel.org> | ||||||
|  | X-Mailing-List: linux-clk@vger.kernel.org | ||||||
|  |  | ||||||
|  | Add missing timer reset definitions for BCM63268. | ||||||
|  |  | ||||||
|  | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||||
|  | Acked-by: Rob Herring <robh@kernel.org> | ||||||
|  | --- | ||||||
|  |  v4: no changes | ||||||
|  |  v3: no changes | ||||||
|  |  v2: change commit title, as suggested by Stephen Boyd | ||||||
|  |  | ||||||
|  |  include/dt-bindings/reset/bcm63268-reset.h | 4 ++++ | ||||||
|  |  1 file changed, 4 insertions(+) | ||||||
|  |  | ||||||
|  | --- a/include/dt-bindings/reset/bcm63268-reset.h | ||||||
|  | +++ b/include/dt-bindings/reset/bcm63268-reset.h | ||||||
|  | @@ -23,4 +23,8 @@ | ||||||
|  |  #define BCM63268_RST_PCIE_HARD	17 | ||||||
|  |  #define BCM63268_RST_GPHY	18 | ||||||
|  |   | ||||||
|  | +#define BCM63268_TRST_SW	29 | ||||||
|  | +#define BCM63268_TRST_HW	30 | ||||||
|  | +#define BCM63268_TRST_POR	31 | ||||||
|  | + | ||||||
|  |  #endif /* __DT_BINDINGS_RESET_BCM63268_H */ | ||||||
| @@ -1,19 +1,100 @@ | |||||||
| From 3c8dd9d0937a19f3f20f28ba0b0b64f448d50dd4 Mon Sep 17 00:00:00 2001 | From patchwork Wed Mar 22 17:15:15 2023 | ||||||
| From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> | Content-Type: text/plain; charset="utf-8" | ||||||
| Date: Thu, 25 Feb 2021 19:54:04 +0100 |  | ||||||
| Subject: [PATCH 4/4] clk: bcm: Add BCM63268 timer clock and reset driver |  | ||||||
| MIME-Version: 1.0 | MIME-Version: 1.0 | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit | Content-Transfer-Encoding: 8bit | ||||||
|  | X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= | ||||||
|  |  <noltari@gmail.com> | ||||||
|  | X-Patchwork-Id: 13184392 | ||||||
|  | Return-Path: <linux-clk-owner@vger.kernel.org> | ||||||
|  | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | ||||||
|  | 	aws-us-west-2-korg-lkml-1.web.codeaurora.org | ||||||
|  | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | ||||||
|  | 	by smtp.lore.kernel.org (Postfix) with ESMTP id 199D9C76196 | ||||||
|  | 	for <linux-clk@archiver.kernel.org>; Wed, 22 Mar 2023 17:16:11 +0000 (UTC) | ||||||
|  | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | ||||||
|  |         id S231512AbjCVRQJ (ORCPT <rfc822;linux-clk@archiver.kernel.org>); | ||||||
|  |         Wed, 22 Mar 2023 13:16:09 -0400 | ||||||
|  | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58942 "EHLO | ||||||
|  |         lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | ||||||
|  |         with ESMTP id S231442AbjCVRP5 (ORCPT | ||||||
|  |         <rfc822;linux-clk@vger.kernel.org>); Wed, 22 Mar 2023 13:15:57 -0400 | ||||||
|  | Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com | ||||||
|  |  [IPv6:2a00:1450:4864:20::32c]) | ||||||
|  |         by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1DDB36487D; | ||||||
|  |         Wed, 22 Mar 2023 10:15:27 -0700 (PDT) | ||||||
|  | Received: by mail-wm1-x32c.google.com with SMTP id | ||||||
|  |  i5-20020a05600c354500b003edd24054e0so6717370wmq.4; | ||||||
|  |         Wed, 22 Mar 2023 10:15:27 -0700 (PDT) | ||||||
|  | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |         d=gmail.com; s=20210112; t=1679505325; | ||||||
|  |         h=content-transfer-encoding:mime-version:references:in-reply-to | ||||||
|  |          :message-id:date:subject:cc:to:from:from:to:cc:subject:date | ||||||
|  |          :message-id:reply-to; | ||||||
|  |         bh=rkv/eZYA1ncHp5FnV2ZWc3hgYnAx28S86QA9vmcXFCY=; | ||||||
|  |         b=Y1mva2Bt3sUbKxLgEUS331CJbGxUc4z8kTQW8qiHWGhYlFKtm+d5z4sT40E5BeZAnU | ||||||
|  |          zmTbCI7jbroe9NYBxGUmSli6LNVDPjND80ChbhWTqbqMQTmeQFWut9KmeBWK6Oze2lC/ | ||||||
|  |          XMSOorUzowjcU2xtHNrzoq2KH2pstW573lsB8WnzFVfhMaRkE9DfRr6WNyA7zC8DyxM5 | ||||||
|  |          ezxlCQtCmgPfCqlyksbIDKrgrRf3GiUR0yUd6xRU+MssyvH1FkYGDCerPctDto6lGHBz | ||||||
|  |          8Y15jT3l6OnQMT6dkekgpPF5/XrSUY93u9g0B4U8+0dhNj+K7vmDen+jqdess+tpLnq/ | ||||||
|  |          gFrA== | ||||||
|  | X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |         d=1e100.net; s=20210112; t=1679505325; | ||||||
|  |         h=content-transfer-encoding:mime-version:references:in-reply-to | ||||||
|  |          :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc | ||||||
|  |          :subject:date:message-id:reply-to; | ||||||
|  |         bh=rkv/eZYA1ncHp5FnV2ZWc3hgYnAx28S86QA9vmcXFCY=; | ||||||
|  |         b=Ym4+u8bbTQGNkewUBrLf+89vE0EFJBQp2f1crwUxZFboKTROF9ltZonY1CGepo7b0B | ||||||
|  |          fkx3TbWQy5X65g3ScuieqtClCI8WanPeNBJ48+JipJYO3ODVNBxnVaTuW/0FOIcahfqe | ||||||
|  |          sG5GvggHhzRz+Yeybsbnupmzxnw8Ez0BpMl3p7zcjHL7BGZDdOOX2Zbw3zfyYa5sg2nX | ||||||
|  |          UXYJT36zy2h39gxUsy9QkhQ76CG3w6omniohZpYidpojpiDjbOy0nKFky4kUe+YyA1fF | ||||||
|  |          4IBhjAm6mH+uh6wHSG1qj+NAXHs0xDDJps16PbJwAgL7Qt9K5WW+R/UAYPmHFgaRIHOw | ||||||
|  |          /seA== | ||||||
|  | X-Gm-Message-State: AO0yUKXRtoYO8Nfus6Ca8lhM39P1Xn6TGkhatEfoISd1YNOkTJJN2hW+ | ||||||
|  |         xRphLgxlzNfCLcVPlpGK9dk= | ||||||
|  | X-Google-Smtp-Source:  | ||||||
|  |  AK7set9VnMEykugk8ZYnkXuqK41bX1dzlvKsAXHEjr8i2NZBld0buKhQLcGYEcwxnBgVTtC7eRGfXw== | ||||||
|  | X-Received: by 2002:a1c:7c0b:0:b0:3e2:1dac:b071 with SMTP id | ||||||
|  |  x11-20020a1c7c0b000000b003e21dacb071mr178053wmc.13.1679505325582; | ||||||
|  |         Wed, 22 Mar 2023 10:15:25 -0700 (PDT) | ||||||
|  | Received: from atlantis.lan (255.red-79-146-124.dynamicip.rima-tde.net. | ||||||
|  |  [79.146.124.255]) | ||||||
|  |         by smtp.gmail.com with ESMTPSA id | ||||||
|  |  v10-20020a05600c470a00b003ee11ac2288sm8414333wmo.21.2023.03.22.10.15.24 | ||||||
|  |         (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); | ||||||
|  |         Wed, 22 Mar 2023 10:15:25 -0700 (PDT) | ||||||
|  | From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com> | ||||||
|  | To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, | ||||||
|  |         krzysztof.kozlowski+dt@linaro.org, p.zabel@pengutronix.de, | ||||||
|  |         f.fainelli@gmail.com, jonas.gorski@gmail.com, | ||||||
|  |         william.zhang@broadcom.com, linux-clk@vger.kernel.org, | ||||||
|  |         devicetree@vger.kernel.org, linux-kernel@vger.kernel.org | ||||||
|  | Cc: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com> | ||||||
|  | Subject: [PATCH v4 4/4] clk: bcm: Add BCM63268 timer clock and reset driver | ||||||
|  | Date: Wed, 22 Mar 2023 18:15:15 +0100 | ||||||
|  | Message-Id: <20230322171515.120353-5-noltari@gmail.com> | ||||||
|  | X-Mailer: git-send-email 2.30.2 | ||||||
|  | In-Reply-To: <20230322171515.120353-1-noltari@gmail.com> | ||||||
|  | References: <20230322171515.120353-1-noltari@gmail.com> | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Precedence: bulk | ||||||
|  | List-ID: <linux-clk.vger.kernel.org> | ||||||
|  | X-Mailing-List: linux-clk@vger.kernel.org | ||||||
| 
 | 
 | ||||||
| Add driver for BCM63268 timer clock and reset controller. | Add driver for BCM63268 timer clock and reset controller. | ||||||
| 
 | 
 | ||||||
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||||
| ---
 | ---
 | ||||||
|  |  v4: add changes suggested by Stephen Boyd: | ||||||
|  |   - Usage of of_device_get_match_data() isn't needed. | ||||||
|  |   - Use devm_clk_hw_register_gate(). | ||||||
|  |   - Drop clk_hw_unregister_gate(). | ||||||
|  |  v3: add missing <linux/io.h> include to fix build warning | ||||||
|  |  v2: add changes suggested by Stephen Boyd | ||||||
|  | 
 | ||||||
|  drivers/clk/bcm/Kconfig              |   9 ++ |  drivers/clk/bcm/Kconfig              |   9 ++ | ||||||
|  drivers/clk/bcm/Makefile             |   1 + |  drivers/clk/bcm/Makefile             |   1 + | ||||||
|  drivers/clk/bcm/clk-bcm63268-timer.c | 232 +++++++++++++++++++++++++++ |  drivers/clk/bcm/clk-bcm63268-timer.c | 215 +++++++++++++++++++++++++++ | ||||||
|  3 files changed, 242 insertions(+) |  3 files changed, 225 insertions(+) | ||||||
|  create mode 100644 drivers/clk/bcm/clk-bcm63268-timer.c |  create mode 100644 drivers/clk/bcm/clk-bcm63268-timer.c | ||||||
| 
 | 
 | ||||||
| --- a/drivers/clk/bcm/Kconfig
 | --- a/drivers/clk/bcm/Kconfig
 | ||||||
| @@ -46,17 +127,17 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | |||||||
|  obj-$(CONFIG_CLK_BCM_KONA)	+= clk-bcm281xx.o |  obj-$(CONFIG_CLK_BCM_KONA)	+= clk-bcm281xx.o | ||||||
| --- /dev/null
 | --- /dev/null
 | ||||||
| +++ b/drivers/clk/bcm/clk-bcm63268-timer.c
 | +++ b/drivers/clk/bcm/clk-bcm63268-timer.c
 | ||||||
| @@ -0,0 +1,232 @@
 | @@ -0,0 +1,215 @@
 | ||||||
| +// SPDX-License-Identifier: GPL-2.0
 | +// SPDX-License-Identifier: GPL-2.0
 | ||||||
| +/*
 | +/*
 | ||||||
| + * BCM63268 Timer Clock and Reset Controller Driver
 | + * BCM63268 Timer Clock and Reset Controller Driver
 | ||||||
| + *
 | + *
 | ||||||
| + * Copyright (C) 2021 Álvaro Fernández Rojas <noltari@gmail.com>
 | + * Copyright (C) 2023 Álvaro Fernández Rojas <noltari@gmail.com>
 | ||||||
| + */
 | + */
 | ||||||
| +
 | +
 | ||||||
| +#include <linux/clk-provider.h>
 | +#include <linux/clk-provider.h>
 | ||||||
| +#include <linux/delay.h>
 | +#include <linux/delay.h>
 | ||||||
| +#include <linux/init.h>
 | +#include <linux/io.h>
 | ||||||
| +#include <linux/of.h>
 | +#include <linux/of.h>
 | ||||||
| +#include <linux/of_device.h>
 | +#include <linux/of_device.h>
 | ||||||
| +#include <linux/platform_device.h>
 | +#include <linux/platform_device.h>
 | ||||||
| @@ -78,7 +159,6 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | |||||||
| +struct bcm63268_tclk_table_entry {
 | +struct bcm63268_tclk_table_entry {
 | ||||||
| +	const char * const name;
 | +	const char * const name;
 | ||||||
| +	u8 bit;
 | +	u8 bit;
 | ||||||
| +	unsigned long flags;
 |  | ||||||
| +};
 | +};
 | ||||||
| +
 | +
 | ||||||
| +static const struct bcm63268_tclk_table_entry bcm63268_timer_clocks[] = {
 | +static const struct bcm63268_tclk_table_entry bcm63268_timer_clocks[] = {
 | ||||||
| @@ -197,17 +277,14 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | |||||||
| +static int bcm63268_tclk_probe(struct platform_device *pdev)
 | +static int bcm63268_tclk_probe(struct platform_device *pdev)
 | ||||||
| +{
 | +{
 | ||||||
| +	struct device *dev = &pdev->dev;
 | +	struct device *dev = &pdev->dev;
 | ||||||
| +	const struct bcm63268_tclk_table_entry *entry, *table;
 | +	const struct bcm63268_tclk_table_entry *entry;
 | ||||||
| +	struct bcm63268_tclkrst_hw *hw;
 | +	struct bcm63268_tclkrst_hw *hw;
 | ||||||
|  | +	struct clk_hw *clk;
 | ||||||
| +	u8 maxbit = 0;
 | +	u8 maxbit = 0;
 | ||||||
| +	int i, ret;
 | +	int i, ret;
 | ||||||
| +
 | +
 | ||||||
| +	table = of_device_get_match_data(dev);
 | +	for (entry = bcm63268_timer_clocks; entry->name; entry++)
 | ||||||
| +	if (!table)
 | +		maxbit = max(maxbit, entry->bit);
 | ||||||
| +		return -EINVAL;
 |  | ||||||
| +
 |  | ||||||
| +	for (entry = table; entry->name; entry++)
 |  | ||||||
| +		maxbit = max_t(u8, maxbit, entry->bit);
 |  | ||||||
| +	maxbit++;
 | +	maxbit++;
 | ||||||
| +
 | +
 | ||||||
| +	hw = devm_kzalloc(&pdev->dev, struct_size(hw, data.hws, maxbit),
 | +	hw = devm_kzalloc(&pdev->dev, struct_size(hw, data.hws, maxbit),
 | ||||||
| @@ -227,24 +304,21 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | |||||||
| +	if (IS_ERR(hw->regs))
 | +	if (IS_ERR(hw->regs))
 | ||||||
| +		return PTR_ERR(hw->regs);
 | +		return PTR_ERR(hw->regs);
 | ||||||
| +
 | +
 | ||||||
| +	for (entry = table; entry->name; entry++) {
 | +	for (entry = bcm63268_timer_clocks; entry->name; entry++) {
 | ||||||
| +		struct clk_hw *clk;
 | +		clk = devm_clk_hw_register_gate(dev, entry->name, NULL, 0,
 | ||||||
| +
 | +						hw->regs, entry->bit,
 | ||||||
| +		clk = clk_hw_register_gate(dev, entry->name, NULL,
 | +						CLK_GATE_BIG_ENDIAN,
 | ||||||
| +					   entry->flags, hw->regs, entry->bit,
 | +						&hw->lock);
 | ||||||
| +					   CLK_GATE_BIG_ENDIAN, &hw->lock);
 | +		if (IS_ERR(clk))
 | ||||||
| +		if (IS_ERR(clk)) {
 | +			return PTR_ERR(clk);
 | ||||||
| +			ret = PTR_ERR(clk);
 |  | ||||||
| +			goto out_err;
 |  | ||||||
| +		}
 |  | ||||||
| +
 | +
 | ||||||
| +		hw->data.hws[entry->bit] = clk;
 | +		hw->data.hws[entry->bit] = clk;
 | ||||||
| +	}
 | +	}
 | ||||||
| +
 | +
 | ||||||
| +	ret = of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get,
 | +	ret = devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get,
 | ||||||
| +				     &hw->data);
 | +					  &hw->data);
 | ||||||
| +	if (!ret)
 | +	if (ret)
 | ||||||
| +		return 0;
 | +		return ret;
 | ||||||
| +
 | +
 | ||||||
| +	hw->rcdev.of_node = dev->of_node;
 | +	hw->rcdev.of_node = dev->of_node;
 | ||||||
| +	hw->rcdev.ops = &bcm63268_timer_reset_ops;
 | +	hw->rcdev.ops = &bcm63268_timer_reset_ops;
 | ||||||
| @@ -253,22 +327,12 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | |||||||
| +	if (ret)
 | +	if (ret)
 | ||||||
| +		dev_err(dev, "Failed to register reset controller\n");
 | +		dev_err(dev, "Failed to register reset controller\n");
 | ||||||
| +
 | +
 | ||||||
| +out_err:
 | +	return 0;
 | ||||||
| +	for (i = 0; i < hw->data.num; i++) {
 |  | ||||||
| +		if (!IS_ERR(hw->data.hws[i]))
 |  | ||||||
| +			clk_hw_unregister_gate(hw->data.hws[i]);
 |  | ||||||
| +	}
 |  | ||||||
| +
 |  | ||||||
| +	return ret;
 |  | ||||||
| +}
 | +}
 | ||||||
| +
 | +
 | ||||||
| +static const struct of_device_id bcm63268_tclk_dt_ids[] = {
 | +static const struct of_device_id bcm63268_tclk_dt_ids[] = {
 | ||||||
| +	{
 | +	{ .compatible = "brcm,bcm63268-timer-clocks" },
 | ||||||
| +		.compatible = "brcm,bcm63268-timer-clocks",
 | +	{ /* sentinel */ }
 | ||||||
| +		.data = &bcm63268_timer_clocks,
 |  | ||||||
| +	}, {
 |  | ||||||
| +		/* sentinel */
 |  | ||||||
| +	}
 |  | ||||||
| +};
 | +};
 | ||||||
| +
 | +
 | ||||||
| +static struct platform_driver bcm63268_tclk = {
 | +static struct platform_driver bcm63268_tclk = {
 | ||||||
		Reference in New Issue
	
	Block a user
	 Álvaro Fernández Rojas
					Álvaro Fernández Rojas