From: Paul Cercueil <paul@crapouillou.net>
To: Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@codeaurora.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Jason Cooper <jason@lakedaemon.net>,
Marc Zyngier <marc.zyngier@arm.com>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Lee Jones <lee.jones@linaro.org>
Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Paul Cercueil <paul@crapouillou.net>
Subject: [PATCH v3 1/9] mfd: syscon: Add ingenic-tcu.h header
Date: Wed, 10 Jan 2018 23:48:30 +0100 [thread overview]
Message-ID: <20180110224838.16711-1-paul@crapouillou.net> (raw)
In-Reply-To: <20180101143344.2099-1-paul@crapouillou.net>
This header contains macros for the registers that are present in the
regmap shared by all the drivers related to the TCU (Timer Counter Unit)
of the Ingenic JZ47xx SoCs.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
include/linux/mfd/syscon/ingenic-tcu.h | 54 ++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
create mode 100644 include/linux/mfd/syscon/ingenic-tcu.h
v2: Use SPDX identifier for the license
v3: - Use macros instead of enum
- Add 'TCU_' at the beginning of each macro
- Remove useless include <linux/regmap.h>
diff --git a/include/linux/mfd/syscon/ingenic-tcu.h b/include/linux/mfd/syscon/ingenic-tcu.h
new file mode 100644
index 000000000000..96dd59f7c3b2
--- /dev/null
+++ b/include/linux/mfd/syscon/ingenic-tcu.h
@@ -0,0 +1,54 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Header file for the Ingenic JZ47xx TCU driver
+ */
+#ifndef __LINUX_CLK_INGENIC_TCU_H_
+#define __LINUX_CLK_INGENIC_TCU_H_
+
+#include <linux/bitops.h>
+
+#define TCU_REG_WDT_TDR 0x00
+#define TCU_REG_WDT_TCER 0x04
+#define TCU_REG_WDT_TCNT 0x08
+#define TCU_REG_WDT_TCSR 0x0c
+#define TCU_REG_TER 0x10
+#define TCU_REG_TESR 0x14
+#define TCU_REG_TECR 0x18
+#define TCU_REG_TSR 0x1c
+#define TCU_REG_TFR 0x20
+#define TCU_REG_TFSR 0x24
+#define TCU_REG_TFCR 0x28
+#define TCU_REG_TSSR 0x2c
+#define TCU_REG_TMR 0x30
+#define TCU_REG_TMSR 0x34
+#define TCU_REG_TMCR 0x38
+#define TCU_REG_TSCR 0x3c
+#define TCU_REG_TDFR0 0x40
+#define TCU_REG_TDHR0 0x44
+#define TCU_REG_TCNT0 0x48
+#define TCU_REG_TCSR0 0x4c
+#define TCU_REG_OST_DR 0xe0
+#define TCU_REG_OST_CNTL 0xe4
+#define TCU_REG_OST_CNTH 0xe8
+#define TCU_REG_OST_TCSR 0xec
+#define TCU_REG_TSTR 0xf0
+#define TCU_REG_TSTSR 0xf4
+#define TCU_REG_TSTCR 0xf8
+#define TCU_REG_OST_CNTHBUF 0xfc
+
+#define TCU_TCSR_RESERVED_BITS 0x3f
+#define TCU_TCSR_PARENT_CLOCK_MASK 0x07
+#define TCU_TCSR_PRESCALE_LSB 3
+#define TCU_TCSR_PRESCALE_MASK 0x38
+
+#define TCU_TCSR_PWM_SD BIT(9) /* 0: Shutdown abruptly 1: gracefully */
+#define TCU_TCSR_PWM_INITL_HIGH BIT(8) /* Sets the initial output level */
+#define TCU_TCSR_PWM_EN BIT(7) /* PWM pin output enable */
+
+#define TCU_CHANNEL_STRIDE 0x10
+#define TCU_REG_TDFRc(c) (TCU_REG_TDFR0 + ((c) * TCU_CHANNEL_STRIDE))
+#define TCU_REG_TDHRc(c) (TCU_REG_TDHR0 + ((c) * TCU_CHANNEL_STRIDE))
+#define TCU_REG_TCNTc(c) (TCU_REG_TCNT0 + ((c) * TCU_CHANNEL_STRIDE))
+#define TCU_REG_TCSRc(c) (TCU_REG_TCSR0 + ((c) * TCU_CHANNEL_STRIDE))
+
+#endif /* __LINUX_CLK_INGENIC_TCU_H_ */
--
2.11.0
next prev parent reply other threads:[~2018-01-10 22:48 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-29 12:59 [PATCH 0/6] Ingenic JZ47xx TCU drivers Paul Cercueil
2017-12-29 12:59 ` [PATCH 1/6] mfd: syscon: Add ingenic-tcu.h header Paul Cercueil
2018-01-01 14:33 ` [PATCH v2 " Paul Cercueil
2018-01-01 14:33 ` [PATCH v2 2/6] dt-bindings: ingenic: Add DT bindings for TCU clocks Paul Cercueil
2018-01-03 20:49 ` Rob Herring
2018-01-01 14:33 ` [PATCH v2 3/6] irqchip: Add the ingenic-tcu-intc driver Paul Cercueil
[not found] ` <20180101143344.2099-3-paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org>
2018-01-03 20:58 ` Rob Herring
2018-01-03 21:50 ` Paul Cercueil
2018-01-01 14:33 ` [PATCH v2 4/6] clk: ingenic: Add JZ47xx TCU clocks driver Paul Cercueil
2018-01-02 19:13 ` Stephen Boyd
2018-01-02 20:08 ` Paul Cercueil
2018-01-02 22:59 ` Stephen Boyd
2018-01-01 14:33 ` [PATCH v2 5/6] clocksource: Add a new timer-ingenic driver Paul Cercueil
2018-01-03 21:08 ` Rob Herring
2018-01-03 21:56 ` Paul Cercueil
[not found] ` <1515016576.1642.2-nb6JAIIttxhEPksTRSfcJOTW4wlIGRCZ@public.gmane.org>
2018-01-05 23:27 ` Rob Herring
[not found] ` <CAL_Jsq+DQnfX29AOJWMtH9ZB7=neOVwiyZggEuwOmazzVQ6MVg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-05 23:48 ` Paul Cercueil
[not found] ` <1515196105.2058.1-nb6JAIIttxhEPksTRSfcJOTW4wlIGRCZ@public.gmane.org>
2018-01-09 1:09 ` Rob Herring
2018-01-01 14:33 ` [PATCH v2 6/6] MAINTAINERS: Add myself as maintainer for Ingenic TCU drivers Paul Cercueil
2018-01-02 15:51 ` [PATCH v2 1/6] mfd: syscon: Add ingenic-tcu.h header Lee Jones
2018-01-10 22:48 ` Paul Cercueil [this message]
2018-01-10 22:48 ` [PATCH v3 3/9] doc: dt-bindings: Add doc for Ingenic TCU IRQ driver Paul Cercueil
[not found] ` <20180110224838.16711-3-paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org>
2018-01-19 21:05 ` Rob Herring
2018-01-10 22:48 ` [PATCH v3 4/9] doc: dt-bindings: Add doc for the Ingenic TCU clocks driver Paul Cercueil
[not found] ` <20180110224838.16711-4-paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org>
2018-01-19 21:11 ` Rob Herring
2018-01-10 22:48 ` [PATCH v3 5/9] doc: dt-bindings: Add doc for the Ingenic TCU timers driver Paul Cercueil
2018-01-19 21:12 ` Rob Herring
2018-01-10 22:48 ` [PATCH v3 6/9] irqchip: Add the ingenic-tcu-intc driver Paul Cercueil
[not found] ` <20180110224838.16711-6-paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org>
2018-01-11 15:38 ` Marc Zyngier
2018-01-11 16:25 ` Paul Cercueil
2018-01-20 13:06 ` Marc Zyngier
2018-01-22 9:26 ` Lee Jones
2018-01-22 9:55 ` Marc Zyngier
[not found] ` <bdae1be4-0ed2-1b7d-8b08-7439ce06e762-5wv7dgnIgG8@public.gmane.org>
2018-01-22 11:46 ` Lee Jones
2018-01-10 22:48 ` [PATCH v3 7/9] clk: ingenic: Add JZ47xx TCU clocks driver Paul Cercueil
[not found] ` <20180110224838.16711-7-paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org>
2018-01-27 0:37 ` Stephen Boyd
2018-01-10 22:48 ` [PATCH v3 8/9] clocksource: Add a new timer-ingenic driver Paul Cercueil
[not found] ` <20180110224838.16711-8-paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org>
2018-01-11 14:53 ` Rob Herring
[not found] ` <CAL_Jsq+StZS1+qTd9CG1X2_3ay5onMgEmYG9MRUVWs-4K4-EZA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-11 16:16 ` Paul Cercueil
2018-01-10 22:48 ` [PATCH v3 9/9] MAINTAINERS: Add myself as maintainer for Ingenic TCU drivers Paul Cercueil
[not found] ` <20180110224838.16711-1-paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org>
2018-01-10 22:48 ` [PATCH v3 2/9] dt-bindings: ingenic: Add DT bindings for TCU clocks Paul Cercueil
2018-03-17 23:28 ` [PATCH v4 0/8] Ingenic JZ47xx Timer/Counter Unit drivers Paul Cercueil
2018-03-17 23:28 ` [PATCH v4 1/8] mfd: syscon: Add ingenic-tcu.h header Paul Cercueil
2018-03-17 23:28 ` [PATCH v4 2/8] dt-bindings: ingenic: Add DT bindings for TCU clocks Paul Cercueil
2018-03-19 21:27 ` Stephen Boyd
2018-03-20 7:15 ` Mathieu Malaterre
2018-03-28 15:04 ` [PATCH v4 2/8] dt-bindings: ingenic: Add DT bindings for TCU clocks, Paul Cercueil
2018-03-28 18:35 ` [PATCH v4 2/8] dt-bindings: ingenic: Add DT bindings for TCU clocks Mathieu Malaterre
2018-03-17 23:28 ` [PATCH v4 3/8] doc: Add doc for the Ingenic TCU hardware Paul Cercueil
2018-03-17 23:52 ` Randy Dunlap
2018-03-28 14:59 ` [PATCH v4 3/8] doc: Add doc for the Ingenic TCU hardware, Paul Cercueil
2018-03-17 23:28 ` [PATCH v4 4/8] dt-bindings: Add doc for the Ingenic TCU drivers Paul Cercueil
2018-03-20 8:52 ` Marc Zyngier
2018-03-28 15:09 ` [PATCH v4 4/8] dt-bindings: Add doc for the Ingenic TCU drivers, Paul Cercueil
2018-03-27 14:46 ` [PATCH v4 4/8] dt-bindings: Add doc for the Ingenic TCU drivers Rob Herring
2018-03-28 15:33 ` [PATCH v4 4/8] dt-bindings: Add doc for the Ingenic TCU drivers, Paul Cercueil
2018-03-28 16:28 ` [PATCH v4 4/8] dt-bindings: Add doc for the Ingenic TCU drivers Rob Herring
2018-03-29 15:59 ` Paul Cercueil
2018-03-17 23:28 ` [PATCH v4 5/8] irqchip: Add the ingenic-tcu-intc driver Paul Cercueil
2018-03-17 23:28 ` [PATCH v4 6/8] clk: ingenic: Add JZ47xx TCU clocks driver Paul Cercueil
2018-03-17 23:29 ` [PATCH v4 7/8] clocksource: Add a new timer-ingenic driver Paul Cercueil
2018-03-24 6:26 ` Daniel Lezcano
2018-03-28 15:15 ` [PATCH v4 7/8] clocksource: Add a new timer-ingenic driver, Paul Cercueil
2018-03-28 16:25 ` [PATCH v4 7/8] clocksource: Add a new timer-ingenic driver Daniel Lezcano
2018-03-29 14:52 ` Paul Cercueil
2018-03-31 8:10 ` Daniel Lezcano
2018-03-31 17:46 ` [PATCH v4 7/8] clocksource: Add a new timer-ingenic driver, Paul Cercueil
2018-04-03 9:59 ` [PATCH v4 7/8] clocksource: Add a new timer-ingenic driver Daniel Lezcano
2018-03-17 23:29 ` [PATCH v4 8/8] MAINTAINERS: Add myself as maintainer for Ingenic TCU drivers Paul Cercueil
2018-03-18 22:13 ` [PATCH v4 0/8] Ingenic JZ47xx Timer/Counter Unit drivers Daniel Lezcano
2018-03-28 15:01 ` [PATCH v4 0/8] Ingenic JZ47xx Timer/Counter Unit drivers, Paul Cercueil
2018-03-28 15:10 ` [PATCH v4 0/8] Ingenic JZ47xx Timer/Counter Unit drivers Daniel Lezcano
2018-01-23 9:52 ` [PATCH v3 1/9] mfd: syscon: Add ingenic-tcu.h header Lee Jones
2017-12-29 12:59 ` [PATCH 2/6] dt-bindings: ingenic: Add DT bindings for TCU clocks Paul Cercueil
2017-12-29 12:59 ` [PATCH 3/6] irqchip: Add the ingenic-tcu-intc driver Paul Cercueil
2017-12-29 12:59 ` [PATCH 4/6] clk: ingenic: Add JZ47xx TCU clocks driver Paul Cercueil
2017-12-29 14:02 ` Paul Cercueil
2018-01-01 12:47 ` kbuild test robot
2017-12-29 12:59 ` [PATCH 5/6] clocksource: Add a new timer-ingenic driver Paul Cercueil
2017-12-29 12:59 ` [PATCH 6/6] MAINTAINERS: Add myself as maintainer for Ingenic TCU drivers Paul Cercueil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180110224838.16711-1-paul@crapouillou.net \
--to=paul@crapouillou.net \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=jason@lakedaemon.net \
--cc=lee.jones@linaro.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=mturquette@baylibre.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).