devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Cercueil <paul@crapouillou.net>
To: Rob Herring <robh@kernel.org>
Cc: Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@codeaurora.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>,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 3/6] irqchip: Add the ingenic-tcu-intc driver
Date: Wed, 03 Jan 2018 22:50:04 +0100	[thread overview]
Message-ID: <1515016205.1642.1@smtp.crapouillou.net> (raw)
In-Reply-To: <20180103205817.4hnoyyomtwmhri76@rob-hp-laptop>

Hi,


Le mer. 3 janv. 2018 à 21:58, Rob Herring <robh@kernel.org> a écrit :
> On Mon, Jan 01, 2018 at 03:33:41PM +0100, Paul Cercueil wrote:
>>  This simple driver handles the IRQ chip of the TCU
>>  (Timer Counter Unit) of the JZ47xx Ingenic SoCs.
>> 
>>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>>  ---
>>   .../bindings/interrupt-controller/ingenic,tcu.txt  |  32 +++++
>>   drivers/irqchip/Kconfig                            |   6 +
>>   drivers/irqchip/Makefile                           |   1 +
>>   drivers/irqchip/irq-ingenic-tcu.c                  | 151 
>> +++++++++++++++++++++
>>   4 files changed, 190 insertions(+)
>>   create mode 100644 
>> Documentation/devicetree/bindings/interrupt-controller/ingenic,tcu.txt
>>   create mode 100644 drivers/irqchip/irq-ingenic-tcu.c
>> 
>>   v2: Use SPDX identifier for the license
>>       Make KConfig option select CONFIG_IRQ_DOMAIN since we depend 
>> on it
>> 
>>  diff --git 
>> a/Documentation/devicetree/bindings/interrupt-controller/ingenic,tcu.txt 
>> b/Documentation/devicetree/bindings/interrupt-controller/ingenic,tcu.txt
>>  new file mode 100644
>>  index 000000000000..a3e6318f8461
>>  --- /dev/null
>>  +++ 
>> b/Documentation/devicetree/bindings/interrupt-controller/ingenic,tcu.txt
>>  @@ -0,0 +1,32 @@
>>  +Ingenic SoCs Timer/Counter Unit Interrupt Controller
>>  +
>>  +Required properties:
>>  +
>>  +- compatible : should be "ingenic,<socname>-tcu-intc". Valid 
>> strings are:
>>  +  * ingenic,jz4740-tcu-intc
>>  +  * ingenic,jz4770-tcu-intc
>>  +  * ingenic,jz4780-tcu-intc
>>  +- interrupt-controller : Identifies the node as an interrupt 
>> controller
>>  +- #interrupt-cells : Specifies the number of cells needed to 
>> encode an
>>  +  interrupt source. The value shall be 1.
>>  +- interrupt-parent : phandle of the interrupt controller.
>>  +- interrupts : Specifies the interrupt the controller is connected 
>> to.
>>  +
>>  +Example:
>>  +
>>  +/ {
>>  +	regmap {
> 
> regmap is a Linuxism.

Should I just call it "mfd" then? (or better, "mfd@10002000")


>>  +		compatible = "simple-mfd", "syscon";
> 
> Need a specific compatible string here. Neither of these are valid by
> themselves.

So a compatible string not used by any driver? Something like 
"ingenic,tcu"?
Would I need to document it too? (it's just a simple-mfd after all)


>>  +		reg = <0x10002000 0x1000>;
>>  +
>>  +		tcu: interrupt-controller {
> 
> The TCU is only an interrupt controller?

The TCU is a multi-function silicon. It has 8 channels, each one with 
its own
interrupt line, demultiplexed from 2-3 parent IRQs (depending on the 
SoC).
The TCU IRQ driver handles this.

Each channel has a clock, that can be reparented, reclocked, and gated.
That's the job for the TCU clocks driver.

Being hardware timers, they can be used for accounting and timekeeping 
within
Linux, that's the job for the clocksource driver.

The TCU block also feeds the clocks to the watchdog and the OST (a 
separate
timer block, not handled here).

Each channel can be configured as PWM. A future patchset will convert 
the PWM
driver for Ingenic SoCs to use the TCU clocks and regmap provided by 
these
new drivers.

If your remark was only reffering to the name of the node handle, I can 
rename
it to "tcu_intc", there's no problem.

>>  +			compatible = "ingenic,jz4740-tcu-intc";
> 
> Is there a register range associated with this block? If so, add a reg
> property even if regmap doesn't need it.

Sure.

Thanks for the review!

-Paul

  reply	other threads:[~2018-01-03 21:50 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 [this message]
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     ` [PATCH v3 1/9] " Paul Cercueil
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=1515016205.1642.1@smtp.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@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).