1dd7e1845SClément Léger /* SPDX-License-Identifier: GPL-2.0-or-later or BSD-3-Clause */ 2dd7e1845SClément Léger /* 3dd7e1845SClément Léger * Copyright (C) 2021 Microchip 4dd7e1845SClément Léger * 5dd7e1845SClément Léger * This header provides constants for AT91 pmc status. 6dd7e1845SClément Léger * 7dd7e1845SClément Léger * The constants defined in this header are being used in dts. 8dd7e1845SClément Léger */ 9dd7e1845SClément Léger 10dd7e1845SClément Léger #ifndef _DT_BINDINGS_CLK_AT91_H 11dd7e1845SClément Léger #define _DT_BINDINGS_CLK_AT91_H 12dd7e1845SClément Léger 13dd7e1845SClément Léger #define PMC_TYPE_CORE 0 14dd7e1845SClément Léger #define PMC_TYPE_SYSTEM 1 15dd7e1845SClément Léger #define PMC_TYPE_PERIPHERAL 2 16dd7e1845SClément Léger #define PMC_TYPE_GCK 3 17dd7e1845SClément Léger #define PMC_TYPE_PROGRAMMABLE 4 18dd7e1845SClément Léger 19dd7e1845SClément Léger #define PMC_SLOW 0 20dd7e1845SClément Léger #define PMC_MCK 1 21dd7e1845SClément Léger #define PMC_UTMI 2 22dd7e1845SClément Léger #define PMC_MAIN 3 23dd7e1845SClément Léger #define PMC_MCK2 4 24dd7e1845SClément Léger #define PMC_I2S0_MUX 5 25dd7e1845SClément Léger #define PMC_I2S1_MUX 6 26dd7e1845SClément Léger #define PMC_PLLACK 7 27dd7e1845SClément Léger #define PMC_PLLBCK 8 28dd7e1845SClément Léger #define PMC_AUDIOPLLCK 9 29dd7e1845SClément Léger #define PMC_MCK_PRES 10 3090dee57aSClément Léger #define PMC_AUDIOPLL_FRACCK 11 3190dee57aSClément Léger #define PMC_USBCK 12 3290dee57aSClément Léger #define PMC_SAMA5D2_CORE_CLK_COUNT 13 33dd7e1845SClément Léger 34dd7e1845SClément Léger /* SAMA7G5 */ 35dd7e1845SClément Léger #define PMC_CPUPLL (PMC_MAIN + 1) 36dd7e1845SClément Léger #define PMC_SYSPLL (PMC_MAIN + 2) 37dd7e1845SClément Léger #define PMC_DDRPLL (PMC_MAIN + 3) 38dd7e1845SClément Léger #define PMC_IMGPLL (PMC_MAIN + 4) 39dd7e1845SClément Léger #define PMC_BAUDPLL (PMC_MAIN + 5) 40dd7e1845SClément Léger #define PMC_AUDIOPMCPLL (PMC_MAIN + 6) 41943d822aSTony Han /* Reserved for PMC_MCK_PRES */ 42943d822aSTony Han #define PMC_AUDIOIOPLL (PMC_MAIN + 8) 43943d822aSTony Han #define PMC_ETHPLL (PMC_MAIN + 9) 44943d822aSTony Han #define PMC_MCK1 (PMC_MAIN + 10) 45943d822aSTony Han /* Reserved for MCK2, MCK3, MCK4 */ 46943d822aSTony Han #define PMC_UTMI1 (PMC_MAIN + 14) 47943d822aSTony Han #define PMC_UTMI2 (PMC_MAIN + 15) 48943d822aSTony Han #define PMC_UTMI3 (PMC_MAIN + 16) 49943d822aSTony Han #define PMC_SAMA7G5_CORE_CLK_COUNT (PMC_MAIN + 17) 50dd7e1845SClément Léger 511e91da09SClément Léger #define AT91_SCMI_CLK_CORE_MCK 0 521e91da09SClément Léger #define AT91_SCMI_CLK_CORE_UTMI 1 531e91da09SClément Léger #define AT91_SCMI_CLK_CORE_MAIN 2 541e91da09SClément Léger #define AT91_SCMI_CLK_CORE_MCK2 3 551e91da09SClément Léger #define AT91_SCMI_CLK_CORE_I2S0_MUX 4 561e91da09SClément Léger #define AT91_SCMI_CLK_CORE_I2S1_MUX 5 571e91da09SClément Léger #define AT91_SCMI_CLK_CORE_PLLACK 6 581e91da09SClément Léger #define AT91_SCMI_CLK_CORE_PLLBCK 7 591e91da09SClément Léger #define AT91_SCMI_CLK_CORE_AUDIOPLLCK 8 601e91da09SClément Léger #define AT91_SCMI_CLK_CORE_MCK_PRES 9 611e91da09SClément Léger 621e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_DDRCK 10 631e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_LCDCK 11 641e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_UHPCK 12 651e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_UDPCK 13 661e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_PCK0 14 671e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_PCK1 15 681e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_PCK2 16 691e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_ISCCK 17 701e91da09SClément Léger 711e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_MACB0_CLK 18 721e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TDES_CLK 19 731e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_MATRIX1_CLK 20 741e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_HSMC_CLK 21 751e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_PIOA_CLK 22 761e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX0_CLK 23 771e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX1_CLK 24 781e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX2_CLK 25 791e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX3_CLK 26 801e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX4_CLK 27 811e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART0_CLK 28 821e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART1_CLK 29 831e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART2_CLK 30 841e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART3_CLK 31 851e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART4_CLK 32 861e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TWI0_CLK 33 871e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TWI1_CLK 34 881e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SPI0_CLK 35 891e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SPI1_CLK 36 901e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TCB0_CLK 37 911e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TCB1_CLK 38 921e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_PWM_CLK 39 931e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_ADC_CLK 40 941e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UHPHS_CLK 41 951e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UDPHS_CLK 42 961e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SSC0_CLK 43 971e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SSC1_CLK 44 981e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TRNG_CLK 45 991e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_PDMIC_CLK 46 1001e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SECURAM_CLK 47 1011e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_I2S0_CLK 48 1021e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_I2S1_CLK 49 1031e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_CAN0_CLK 50 1041e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_CAN1_CLK 51 1051e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_PTC_CLK 52 1061e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_CLASSD_CLK 53 1071e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_DMA0_CLK 54 1081e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_DMA1_CLK 55 1091e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_AES_CLK 56 1101e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_AESB_CLK 57 1111e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SHA_CLK 58 1121e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_MPDDR_CLK 59 1131e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_MATRIX0_CLK 60 1141e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SDMMC0_HCLK 61 1151e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SDMMC1_HCLK 62 1161e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_LCDC_CLK 63 1171e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_ISC_CLK 64 1181e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_QSPI0_CLK 65 1191e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_QSPI1_CLK 66 1201e91da09SClément Léger 1211e91da09SClément Léger #define AT91_SCMI_CLK_GCK_SDMMC0_GCLK 67 1221e91da09SClément Léger #define AT91_SCMI_CLK_GCK_SDMMC1_GCLK 68 1231e91da09SClément Léger #define AT91_SCMI_CLK_GCK_TCB0_GCLK 69 1241e91da09SClément Léger #define AT91_SCMI_CLK_GCK_TCB1_GCLK 70 1251e91da09SClément Léger #define AT91_SCMI_CLK_GCK_PWM_GCLK 71 1261e91da09SClément Léger #define AT91_SCMI_CLK_GCK_ISC_GCLK 72 1271e91da09SClément Léger #define AT91_SCMI_CLK_GCK_PDMIC_GCLK 73 1281e91da09SClément Léger #define AT91_SCMI_CLK_GCK_I2S0_GCLK 74 1291e91da09SClément Léger #define AT91_SCMI_CLK_GCK_I2S1_GCLK 75 1301e91da09SClément Léger #define AT91_SCMI_CLK_GCK_CAN0_GCLK 76 1311e91da09SClément Léger #define AT91_SCMI_CLK_GCK_CAN1_GCLK 77 1321e91da09SClément Léger #define AT91_SCMI_CLK_GCK_CLASSD_GCLK 78 1331e91da09SClément Léger 1341e91da09SClément Léger #define AT91_SCMI_CLK_PROG_PROG0 79 1351e91da09SClément Léger #define AT91_SCMI_CLK_PROG_PROG1 80 1361e91da09SClément Léger #define AT91_SCMI_CLK_PROG_PROG2 81 1371e91da09SClément Léger 1381e91da09SClément Léger #define AT91_SCMI_CLK_SCKC_SLOWCK_32K 82 139b432ec14STony Han #define AT91_SCMI_CLK_CPU_OPP 101 1401e91da09SClément Léger 141609ba8e3STony Han #ifdef CFG_SAMA7G5 142609ba8e3STony Han #define AT91_SCMI_CLK_CORE_CPUPLLCK 4 143609ba8e3STony Han #define AT91_SCMI_CLK_CORE_SYSPLLCK 5 144609ba8e3STony Han #define AT91_SCMI_CLK_CORE_DDRPLLCK 6 145609ba8e3STony Han #define AT91_SCMI_CLK_CORE_IMGPLLCK 7 146609ba8e3STony Han #define AT91_SCMI_CLK_CORE_ETHPLLCK 10 147609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK3 11 148609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK4 12 149609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK5 13 150609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK6 17 151609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK7 20 152609ba8e3STony Han #define AT91_SCMI_CLK_UTMI1 97 153609ba8e3STony Han #define AT91_SCMI_CLK_UTMI2 98 154609ba8e3STony Han #define AT91_SCMI_CLK_UTMI3 99 155609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_DMA2_CLK 100 156609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX5_CLK 28 157609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX6_CLK 29 158609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX7_CLK 30 159609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX8_CLK 31 160609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX9_CLK 32 161609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX10_CLK 33 162609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX11_CLK 34 163609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_UDPHSB_CLK 35 164609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_PDMC1_CLK 36 165609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_UDPHSA_CLK 42 166609ba8e3STony Han #define AT91_SCMI_CLK_GCK_ADC_GCLK 40 167609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_PDMC0_CLK 46 168609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_CAN2_CLK 52 169609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_CAN3_CLK 53 170609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_CAN4_CLK 59 171609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_CAN5_CLK 60 172609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_SDMMC2_HCLK 63 173609ba8e3STony Han #define AT91_SCMI_CLK_GCK_SDMMC2_GCLK 71 174609ba8e3STony Han #define AT91_SCMI_CLK_GCK_MACB0_GCLK 72 175609ba8e3STony Han #define AT91_SCMI_CLK_GCK_MACB0_TSU 73 176609ba8e3STony Han #define AT91_SCMI_CLK_GCK_CAN2_GCLK 78 177609ba8e3STony Han #define AT91_SCMI_CLK_GCK_CAN3_GCLK 79 178609ba8e3STony Han #define AT91_SCMI_CLK_GCK_CAN4_GCLK 80 179609ba8e3STony Han #define AT91_SCMI_CLK_GCK_CAN5_GCLK 81 180609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_SPDIFRX_CLK 83 181609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_SPDIFTX_CLK 84 182609ba8e3STony Han #define AT91_SCMI_CLK_GCK_QSPI0_GCLK 85 183609ba8e3STony Han #define AT91_SCMI_CLK_GCK_QSPI1_GCLK 86 184609ba8e3STony Han #define AT91_SCMI_CLK_GCK_SPDIFRX_GCLK 87 185609ba8e3STony Han #define AT91_SCMI_CLK_GCK_SPDIFTX_GCLK 88 186eb3951bfSThomas Perrot #define AT91_SCMI_CLK_GCK_MACB1_GCLK 89 187eb3951bfSThomas Perrot #define AT91_SCMI_CLK_PERIPH_MACB1_CLK 90 188eb3951bfSThomas Perrot #define AT91_SCMI_CLK_GCK_MACB1_TSU 91 189eb3951bfSThomas Perrot #define AT91_SCMI_CLK_PERIPH_CSI_CLK 92 190eb3951bfSThomas Perrot #define AT91_SCMI_CLK_GCK_CSI_GCLK 93 191eb3951bfSThomas Perrot #define AT91_SCMI_CLK_PERIPH_CSI2DC_CLK 94 192eb3951bfSThomas Perrot #define AT91_SCMI_CLK_PERIPH_ASRC_CLK 95 193eb3951bfSThomas Perrot #define AT91_SCMI_CLK_GCK_ASRC_GCLK 96 194*3006d24dSTony Han #define AT91_SCMI_CLK_GCK_PDMC0_GCLK 102 195*3006d24dSTony Han #define AT91_SCMI_CLK_GCK_PDMC1_GCLK 103 196609ba8e3STony Han #endif 197609ba8e3STony Han 198dd7e1845SClément Léger #endif 199