1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (C) 2014 Google, Inc. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifndef _DT_BINDINGS_CLOCK_PISTACHIO_H 7*4882a593Smuzhiyun #define _DT_BINDINGS_CLOCK_PISTACHIO_H 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun /* PLLs */ 10*4882a593Smuzhiyun #define CLK_MIPS_PLL 0 11*4882a593Smuzhiyun #define CLK_AUDIO_PLL 1 12*4882a593Smuzhiyun #define CLK_RPU_V_PLL 2 13*4882a593Smuzhiyun #define CLK_RPU_L_PLL 3 14*4882a593Smuzhiyun #define CLK_SYS_PLL 4 15*4882a593Smuzhiyun #define CLK_WIFI_PLL 5 16*4882a593Smuzhiyun #define CLK_BT_PLL 6 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun /* Fixed-factor clocks */ 19*4882a593Smuzhiyun #define CLK_WIFI_DIV4 16 20*4882a593Smuzhiyun #define CLK_WIFI_DIV8 17 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun /* Gate clocks */ 23*4882a593Smuzhiyun #define CLK_MIPS 32 24*4882a593Smuzhiyun #define CLK_AUDIO_IN 33 25*4882a593Smuzhiyun #define CLK_AUDIO 34 26*4882a593Smuzhiyun #define CLK_I2S 35 27*4882a593Smuzhiyun #define CLK_SPDIF 36 28*4882a593Smuzhiyun #define CLK_AUDIO_DAC 37 29*4882a593Smuzhiyun #define CLK_RPU_V 38 30*4882a593Smuzhiyun #define CLK_RPU_L 39 31*4882a593Smuzhiyun #define CLK_RPU_SLEEP 40 32*4882a593Smuzhiyun #define CLK_WIFI_PLL_GATE 41 33*4882a593Smuzhiyun #define CLK_RPU_CORE 42 34*4882a593Smuzhiyun #define CLK_WIFI_ADC 43 35*4882a593Smuzhiyun #define CLK_WIFI_DAC 44 36*4882a593Smuzhiyun #define CLK_USB_PHY 45 37*4882a593Smuzhiyun #define CLK_ENET_IN 46 38*4882a593Smuzhiyun #define CLK_ENET 47 39*4882a593Smuzhiyun #define CLK_UART0 48 40*4882a593Smuzhiyun #define CLK_UART1 49 41*4882a593Smuzhiyun #define CLK_PERIPH_SYS 50 42*4882a593Smuzhiyun #define CLK_SPI0 51 43*4882a593Smuzhiyun #define CLK_SPI1 52 44*4882a593Smuzhiyun #define CLK_EVENT_TIMER 53 45*4882a593Smuzhiyun #define CLK_AUX_ADC_INTERNAL 54 46*4882a593Smuzhiyun #define CLK_AUX_ADC 55 47*4882a593Smuzhiyun #define CLK_SD_HOST 56 48*4882a593Smuzhiyun #define CLK_BT 57 49*4882a593Smuzhiyun #define CLK_BT_DIV4 58 50*4882a593Smuzhiyun #define CLK_BT_DIV8 59 51*4882a593Smuzhiyun #define CLK_BT_1MHZ 60 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun /* Divider clocks */ 54*4882a593Smuzhiyun #define CLK_MIPS_INTERNAL_DIV 64 55*4882a593Smuzhiyun #define CLK_MIPS_DIV 65 56*4882a593Smuzhiyun #define CLK_AUDIO_DIV 66 57*4882a593Smuzhiyun #define CLK_I2S_DIV 67 58*4882a593Smuzhiyun #define CLK_SPDIF_DIV 68 59*4882a593Smuzhiyun #define CLK_AUDIO_DAC_DIV 69 60*4882a593Smuzhiyun #define CLK_RPU_V_DIV 70 61*4882a593Smuzhiyun #define CLK_RPU_L_DIV 71 62*4882a593Smuzhiyun #define CLK_RPU_SLEEP_DIV 72 63*4882a593Smuzhiyun #define CLK_RPU_CORE_DIV 73 64*4882a593Smuzhiyun #define CLK_USB_PHY_DIV 74 65*4882a593Smuzhiyun #define CLK_ENET_DIV 75 66*4882a593Smuzhiyun #define CLK_UART0_INTERNAL_DIV 76 67*4882a593Smuzhiyun #define CLK_UART0_DIV 77 68*4882a593Smuzhiyun #define CLK_UART1_INTERNAL_DIV 78 69*4882a593Smuzhiyun #define CLK_UART1_DIV 79 70*4882a593Smuzhiyun #define CLK_SYS_INTERNAL_DIV 80 71*4882a593Smuzhiyun #define CLK_SPI0_INTERNAL_DIV 81 72*4882a593Smuzhiyun #define CLK_SPI0_DIV 82 73*4882a593Smuzhiyun #define CLK_SPI1_INTERNAL_DIV 83 74*4882a593Smuzhiyun #define CLK_SPI1_DIV 84 75*4882a593Smuzhiyun #define CLK_EVENT_TIMER_INTERNAL_DIV 85 76*4882a593Smuzhiyun #define CLK_EVENT_TIMER_DIV 86 77*4882a593Smuzhiyun #define CLK_AUX_ADC_INTERNAL_DIV 87 78*4882a593Smuzhiyun #define CLK_AUX_ADC_DIV 88 79*4882a593Smuzhiyun #define CLK_SD_HOST_DIV 89 80*4882a593Smuzhiyun #define CLK_BT_DIV 90 81*4882a593Smuzhiyun #define CLK_BT_DIV4_DIV 91 82*4882a593Smuzhiyun #define CLK_BT_DIV8_DIV 92 83*4882a593Smuzhiyun #define CLK_BT_1MHZ_INTERNAL_DIV 93 84*4882a593Smuzhiyun #define CLK_BT_1MHZ_DIV 94 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun /* Mux clocks */ 87*4882a593Smuzhiyun #define CLK_AUDIO_REF_MUX 96 88*4882a593Smuzhiyun #define CLK_MIPS_PLL_MUX 97 89*4882a593Smuzhiyun #define CLK_AUDIO_PLL_MUX 98 90*4882a593Smuzhiyun #define CLK_AUDIO_MUX 99 91*4882a593Smuzhiyun #define CLK_RPU_V_PLL_MUX 100 92*4882a593Smuzhiyun #define CLK_RPU_L_PLL_MUX 101 93*4882a593Smuzhiyun #define CLK_RPU_L_MUX 102 94*4882a593Smuzhiyun #define CLK_WIFI_PLL_MUX 103 95*4882a593Smuzhiyun #define CLK_WIFI_DIV4_MUX 104 96*4882a593Smuzhiyun #define CLK_WIFI_DIV8_MUX 105 97*4882a593Smuzhiyun #define CLK_RPU_CORE_MUX 106 98*4882a593Smuzhiyun #define CLK_SYS_PLL_MUX 107 99*4882a593Smuzhiyun #define CLK_ENET_MUX 108 100*4882a593Smuzhiyun #define CLK_EVENT_TIMER_MUX 109 101*4882a593Smuzhiyun #define CLK_SD_HOST_MUX 110 102*4882a593Smuzhiyun #define CLK_BT_PLL_MUX 111 103*4882a593Smuzhiyun #define CLK_DEBUG_MUX 112 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun #define CLK_NR_CLKS 113 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun /* Peripheral gate clocks */ 108*4882a593Smuzhiyun #define PERIPH_CLK_SYS 0 109*4882a593Smuzhiyun #define PERIPH_CLK_SYS_BUS 1 110*4882a593Smuzhiyun #define PERIPH_CLK_DDR 2 111*4882a593Smuzhiyun #define PERIPH_CLK_ROM 3 112*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_FAST 4 113*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_SLOW 5 114*4882a593Smuzhiyun #define PERIPH_CLK_IR 6 115*4882a593Smuzhiyun #define PERIPH_CLK_WD 7 116*4882a593Smuzhiyun #define PERIPH_CLK_PDM 8 117*4882a593Smuzhiyun #define PERIPH_CLK_PWM 9 118*4882a593Smuzhiyun #define PERIPH_CLK_I2C0 10 119*4882a593Smuzhiyun #define PERIPH_CLK_I2C1 11 120*4882a593Smuzhiyun #define PERIPH_CLK_I2C2 12 121*4882a593Smuzhiyun #define PERIPH_CLK_I2C3 13 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun /* Peripheral divider clocks */ 124*4882a593Smuzhiyun #define PERIPH_CLK_ROM_DIV 32 125*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_FAST_DIV 33 126*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_SLOW_PRE_DIV 34 127*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_SLOW_DIV 35 128*4882a593Smuzhiyun #define PERIPH_CLK_IR_PRE_DIV 36 129*4882a593Smuzhiyun #define PERIPH_CLK_IR_DIV 37 130*4882a593Smuzhiyun #define PERIPH_CLK_WD_PRE_DIV 38 131*4882a593Smuzhiyun #define PERIPH_CLK_WD_DIV 39 132*4882a593Smuzhiyun #define PERIPH_CLK_PDM_PRE_DIV 40 133*4882a593Smuzhiyun #define PERIPH_CLK_PDM_DIV 41 134*4882a593Smuzhiyun #define PERIPH_CLK_PWM_PRE_DIV 42 135*4882a593Smuzhiyun #define PERIPH_CLK_PWM_DIV 43 136*4882a593Smuzhiyun #define PERIPH_CLK_I2C0_PRE_DIV 44 137*4882a593Smuzhiyun #define PERIPH_CLK_I2C0_DIV 45 138*4882a593Smuzhiyun #define PERIPH_CLK_I2C1_PRE_DIV 46 139*4882a593Smuzhiyun #define PERIPH_CLK_I2C1_DIV 47 140*4882a593Smuzhiyun #define PERIPH_CLK_I2C2_PRE_DIV 48 141*4882a593Smuzhiyun #define PERIPH_CLK_I2C2_DIV 49 142*4882a593Smuzhiyun #define PERIPH_CLK_I2C3_PRE_DIV 50 143*4882a593Smuzhiyun #define PERIPH_CLK_I2C3_DIV 51 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun #define PERIPH_CLK_NR_CLKS 52 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun /* System gate clocks */ 148*4882a593Smuzhiyun #define SYS_CLK_I2C0 0 149*4882a593Smuzhiyun #define SYS_CLK_I2C1 1 150*4882a593Smuzhiyun #define SYS_CLK_I2C2 2 151*4882a593Smuzhiyun #define SYS_CLK_I2C3 3 152*4882a593Smuzhiyun #define SYS_CLK_I2S_IN 4 153*4882a593Smuzhiyun #define SYS_CLK_PAUD_OUT 5 154*4882a593Smuzhiyun #define SYS_CLK_SPDIF_OUT 6 155*4882a593Smuzhiyun #define SYS_CLK_SPI0_MASTER 7 156*4882a593Smuzhiyun #define SYS_CLK_SPI0_SLAVE 8 157*4882a593Smuzhiyun #define SYS_CLK_PWM 9 158*4882a593Smuzhiyun #define SYS_CLK_UART0 10 159*4882a593Smuzhiyun #define SYS_CLK_UART1 11 160*4882a593Smuzhiyun #define SYS_CLK_SPI1 12 161*4882a593Smuzhiyun #define SYS_CLK_MDC 13 162*4882a593Smuzhiyun #define SYS_CLK_SD_HOST 14 163*4882a593Smuzhiyun #define SYS_CLK_ENET 15 164*4882a593Smuzhiyun #define SYS_CLK_IR 16 165*4882a593Smuzhiyun #define SYS_CLK_WD 17 166*4882a593Smuzhiyun #define SYS_CLK_TIMER 18 167*4882a593Smuzhiyun #define SYS_CLK_I2S_OUT 24 168*4882a593Smuzhiyun #define SYS_CLK_SPDIF_IN 25 169*4882a593Smuzhiyun #define SYS_CLK_EVENT_TIMER 26 170*4882a593Smuzhiyun #define SYS_CLK_HASH 27 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun #define SYS_CLK_NR_CLKS 28 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun /* Gates for external input clocks */ 175*4882a593Smuzhiyun #define EXT_CLK_AUDIO_IN 0 176*4882a593Smuzhiyun #define EXT_CLK_ENET_IN 1 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun #define EXT_CLK_NR_CLKS 2 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun #endif /* _DT_BINDINGS_CLOCK_PISTACHIO_H */ 181