1270866Simp/*
2270866Simp * Copyright (C) 2013 Broadcom Corporation
3270866Simp * Copyright 2013 Linaro Limited
4270866Simp *
5270866Simp * This program is free software; you can redistribute it and/or
6270866Simp * modify it under the terms of the GNU General Public License as
7270866Simp * published by the Free Software Foundation version 2.
8270866Simp *
9270866Simp * This program is distributed "as is" WITHOUT ANY WARRANTY of any
10270866Simp * kind, whether express or implied; without even the implied warranty
11270866Simp * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12270866Simp * GNU General Public License for more details.
13270866Simp */
14270866Simp
15270866Simp#ifndef _CLOCK_BCM281XX_H
16270866Simp#define _CLOCK_BCM281XX_H
17270866Simp
18270866Simp/*
19270866Simp * This file defines the values used to specify clocks provided by
20270866Simp * the clock control units (CCUs) on Broadcom BCM281XX family SoCs.
21270866Simp */
22270866Simp
23270866Simp/*
24270866Simp * These are the bcm281xx CCU device tree "compatible" strings.
25270866Simp * We're stuck with using "bcm11351" in the string because wild
26270866Simp * cards aren't allowed, and that name was the first one defined
27270866Simp * in this family of devices.
28270866Simp */
29270866Simp#define BCM281XX_DT_ROOT_CCU_COMPAT	"brcm,bcm11351-root-ccu"
30270866Simp#define BCM281XX_DT_AON_CCU_COMPAT	"brcm,bcm11351-aon-ccu"
31270866Simp#define BCM281XX_DT_HUB_CCU_COMPAT	"brcm,bcm11351-hub-ccu"
32270866Simp#define BCM281XX_DT_MASTER_CCU_COMPAT	"brcm,bcm11351-master-ccu"
33270866Simp#define BCM281XX_DT_SLAVE_CCU_COMPAT	"brcm,bcm11351-slave-ccu"
34270866Simp
35270866Simp/* root CCU clock ids */
36270866Simp
37270866Simp#define BCM281XX_ROOT_CCU_FRAC_1M		0
38270866Simp#define BCM281XX_ROOT_CCU_CLOCK_COUNT		1
39270866Simp
40270866Simp/* aon CCU clock ids */
41270866Simp
42270866Simp#define BCM281XX_AON_CCU_HUB_TIMER		0
43270866Simp#define BCM281XX_AON_CCU_PMU_BSC		1
44270866Simp#define BCM281XX_AON_CCU_PMU_BSC_VAR		2
45270866Simp#define BCM281XX_AON_CCU_CLOCK_COUNT		3
46270866Simp
47270866Simp/* hub CCU clock ids */
48270866Simp
49270866Simp#define BCM281XX_HUB_CCU_TMON_1M		0
50270866Simp#define BCM281XX_HUB_CCU_CLOCK_COUNT		1
51270866Simp
52270866Simp/* master CCU clock ids */
53270866Simp
54270866Simp#define BCM281XX_MASTER_CCU_SDIO1		0
55270866Simp#define BCM281XX_MASTER_CCU_SDIO2		1
56270866Simp#define BCM281XX_MASTER_CCU_SDIO3		2
57270866Simp#define BCM281XX_MASTER_CCU_SDIO4		3
58270866Simp#define BCM281XX_MASTER_CCU_USB_IC		4
59270866Simp#define BCM281XX_MASTER_CCU_HSIC2_48M		5
60270866Simp#define BCM281XX_MASTER_CCU_HSIC2_12M		6
61270866Simp#define BCM281XX_MASTER_CCU_CLOCK_COUNT		7
62270866Simp
63270866Simp/* slave CCU clock ids */
64270866Simp
65270866Simp#define BCM281XX_SLAVE_CCU_UARTB		0
66270866Simp#define BCM281XX_SLAVE_CCU_UARTB2		1
67270866Simp#define BCM281XX_SLAVE_CCU_UARTB3		2
68270866Simp#define BCM281XX_SLAVE_CCU_UARTB4		3
69270866Simp#define BCM281XX_SLAVE_CCU_SSP0			4
70270866Simp#define BCM281XX_SLAVE_CCU_SSP2			5
71270866Simp#define BCM281XX_SLAVE_CCU_BSC1			6
72270866Simp#define BCM281XX_SLAVE_CCU_BSC2			7
73270866Simp#define BCM281XX_SLAVE_CCU_BSC3			8
74270866Simp#define BCM281XX_SLAVE_CCU_PWM			9
75270866Simp#define BCM281XX_SLAVE_CCU_CLOCK_COUNT		10
76270866Simp
77270866Simp#endif /* _CLOCK_BCM281XX_H */
78