xref: /netbsd-src/sys/external/gpl2/dts/dist/include/dt-bindings/clock/bcm281xx.h (revision 6029d4abf2297d9a62ec7eb4150bf1ba5138736d)
1 /*	$NetBSD: bcm281xx.h,v 1.1.1.1 2017/06/15 20:14:23 jmcneill Exp $	*/
2 
3 /*
4  * Copyright (C) 2013 Broadcom Corporation
5  * Copyright 2013 Linaro Limited
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License as
9  * published by the Free Software Foundation version 2.
10  *
11  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
12  * kind, whether express or implied; without even the implied warranty
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16 
17 #ifndef _CLOCK_BCM281XX_H
18 #define _CLOCK_BCM281XX_H
19 
20 /*
21  * This file defines the values used to specify clocks provided by
22  * the clock control units (CCUs) on Broadcom BCM281XX family SoCs.
23  */
24 
25 /*
26  * These are the bcm281xx CCU device tree "compatible" strings.
27  * We're stuck with using "bcm11351" in the string because wild
28  * cards aren't allowed, and that name was the first one defined
29  * in this family of devices.
30  */
31 #define BCM281XX_DT_ROOT_CCU_COMPAT	"brcm,bcm11351-root-ccu"
32 #define BCM281XX_DT_AON_CCU_COMPAT	"brcm,bcm11351-aon-ccu"
33 #define BCM281XX_DT_HUB_CCU_COMPAT	"brcm,bcm11351-hub-ccu"
34 #define BCM281XX_DT_MASTER_CCU_COMPAT	"brcm,bcm11351-master-ccu"
35 #define BCM281XX_DT_SLAVE_CCU_COMPAT	"brcm,bcm11351-slave-ccu"
36 
37 /* root CCU clock ids */
38 
39 #define BCM281XX_ROOT_CCU_FRAC_1M		0
40 #define BCM281XX_ROOT_CCU_CLOCK_COUNT		1
41 
42 /* aon CCU clock ids */
43 
44 #define BCM281XX_AON_CCU_HUB_TIMER		0
45 #define BCM281XX_AON_CCU_PMU_BSC		1
46 #define BCM281XX_AON_CCU_PMU_BSC_VAR		2
47 #define BCM281XX_AON_CCU_CLOCK_COUNT		3
48 
49 /* hub CCU clock ids */
50 
51 #define BCM281XX_HUB_CCU_TMON_1M		0
52 #define BCM281XX_HUB_CCU_CLOCK_COUNT		1
53 
54 /* master CCU clock ids */
55 
56 #define BCM281XX_MASTER_CCU_SDIO1		0
57 #define BCM281XX_MASTER_CCU_SDIO2		1
58 #define BCM281XX_MASTER_CCU_SDIO3		2
59 #define BCM281XX_MASTER_CCU_SDIO4		3
60 #define BCM281XX_MASTER_CCU_USB_IC		4
61 #define BCM281XX_MASTER_CCU_HSIC2_48M		5
62 #define BCM281XX_MASTER_CCU_HSIC2_12M		6
63 #define BCM281XX_MASTER_CCU_CLOCK_COUNT		7
64 
65 /* slave CCU clock ids */
66 
67 #define BCM281XX_SLAVE_CCU_UARTB		0
68 #define BCM281XX_SLAVE_CCU_UARTB2		1
69 #define BCM281XX_SLAVE_CCU_UARTB3		2
70 #define BCM281XX_SLAVE_CCU_UARTB4		3
71 #define BCM281XX_SLAVE_CCU_SSP0			4
72 #define BCM281XX_SLAVE_CCU_SSP2			5
73 #define BCM281XX_SLAVE_CCU_BSC1			6
74 #define BCM281XX_SLAVE_CCU_BSC2			7
75 #define BCM281XX_SLAVE_CCU_BSC3			8
76 #define BCM281XX_SLAVE_CCU_PWM			9
77 #define BCM281XX_SLAVE_CCU_CLOCK_COUNT		10
78 
79 #endif /* _CLOCK_BCM281XX_H */
80