1*2aec85b2SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
21f27f152SAlex Elder /*
31f27f152SAlex Elder  * Copyright (C) 2013 Broadcom Corporation
41f27f152SAlex Elder  * Copyright 2013 Linaro Limited
51f27f152SAlex Elder  */
61f27f152SAlex Elder 
71f27f152SAlex Elder #ifndef _CLOCK_BCM281XX_H
81f27f152SAlex Elder #define _CLOCK_BCM281XX_H
91f27f152SAlex Elder 
101f27f152SAlex Elder /*
111f27f152SAlex Elder  * This file defines the values used to specify clocks provided by
121f27f152SAlex Elder  * the clock control units (CCUs) on Broadcom BCM281XX family SoCs.
131f27f152SAlex Elder  */
141f27f152SAlex Elder 
150bdab78bSAlex Elder /*
160bdab78bSAlex Elder  * These are the bcm281xx CCU device tree "compatible" strings.
170bdab78bSAlex Elder  * We're stuck with using "bcm11351" in the string because wild
180bdab78bSAlex Elder  * cards aren't allowed, and that name was the first one defined
190bdab78bSAlex Elder  * in this family of devices.
200bdab78bSAlex Elder  */
210bdab78bSAlex Elder #define BCM281XX_DT_ROOT_CCU_COMPAT	"brcm,bcm11351-root-ccu"
220bdab78bSAlex Elder #define BCM281XX_DT_AON_CCU_COMPAT	"brcm,bcm11351-aon-ccu"
230bdab78bSAlex Elder #define BCM281XX_DT_HUB_CCU_COMPAT	"brcm,bcm11351-hub-ccu"
240bdab78bSAlex Elder #define BCM281XX_DT_MASTER_CCU_COMPAT	"brcm,bcm11351-master-ccu"
250bdab78bSAlex Elder #define BCM281XX_DT_SLAVE_CCU_COMPAT	"brcm,bcm11351-slave-ccu"
260bdab78bSAlex Elder 
271f27f152SAlex Elder /* root CCU clock ids */
281f27f152SAlex Elder 
291f27f152SAlex Elder #define BCM281XX_ROOT_CCU_FRAC_1M		0
301f27f152SAlex Elder #define BCM281XX_ROOT_CCU_CLOCK_COUNT		1
311f27f152SAlex Elder 
321f27f152SAlex Elder /* aon CCU clock ids */
331f27f152SAlex Elder 
341f27f152SAlex Elder #define BCM281XX_AON_CCU_HUB_TIMER		0
351f27f152SAlex Elder #define BCM281XX_AON_CCU_PMU_BSC		1
361f27f152SAlex Elder #define BCM281XX_AON_CCU_PMU_BSC_VAR		2
371f27f152SAlex Elder #define BCM281XX_AON_CCU_CLOCK_COUNT		3
381f27f152SAlex Elder 
391f27f152SAlex Elder /* hub CCU clock ids */
401f27f152SAlex Elder 
411f27f152SAlex Elder #define BCM281XX_HUB_CCU_TMON_1M		0
421f27f152SAlex Elder #define BCM281XX_HUB_CCU_CLOCK_COUNT		1
431f27f152SAlex Elder 
441f27f152SAlex Elder /* master CCU clock ids */
451f27f152SAlex Elder 
461f27f152SAlex Elder #define BCM281XX_MASTER_CCU_SDIO1		0
471f27f152SAlex Elder #define BCM281XX_MASTER_CCU_SDIO2		1
481f27f152SAlex Elder #define BCM281XX_MASTER_CCU_SDIO3		2
491f27f152SAlex Elder #define BCM281XX_MASTER_CCU_SDIO4		3
501f27f152SAlex Elder #define BCM281XX_MASTER_CCU_USB_IC		4
511f27f152SAlex Elder #define BCM281XX_MASTER_CCU_HSIC2_48M		5
521f27f152SAlex Elder #define BCM281XX_MASTER_CCU_HSIC2_12M		6
531f27f152SAlex Elder #define BCM281XX_MASTER_CCU_CLOCK_COUNT		7
541f27f152SAlex Elder 
551f27f152SAlex Elder /* slave CCU clock ids */
561f27f152SAlex Elder 
571f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_UARTB		0
581f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_UARTB2		1
591f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_UARTB3		2
601f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_UARTB4		3
611f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_SSP0			4
621f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_SSP2			5
631f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_BSC1			6
641f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_BSC2			7
651f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_BSC3			8
661f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_PWM			9
671f27f152SAlex Elder #define BCM281XX_SLAVE_CCU_CLOCK_COUNT		10
681f27f152SAlex Elder 
691f27f152SAlex Elder #endif /* _CLOCK_BCM281XX_H */
70