linux/include/dt-bindings/clock/pistachio-clk.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2014 Google, Inc.
 */

#ifndef _DT_BINDINGS_CLOCK_PISTACHIO_H
#define _DT_BINDINGS_CLOCK_PISTACHIO_H

/* PLLs */
#define CLK_MIPS_PLL
#define CLK_AUDIO_PLL
#define CLK_RPU_V_PLL
#define CLK_RPU_L_PLL
#define CLK_SYS_PLL
#define CLK_WIFI_PLL
#define CLK_BT_PLL

/* Fixed-factor clocks */
#define CLK_WIFI_DIV4
#define CLK_WIFI_DIV8

/* Gate clocks */
#define CLK_MIPS
#define CLK_AUDIO_IN
#define CLK_AUDIO
#define CLK_I2S
#define CLK_SPDIF
#define CLK_AUDIO_DAC
#define CLK_RPU_V
#define CLK_RPU_L
#define CLK_RPU_SLEEP
#define CLK_WIFI_PLL_GATE
#define CLK_RPU_CORE
#define CLK_WIFI_ADC
#define CLK_WIFI_DAC
#define CLK_USB_PHY
#define CLK_ENET_IN
#define CLK_ENET
#define CLK_UART0
#define CLK_UART1
#define CLK_PERIPH_SYS
#define CLK_SPI0
#define CLK_SPI1
#define CLK_EVENT_TIMER
#define CLK_AUX_ADC_INTERNAL
#define CLK_AUX_ADC
#define CLK_SD_HOST
#define CLK_BT
#define CLK_BT_DIV4
#define CLK_BT_DIV8
#define CLK_BT_1MHZ

/* Divider clocks */
#define CLK_MIPS_INTERNAL_DIV
#define CLK_MIPS_DIV
#define CLK_AUDIO_DIV
#define CLK_I2S_DIV
#define CLK_SPDIF_DIV
#define CLK_AUDIO_DAC_DIV
#define CLK_RPU_V_DIV
#define CLK_RPU_L_DIV
#define CLK_RPU_SLEEP_DIV
#define CLK_RPU_CORE_DIV
#define CLK_USB_PHY_DIV
#define CLK_ENET_DIV
#define CLK_UART0_INTERNAL_DIV
#define CLK_UART0_DIV
#define CLK_UART1_INTERNAL_DIV
#define CLK_UART1_DIV
#define CLK_SYS_INTERNAL_DIV
#define CLK_SPI0_INTERNAL_DIV
#define CLK_SPI0_DIV
#define CLK_SPI1_INTERNAL_DIV
#define CLK_SPI1_DIV
#define CLK_EVENT_TIMER_INTERNAL_DIV
#define CLK_EVENT_TIMER_DIV
#define CLK_AUX_ADC_INTERNAL_DIV
#define CLK_AUX_ADC_DIV
#define CLK_SD_HOST_DIV
#define CLK_BT_DIV
#define CLK_BT_DIV4_DIV
#define CLK_BT_DIV8_DIV
#define CLK_BT_1MHZ_INTERNAL_DIV
#define CLK_BT_1MHZ_DIV

/* Mux clocks */
#define CLK_AUDIO_REF_MUX
#define CLK_MIPS_PLL_MUX
#define CLK_AUDIO_PLL_MUX
#define CLK_AUDIO_MUX
#define CLK_RPU_V_PLL_MUX
#define CLK_RPU_L_PLL_MUX
#define CLK_RPU_L_MUX
#define CLK_WIFI_PLL_MUX
#define CLK_WIFI_DIV4_MUX
#define CLK_WIFI_DIV8_MUX
#define CLK_RPU_CORE_MUX
#define CLK_SYS_PLL_MUX
#define CLK_ENET_MUX
#define CLK_EVENT_TIMER_MUX
#define CLK_SD_HOST_MUX
#define CLK_BT_PLL_MUX
#define CLK_DEBUG_MUX

#define CLK_NR_CLKS

/* Peripheral gate clocks */
#define PERIPH_CLK_SYS
#define PERIPH_CLK_SYS_BUS
#define PERIPH_CLK_DDR
#define PERIPH_CLK_ROM
#define PERIPH_CLK_COUNTER_FAST
#define PERIPH_CLK_COUNTER_SLOW
#define PERIPH_CLK_IR
#define PERIPH_CLK_WD
#define PERIPH_CLK_PDM
#define PERIPH_CLK_PWM
#define PERIPH_CLK_I2C0
#define PERIPH_CLK_I2C1
#define PERIPH_CLK_I2C2
#define PERIPH_CLK_I2C3

/* Peripheral divider clocks */
#define PERIPH_CLK_ROM_DIV
#define PERIPH_CLK_COUNTER_FAST_DIV
#define PERIPH_CLK_COUNTER_SLOW_PRE_DIV
#define PERIPH_CLK_COUNTER_SLOW_DIV
#define PERIPH_CLK_IR_PRE_DIV
#define PERIPH_CLK_IR_DIV
#define PERIPH_CLK_WD_PRE_DIV
#define PERIPH_CLK_WD_DIV
#define PERIPH_CLK_PDM_PRE_DIV
#define PERIPH_CLK_PDM_DIV
#define PERIPH_CLK_PWM_PRE_DIV
#define PERIPH_CLK_PWM_DIV
#define PERIPH_CLK_I2C0_PRE_DIV
#define PERIPH_CLK_I2C0_DIV
#define PERIPH_CLK_I2C1_PRE_DIV
#define PERIPH_CLK_I2C1_DIV
#define PERIPH_CLK_I2C2_PRE_DIV
#define PERIPH_CLK_I2C2_DIV
#define PERIPH_CLK_I2C3_PRE_DIV
#define PERIPH_CLK_I2C3_DIV

#define PERIPH_CLK_NR_CLKS

/* System gate clocks */
#define SYS_CLK_I2C0
#define SYS_CLK_I2C1
#define SYS_CLK_I2C2
#define SYS_CLK_I2C3
#define SYS_CLK_I2S_IN
#define SYS_CLK_PAUD_OUT
#define SYS_CLK_SPDIF_OUT
#define SYS_CLK_SPI0_MASTER
#define SYS_CLK_SPI0_SLAVE
#define SYS_CLK_PWM
#define SYS_CLK_UART0
#define SYS_CLK_UART1
#define SYS_CLK_SPI1
#define SYS_CLK_MDC
#define SYS_CLK_SD_HOST
#define SYS_CLK_ENET
#define SYS_CLK_IR
#define SYS_CLK_WD
#define SYS_CLK_TIMER
#define SYS_CLK_I2S_OUT
#define SYS_CLK_SPDIF_IN
#define SYS_CLK_EVENT_TIMER
#define SYS_CLK_HASH

#define SYS_CLK_NR_CLKS

/* Gates for external input clocks */
#define EXT_CLK_AUDIO_IN
#define EXT_CLK_ENET_IN

#define EXT_CLK_NR_CLKS

#endif /* _DT_BINDINGS_CLOCK_PISTACHIO_H */