linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Cercueil <paul@crapouillou.net>
To: Rob Herring <robh@kernel.org>
Cc: Thierry Reding <thierry.reding@gmail.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ralf Baechle <ralf@linux-mips.org>,
	Paul Burton <paul.burton@mips.com>,
	James Hogan <jhogan@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
	Mathieu Malaterre <malat@debian.org>,
	Ezequiel Garcia <ezequiel@collabora.co.uk>,
	PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>,
	linux-pwm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-clk@vger.kernel.org, od@zcrc.me
Subject: Re: [PATCH v8 03/26] dt-bindings: Add doc for the Ingenic TCU drivers
Date: Mon, 17 Dec 2018 23:03:42 +0100	[thread overview]
Message-ID: <1545084222.1958.0@smtp.crapouillou.net> (raw)
In-Reply-To: <20181217210531.GA29770@bogus>

Hi Rob,

Le lun. 17 déc. 2018 à 22:05, Rob Herring <robh@kernel.org> a écrit :
> On Wed, Dec 12, 2018 at 11:08:58PM +0100, Paul Cercueil wrote:
>>  Add documentation about how to properly use the Ingenic TCU
>>  (Timer/Counter Unit) drivers from devicetree.
>> 
>>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>>  ---
>> 
>>  Notes:
>>       v4: New patch in this series. Corresponds to V2 patches 3-4-5 
>> with
>>           added content.
>> 
>>       v5: - Edited PWM/watchdog DT bindings documentation to point 
>> to the new
>>             document.
>>           - Moved main document to
>>             Documentation/devicetree/bindings/timer/ingenic,tcu.txt
>>           - Updated documentation to reflect the new devicetree 
>> bindings.
>> 
>>       v6: - Removed PWM/watchdog documentation files as asked by 
>> upstream
>>           - Removed doc about properties that should be implicit
>>           - Removed doc about ingenic,timer-channel /
>>             ingenic,clocksource-channel as they are gone
>>           - Fix WDT clock name in the binding doc
>>           - Fix lengths of register areas in watchdog/pwm nodes
>> 
>>       v7: No change
>> 
>>       v8: - Fix address of the PWM node
>>           - Added doc about system timer and clocksource children 
>> nodes
> 
> I thought we'd sorted this out...

Yeah, well I just can't please everybody. V6/V7 didn't have the
system timer or clocksource in devicetree, which was good for
you, but then the driver nearly doubled in size and complexity,
and Thierry rightfully refused it. Now I'm at the point where
I'm trying alternative ways of encoding the information in
devicetree, as suggested by various people, just so that you
accept it. Because I don't see any other option.

>> 
>>   .../devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt |  25 ---
>>   .../devicetree/bindings/timer/ingenic,tcu.txt      | 176 
>> +++++++++++++++++++++
>>   .../bindings/watchdog/ingenic,jz4740-wdt.txt       |  17 --
>>   3 files changed, 176 insertions(+), 42 deletions(-)
>>   delete mode 100644 
>> Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
>>   create mode 100644 
>> Documentation/devicetree/bindings/timer/ingenic,tcu.txt
>>   delete mode 100644 
>> Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt
>> 
>>  diff --git 
>> a/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt 
>> b/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
>>  deleted file mode 100644
>>  index 7d9d3f90641b..000000000000
>>  --- a/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
>>  +++ /dev/null
>>  @@ -1,25 +0,0 @@
>>  -Ingenic JZ47xx PWM Controller
>>  -=============================
>>  -
>>  -Required properties:
>>  -- compatible: One of:
>>  -  * "ingenic,jz4740-pwm"
>>  -  * "ingenic,jz4770-pwm"
>>  -  * "ingenic,jz4780-pwm"
>>  -- #pwm-cells: Should be 3. See pwm.txt in this directory for a 
>> description
>>  -  of the cells format.
>>  -- clocks : phandle to the external clock.
>>  -- clock-names : Should be "ext".
>>  -
>>  -
>>  -Example:
>>  -
>>  -	pwm: pwm@10002000 {
>>  -		compatible = "ingenic,jz4740-pwm";
>>  -		reg = <0x10002000 0x1000>;
>>  -
>>  -		#pwm-cells = <3>;
>>  -
>>  -		clocks = <&ext>;
>>  -		clock-names = "ext";
>>  -	};
>>  diff --git 
>> a/Documentation/devicetree/bindings/timer/ingenic,tcu.txt 
>> b/Documentation/devicetree/bindings/timer/ingenic,tcu.txt
>>  new file mode 100644
>>  index 000000000000..8a4ce7edf50f
>>  --- /dev/null
>>  +++ b/Documentation/devicetree/bindings/timer/ingenic,tcu.txt
>>  @@ -0,0 +1,176 @@
>>  +Ingenic JZ47xx SoCs Timer/Counter Unit devicetree bindings
>>  +==========================================================
>>  +
>>  +For a description of the TCU hardware and drivers, have a look at
>>  +Documentation/mips/ingenic-tcu.txt.
>>  +
>>  +Required properties:
>>  +
>>  +- compatible: Must be one of:
>>  +  * ingenic,jz4740-tcu
>>  +  * ingenic,jz4725b-tcu
>>  +  * ingenic,jz4770-tcu
>>  +- reg: Should be the offset/length value corresponding to the TCU 
>> registers
>>  +- clocks: List of phandle & clock specifiers for clocks external 
>> to the TCU.
>>  +  The "pclk", "rtc", "ext" and "tcu" clocks should be provided.
>>  +- clock-names: List of name strings for the external clocks.
>>  +- #clock-cells: Should be <1>;
>>  +  Clock consumers specify this argument to identify a clock. The 
>> valid values
>>  +  may be found in <dt-bindings/clock/ingenic,tcu.h>.
>>  +- interrupt-controller : Identifies the node as an interrupt 
>> controller
>>  +- #interrupt-cells : Specifies the number of cells needed to 
>> encode an
>>  +  interrupt source. The value should be 1.
>>  +- interrupt-parent : phandle of the interrupt controller.
>>  +- interrupts : Specifies the interrupt the controller is connected 
>> to.
>>  +
>>  +
>>  +Children nodes
>>  +==========================================================
>>  +
>>  +
>>  +PWM node:
>>  +---------
>>  +
>>  +Required properties:
>>  +
>>  +- compatible: Must be one of:
>>  +  * ingenic,jz4740-pwm
>>  +  * ingenic,jz4725b-pwm
>>  +- #pwm-cells: Should be 3. See ../pwm/pwm.txt for a description of 
>> the cell
>>  +  format.
>>  +- clocks: List of phandle & clock specifiers for the TCU clocks.
>>  +- clock-names: List of name strings for the TCU clocks.
>>  +
>>  +
>>  +Watchdog node:
>>  +--------------
>>  +
>>  +Required properties:
>>  +
>>  +- compatible: Must be one of:
>>  +  * ingenic,jz4740-watchdog
>>  +  * ingenic,jz4780-watchdog
>>  +- clocks: phandle to the WDT clock
>>  +- clock-names: should be "wdt"
>>  +
>>  +
>>  +OST node:
>>  +---------
>>  +
>>  +Required properties:
>>  +
>>  +- compatible: Must be one of:
>>  +  * ingenic,jz4725b-ost
>>  +  * ingenic,jz4770-ost
>>  +- clocks: phandle to the OST clock
>>  +- clock-names: should be "ost"
>>  +- interrupts : Specifies the interrupt the OST is connected to.
>>  +
>>  +
>>  +System timer node:
>>  +------------------
>>  +
>>  +Required properties:
>>  +
>>  +- compatible: Must be "ingenic,jz4740-tcu-timer"
> 
> Is this an actual sub-block? Or just a way to assign a timer to a
> clockevent?

Just a way to assign a timer to a clockevent.

>>  +- clocks: phandle to the clock of the TCU channel used
>>  +- clock-names: Should be "timer"
>>  +- interrupts : Specifies the interrupt line of the TCU channel 
>> used.
>>  +
>>  +
>>  +System clocksource node:
>>  +------------------------
>>  +
>>  +Required properties:
>>  +
>>  +- compatible: Must be "ingenic,jz4740-tcu-clocksource"
> 
> The h/w has a block called 'clocksource'?
> 
> If there's a difference in the timer channels, then that difference
> should be described in DT, not just 'use timer X for clocksource'.

Same as above, this is just a way to assign a channel to the 
clocksource.

>> 
>  +- clock-names: Should be "timer"
>  +- clocks: phandle to the clock of the TCU channel use

Regards,
- Paul Cercueil


  reply	other threads:[~2018-12-17 22:04 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12 22:08 [PATCH v8 00/26] Ingenic TCU patchset v8 Paul Cercueil
2018-12-12 22:08 ` [PATCH v8 01/26] dt-bindings: ingenic: Add DT bindings for TCU clocks Paul Cercueil
2018-12-17 23:18   ` Stephen Boyd
2018-12-12 22:08 ` [PATCH v8 02/26] doc: Add doc for the Ingenic TCU hardware Paul Cercueil
2018-12-12 22:08 ` [PATCH v8 03/26] dt-bindings: Add doc for the Ingenic TCU drivers Paul Cercueil
2018-12-17 21:05   ` Rob Herring
2018-12-17 22:03     ` Paul Cercueil [this message]
2018-12-18 16:36       ` Rob Herring
2018-12-22 11:09         ` Paul Cercueil
2018-12-12 22:08 ` [PATCH v8 04/26] clocksource: Add a new timer-ingenic driver Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 05/26] clocksource: Add driver for the Ingenic JZ47xx OST Paul Cercueil
2019-01-23 12:58   ` Mathieu Malaterre
2019-01-23 14:31     ` Guenter Roeck
2019-01-23 17:25       ` Paul Cercueil
2019-01-23 18:01         ` Guenter Roeck
2019-01-24 19:28           ` Stephen Boyd
2019-01-24 20:46             ` Paul Cercueil
2019-01-24 22:46               ` Stephen Boyd
2019-01-24 22:53                 ` Paul Cercueil
2019-02-23  3:17                   ` Paul Cercueil
2019-02-25 18:05                     ` Stephen Boyd
2019-02-27 23:54                       ` Paul Cercueil
2019-01-23 17:27     ` Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 06/26] MAINTAINERS: Add myself as maintainer for Ingenic TCU drivers Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 07/26] watchdog: jz4740: Use WDT clock provided by TCU driver Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 08/26] watchdog: jz4740: Use regmap " Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 09/26] watchdog: jz4740: Avoid starting watchdog in set_timeout Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 10/26] watchdog: jz4740: Drop dependency on MACH_JZ47xx, use COMPILE_TEST Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 11/26] pwm: jz4740: Use regmap and clocks from TCU driver Paul Cercueil
2018-12-13  9:30   ` Uwe Kleine-König
2018-12-13 14:34     ` Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 12/26] pwm: jz4740: Allow selection of PWM channels 0 and 1 Paul Cercueil
2018-12-13  9:18   ` Uwe Kleine-König
2018-12-13 13:58     ` Paul Cercueil
2018-12-13 20:32       ` Uwe Kleine-König
2018-12-16 13:36         ` Paul Cercueil
2018-12-17  7:43           ` Uwe Kleine-König
2018-12-12 22:09 ` [PATCH v8 13/26] pwm: jz4740: Drop dependency on MACH_INGENIC, use COMPILE_TEST Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 14/26] pwm: jz4740: Remove unused devicetree compatible strings Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 15/26] pwm: jz4740: Add support for the JZ4725B Paul Cercueil
2018-12-13  9:24   ` Uwe Kleine-König
2018-12-13 14:03     ` Paul Cercueil
2018-12-13 16:18       ` Thierry Reding
2018-12-13 20:42       ` Uwe Kleine-König
2018-12-14 13:50         ` Linus Walleij
2018-12-14 14:26           ` Uwe Kleine-König
2018-12-14 14:56             ` Linus Walleij
2018-12-16 14:18             ` Paul Cercueil
2018-12-17  7:53               ` Uwe Kleine-König
2018-12-20 17:39                 ` Thierry Reding
2018-12-20 20:58                   ` Uwe Kleine-König
2018-12-12 22:09 ` [PATCH v8 16/26] clk: jz4740: Add TCU clock Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 17/26] MIPS: Kconfig: Select TCU timer driver when MACH_INGENIC is set Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 18/26] MIPS: jz4740: Add DTS nodes for the TCU drivers Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 19/26] MIPS: qi_lb60: Move PWM devices to devicetree Paul Cercueil
2018-12-12 22:09 ` [PATCH v8 20/26] MIPS: qi_lb60: Reduce system timer and clocksource to 750 kHz Paul Cercueil
2018-12-12 22:12 ` [PATCH v8 21/26] MIPS: CI20: Reduce system timer and clocksource to 3 MHz Paul Cercueil
2018-12-12 22:12 ` [PATCH v8 22/26] MIPS: CI20: defconfig: enable OST driver Paul Cercueil
2018-12-12 22:13 ` [PATCH v8 23/26] MIPS: GCW0: Move clocksource to TCU channel 2 Paul Cercueil
2018-12-12 22:13 ` [PATCH v8 24/26] MIPS: GCW0: Reduce system timer and clocksource to 750 kHz Paul Cercueil
2018-12-12 22:14 ` [PATCH v8 25/26] MIPS: GCW0: defconfig: Enable OST, watchdog, PWM drivers Paul Cercueil
2018-12-12 22:15 ` [PATCH v8 26/26] MIPS: jz4740: Drop obsolete code Paul Cercueil
2019-01-24 21:26 ` [PATCH v8 00/26] Ingenic TCU patchset v8 Mathieu Malaterre
2019-01-24 21:41   ` Paul Cercueil
2019-01-25  8:21     ` Mathieu Malaterre
2019-01-25 17:04       ` 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=1545084222.1958.0@smtp.crapouillou.net \
    --to=paul@crapouillou.net \
    --cc=corbet@lwn.net \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=ezequiel@collabora.co.uk \
    --cc=jhogan@kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=malat@debian.org \
    --cc=mark.rutland@arm.com \
    --cc=od@zcrc.me \
    --cc=paul.burton@mips.com \
    --cc=prasannatsmkumar@gmail.com \
    --cc=ralf@linux-mips.org \
    --cc=robh@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    /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).