From patchwork Fri Aug 2 13:53:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Marangi X-Patchwork-Id: 1968532 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=ZDtOx8Ln; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4WbGq62wxRz1yZv for ; Sat, 3 Aug 2024 05:58:26 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6F03E88C47; Fri, 2 Aug 2024 21:56:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZDtOx8Ln"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A7FDA88BFF; Fri, 2 Aug 2024 21:56:50 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00, DATE_IN_PAST_06_12, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75 autolearn=no autolearn_force=no version=3.4.2 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A3D5B88C6B for ; Fri, 2 Aug 2024 21:56:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=ansuelsmth@gmail.com Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4281d812d3eso63767545e9.3 for ; Fri, 02 Aug 2024 12:56:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722628606; x=1723233406; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=lT8EfmMU5DGYKTnp9hE46JQ/dUYjvXVW6+XxXvj2Q9Q=; b=ZDtOx8Lnt0OHAcYkFTtwmrx/iCzftvoiVK0OkyR9n1hZCpvvUA6aquHg/tw0Shc9qP xWC/uA+RbMGwiCy3lfYSyhJQ8XS/Z7weTG8rcphctaiKViT5oEmLAVCgn7fLLPKsxn5c cjgyUCGU6HOcmuAW6W+oIyaivYXv0Sim+R5C25sdQ0yFYOTAWwwRCcGLS43z21er6Fl1 wW+MFn5Gr+bqEMABkPXZ1mqKVsk+5FbI/FaTCUIlXAQwu7aggw03GV7lzbDy1u9RneNb Av/dzqz2bEXyHvMxH68ukR/9In56IyrsxSxRUKghHXYzh2BKxegGwyVLeAh91/OKfYF3 5IwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722628606; x=1723233406; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lT8EfmMU5DGYKTnp9hE46JQ/dUYjvXVW6+XxXvj2Q9Q=; b=NC5dnQAe+TXoW5MyyYnRZE7bdspV9CP/uz7S99Q/cvY+7VXjw1qQnW3lUX7zDBL0qT HgTtWx7BqafgtRdfYW9Fyf9LX7vn97aTfikVcBYvaQv8BdlAmN+avjVgDUL1E0ig7Cch Zv2kCulxFOh0+SpFOAS40gdUJlZYHoapiPRQA3gdBtzFgtdYvuBVdBTgD/pmuHzByZt8 dLAOzUn5OTYVKxfDIbCvQj5O9IobQUiYBJZ7ru/rVP18zwWpXWJXxNOaJwrhNGOAWLV7 q46FMYKLXeLSKl1acU/wTdEpXtvQthBcOuOwJ/GvaRDJUMIOOiB9C11MUkxv+nyCIQjp nebg== X-Forwarded-Encrypted: i=1; AJvYcCX6Ob+M12MTJDBKsmcsq6sMmutcLRFf9hIh2smHQBC5/NNRnmaRo/HjH0xlQ2SVtgWOsKECPVxHtkzx89acemrmZiU9TA== X-Gm-Message-State: AOJu0YzT2sKPQG9pPA0ZWvZ9T+nyaGnvXcIKGp1t7K+jhDXIR0DGtHVF lsLiKE8+dNIzRGbncDR5l1QIP4h+Z7pLl7G02ZAbOqD1+23+Dxh9 X-Google-Smtp-Source: AGHT+IEtHoLdSHQYmdOA7XWtagWumdEmWUaF1td4pxOLuGtEI/BmEAM+s5vEnC48gLvADCZFDbs3pg== X-Received: by 2002:a05:600c:4f95:b0:426:6ed5:fcb with SMTP id 5b1f17b1804b1-428e6af2e72mr36385225e9.4.1722628605960; Fri, 02 Aug 2024 12:56:45 -0700 (PDT) Received: from localhost.localdomain (host-87-6-196-30.retail.telecomitalia.it. [87.6.196.30]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-428e6e01d0asm43350485e9.16.2024.08.02.12.56.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Aug 2024 12:56:45 -0700 (PDT) From: Christian Marangi To: Crispin John , Tom Rini , Lukasz Majewski , Sean Anderson , Ryder Lee , Weijie Gao , Chunfeng Yun , GSS_MTK_Uboot_upstream , Christian Marangi , Sam Shih , u-boot@lists.denx.de Subject: [PATCH 11/14] clk: mediatek: mt7981: replace infracfg ID with upstream linux Date: Fri, 2 Aug 2024 15:53:12 +0200 Message-ID: <20240802135326.25303-12-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240802135326.25303-1-ansuelsmth@gmail.com> References: <20240802135326.25303-1-ansuelsmth@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Replace infracfg clk ID with upstream linux version. Add some missing clk for PWM3 and for PCIe. The same format is used here with the factor first, then mux and then gates. To correctly reference the gates in clk_gate function, define the gates_offs value in clk_tree now that they are at an offset from mux and factor. Signed-off-by: Christian Marangi --- drivers/clk/mediatek/clk-mt7981.c | 1 + include/dt-bindings/clock/mt7981-clk.h | 136 ++++++++++++------------- 2 files changed, 66 insertions(+), 71 deletions(-) diff --git a/drivers/clk/mediatek/clk-mt7981.c b/drivers/clk/mediatek/clk-mt7981.c index aaaebd46791..4435430dcde 100644 --- a/drivers/clk/mediatek/clk-mt7981.c +++ b/drivers/clk/mediatek/clk-mt7981.c @@ -523,6 +523,7 @@ static const struct mtk_clk_tree mt7981_topckgen_clk_tree = { static const struct mtk_clk_tree mt7981_infracfg_clk_tree = { .fdivs_offs = CK_INFRA_66M_MCK, .muxes_offs = CK_INFRA_UART0_SEL, + .gates_offs = CK_INFRA_GPT_STA, .fdivs = infra_fixed_divs, .muxes = infra_muxes, .flags = CLK_INFRASYS, diff --git a/include/dt-bindings/clock/mt7981-clk.h b/include/dt-bindings/clock/mt7981-clk.h index 8a6f5cb319e..05019c95ebe 100644 --- a/include/dt-bindings/clock/mt7981-clk.h +++ b/include/dt-bindings/clock/mt7981-clk.h @@ -8,11 +8,6 @@ #ifndef _DT_BINDINGS_CLK_MT7981_H #define _DT_BINDINGS_CLK_MT7981_H -/* INFRACFG */ - -#define CK_INFRA_66M_MCK 0 -#define CLK_INFRA_NR_CLK 1 - /* TOPCKGEN */ #define CK_TOP_CB_CKSQ_40M 0 @@ -124,74 +119,73 @@ #define CK_TOP_U2U3_SYS_SEL 106 #define CK_TOP_U2U3_XHCI_SEL 107 #define CK_TOP_USB_FRMCNT_SEL 108 -#define CLK_TOP_NR_CLK 109 +#define CK_TOP_AUD_I2S_M 109 +#define CLK_TOP_NR_CLK 110 -/* - * INFRACFG_AO - * clock muxes need to be append to infracfg domain, and clock gates - * need to be keep in infracgh_ao domain - */ -#define INFRACFG_AO_OFFSET 10 +/* INFRACFG */ -#define CK_INFRA_UART0_SEL (0 + CLK_INFRA_NR_CLK) -#define CK_INFRA_UART1_SEL (1 + CLK_INFRA_NR_CLK) -#define CK_INFRA_UART2_SEL (2 + CLK_INFRA_NR_CLK) -#define CK_INFRA_SPI0_SEL (3 + CLK_INFRA_NR_CLK) -#define CK_INFRA_SPI1_SEL (4 + CLK_INFRA_NR_CLK) -#define CK_INFRA_SPI2_SEL (5 + CLK_INFRA_NR_CLK) -#define CK_INFRA_PWM1_SEL (6 + CLK_INFRA_NR_CLK) -#define CK_INFRA_PWM2_SEL (7 + CLK_INFRA_NR_CLK) -#define CK_INFRA_PWM_BSEL (8 + CLK_INFRA_NR_CLK) -#define CK_INFRA_PCIE_SEL (9 + CLK_INFRA_NR_CLK) -#define CK_INFRA_GPT_STA (10 - INFRACFG_AO_OFFSET) -#define CK_INFRA_PWM_HCK (11 - INFRACFG_AO_OFFSET) -#define CK_INFRA_PWM_STA (12 - INFRACFG_AO_OFFSET) -#define CK_INFRA_PWM1_CK (13 - INFRACFG_AO_OFFSET) -#define CK_INFRA_PWM2_CK (14 - INFRACFG_AO_OFFSET) -#define CK_INFRA_CQ_DMA_CK (15 - INFRACFG_AO_OFFSET) -#define CK_INFRA_AUD_BUS_CK (16 - INFRACFG_AO_OFFSET) -#define CK_INFRA_AUD_26M_CK (17 - INFRACFG_AO_OFFSET) -#define CK_INFRA_AUD_L_CK (18 - INFRACFG_AO_OFFSET) -#define CK_INFRA_AUD_AUD_CK (19 - INFRACFG_AO_OFFSET) -#define CK_INFRA_AUD_EG2_CK (20 - INFRACFG_AO_OFFSET) -#define CK_INFRA_DRAMC_26M_CK (21 - INFRACFG_AO_OFFSET) -#define CK_INFRA_DBG_CK (22 - INFRACFG_AO_OFFSET) -#define CK_INFRA_AP_DMA_CK (23 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SEJ_CK (24 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SEJ_13M_CK (25 - INFRACFG_AO_OFFSET) -#define CK_INFRA_THERM_CK (26 - INFRACFG_AO_OFFSET) -#define CK_INFRA_I2C0_CK (27 - INFRACFG_AO_OFFSET) -#define CK_INFRA_UART0_CK (28 - INFRACFG_AO_OFFSET) -#define CK_INFRA_UART1_CK (29 - INFRACFG_AO_OFFSET) -#define CK_INFRA_UART2_CK (30 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SPI2_CK (31 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SPI2_HCK_CK (32 - INFRACFG_AO_OFFSET) -#define CK_INFRA_NFI1_CK (33 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SPINFI1_CK (34 - INFRACFG_AO_OFFSET) -#define CK_INFRA_NFI_HCK_CK (35 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SPI0_CK (36 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SPI1_CK (37 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SPI0_HCK_CK (38 - INFRACFG_AO_OFFSET) -#define CK_INFRA_SPI1_HCK_CK (39 - INFRACFG_AO_OFFSET) -#define CK_INFRA_FRTC_CK (40 - INFRACFG_AO_OFFSET) -#define CK_INFRA_MSDC_CK (41 - INFRACFG_AO_OFFSET) -#define CK_INFRA_MSDC_HCK_CK (42 - INFRACFG_AO_OFFSET) -#define CK_INFRA_MSDC_133M_CK (43 - INFRACFG_AO_OFFSET) -#define CK_INFRA_MSDC_66M_CK (44 - INFRACFG_AO_OFFSET) -#define CK_INFRA_ADC_26M_CK (45 - INFRACFG_AO_OFFSET) -#define CK_INFRA_ADC_FRC_CK (46 - INFRACFG_AO_OFFSET) -#define CK_INFRA_FBIST2FPC_CK (47 - INFRACFG_AO_OFFSET) -#define CK_INFRA_I2C_MCK_CK (48 - INFRACFG_AO_OFFSET) -#define CK_INFRA_I2C_PCK_CK (49 - INFRACFG_AO_OFFSET) -#define CK_INFRA_IUSB_133_CK (50 - INFRACFG_AO_OFFSET) -#define CK_INFRA_IUSB_66M_CK (51 - INFRACFG_AO_OFFSET) -#define CK_INFRA_IUSB_SYS_CK (52 - INFRACFG_AO_OFFSET) -#define CK_INFRA_IUSB_CK (53 - INFRACFG_AO_OFFSET) -#define CK_INFRA_IPCIE_CK (54 - INFRACFG_AO_OFFSET) -#define CK_INFRA_IPCIER_CK (55 - INFRACFG_AO_OFFSET) -#define CK_INFRA_IPCIEB_CK (56 - INFRACFG_AO_OFFSET) -#define CK_INFRA_IPCIE_PIPE_CK (57 - INFRACFG_AO_OFFSET) -#define CLK_INFRA_AO_NR_CLK (58 - INFRACFG_AO_OFFSET) +#define CK_INFRA_66M_MCK 0 +#define CK_INFRA_UART0_SEL 1 +#define CK_INFRA_UART1_SEL 2 +#define CK_INFRA_UART2_SEL 3 +#define CK_INFRA_SPI0_SEL 4 +#define CK_INFRA_SPI1_SEL 5 +#define CK_INFRA_SPI2_SEL 6 +#define CK_INFRA_PWM1_SEL 7 +#define CK_INFRA_PWM2_SEL 8 +#define CK_INFRA_PWM3_SEL 9 +#define CK_INFRA_PWM_BSEL 10 +#define CK_INFRA_PCIE_SEL 11 +#define CK_INFRA_GPT_STA 12 +#define CK_INFRA_PWM_HCK 13 +#define CK_INFRA_PWM_STA 14 +#define CK_INFRA_PWM1_CK 15 +#define CK_INFRA_PWM2_CK 16 +#define CK_INFRA_PWM3_CK 17 +#define CK_INFRA_CQ_DMA_CK 18 +#define CK_INFRA_AUD_BUS_CK 19 +#define CK_INFRA_AUD_26M_CK 20 +#define CK_INFRA_AUD_L_CK 21 +#define CK_INFRA_AUD_AUD_CK 22 +#define CK_INFRA_AUD_EG2_CK 23 +#define CK_INFRA_DRAMC_26M_CK 24 +#define CK_INFRA_DBG_CK 25 +#define CK_INFRA_AP_DMA_CK 26 +#define CK_INFRA_SEJ_CK 27 +#define CK_INFRA_SEJ_13M_CK 28 +#define CK_INFRA_THERM_CK 29 +#define CK_INFRA_I2C0_CK 30 +#define CK_INFRA_UART0_CK 31 +#define CK_INFRA_UART1_CK 32 +#define CK_INFRA_UART2_CK 33 +#define CK_INFRA_SPI2_CK 34 +#define CK_INFRA_SPI2_HCK_CK 35 +#define CK_INFRA_NFI1_CK 36 +#define CK_INFRA_SPINFI1_CK 37 +#define CK_INFRA_NFI_HCK_CK 38 +#define CK_INFRA_SPI0_CK 39 +#define CK_INFRA_SPI1_CK 40 +#define CK_INFRA_SPI0_HCK_CK 41 +#define CK_INFRA_SPI1_HCK_CK 42 +#define CK_INFRA_FRTC_CK 43 +#define CK_INFRA_MSDC_CK 44 +#define CK_INFRA_MSDC_HCK_CK 45 +#define CK_INFRA_MSDC_133M_CK 46 +#define CK_INFRA_MSDC_66M_CK 47 +#define CK_INFRA_ADC_26M_CK 48 +#define CK_INFRA_ADC_FRC_CK 49 +#define CK_INFRA_FBIST2FPC_CK 50 +#define CK_INFRA_I2C_MCK_CK 51 +#define CK_INFRA_I2C_PCK_CK 52 +#define CK_INFRA_IUSB_133_CK 53 +#define CK_INFRA_IUSB_66M_CK 54 +#define CK_INFRA_IUSB_SYS_CK 55 +#define CK_INFRA_IUSB_CK 56 +#define CK_INFRA_IPCIE_CK 57 +#define CK_INFRA_IPCIE_PIPE_CK 58 +#define CK_INFRA_IPCIER_CK 59 +#define CK_INFRA_IPCIEB_CK 60 +#define CLK_INFRA_NR_CLK 61 /* APMIXEDSYS */