[PATCH 11/14] clk: mediatek: mt7981: replace infracfg ID with upstream linux

Christian Marangi ansuelsmth at gmail.com
Fri Aug 2 15:53:12 CEST 2024


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 <ansuelsmth at gmail.com>
---
 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 */
 
-- 
2.45.2



More information about the U-Boot mailing list