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