blob: 5567dbd7f3d2dcd6dfcfb06584f78bae1b1a5f12 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0 */
Stephen Warren45b8ae62012-08-05 16:07:21 +00002/*
Stephen Warren8780f222015-02-16 12:16:14 -07003 * (C) Copyright 2012,2015 Stephen Warren
Stephen Warren45b8ae62012-08-05 16:07:21 +00004 */
5
6#ifndef _BCM2835_TIMER_H
7#define _BCM2835_TIMER_H
8
Matthias Brugger2c68dee2019-11-19 16:01:03 +01009#ifndef __ASSEMBLY__
10#include <asm/arch/base.h>
Simon Glassc06c1be2020-05-10 11:40:08 -060011#include <linux/bug.h>
Matthias Brugger2c68dee2019-11-19 16:01:03 +010012#endif
13
14#define BCM2835_TIMER_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
15 rpi_bcm283x_base + 0x00003000; })
Stephen Warren45b8ae62012-08-05 16:07:21 +000016
Marek Vasut08c5b7e2015-05-04 22:54:35 +020017#define BCM2835_TIMER_CS_M3 (1 << 3)
18#define BCM2835_TIMER_CS_M2 (1 << 2)
19#define BCM2835_TIMER_CS_M1 (1 << 1)
20#define BCM2835_TIMER_CS_M0 (1 << 0)
21
22#ifndef __ASSEMBLY__
23#include <linux/types.h>
24
Stephen Warren45b8ae62012-08-05 16:07:21 +000025struct bcm2835_timer_regs {
26 u32 cs;
27 u32 clo;
28 u32 chi;
29 u32 c0;
30 u32 c1;
31 u32 c2;
32 u32 c3;
33};
Stephen Warren45b8ae62012-08-05 16:07:21 +000034#endif
Marek Vasut08c5b7e2015-05-04 22:54:35 +020035
36#endif