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