1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2013 Broadcom Corporation
4  * Copyright 2013 Linaro Limited
5  */
6 
7 #ifndef _CLOCK_BCM281XX_H
8 #define _CLOCK_BCM281XX_H
9 
10 /*
11  * This file defines the values used to specify clocks provided by
12  * the clock control units (CCUs) on Broadcom BCM281XX family SoCs.
13  */
14 
15 /*
16  * These are the bcm281xx CCU device tree "compatible" strings.
17  * We're stuck with using "bcm11351" in the string because wild
18  * cards aren't allowed, and that name was the first one defined
19  * in this family of devices.
20  */
21 #define BCM281XX_DT_ROOT_CCU_COMPAT	"brcm,bcm11351-root-ccu"
22 #define BCM281XX_DT_AON_CCU_COMPAT	"brcm,bcm11351-aon-ccu"
23 #define BCM281XX_DT_HUB_CCU_COMPAT	"brcm,bcm11351-hub-ccu"
24 #define BCM281XX_DT_MASTER_CCU_COMPAT	"brcm,bcm11351-master-ccu"
25 #define BCM281XX_DT_SLAVE_CCU_COMPAT	"brcm,bcm11351-slave-ccu"
26 
27 /* root CCU clock ids */
28 
29 #define BCM281XX_ROOT_CCU_FRAC_1M		0
30 #define BCM281XX_ROOT_CCU_CLOCK_COUNT		1
31 
32 /* aon CCU clock ids */
33 
34 #define BCM281XX_AON_CCU_HUB_TIMER		0
35 #define BCM281XX_AON_CCU_PMU_BSC		1
36 #define BCM281XX_AON_CCU_PMU_BSC_VAR		2
37 #define BCM281XX_AON_CCU_CLOCK_COUNT		3
38 
39 /* hub CCU clock ids */
40 
41 #define BCM281XX_HUB_CCU_TMON_1M		0
42 #define BCM281XX_HUB_CCU_CLOCK_COUNT		1
43 
44 /* master CCU clock ids */
45 
46 #define BCM281XX_MASTER_CCU_SDIO1		0
47 #define BCM281XX_MASTER_CCU_SDIO2		1
48 #define BCM281XX_MASTER_CCU_SDIO3		2
49 #define BCM281XX_MASTER_CCU_SDIO4		3
50 #define BCM281XX_MASTER_CCU_USB_IC		4
51 #define BCM281XX_MASTER_CCU_HSIC2_48M		5
52 #define BCM281XX_MASTER_CCU_HSIC2_12M		6
53 #define BCM281XX_MASTER_CCU_CLOCK_COUNT		7
54 
55 /* slave CCU clock ids */
56 
57 #define BCM281XX_SLAVE_CCU_UARTB		0
58 #define BCM281XX_SLAVE_CCU_UARTB2		1
59 #define BCM281XX_SLAVE_CCU_UARTB3		2
60 #define BCM281XX_SLAVE_CCU_UARTB4		3
61 #define BCM281XX_SLAVE_CCU_SSP0			4
62 #define BCM281XX_SLAVE_CCU_SSP2			5
63 #define BCM281XX_SLAVE_CCU_BSC1			6
64 #define BCM281XX_SLAVE_CCU_BSC2			7
65 #define BCM281XX_SLAVE_CCU_BSC3			8
66 #define BCM281XX_SLAVE_CCU_PWM			9
67 #define BCM281XX_SLAVE_CCU_CLOCK_COUNT		10
68 
69 #endif /* _CLOCK_BCM281XX_H */
70