14bed6a7dSpatrick /* Public Domain */ 24bed6a7dSpatrick 34bed6a7dSpatrick /* 44bed6a7dSpatrick * i.MX6Q clocks. 54bed6a7dSpatrick */ 64bed6a7dSpatrick 74bed6a7dSpatrick #define IMX6_CLK_IPG 0x3e 84bed6a7dSpatrick #define IMX6_CLK_IPG_PER 0x3f 9e45f7b26Spatrick #define IMX6_CLK_ECSPI_ROOT 0x47 104bed6a7dSpatrick #define IMX6_CLK_ARM 0x68 114bed6a7dSpatrick #define IMX6_CLK_AHB 0x69 12e45f7b26Spatrick #define IMX6_CLK_ECSPI2 0x71 134bed6a7dSpatrick #define IMX6_CLK_ENET 0x75 144bed6a7dSpatrick #define IMX6_CLK_I2C1 0x7d 154bed6a7dSpatrick #define IMX6_CLK_I2C2 0x7e 164bed6a7dSpatrick #define IMX6_CLK_I2C3 0x7f 174bed6a7dSpatrick #define IMX6_CLK_SATA 0x9a 184bed6a7dSpatrick #define IMX6_CLK_UART_IPG 0xa0 194bed6a7dSpatrick #define IMX6_CLK_UART_SERIAL 0xa1 204bed6a7dSpatrick #define IMX6_CLK_USBOH3 0xa2 214bed6a7dSpatrick #define IMX6_CLK_USDHC1 0xa3 224bed6a7dSpatrick #define IMX6_CLK_USDHC2 0xa4 234bed6a7dSpatrick #define IMX6_CLK_USDHC3 0xa5 244bed6a7dSpatrick #define IMX6_CLK_USDHC4 0xa6 256c60662eSkettenis #define IMX6_CLK_PLL3_USB_OTG 0xac 266c60662eSkettenis #define IMX6_CLK_PLL7_USB_HOST 0xb0 276c60662eSkettenis #define IMX6_CLK_PLL6_ENET 0xb1 284bed6a7dSpatrick #define IMX6_CLK_USBPHY1 0xb6 294bed6a7dSpatrick #define IMX6_CLK_USBPHY2 0xb7 304bed6a7dSpatrick #define IMX6_CLK_SATA_REF 0xba 314bed6a7dSpatrick #define IMX6_CLK_SATA_REF_100 0xbb 324bed6a7dSpatrick #define IMX6_CLK_ENET_REF 0xbe 336c60662eSkettenis #define IMX6_CLK_PLL3 0xe1 346c60662eSkettenis #define IMX6_CLK_PLL6 0xe4 356c60662eSkettenis #define IMX6_CLK_PLL7 0xe5 364bed6a7dSpatrick 374bed6a7dSpatrick struct imxccm_gate imx6_gates[] = { 38e45f7b26Spatrick [IMX6_CLK_ECSPI2] = { CCM_CCGR1, 1, IMX6_CLK_ECSPI_ROOT }, 394bed6a7dSpatrick [IMX6_CLK_ENET] = { CCM_CCGR1, 5, IMX6_CLK_IPG }, 404bed6a7dSpatrick [IMX6_CLK_I2C1] = { CCM_CCGR2, 3, IMX6_CLK_IPG_PER }, 414bed6a7dSpatrick [IMX6_CLK_I2C2] = { CCM_CCGR2, 4, IMX6_CLK_IPG_PER }, 424bed6a7dSpatrick [IMX6_CLK_I2C3] = { CCM_CCGR2, 5, IMX6_CLK_IPG_PER }, 434bed6a7dSpatrick [IMX6_CLK_SATA] = { CCM_CCGR5, 2 }, 444bed6a7dSpatrick [IMX6_CLK_UART_IPG] = { CCM_CCGR5, 12, IMX6_CLK_IPG }, 454bed6a7dSpatrick [IMX6_CLK_UART_SERIAL] = { CCM_CCGR5, 13 }, 464bed6a7dSpatrick [IMX6_CLK_USBOH3] = { CCM_CCGR6, 0 }, 474bed6a7dSpatrick [IMX6_CLK_USDHC1] = { CCM_CCGR6, 1 }, 484bed6a7dSpatrick [IMX6_CLK_USDHC2] = { CCM_CCGR6, 2 }, 494bed6a7dSpatrick [IMX6_CLK_USDHC3] = { CCM_CCGR6, 3 }, 504bed6a7dSpatrick [IMX6_CLK_USDHC4] = { CCM_CCGR6, 4 }, 514bed6a7dSpatrick }; 524bed6a7dSpatrick 534bed6a7dSpatrick /* 544bed6a7dSpatrick * i.MX6UL clocks. 554bed6a7dSpatrick */ 564bed6a7dSpatrick 574bed6a7dSpatrick #define IMX6UL_CLK_ARM 0x5d 584bed6a7dSpatrick #define IMX6UL_CLK_PERCLK 0x63 594bed6a7dSpatrick #define IMX6UL_CLK_IPG 0x64 604bed6a7dSpatrick #define IMX6UL_CLK_GPT1_BUS 0x98 614bed6a7dSpatrick #define IMX6UL_CLK_GPT1_SERIAL 0x99 624bed6a7dSpatrick #define IMX6UL_CLK_I2C1 0x9c 634bed6a7dSpatrick #define IMX6UL_CLK_I2C2 0x9d 644bed6a7dSpatrick #define IMX6UL_CLK_I2C3 0x9e 654bed6a7dSpatrick #define IMX6UL_CLK_I2C4 0x9f 664bed6a7dSpatrick #define IMX6UL_CLK_UART1_IPG 0xbd 674bed6a7dSpatrick #define IMX6UL_CLK_UART1_SERIAL 0xbe 684bed6a7dSpatrick #define IMX6UL_CLK_USBOH3 0xcd 694bed6a7dSpatrick #define IMX6UL_CLK_USDHC1 0xce 704bed6a7dSpatrick #define IMX6UL_CLK_USDHC2 0xcf 714bed6a7dSpatrick 72b7ac005eSkettenis struct imxccm_gate imx6ul_gates[] = { 734bed6a7dSpatrick [IMX6UL_CLK_GPT1_BUS] = { CCM_CCGR1, 10, IMX6UL_CLK_PERCLK }, 744bed6a7dSpatrick [IMX6UL_CLK_GPT1_SERIAL] = { CCM_CCGR1, 11, IMX6UL_CLK_PERCLK }, 754bed6a7dSpatrick [IMX6UL_CLK_I2C1] = { CCM_CCGR2, 3, IMX6UL_CLK_PERCLK }, 764bed6a7dSpatrick [IMX6UL_CLK_I2C2] = { CCM_CCGR2, 4, IMX6UL_CLK_PERCLK }, 774bed6a7dSpatrick [IMX6UL_CLK_I2C3] = { CCM_CCGR2, 5, IMX6UL_CLK_PERCLK }, 784bed6a7dSpatrick [IMX6UL_CLK_I2C4] = { CCM_CCGR6, 12, IMX6UL_CLK_PERCLK }, 794bed6a7dSpatrick [IMX6UL_CLK_UART1_IPG] = { CCM_CCGR5, 12, IMX6UL_CLK_IPG }, 804bed6a7dSpatrick [IMX6UL_CLK_UART1_SERIAL] = { CCM_CCGR5, 12 }, 814bed6a7dSpatrick [IMX6UL_CLK_USBOH3] = { CCM_CCGR6, 0 }, 824bed6a7dSpatrick [IMX6UL_CLK_USDHC1] = { CCM_CCGR6, 1 }, 834bed6a7dSpatrick [IMX6UL_CLK_USDHC2] = { CCM_CCGR6, 2 }, 844bed6a7dSpatrick }; 85e88e8a4fSpatrick 86e88e8a4fSpatrick /* 87b7ac005eSkettenis * i.MX7D clocks. 88b7ac005eSkettenis */ 89b7ac005eSkettenis 9058d1c2c8Skettenis #define IMX7D_PLL_ENET_MAIN_125M_CLK 0x2a 9158d1c2c8Skettenis #define IMX7D_ENET_AXI_ROOT_CLK 0x52 9258d1c2c8Skettenis #define IMX7D_ENET_AXI_ROOT_SRC 0x53 9358d1c2c8Skettenis #define IMX7D_ENET_AXI_ROOT_CG 0x54 9458d1c2c8Skettenis #define IMX7D_ENET_AXI_ROOT_DIV 0x55 95f984b708Skettenis #define IMX7D_ENET1_IPG_ROOT_CLK 0x9e 9658d1c2c8Skettenis #define IMX7D_ENET1_TIME_ROOT_CLK 0xa2 9758d1c2c8Skettenis #define IMX7D_ENET1_TIME_ROOT_SRC 0xa3 9858d1c2c8Skettenis #define IMX7D_ENET1_TIME_ROOT_CG 0xa4 9958d1c2c8Skettenis #define IMX7D_ENET1_TIME_ROOT_DIV 0xa5 100f984b708Skettenis #define IMX7D_ENET2_IPG_ROOT_CLK 0xa6 10158d1c2c8Skettenis #define IMX7D_ENET2_TIME_ROOT_CLK 0xaa 10258d1c2c8Skettenis #define IMX7D_ENET2_TIME_ROOT_SRC 0xab 10358d1c2c8Skettenis #define IMX7D_ENET2_TIME_ROOT_CG 0xac 10458d1c2c8Skettenis #define IMX7D_ENET2_TIME_ROOT_DIV 0xad 10558d1c2c8Skettenis #define IMX7D_ENET_PHY_REF_ROOT_CLK 0xae 10658d1c2c8Skettenis #define IMX7D_ENET_PHY_REF_ROOT_SRC 0xaf 10758d1c2c8Skettenis #define IMX7D_ENET_PHY_REF_ROOT_CG 0xb0 10858d1c2c8Skettenis #define IMX7D_ENET_PHY_REF_ROOT_DIV 0xb1 109b7ac005eSkettenis #define IMX7D_USDHC1_ROOT_CLK 0xbe 110b7ac005eSkettenis #define IMX7D_USDHC1_ROOT_SRC 0xbf 111b7ac005eSkettenis #define IMX7D_USDHC1_ROOT_CG 0xc0 112b7ac005eSkettenis #define IMX7D_USDHC1_ROOT_DIV 0xc1 113b7ac005eSkettenis #define IMX7D_USDHC2_ROOT_CLK 0xc2 114b7ac005eSkettenis #define IMX7D_USDHC2_ROOT_SRC 0xc3 115b7ac005eSkettenis #define IMX7D_USDHC2_ROOT_CG 0xc4 116b7ac005eSkettenis #define IMX7D_USDHC2_ROOT_DIV 0xc5 117b7ac005eSkettenis #define IMX7D_USDHC3_ROOT_CLK 0xc6 118b7ac005eSkettenis #define IMX7D_USDHC3_ROOT_SRC 0xc7 119b7ac005eSkettenis #define IMX7D_USDHC3_ROOT_CG 0xc8 120b7ac005eSkettenis #define IMX7D_USDHC3_ROOT_DIV 0xc9 121b7ac005eSkettenis #define IMX7D_I2C1_ROOT_CLK 0xd2 122b7ac005eSkettenis #define IMX7D_I2C1_ROOT_SRC 0xd3 123b7ac005eSkettenis #define IMX7D_I2C1_ROOT_CG 0xd4 124b7ac005eSkettenis #define IMX7D_I2C1_ROOT_DIV 0xd5 125b7ac005eSkettenis #define IMX7D_I2C2_ROOT_CLK 0xd6 126b7ac005eSkettenis #define IMX7D_I2C2_ROOT_SRC 0xd7 127b7ac005eSkettenis #define IMX7D_I2C2_ROOT_CG 0xd8 128b7ac005eSkettenis #define IMX7D_I2C2_ROOT_DIV 0xd9 129b7ac005eSkettenis #define IMX7D_I2C3_ROOT_CLK 0xda 130b7ac005eSkettenis #define IMX7D_I2C3_ROOT_SRC 0xdb 131b7ac005eSkettenis #define IMX7D_I2C3_ROOT_CG 0xdc 132b7ac005eSkettenis #define IMX7D_I2C3_ROOT_DIV 0xdd 133b7ac005eSkettenis #define IMX7D_I2C4_ROOT_CLK 0xde 134b7ac005eSkettenis #define IMX7D_I2C4_ROOT_SRC 0xdf 135b7ac005eSkettenis #define IMX7D_I2C4_ROOT_CG 0xe0 136b7ac005eSkettenis #define IMX7D_I2C4_ROOT_DIV 0xe1 137b7ac005eSkettenis #define IMX7D_UART1_ROOT_CLK 0xe2 138b7ac005eSkettenis #define IMX7D_UART1_ROOT_SRC 0xe3 139b7ac005eSkettenis #define IMX7D_UART1_ROOT_CG 0xe4 140b7ac005eSkettenis #define IMX7D_UART1_ROOT_DIV 0xe5 141b7ac005eSkettenis #define IMX7D_UART2_ROOT_CLK 0xe6 142b7ac005eSkettenis #define IMX7D_UART2_ROOT_SRC 0xe7 143b7ac005eSkettenis #define IMX7D_UART2_ROOT_CG 0xe8 144b7ac005eSkettenis #define IMX7D_UART2_ROOT_DIV 0xe9 145b7ac005eSkettenis #define IMX7D_UART3_ROOT_CLK 0xea 146b7ac005eSkettenis #define IMX7D_UART3_ROOT_SRC 0xeb 147b7ac005eSkettenis #define IMX7D_UART3_ROOT_CG 0xec 148b7ac005eSkettenis #define IMX7D_UART3_ROOT_DIV 0xed 149b7ac005eSkettenis #define IMX7D_UART4_ROOT_CLK 0xee 150b7ac005eSkettenis #define IMX7D_UART4_ROOT_SRC 0xef 151b7ac005eSkettenis #define IMX7D_UART4_ROOT_CG 0xf0 152b7ac005eSkettenis #define IMX7D_UART4_ROOT_DIV 0xf1 153b7ac005eSkettenis #define IMX7D_UART5_ROOT_CLK 0xf2 154b7ac005eSkettenis #define IMX7D_UART5_ROOT_SRC 0xf3 155b7ac005eSkettenis #define IMX7D_UART5_ROOT_CG 0xf4 156b7ac005eSkettenis #define IMX7D_UART5_ROOT_DIV 0xf5 157b7ac005eSkettenis #define IMX7D_UART6_ROOT_CLK 0xf6 158b7ac005eSkettenis #define IMX7D_UART6_ROOT_SRC 0xf7 159b7ac005eSkettenis #define IMX7D_UART6_ROOT_CG 0xf8 160b7ac005eSkettenis #define IMX7D_UART6_ROOT_DIV 0xf9 161b7ac005eSkettenis #define IMX7D_UART7_ROOT_CLK 0xfa 162b7ac005eSkettenis #define IMX7D_UART7_ROOT_SRC 0xfb 163b7ac005eSkettenis #define IMX7D_UART7_ROOT_CG 0xfc 164b7ac005eSkettenis #define IMX7D_UART7_ROOT_DIV 0xfd 16558d1c2c8Skettenis #define IMX7D_ENET_AXI_ROOT_PRE_DIV 0x15a 16658d1c2c8Skettenis #define IMX7D_ENET1_TIME_ROOT_PRE_DIV 0x16a 16758d1c2c8Skettenis #define IMX7D_ENET2_TIME_ROOT_PRE_DIV 0x16c 16858d1c2c8Skettenis #define IMX7D_ENET_PHY_REF_ROOT_PRE_DIV 0x16d 169b7ac005eSkettenis #define IMX7D_USDHC1_ROOT_PRE_DIV 0x171 170b7ac005eSkettenis #define IMX7D_USDHC2_ROOT_PRE_DIV 0x172 171b7ac005eSkettenis #define IMX7D_USDHC3_ROOT_PRE_DIV 0x173 172b7ac005eSkettenis #define IMX7D_I2C1_ROOT_PRE_DIV 0x176 173b7ac005eSkettenis #define IMX7D_I2C2_ROOT_PRE_DIV 0x177 174b7ac005eSkettenis #define IMX7D_I2C3_ROOT_PRE_DIV 0x178 175b7ac005eSkettenis #define IMX7D_I2C4_ROOT_PRE_DIV 0x179 176b7ac005eSkettenis #define IMX7D_UART1_ROOT_PRE_DIV 0x17a 177b7ac005eSkettenis #define IMX7D_UART2_ROOT_PRE_DIV 0x17b 178b7ac005eSkettenis #define IMX7D_UART3_ROOT_PRE_DIV 0x17c 179b7ac005eSkettenis #define IMX7D_UART4_ROOT_PRE_DIV 0x17d 180b7ac005eSkettenis #define IMX7D_UART5_ROOT_PRE_DIV 0x17e 181b7ac005eSkettenis #define IMX7D_UART6_ROOT_PRE_DIV 0x17f 182b7ac005eSkettenis #define IMX7D_UART7_ROOT_PRE_DIV 0x180 183b7ac005eSkettenis #define IMX7D_USB_CTRL_CLK 0x1a6 184b7ac005eSkettenis #define IMX7D_USB_PHY1_CLK 0x1a7 185b7ac005eSkettenis #define IMX7D_USB_PHY2_CLK 0x1a8 186b7ac005eSkettenis 187b7ac005eSkettenis struct imxccm_gate imx7d_gates[] = { 18858d1c2c8Skettenis [IMX7D_ENET_AXI_ROOT_CG] = { 0x8900, 28, IMX7D_ENET_AXI_ROOT_SRC }, 18958d1c2c8Skettenis [IMX7D_ENET1_TIME_ROOT_CG] = { 0xa780, 28, IMX7D_ENET1_TIME_ROOT_SRC }, 19058d1c2c8Skettenis [IMX7D_ENET2_TIME_ROOT_CG] = { 0xa880, 28, IMX7D_ENET2_TIME_ROOT_SRC }, 19158d1c2c8Skettenis [IMX7D_ENET_PHY_REF_ROOT_CG] = { 0xa900, 28, IMX7D_ENET_PHY_REF_ROOT_SRC }, 192b7ac005eSkettenis [IMX7D_USDHC1_ROOT_CG] = { 0xab00, 28, IMX7D_USDHC1_ROOT_SRC }, 193b7ac005eSkettenis [IMX7D_USDHC2_ROOT_CG] = { 0xab80, 28, IMX7D_USDHC2_ROOT_SRC }, 194b7ac005eSkettenis [IMX7D_USDHC3_ROOT_CG] = { 0xabc0, 28, IMX7D_USDHC3_ROOT_SRC }, 195b7ac005eSkettenis [IMX7D_I2C1_ROOT_CG] = { 0xad80, 28, IMX7D_I2C1_ROOT_SRC }, 196b7ac005eSkettenis [IMX7D_I2C2_ROOT_CG] = { 0xae00, 28, IMX7D_I2C2_ROOT_SRC }, 197b7ac005eSkettenis [IMX7D_I2C3_ROOT_CG] = { 0xae80, 28, IMX7D_I2C3_ROOT_SRC }, 198b7ac005eSkettenis [IMX7D_I2C4_ROOT_CG] = { 0xaf00, 28, IMX7D_I2C4_ROOT_SRC }, 199b7ac005eSkettenis [IMX7D_UART1_ROOT_CG] = { 0xaf80, 28, IMX7D_UART1_ROOT_SRC }, 200b7ac005eSkettenis [IMX7D_UART2_ROOT_CG] = { 0xb000, 28, IMX7D_UART2_ROOT_SRC }, 201b7ac005eSkettenis [IMX7D_UART3_ROOT_CG] = { 0xb080, 28, IMX7D_UART3_ROOT_SRC }, 202b7ac005eSkettenis [IMX7D_UART4_ROOT_CG] = { 0xb100, 28, IMX7D_UART4_ROOT_SRC }, 203b7ac005eSkettenis [IMX7D_UART5_ROOT_CG] = { 0xb180, 28, IMX7D_UART5_ROOT_SRC }, 204b7ac005eSkettenis [IMX7D_UART6_ROOT_CG] = { 0xb200, 28, IMX7D_UART6_ROOT_SRC }, 205b7ac005eSkettenis [IMX7D_UART7_ROOT_CG] = { 0xb280, 28, IMX7D_UART7_ROOT_SRC }, 20658d1c2c8Skettenis [IMX7D_ENET_AXI_ROOT_CLK] = { 0x4060, 0, IMX7D_ENET_AXI_ROOT_DIV }, 207b7ac005eSkettenis [IMX7D_USB_CTRL_CLK] = { 0x4680, 0 }, 208b7ac005eSkettenis [IMX7D_USB_PHY1_CLK] = { 0x46a0, 0 }, 209b7ac005eSkettenis [IMX7D_USB_PHY2_CLK] = { 0x46b0, 0 }, 210b7ac005eSkettenis [IMX7D_USDHC1_ROOT_CLK] = { 0x46c0, 0, IMX7D_USDHC1_ROOT_DIV }, 211b7ac005eSkettenis [IMX7D_USDHC2_ROOT_CLK] = { 0x46d0, 0, IMX7D_USDHC2_ROOT_DIV }, 212b7ac005eSkettenis [IMX7D_USDHC3_ROOT_CLK] = { 0x46e0, 0, IMX7D_USDHC3_ROOT_DIV }, 213f984b708Skettenis [IMX7D_ENET1_IPG_ROOT_CLK] = { 0x4700, 0, IMX7D_ENET_AXI_ROOT_DIV }, 214f984b708Skettenis [IMX7D_ENET1_TIME_ROOT_CLK] = { 0x4700, 0, IMX7D_ENET1_TIME_ROOT_DIV }, 215f984b708Skettenis [IMX7D_ENET2_IPG_ROOT_CLK] = { 0x4710, 0, IMX7D_ENET_AXI_ROOT_DIV }, 216f984b708Skettenis [IMX7D_ENET2_TIME_ROOT_CLK] = { 0x4710, 0, IMX7D_ENET1_TIME_ROOT_DIV }, 217b7ac005eSkettenis [IMX7D_I2C1_ROOT_CLK] = { 0x4880, 0, IMX7D_I2C1_ROOT_DIV }, 218b7ac005eSkettenis [IMX7D_I2C2_ROOT_CLK] = { 0x4890, 0, IMX7D_I2C2_ROOT_DIV }, 219b7ac005eSkettenis [IMX7D_I2C3_ROOT_CLK] = { 0x48a0, 0, IMX7D_I2C3_ROOT_DIV }, 220b7ac005eSkettenis [IMX7D_I2C4_ROOT_CLK] = { 0x48b0, 0, IMX7D_I2C4_ROOT_DIV }, 221b7ac005eSkettenis [IMX7D_UART1_ROOT_CLK] = { 0x4940, 0, IMX7D_UART1_ROOT_DIV }, 222b7ac005eSkettenis [IMX7D_UART2_ROOT_CLK] = { 0x4950, 0, IMX7D_UART2_ROOT_DIV }, 223b7ac005eSkettenis [IMX7D_UART3_ROOT_CLK] = { 0x4960, 0, IMX7D_UART3_ROOT_DIV }, 224b7ac005eSkettenis [IMX7D_UART4_ROOT_CLK] = { 0x4970, 0, IMX7D_UART4_ROOT_DIV }, 225b7ac005eSkettenis [IMX7D_UART5_ROOT_CLK] = { 0x4980, 0, IMX7D_UART5_ROOT_DIV }, 226b7ac005eSkettenis [IMX7D_UART6_ROOT_CLK] = { 0x4990, 0, IMX7D_UART6_ROOT_DIV }, 227b7ac005eSkettenis [IMX7D_UART7_ROOT_CLK] = { 0x49a0, 0, IMX7D_UART7_ROOT_DIV }, 228b7ac005eSkettenis }; 229b7ac005eSkettenis 230b7ac005eSkettenis struct imxccm_divider imx7d_divs[] = { 23158d1c2c8Skettenis [IMX7D_ENET_AXI_ROOT_PRE_DIV] = { 0x8900, 16, 0x7, IMX7D_ENET_AXI_ROOT_CG }, 23258d1c2c8Skettenis [IMX7D_ENET1_TIME_ROOT_PRE_DIV] = { 0xa780, 16, 0x7, IMX7D_ENET1_TIME_ROOT_CG }, 23358d1c2c8Skettenis [IMX7D_ENET2_TIME_ROOT_PRE_DIV] = { 0xa880, 16, 0x7, IMX7D_ENET2_TIME_ROOT_CG }, 23458d1c2c8Skettenis [IMX7D_ENET_PHY_REF_ROOT_PRE_DIV] = { 0xa900, 16, 0x7, IMX7D_ENET_PHY_REF_ROOT_CG }, 235b7ac005eSkettenis [IMX7D_USDHC1_ROOT_PRE_DIV] = { 0xab00, 16, 0x7, IMX7D_USDHC1_ROOT_CG }, 236b7ac005eSkettenis [IMX7D_USDHC2_ROOT_PRE_DIV] = { 0xab80, 16, 0x7, IMX7D_USDHC2_ROOT_CG }, 237b7ac005eSkettenis [IMX7D_USDHC3_ROOT_PRE_DIV] = { 0xac00, 16, 0x7, IMX7D_USDHC3_ROOT_CG }, 238b7ac005eSkettenis [IMX7D_I2C1_ROOT_PRE_DIV] = { 0xad80, 16, 0x7, IMX7D_I2C1_ROOT_CG }, 239b7ac005eSkettenis [IMX7D_I2C2_ROOT_PRE_DIV] = { 0xae00, 16, 0x7, IMX7D_I2C2_ROOT_CG }, 240b7ac005eSkettenis [IMX7D_I2C3_ROOT_PRE_DIV] = { 0xae80, 16, 0x7, IMX7D_I2C3_ROOT_CG }, 241b7ac005eSkettenis [IMX7D_I2C4_ROOT_PRE_DIV] = { 0xaf00, 16, 0x7, IMX7D_I2C4_ROOT_CG }, 242b7ac005eSkettenis [IMX7D_UART1_ROOT_PRE_DIV] = { 0xaf80, 16, 0x7, IMX7D_UART1_ROOT_CG }, 243b7ac005eSkettenis [IMX7D_UART2_ROOT_PRE_DIV] = { 0xb000, 16, 0x7, IMX7D_UART2_ROOT_CG }, 244b7ac005eSkettenis [IMX7D_UART3_ROOT_PRE_DIV] = { 0xb080, 16, 0x7, IMX7D_UART3_ROOT_CG }, 245b7ac005eSkettenis [IMX7D_UART4_ROOT_PRE_DIV] = { 0xb100, 16, 0x7, IMX7D_UART4_ROOT_CG }, 246b7ac005eSkettenis [IMX7D_UART5_ROOT_PRE_DIV] = { 0xb180, 16, 0x7, IMX7D_UART5_ROOT_CG }, 247b7ac005eSkettenis [IMX7D_UART6_ROOT_PRE_DIV] = { 0xb200, 16, 0x7, IMX7D_UART6_ROOT_CG }, 248b7ac005eSkettenis [IMX7D_UART7_ROOT_PRE_DIV] = { 0xb280, 16, 0x7, IMX7D_UART7_ROOT_CG }, 24958d1c2c8Skettenis [IMX7D_ENET_AXI_ROOT_DIV] = { 0x8900, 0, 0x3f, IMX7D_ENET_AXI_ROOT_PRE_DIV }, 25058d1c2c8Skettenis [IMX7D_ENET1_TIME_ROOT_DIV] = { 0xa780, 0, 0x3f, IMX7D_ENET1_TIME_ROOT_PRE_DIV }, 25158d1c2c8Skettenis [IMX7D_ENET2_TIME_ROOT_DIV] = { 0xa880, 0, 0x3f, IMX7D_ENET2_TIME_ROOT_PRE_DIV }, 252f984b708Skettenis [IMX7D_ENET_PHY_REF_ROOT_CLK] = { 0xa900, 0, 0x3f, IMX7D_ENET_PHY_REF_ROOT_PRE_DIV }, 253b7ac005eSkettenis [IMX7D_USDHC1_ROOT_DIV] = { 0xab00, 0, 0x3f, IMX7D_USDHC1_ROOT_PRE_DIV }, 254b7ac005eSkettenis [IMX7D_USDHC2_ROOT_DIV] = { 0xab80, 0, 0x3f, IMX7D_USDHC2_ROOT_PRE_DIV }, 255b7ac005eSkettenis [IMX7D_USDHC3_ROOT_DIV] = { 0xac00, 0, 0x3f, IMX7D_USDHC3_ROOT_PRE_DIV }, 256b7ac005eSkettenis [IMX7D_I2C1_ROOT_DIV] = { 0xad80, 0, 0x3f, IMX7D_I2C1_ROOT_PRE_DIV }, 257b7ac005eSkettenis [IMX7D_I2C2_ROOT_DIV] = { 0xae00, 0, 0x3f, IMX7D_I2C2_ROOT_PRE_DIV }, 258b7ac005eSkettenis [IMX7D_I2C3_ROOT_DIV] = { 0xae80, 0, 0x3f, IMX7D_I2C3_ROOT_PRE_DIV }, 259b7ac005eSkettenis [IMX7D_I2C4_ROOT_DIV] = { 0xaf00, 0, 0x3f, IMX7D_I2C4_ROOT_PRE_DIV }, 260b7ac005eSkettenis [IMX7D_UART1_ROOT_DIV] = { 0xaf80, 0, 0x3f, IMX7D_UART1_ROOT_PRE_DIV }, 261b7ac005eSkettenis [IMX7D_UART2_ROOT_DIV] = { 0xb000, 0, 0x3f, IMX7D_UART2_ROOT_PRE_DIV }, 262b7ac005eSkettenis [IMX7D_UART3_ROOT_DIV] = { 0xb080, 0, 0x3f, IMX7D_UART3_ROOT_PRE_DIV }, 263b7ac005eSkettenis [IMX7D_UART4_ROOT_DIV] = { 0xb100, 0, 0x3f, IMX7D_UART4_ROOT_PRE_DIV }, 264b7ac005eSkettenis [IMX7D_UART5_ROOT_DIV] = { 0xb180, 0, 0x3f, IMX7D_UART5_ROOT_PRE_DIV }, 265b7ac005eSkettenis [IMX7D_UART6_ROOT_DIV] = { 0xb200, 0, 0x3f, IMX7D_UART6_ROOT_PRE_DIV }, 266b7ac005eSkettenis [IMX7D_UART7_ROOT_DIV] = { 0xb280, 0, 0x3f, IMX7D_UART7_ROOT_PRE_DIV }, 267b7ac005eSkettenis }; 268b7ac005eSkettenis 269b7ac005eSkettenis struct imxccm_mux imx7d_muxs[] = { 27058d1c2c8Skettenis [IMX7D_ENET_AXI_ROOT_SRC] = { 0x8900, 24, 0x7 }, 27158d1c2c8Skettenis [IMX7D_ENET1_TIME_ROOT_SRC] = { 0xa780, 24, 0x7 }, 27258d1c2c8Skettenis [IMX7D_ENET2_TIME_ROOT_SRC] = { 0xa880, 24, 0x7 }, 27358d1c2c8Skettenis [IMX7D_ENET_PHY_REF_ROOT_SRC] = { 0xa900, 24, 0x7 }, 274b7ac005eSkettenis [IMX7D_USDHC1_ROOT_SRC] = { 0xab00, 24, 0x7 }, 275b7ac005eSkettenis [IMX7D_USDHC2_ROOT_SRC] = { 0xab80, 24, 0x7 }, 276b7ac005eSkettenis [IMX7D_USDHC3_ROOT_SRC] = { 0xac00, 24, 0x7 }, 277b7ac005eSkettenis [IMX7D_I2C1_ROOT_SRC] = { 0xad80, 24, 0x7 }, 278b7ac005eSkettenis [IMX7D_I2C2_ROOT_SRC] = { 0xae00, 24, 0x7 }, 279b7ac005eSkettenis [IMX7D_I2C3_ROOT_SRC] = { 0xae80, 24, 0x7 }, 280b7ac005eSkettenis [IMX7D_I2C4_ROOT_SRC] = { 0xaf00, 24, 0x7 }, 281b7ac005eSkettenis [IMX7D_UART1_ROOT_SRC] = { 0xaf80, 24, 0x7 }, 282b7ac005eSkettenis [IMX7D_UART2_ROOT_SRC] = { 0xb000, 24, 0x7 }, 283b7ac005eSkettenis [IMX7D_UART3_ROOT_SRC] = { 0xb080, 24, 0x7 }, 284b7ac005eSkettenis [IMX7D_UART4_ROOT_SRC] = { 0xb100, 24, 0x7 }, 285b7ac005eSkettenis [IMX7D_UART5_ROOT_SRC] = { 0xb180, 24, 0x7 }, 286b7ac005eSkettenis [IMX7D_UART6_ROOT_SRC] = { 0xb200, 24, 0x7 }, 287b7ac005eSkettenis [IMX7D_UART7_ROOT_SRC] = { 0xb280, 24, 0x7 }, 288b7ac005eSkettenis }; 289b7ac005eSkettenis 290b7ac005eSkettenis /* 2916e71e8feSpatrick * i.MX8MM clocks. 2926e71e8feSpatrick */ 2936e71e8feSpatrick 2946e71e8feSpatrick #define IMX8MM_ARM_PLL 0x18 2958186a0b7Spatrick #define IMX8MM_SYS_PLL1_100M 0x32 2966e71e8feSpatrick #define IMX8MM_SYS_PLL1_800M 0x38 29765c9ab81Spatrick #define IMX8MM_SYS_PLL2_100M 0x3a 29865c9ab81Spatrick #define IMX8MM_SYS_PLL2_250M 0x3e 2998186a0b7Spatrick #define IMX8MM_SYS_PLL2_500M 0x40 3006e71e8feSpatrick #define IMX8MM_CLK_A53_SRC 0x42 3016e71e8feSpatrick #define IMX8MM_ARM_PLL_OUT 0x2c 3026e71e8feSpatrick #define IMX8MM_CLK_A53_CG 0x47 3036e71e8feSpatrick #define IMX8MM_CLK_A53_DIV 0x4c 3046e71e8feSpatrick #define IMX8MM_CLK_ENET_AXI 0x52 3058186a0b7Spatrick #define IMX8MM_CLK_USB_BUS 0x58 30665c9ab81Spatrick #define IMX8MM_CLK_PCIE1_CTRL 0x67 30765c9ab81Spatrick #define IMX8MM_CLK_PCIE1_PHY 0x68 30865c9ab81Spatrick #define IMX8MM_CLK_PCIE1_AUX 0x69 3096e71e8feSpatrick #define IMX8MM_CLK_ENET_REF 0x74 3106e71e8feSpatrick #define IMX8MM_CLK_ENET_TIMER 0x75 3116e71e8feSpatrick #define IMX8MM_CLK_ENET_PHY_REF 0x76 3126e71e8feSpatrick #define IMX8MM_CLK_USDHC1 0x79 3136e71e8feSpatrick #define IMX8MM_CLK_USDHC2 0x7a 3146e71e8feSpatrick #define IMX8MM_CLK_I2C1 0x7b 3156e71e8feSpatrick #define IMX8MM_CLK_I2C2 0x7c 3166e71e8feSpatrick #define IMX8MM_CLK_I2C3 0x7d 3176e71e8feSpatrick #define IMX8MM_CLK_I2C4 0x7e 3186e71e8feSpatrick #define IMX8MM_CLK_UART1 0x7f 3196e71e8feSpatrick #define IMX8MM_CLK_UART2 0x80 3206e71e8feSpatrick #define IMX8MM_CLK_UART3 0x81 3216e71e8feSpatrick #define IMX8MM_CLK_UART4 0x82 3228186a0b7Spatrick #define IMX8MM_CLK_USB_CORE_REF 0x83 3238186a0b7Spatrick #define IMX8MM_CLK_USB_PHY_REF 0x84 3246e71e8feSpatrick #define IMX8MM_CLK_USDHC3 0x91 32565c9ab81Spatrick #define IMX8MM_CLK_PCIE2_CTRL 0x98 32665c9ab81Spatrick #define IMX8MM_CLK_PCIE2_PHY 0x99 32765c9ab81Spatrick #define IMX8MM_CLK_PCIE2_AUX 0x9a 3286e71e8feSpatrick #define IMX8MM_CLK_ENET1_ROOT 0xa2 3296e71e8feSpatrick #define IMX8MM_CLK_I2C1_ROOT 0xa4 3306e71e8feSpatrick #define IMX8MM_CLK_I2C2_ROOT 0xa5 3316e71e8feSpatrick #define IMX8MM_CLK_I2C3_ROOT 0xa6 3326e71e8feSpatrick #define IMX8MM_CLK_I2C4_ROOT 0xa7 3339d2954c3Spatrick #define IMX8MM_CLK_OCOTP_ROOT 0xa8 33465c9ab81Spatrick #define IMX8MM_CLK_PCIE1_ROOT 0xa9 3356e71e8feSpatrick #define IMX8MM_CLK_UART1_ROOT 0xbc 3366e71e8feSpatrick #define IMX8MM_CLK_UART2_ROOT 0xbd 3376e71e8feSpatrick #define IMX8MM_CLK_UART3_ROOT 0xbe 3386e71e8feSpatrick #define IMX8MM_CLK_UART4_ROOT 0xbf 3398186a0b7Spatrick #define IMX8MM_CLK_USB1_CTRL_ROOT 0xc0 3406e71e8feSpatrick #define IMX8MM_CLK_USDHC1_ROOT 0xc2 3416e71e8feSpatrick #define IMX8MM_CLK_USDHC2_ROOT 0xc3 3426e71e8feSpatrick #define IMX8MM_CLK_USDHC3_ROOT 0xd0 3436e71e8feSpatrick #define IMX8MM_CLK_TMU_ROOT 0xd1 3446e71e8feSpatrick #define IMX8MM_CLK_ARM 0xd7 3456e71e8feSpatrick 3466e71e8feSpatrick struct imxccm_gate imx8mm_gates[] = { 3476e71e8feSpatrick [IMX8MM_CLK_A53_CG] = { 0x8000, 14 }, 3486e71e8feSpatrick [IMX8MM_CLK_ENET_AXI] = { 0x8880, 14 }, 3498186a0b7Spatrick [IMX8MM_CLK_USB_BUS] = { 0x8b80, 14 }, 35065c9ab81Spatrick [IMX8MM_CLK_PCIE1_CTRL] = { 0xa300, 14 }, 35165c9ab81Spatrick [IMX8MM_CLK_PCIE1_PHY] = { 0xa380, 14 }, 35265c9ab81Spatrick [IMX8MM_CLK_PCIE1_AUX] = { 0xa400, 14 }, 3536e71e8feSpatrick [IMX8MM_CLK_ENET_REF] = { 0xa980, 14 }, 3546e71e8feSpatrick [IMX8MM_CLK_ENET_TIMER] = { 0xaa00, 14 }, 3556e71e8feSpatrick [IMX8MM_CLK_ENET_PHY_REF] = { 0xaa80, 14 }, 3566e71e8feSpatrick [IMX8MM_CLK_USDHC1] = { 0xac00, 14 }, 3576e71e8feSpatrick [IMX8MM_CLK_USDHC2] = { 0xac80, 14 }, 3586e71e8feSpatrick [IMX8MM_CLK_I2C1] = { 0xad00, 14 }, 3596e71e8feSpatrick [IMX8MM_CLK_I2C2] = { 0xad80, 14 }, 3606e71e8feSpatrick [IMX8MM_CLK_I2C3] = { 0xae00, 14 }, 3616e71e8feSpatrick [IMX8MM_CLK_I2C4] = { 0xae80, 14 }, 3626e71e8feSpatrick [IMX8MM_CLK_UART1] = { 0xaf00, 14 }, 3636e71e8feSpatrick [IMX8MM_CLK_UART2] = { 0xaf80, 14 }, 3646e71e8feSpatrick [IMX8MM_CLK_UART3] = { 0xb000, 14 }, 3656e71e8feSpatrick [IMX8MM_CLK_UART4] = { 0xb080, 14 }, 3668186a0b7Spatrick [IMX8MM_CLK_USB_CORE_REF] = { 0xb100, 14 }, 3678186a0b7Spatrick [IMX8MM_CLK_USB_PHY_REF] = { 0xb180, 14 }, 3686e71e8feSpatrick [IMX8MM_CLK_USDHC3] = { 0xbc80, 14 }, 36965c9ab81Spatrick [IMX8MM_CLK_PCIE2_CTRL] = { 0xc000, 24, 0x7 }, 37065c9ab81Spatrick [IMX8MM_CLK_PCIE2_PHY] = { 0xc080, 24, 0x7 }, 37165c9ab81Spatrick [IMX8MM_CLK_PCIE2_AUX] = { 0xc100, 24, 0x7 }, 3726e71e8feSpatrick [IMX8MM_CLK_ENET1_ROOT] = { 0x40a0, 0, IMX8MM_CLK_ENET_AXI }, 3736e71e8feSpatrick [IMX8MM_CLK_I2C1_ROOT] = { 0x4170, 0, IMX8MM_CLK_I2C1 }, 3746e71e8feSpatrick [IMX8MM_CLK_I2C2_ROOT] = { 0x4180, 0, IMX8MM_CLK_I2C2 }, 3756e71e8feSpatrick [IMX8MM_CLK_I2C3_ROOT] = { 0x4190, 0, IMX8MM_CLK_I2C3 }, 3766e71e8feSpatrick [IMX8MM_CLK_I2C4_ROOT] = { 0x41a0, 0, IMX8MM_CLK_I2C4 }, 3779d2954c3Spatrick [IMX8MM_CLK_OCOTP_ROOT] = { 0x4220, 0 }, 37865c9ab81Spatrick [IMX8MM_CLK_PCIE1_ROOT] = { 0x4250, 0, IMX8MM_CLK_PCIE1_CTRL }, 3796e71e8feSpatrick [IMX8MM_CLK_UART1_ROOT] = { 0x4490, 0, IMX8MM_CLK_UART1 }, 3806e71e8feSpatrick [IMX8MM_CLK_UART2_ROOT] = { 0x44a0, 0, IMX8MM_CLK_UART2 }, 3816e71e8feSpatrick [IMX8MM_CLK_UART3_ROOT] = { 0x44b0, 0, IMX8MM_CLK_UART3 }, 3826e71e8feSpatrick [IMX8MM_CLK_UART4_ROOT] = { 0x44c0, 0, IMX8MM_CLK_UART4 }, 383*ab2b5bd0Spatrick [IMX8MM_CLK_USB1_CTRL_ROOT] = { 0x44d0, 0, IMX8MM_CLK_USB_BUS }, 3846e71e8feSpatrick [IMX8MM_CLK_USDHC1_ROOT] = { 0x4510, 0, IMX8MM_CLK_USDHC1 }, 3856e71e8feSpatrick [IMX8MM_CLK_USDHC2_ROOT] = { 0x4520, 0, IMX8MM_CLK_USDHC2 }, 3866e71e8feSpatrick [IMX8MM_CLK_USDHC3_ROOT] = { 0x45e0, 0, IMX8MM_CLK_USDHC3 }, 3876e71e8feSpatrick [IMX8MM_CLK_TMU_ROOT] = { 0x4620, 0 }, 3886e71e8feSpatrick }; 3896e71e8feSpatrick 3906e71e8feSpatrick struct imxccm_divider imx8mm_divs[] = { 3916e71e8feSpatrick [IMX8MM_CLK_A53_DIV] = { 0x8000, 0, 0x7, IMX8MM_CLK_A53_CG }, 3926e71e8feSpatrick [IMX8MM_CLK_ENET_AXI] = { 0x8880, 0, 0x3f }, 3938186a0b7Spatrick [IMX8MM_CLK_USB_BUS] = { 0x8b80, 0, 0x3f }, 39465c9ab81Spatrick [IMX8MM_CLK_PCIE1_CTRL] = { 0xa300, 0, 0x3f }, 39565c9ab81Spatrick [IMX8MM_CLK_PCIE1_PHY] = { 0xa380, 0, 0x3f }, 39665c9ab81Spatrick [IMX8MM_CLK_PCIE1_AUX] = { 0xa400, 0, 0x3f }, 3976e71e8feSpatrick [IMX8MM_CLK_USDHC1] = { 0xac00, 0, 0x3f }, 3986e71e8feSpatrick [IMX8MM_CLK_USDHC2] = { 0xac80, 0, 0x3f }, 3996e71e8feSpatrick [IMX8MM_CLK_I2C1] = { 0xad00, 0, 0x3f }, 4006e71e8feSpatrick [IMX8MM_CLK_I2C2] = { 0xad80, 0, 0x3f }, 4016e71e8feSpatrick [IMX8MM_CLK_I2C3] = { 0xae00, 0, 0x3f }, 4026e71e8feSpatrick [IMX8MM_CLK_I2C4] = { 0xae80, 0, 0x3f }, 4036e71e8feSpatrick [IMX8MM_CLK_UART1] = { 0xaf00, 0, 0x3f }, 4046e71e8feSpatrick [IMX8MM_CLK_UART2] = { 0xaf80, 0, 0x3f }, 4056e71e8feSpatrick [IMX8MM_CLK_UART3] = { 0xb000, 0, 0x3f }, 4066e71e8feSpatrick [IMX8MM_CLK_UART4] = { 0xb080, 0, 0x3f }, 4078186a0b7Spatrick [IMX8MM_CLK_USB_CORE_REF] = { 0xb100, 0, 0x3f }, 4088186a0b7Spatrick [IMX8MM_CLK_USB_PHY_REF] = { 0xb180, 0, 0x3f }, 4096e71e8feSpatrick [IMX8MM_CLK_USDHC3] = { 0xbc80, 0, 0x3f }, 41065c9ab81Spatrick [IMX8MM_CLK_PCIE2_CTRL] = { 0xc000, 0, 0x3f }, 41165c9ab81Spatrick [IMX8MM_CLK_PCIE2_PHY] = { 0xc080, 0, 0x3f }, 41265c9ab81Spatrick [IMX8MM_CLK_PCIE2_AUX] = { 0xc100, 0, 0x3f }, 4136e71e8feSpatrick }; 4146e71e8feSpatrick 4156e71e8feSpatrick struct imxccm_divider imx8mm_predivs[] = { 4166e71e8feSpatrick [IMX8MM_CLK_ENET_AXI] = { 0x8880, 16, 0x7 }, 4178186a0b7Spatrick [IMX8MM_CLK_USB_BUS] = { 0x8b80, 16, 0x7 }, 41865c9ab81Spatrick [IMX8MM_CLK_PCIE1_CTRL] = { 0xa300, 16, 0x7 }, 41965c9ab81Spatrick [IMX8MM_CLK_PCIE1_PHY] = { 0xa380, 16, 0x7 }, 42065c9ab81Spatrick [IMX8MM_CLK_PCIE1_AUX] = { 0xa400, 16, 0x7 }, 4216e71e8feSpatrick [IMX8MM_CLK_USDHC1] = { 0xac00, 16, 0x7 }, 4226e71e8feSpatrick [IMX8MM_CLK_USDHC2] = { 0xac80, 16, 0x7 }, 4236e71e8feSpatrick [IMX8MM_CLK_I2C1] = { 0xad00, 16, 0x7 }, 4246e71e8feSpatrick [IMX8MM_CLK_I2C2] = { 0xad80, 16, 0x7 }, 4256e71e8feSpatrick [IMX8MM_CLK_I2C3] = { 0xae00, 16, 0x7 }, 4266e71e8feSpatrick [IMX8MM_CLK_I2C4] = { 0xae80, 16, 0x7 }, 4276e71e8feSpatrick [IMX8MM_CLK_UART1] = { 0xaf00, 16, 0x7 }, 4286e71e8feSpatrick [IMX8MM_CLK_UART2] = { 0xaf80, 16, 0x7 }, 4296e71e8feSpatrick [IMX8MM_CLK_UART3] = { 0xb000, 16, 0x7 }, 4306e71e8feSpatrick [IMX8MM_CLK_UART4] = { 0xb080, 16, 0x7 }, 4318186a0b7Spatrick [IMX8MM_CLK_USB_CORE_REF] = { 0xb100, 16, 0x7 }, 4328186a0b7Spatrick [IMX8MM_CLK_USB_PHY_REF] = { 0xb180, 16, 0x7 }, 4336e71e8feSpatrick [IMX8MM_CLK_USDHC3] = { 0xbc80, 16, 0x7 }, 43465c9ab81Spatrick [IMX8MM_CLK_PCIE2_CTRL] = { 0xc000, 16, 0x7 }, 43565c9ab81Spatrick [IMX8MM_CLK_PCIE2_PHY] = { 0xc080, 16, 0x7 }, 43665c9ab81Spatrick [IMX8MM_CLK_PCIE2_AUX] = { 0xc100, 16, 0x7 }, 4376e71e8feSpatrick }; 4386e71e8feSpatrick 4396e71e8feSpatrick struct imxccm_mux imx8mm_muxs[] = { 4406e71e8feSpatrick [IMX8MM_CLK_A53_SRC] = { 0x8000, 24, 0x7 }, 4416e71e8feSpatrick [IMX8MM_CLK_ENET_AXI] = { 0x8880, 24, 0x7 }, 4428186a0b7Spatrick [IMX8MM_CLK_USB_BUS] = { 0x8b80, 24, 0x7 }, 44365c9ab81Spatrick [IMX8MM_CLK_PCIE1_CTRL] = { 0xa300, 24, 0x7 }, 44465c9ab81Spatrick [IMX8MM_CLK_PCIE1_PHY] = { 0xa380, 24, 0x7 }, 44565c9ab81Spatrick [IMX8MM_CLK_PCIE1_AUX] = { 0xa400, 24, 0x7 }, 4466e71e8feSpatrick [IMX8MM_CLK_USDHC1] = { 0xac00, 24, 0x7 }, 4476e71e8feSpatrick [IMX8MM_CLK_USDHC2] = { 0xac80, 24, 0x7 }, 4486e71e8feSpatrick [IMX8MM_CLK_I2C1] = { 0xad00, 24, 0x7 }, 4496e71e8feSpatrick [IMX8MM_CLK_I2C2] = { 0xad80, 24, 0x7 }, 4506e71e8feSpatrick [IMX8MM_CLK_I2C3] = { 0xae00, 24, 0x7 }, 4516e71e8feSpatrick [IMX8MM_CLK_I2C4] = { 0xae80, 24, 0x7 }, 4526e71e8feSpatrick [IMX8MM_CLK_UART1] = { 0xaf00, 24, 0x7 }, 4536e71e8feSpatrick [IMX8MM_CLK_UART2] = { 0xaf80, 24, 0x7 }, 4546e71e8feSpatrick [IMX8MM_CLK_UART3] = { 0xb000, 24, 0x7 }, 4556e71e8feSpatrick [IMX8MM_CLK_UART4] = { 0xb080, 24, 0x7 }, 4568186a0b7Spatrick [IMX8MM_CLK_USB_CORE_REF] = { 0xb100, 24, 0x7 }, 4578186a0b7Spatrick [IMX8MM_CLK_USB_PHY_REF] = { 0xb180, 24, 0x7 }, 4586e71e8feSpatrick [IMX8MM_CLK_USDHC3] = { 0xbc80, 24, 0x7 }, 45965c9ab81Spatrick [IMX8MM_CLK_PCIE2_CTRL] = { 0xc000, 24, 0x7 }, 46065c9ab81Spatrick [IMX8MM_CLK_PCIE2_PHY] = { 0xc080, 24, 0x7 }, 46165c9ab81Spatrick [IMX8MM_CLK_PCIE2_AUX] = { 0xc100, 24, 0x7 }, 4626e71e8feSpatrick }; 4636e71e8feSpatrick 4646e71e8feSpatrick /* 465e88e8a4fSpatrick * i.MX8MQ clocks. 466e88e8a4fSpatrick */ 467e88e8a4fSpatrick 468a455bd9dSpatrick #define IMX8MQ_CLK_32K 0x01 469b31392d8Spatrick #define IMX8MQ_ARM_PLL 0x0a 470b31392d8Spatrick #define IMX8MQ_ARM_PLL_OUT 0x0c 471e88e8a4fSpatrick #define IMX8MQ_SYS1_PLL_100M 0x48 472e88e8a4fSpatrick #define IMX8MQ_SYS1_PLL_266M 0x4c 473e88e8a4fSpatrick #define IMX8MQ_SYS1_PLL_400M 0x4d 474b31392d8Spatrick #define IMX8MQ_SYS1_PLL_800M 0x4e 475845ecb9bSpatrick #define IMX8MQ_SYS2_PLL_100M 0x50 476845ecb9bSpatrick #define IMX8MQ_SYS2_PLL_250M 0x54 477e88e8a4fSpatrick #define IMX8MQ_SYS2_PLL_500M 0x56 478e88e8a4fSpatrick #define IMX8MQ_CLK_A53_SRC 0x58 479e88e8a4fSpatrick #define IMX8MQ_CLK_A53_CG 0x59 480e88e8a4fSpatrick #define IMX8MQ_CLK_A53_DIV 0x5a 481071150a2Spatrick #define IMX8MQ_CLK_ENET_AXI 0x68 482071150a2Spatrick #define IMX8MQ_CLK_NAND_USDHC_BUS 0x69 483071150a2Spatrick #define IMX8MQ_CLK_USB_BUS 0x6e 484071150a2Spatrick #define IMX8MQ_CLK_PCIE1_CTRL 0x7c 485071150a2Spatrick #define IMX8MQ_CLK_PCIE1_PHY 0x7d 486071150a2Spatrick #define IMX8MQ_CLK_PCIE1_AUX 0x7e 487071150a2Spatrick #define IMX8MQ_CLK_ENET_REF 0x89 488071150a2Spatrick #define IMX8MQ_CLK_ENET_TIMER 0x8a 489071150a2Spatrick #define IMX8MQ_CLK_ENET_PHY_REF 0x8b 490071150a2Spatrick #define IMX8MQ_CLK_USDHC1 0x8e 491071150a2Spatrick #define IMX8MQ_CLK_USDHC2 0x8f 492071150a2Spatrick #define IMX8MQ_CLK_I2C1 0x90 493071150a2Spatrick #define IMX8MQ_CLK_I2C2 0x91 494071150a2Spatrick #define IMX8MQ_CLK_I2C3 0x92 495071150a2Spatrick #define IMX8MQ_CLK_I2C4 0x93 496071150a2Spatrick #define IMX8MQ_CLK_UART1 0x94 497071150a2Spatrick #define IMX8MQ_CLK_UART2 0x95 498071150a2Spatrick #define IMX8MQ_CLK_UART3 0x96 499071150a2Spatrick #define IMX8MQ_CLK_UART4 0x97 500071150a2Spatrick #define IMX8MQ_CLK_USB_CORE_REF 0x98 501071150a2Spatrick #define IMX8MQ_CLK_USB_PHY_REF 0x99 502071150a2Spatrick #define IMX8MQ_CLK_ECSPI1 0x9a 503071150a2Spatrick #define IMX8MQ_CLK_ECSPI2 0x9b 504071150a2Spatrick #define IMX8MQ_CLK_PWM1 0x9c 505071150a2Spatrick #define IMX8MQ_CLK_PWM2 0x9d 506071150a2Spatrick #define IMX8MQ_CLK_PWM3 0x9e 507071150a2Spatrick #define IMX8MQ_CLK_PWM4 0x9f 508071150a2Spatrick #define IMX8MQ_CLK_PCIE2_CTRL 0xad 509071150a2Spatrick #define IMX8MQ_CLK_PCIE2_PHY 0xae 510071150a2Spatrick #define IMX8MQ_CLK_PCIE2_AUX 0xaf 511071150a2Spatrick #define IMX8MQ_CLK_ECSPI3 0xb0 512071150a2Spatrick #define IMX8MQ_CLK_ECSPI1_ROOT 0xb3 513071150a2Spatrick #define IMX8MQ_CLK_ECSPI2_ROOT 0xb4 514071150a2Spatrick #define IMX8MQ_CLK_ECSPI3_ROOT 0xb5 515071150a2Spatrick #define IMX8MQ_CLK_ENET1_ROOT 0xb6 516071150a2Spatrick #define IMX8MQ_CLK_I2C1_ROOT 0xb8 517071150a2Spatrick #define IMX8MQ_CLK_I2C2_ROOT 0xb9 518071150a2Spatrick #define IMX8MQ_CLK_I2C3_ROOT 0xba 519071150a2Spatrick #define IMX8MQ_CLK_I2C4_ROOT 0xbb 520071150a2Spatrick #define IMX8MQ_CLK_PCIE1_ROOT 0xbd 521071150a2Spatrick #define IMX8MQ_CLK_PCIE2_ROOT 0xbe 522071150a2Spatrick #define IMX8MQ_CLK_PWM1_ROOT 0xbf 523071150a2Spatrick #define IMX8MQ_CLK_PWM2_ROOT 0xc0 524071150a2Spatrick #define IMX8MQ_CLK_PWM3_ROOT 0xc1 525071150a2Spatrick #define IMX8MQ_CLK_PWM4_ROOT 0xc2 526071150a2Spatrick #define IMX8MQ_CLK_UART1_ROOT 0xca 527071150a2Spatrick #define IMX8MQ_CLK_UART2_ROOT 0xcb 528071150a2Spatrick #define IMX8MQ_CLK_UART3_ROOT 0xcc 529071150a2Spatrick #define IMX8MQ_CLK_UART4_ROOT 0xcd 530071150a2Spatrick #define IMX8MQ_CLK_USB1_CTRL_ROOT 0xce 531071150a2Spatrick #define IMX8MQ_CLK_USB2_CTRL_ROOT 0xcf 532071150a2Spatrick #define IMX8MQ_CLK_USB1_PHY_ROOT 0xd0 533071150a2Spatrick #define IMX8MQ_CLK_USB2_PHY_ROOT 0xd1 534071150a2Spatrick #define IMX8MQ_CLK_USDHC1_ROOT 0xd2 535071150a2Spatrick #define IMX8MQ_CLK_USDHC2_ROOT 0xd3 5369d2954c3Spatrick #define IMX8MQ_CLK_TMU_ROOT 0xf6 5379d2954c3Spatrick #define IMX8MQ_CLK_OCOTP_ROOT 0xfa 538071150a2Spatrick #define IMX8MQ_CLK_ARM 0x102 539e88e8a4fSpatrick 540b7ac005eSkettenis struct imxccm_gate imx8mq_gates[] = { 541071150a2Spatrick [IMX8MQ_CLK_A53_CG] = { 0x8000, 14 }, 542071150a2Spatrick [IMX8MQ_CLK_ENET_AXI] = { 0x8880, 14 }, 543071150a2Spatrick [IMX8MQ_CLK_NAND_USDHC_BUS] = { 0x8900, 14 }, 544071150a2Spatrick [IMX8MQ_CLK_USB_BUS] = { 0x8b80, 14 }, 545071150a2Spatrick [IMX8MQ_CLK_PCIE1_CTRL] = { 0xa300, 14 }, 546071150a2Spatrick [IMX8MQ_CLK_PCIE1_PHY] = { 0xa380, 14 }, 547071150a2Spatrick [IMX8MQ_CLK_PCIE1_AUX] = { 0xa400, 14 }, 548071150a2Spatrick [IMX8MQ_CLK_ENET_REF] = { 0xa980, 14 }, 549071150a2Spatrick [IMX8MQ_CLK_ENET_TIMER] = { 0xaa00, 14 }, 550071150a2Spatrick [IMX8MQ_CLK_ENET_PHY_REF] = { 0xaa80, 14 }, 551071150a2Spatrick [IMX8MQ_CLK_USDHC1] = { 0xac00, 14 }, 552071150a2Spatrick [IMX8MQ_CLK_USDHC2] = { 0xac80, 14 }, 553071150a2Spatrick [IMX8MQ_CLK_I2C1] = { 0xad00, 14 }, 554071150a2Spatrick [IMX8MQ_CLK_I2C2] = { 0xad80, 14 }, 555071150a2Spatrick [IMX8MQ_CLK_I2C3] = { 0xae00, 14 }, 556071150a2Spatrick [IMX8MQ_CLK_I2C4] = { 0xae80, 14 }, 557071150a2Spatrick [IMX8MQ_CLK_UART1] = { 0xaf00, 14 }, 558071150a2Spatrick [IMX8MQ_CLK_UART2] = { 0xaf80, 14 }, 559071150a2Spatrick [IMX8MQ_CLK_UART3] = { 0xb000, 14 }, 560071150a2Spatrick [IMX8MQ_CLK_UART4] = { 0xb080, 14 }, 561071150a2Spatrick [IMX8MQ_CLK_USB_CORE_REF] = { 0xb100, 14 }, 562071150a2Spatrick [IMX8MQ_CLK_USB_PHY_REF] = { 0xb180, 14 }, 563071150a2Spatrick [IMX8MQ_CLK_ECSPI1] = { 0xb280, 14 }, 564071150a2Spatrick [IMX8MQ_CLK_ECSPI2] = { 0xb300, 14 }, 565071150a2Spatrick [IMX8MQ_CLK_PWM1] = { 0xb380, 14 }, 566071150a2Spatrick [IMX8MQ_CLK_PWM2] = { 0xb400, 14 }, 567071150a2Spatrick [IMX8MQ_CLK_PWM3] = { 0xb480, 14 }, 568071150a2Spatrick [IMX8MQ_CLK_PWM4] = { 0xb500, 14 }, 569071150a2Spatrick [IMX8MQ_CLK_PCIE2_CTRL] = { 0xc000, 14 }, 570071150a2Spatrick [IMX8MQ_CLK_PCIE2_PHY] = { 0xc080, 14 }, 571071150a2Spatrick [IMX8MQ_CLK_PCIE2_AUX] = { 0xc100, 14 }, 572071150a2Spatrick [IMX8MQ_CLK_ECSPI3] = { 0xc180, 14 }, 573071150a2Spatrick [IMX8MQ_CLK_ECSPI1_ROOT] = { 0x4070, 0, IMX8MQ_CLK_ECSPI1 }, 574071150a2Spatrick [IMX8MQ_CLK_ECSPI2_ROOT] = { 0x4080, 0, IMX8MQ_CLK_ECSPI2 }, 575071150a2Spatrick [IMX8MQ_CLK_ECSPI3_ROOT] = { 0x4090, 0, IMX8MQ_CLK_ECSPI3 }, 576071150a2Spatrick [IMX8MQ_CLK_ENET1_ROOT] = { 0x40a0, 0, IMX8MQ_CLK_ENET_AXI }, 577071150a2Spatrick [IMX8MQ_CLK_I2C1_ROOT] = { 0x4170, 0, IMX8MQ_CLK_I2C1 }, 578071150a2Spatrick [IMX8MQ_CLK_I2C2_ROOT] = { 0x4180, 0, IMX8MQ_CLK_I2C2 }, 579071150a2Spatrick [IMX8MQ_CLK_I2C3_ROOT] = { 0x4190, 0, IMX8MQ_CLK_I2C3 }, 580071150a2Spatrick [IMX8MQ_CLK_I2C4_ROOT] = { 0x41a0, 0, IMX8MQ_CLK_I2C4 }, 581071150a2Spatrick [IMX8MQ_CLK_PCIE1_ROOT] = { 0x4250, 0, IMX8MQ_CLK_PCIE1_CTRL }, 582071150a2Spatrick [IMX8MQ_CLK_PCIE2_ROOT] = { 0x4640, 0, IMX8MQ_CLK_PCIE2_CTRL }, 583071150a2Spatrick [IMX8MQ_CLK_PWM1_ROOT] = { 0x4280, 0, IMX8MQ_CLK_PWM1 }, 584071150a2Spatrick [IMX8MQ_CLK_PWM2_ROOT] = { 0x4290, 0, IMX8MQ_CLK_PWM2 }, 585071150a2Spatrick [IMX8MQ_CLK_PWM3_ROOT] = { 0x42a0, 0, IMX8MQ_CLK_PWM3 }, 586071150a2Spatrick [IMX8MQ_CLK_PWM4_ROOT] = { 0x42b0, 0, IMX8MQ_CLK_PWM4 }, 587071150a2Spatrick [IMX8MQ_CLK_UART1_ROOT] = { 0x4490, 0, IMX8MQ_CLK_UART1 }, 588071150a2Spatrick [IMX8MQ_CLK_UART2_ROOT] = { 0x44a0, 0, IMX8MQ_CLK_UART2 }, 589071150a2Spatrick [IMX8MQ_CLK_UART3_ROOT] = { 0x44b0, 0, IMX8MQ_CLK_UART3 }, 590071150a2Spatrick [IMX8MQ_CLK_UART4_ROOT] = { 0x44c0, 0, IMX8MQ_CLK_UART4 }, 591*ab2b5bd0Spatrick [IMX8MQ_CLK_USB1_CTRL_ROOT] = { 0x44d0, 0, IMX8MQ_CLK_USB_BUS }, 592*ab2b5bd0Spatrick [IMX8MQ_CLK_USB2_CTRL_ROOT] = { 0x44e0, 0, IMX8MQ_CLK_USB_BUS }, 593071150a2Spatrick [IMX8MQ_CLK_USB1_PHY_ROOT] = { 0x44f0, 0, IMX8MQ_CLK_USB_PHY_REF }, 594071150a2Spatrick [IMX8MQ_CLK_USB2_PHY_ROOT] = { 0x4500, 0, IMX8MQ_CLK_USB_PHY_REF }, 595071150a2Spatrick [IMX8MQ_CLK_USDHC1_ROOT] = { 0x4510, 0, IMX8MQ_CLK_USDHC1 }, 596071150a2Spatrick [IMX8MQ_CLK_USDHC2_ROOT] = { 0x4520, 0, IMX8MQ_CLK_USDHC2 }, 5979d2954c3Spatrick [IMX8MQ_CLK_TMU_ROOT] = { 0x4620, 0 }, 5989d2954c3Spatrick [IMX8MQ_CLK_OCOTP_ROOT] = { 0x4220, 0 }, 599e88e8a4fSpatrick }; 600e88e8a4fSpatrick 601b7ac005eSkettenis struct imxccm_divider imx8mq_divs[] = { 602e88e8a4fSpatrick [IMX8MQ_CLK_A53_DIV] = { 0x8000, 0, 0x7, IMX8MQ_CLK_A53_CG }, 603071150a2Spatrick [IMX8MQ_CLK_ENET_AXI] = { 0x8880, 0, 0x3f }, 604071150a2Spatrick [IMX8MQ_CLK_NAND_USDHC_BUS] = { 0x8900, 0, 0x3f }, 605071150a2Spatrick [IMX8MQ_CLK_USB_BUS] = { 0x8b80, 0, 0x3f }, 606071150a2Spatrick [IMX8MQ_CLK_PCIE1_CTRL] = { 0xa300, 0, 0x3f }, 607071150a2Spatrick [IMX8MQ_CLK_PCIE1_PHY] = { 0xa380, 0, 0x3f }, 608071150a2Spatrick [IMX8MQ_CLK_PCIE1_AUX] = { 0xa400, 0, 0x3f }, 609071150a2Spatrick [IMX8MQ_CLK_ENET_REF] = { 0xa980, 0, 0x3f }, 610071150a2Spatrick [IMX8MQ_CLK_ENET_TIMER] = { 0xaa00, 0, 0x3f }, 611071150a2Spatrick [IMX8MQ_CLK_ENET_PHY_REF] = { 0xaa80, 0, 0x3f }, 612071150a2Spatrick [IMX8MQ_CLK_USDHC1] = { 0xac00, 0, 0x3f }, 613071150a2Spatrick [IMX8MQ_CLK_USDHC2] = { 0xac80, 0, 0x3f }, 614071150a2Spatrick [IMX8MQ_CLK_I2C1] = { 0xad00, 0, 0x3f }, 615071150a2Spatrick [IMX8MQ_CLK_I2C2] = { 0xad80, 0, 0x3f }, 616071150a2Spatrick [IMX8MQ_CLK_I2C3] = { 0xae00, 0, 0x3f }, 617071150a2Spatrick [IMX8MQ_CLK_I2C4] = { 0xae80, 0, 0x3f }, 618071150a2Spatrick [IMX8MQ_CLK_UART1] = { 0xaf00, 0, 0x3f }, 619071150a2Spatrick [IMX8MQ_CLK_UART2] = { 0xaf80, 0, 0x3f }, 620071150a2Spatrick [IMX8MQ_CLK_UART3] = { 0xb000, 0, 0x3f }, 621071150a2Spatrick [IMX8MQ_CLK_UART4] = { 0xb080, 0, 0x3f }, 622071150a2Spatrick [IMX8MQ_CLK_USB_CORE_REF] = { 0xb100, 0, 0x3f }, 623071150a2Spatrick [IMX8MQ_CLK_USB_PHY_REF] = { 0xb180, 0, 0x3f }, 624071150a2Spatrick [IMX8MQ_CLK_ECSPI1] = { 0xb280, 0, 0x3f }, 625071150a2Spatrick [IMX8MQ_CLK_ECSPI2] = { 0xb300, 0, 0x3f }, 626071150a2Spatrick [IMX8MQ_CLK_PWM1] = { 0xb380, 0, 0x3f }, 627071150a2Spatrick [IMX8MQ_CLK_PWM2] = { 0xb400, 0, 0x3f }, 628071150a2Spatrick [IMX8MQ_CLK_PWM3] = { 0xb480, 0, 0x3f }, 629071150a2Spatrick [IMX8MQ_CLK_PWM4] = { 0xb500, 0, 0x3f }, 630071150a2Spatrick [IMX8MQ_CLK_PCIE2_CTRL] = { 0xc000, 0, 0x3f }, 631071150a2Spatrick [IMX8MQ_CLK_PCIE2_PHY] = { 0xc080, 0, 0x3f }, 632071150a2Spatrick [IMX8MQ_CLK_PCIE2_AUX] = { 0xc100, 0, 0x3f }, 633071150a2Spatrick [IMX8MQ_CLK_ECSPI3] = { 0xc180, 0, 0x3f }, 634071150a2Spatrick }; 635071150a2Spatrick 636071150a2Spatrick struct imxccm_divider imx8mq_predivs[] = { 637071150a2Spatrick [IMX8MQ_CLK_ENET_AXI] = { 0x8880, 16, 0x7 }, 638071150a2Spatrick [IMX8MQ_CLK_NAND_USDHC_BUS] = { 0x8900, 16, 0x7 }, 639071150a2Spatrick [IMX8MQ_CLK_USB_BUS] = { 0x8b80, 16, 0x7 }, 640071150a2Spatrick [IMX8MQ_CLK_PCIE1_CTRL] = { 0xa300, 16, 0x7 }, 641071150a2Spatrick [IMX8MQ_CLK_PCIE1_PHY] = { 0xa380, 16, 0x7 }, 642071150a2Spatrick [IMX8MQ_CLK_PCIE1_AUX] = { 0xa400, 16, 0x7 }, 643071150a2Spatrick [IMX8MQ_CLK_ENET_REF] = { 0xa980, 16, 0x7 }, 644071150a2Spatrick [IMX8MQ_CLK_ENET_TIMER] = { 0xaa00, 16, 0x7 }, 645071150a2Spatrick [IMX8MQ_CLK_ENET_PHY_REF] = { 0xaa80, 16, 0x7 }, 646071150a2Spatrick [IMX8MQ_CLK_USDHC1] = { 0xac00, 16, 0x7 }, 647071150a2Spatrick [IMX8MQ_CLK_USDHC2] = { 0xac80, 16, 0x7 }, 648071150a2Spatrick [IMX8MQ_CLK_I2C1] = { 0xad00, 16, 0x7 }, 649071150a2Spatrick [IMX8MQ_CLK_I2C2] = { 0xad80, 16, 0x7 }, 650071150a2Spatrick [IMX8MQ_CLK_I2C3] = { 0xae00, 16, 0x7 }, 651071150a2Spatrick [IMX8MQ_CLK_I2C4] = { 0xae80, 16, 0x7 }, 652071150a2Spatrick [IMX8MQ_CLK_UART1] = { 0xaf00, 16, 0x7 }, 653071150a2Spatrick [IMX8MQ_CLK_UART2] = { 0xaf80, 16, 0x7 }, 654071150a2Spatrick [IMX8MQ_CLK_UART3] = { 0xb000, 16, 0x7 }, 655071150a2Spatrick [IMX8MQ_CLK_UART4] = { 0xb080, 16, 0x7 }, 656071150a2Spatrick [IMX8MQ_CLK_USB_CORE_REF] = { 0xb100, 16, 0x7 }, 657071150a2Spatrick [IMX8MQ_CLK_USB_PHY_REF] = { 0xb180, 16, 0x7 }, 658071150a2Spatrick [IMX8MQ_CLK_ECSPI1] = { 0xb280, 16, 0x7 }, 659071150a2Spatrick [IMX8MQ_CLK_ECSPI2] = { 0xb300, 16, 0x7 }, 660071150a2Spatrick [IMX8MQ_CLK_PWM1] = { 0xb380, 16, 0x7 }, 661071150a2Spatrick [IMX8MQ_CLK_PWM2] = { 0xb400, 16, 0x7 }, 662071150a2Spatrick [IMX8MQ_CLK_PWM3] = { 0xb480, 16, 0x7 }, 663071150a2Spatrick [IMX8MQ_CLK_PWM4] = { 0xb500, 16, 0x7 }, 664071150a2Spatrick [IMX8MQ_CLK_PCIE2_CTRL] = { 0xc000, 16, 0x7 }, 665071150a2Spatrick [IMX8MQ_CLK_PCIE2_PHY] = { 0xc080, 16, 0x7 }, 666071150a2Spatrick [IMX8MQ_CLK_PCIE2_AUX] = { 0xc100, 16, 0x7 }, 667071150a2Spatrick [IMX8MQ_CLK_ECSPI3] = { 0xc180, 16, 0x7 }, 668e88e8a4fSpatrick }; 669e88e8a4fSpatrick 670b7ac005eSkettenis struct imxccm_mux imx8mq_muxs[] = { 671e88e8a4fSpatrick [IMX8MQ_CLK_A53_SRC] = { 0x8000, 24, 0x7 }, 672071150a2Spatrick [IMX8MQ_CLK_ENET_AXI] = { 0x8880, 24, 0x7 }, 673071150a2Spatrick [IMX8MQ_CLK_NAND_USDHC_BUS] = { 0x8900, 24, 0x7 }, 674071150a2Spatrick [IMX8MQ_CLK_USB_BUS] = { 0x8b80, 24, 0x7 }, 675071150a2Spatrick [IMX8MQ_CLK_PCIE1_CTRL] = { 0xa300, 24, 0x7 }, 676071150a2Spatrick [IMX8MQ_CLK_PCIE1_PHY] = { 0xa380, 24, 0x7 }, 677071150a2Spatrick [IMX8MQ_CLK_PCIE1_AUX] = { 0xa400, 24, 0x7 }, 678071150a2Spatrick [IMX8MQ_CLK_ENET_REF] = { 0xa980, 24, 0x7 }, 679071150a2Spatrick [IMX8MQ_CLK_ENET_TIMER] = { 0xaa00, 24, 0x7 }, 680071150a2Spatrick [IMX8MQ_CLK_ENET_PHY_REF] = { 0xaa80, 24, 0x7 }, 681071150a2Spatrick [IMX8MQ_CLK_USDHC1] = { 0xac00, 24, 0x7 }, 682071150a2Spatrick [IMX8MQ_CLK_USDHC2] = { 0xac80, 24, 0x7 }, 683071150a2Spatrick [IMX8MQ_CLK_I2C1] = { 0xad00, 24, 0x7 }, 684071150a2Spatrick [IMX8MQ_CLK_I2C2] = { 0xad80, 24, 0x7 }, 685071150a2Spatrick [IMX8MQ_CLK_I2C3] = { 0xae00, 24, 0x7 }, 686071150a2Spatrick [IMX8MQ_CLK_I2C4] = { 0xae80, 24, 0x7 }, 687071150a2Spatrick [IMX8MQ_CLK_UART1] = { 0xaf00, 24, 0x7 }, 688071150a2Spatrick [IMX8MQ_CLK_UART2] = { 0xaf80, 24, 0x7 }, 689071150a2Spatrick [IMX8MQ_CLK_UART3] = { 0xb000, 24, 0x7 }, 690071150a2Spatrick [IMX8MQ_CLK_UART4] = { 0xb080, 24, 0x7 }, 691071150a2Spatrick [IMX8MQ_CLK_USB_CORE_REF] = { 0xb100, 24, 0x7 }, 692071150a2Spatrick [IMX8MQ_CLK_USB_PHY_REF] = { 0xb180, 24, 0x7 }, 693071150a2Spatrick [IMX8MQ_CLK_ECSPI1] = { 0xb280, 24, 0x7 }, 694071150a2Spatrick [IMX8MQ_CLK_ECSPI2] = { 0xb300, 24, 0x7 }, 695071150a2Spatrick [IMX8MQ_CLK_PWM1] = { 0xb380, 24, 0x7 }, 696071150a2Spatrick [IMX8MQ_CLK_PWM2] = { 0xb400, 24, 0x7 }, 697071150a2Spatrick [IMX8MQ_CLK_PWM3] = { 0xb480, 24, 0x7 }, 698071150a2Spatrick [IMX8MQ_CLK_PWM4] = { 0xb500, 24, 0x7 }, 699071150a2Spatrick [IMX8MQ_CLK_PCIE2_CTRL] = { 0xc000, 24, 0x7 }, 700071150a2Spatrick [IMX8MQ_CLK_PCIE2_PHY] = { 0xc080, 24, 0x7 }, 701071150a2Spatrick [IMX8MQ_CLK_PCIE2_AUX] = { 0xc100, 24, 0x7 }, 702071150a2Spatrick [IMX8MQ_CLK_ECSPI3] = { 0xc180, 24, 0x7 }, 703e88e8a4fSpatrick }; 704