From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755276AbbJGQrW (ORCPT ); Wed, 7 Oct 2015 12:47:22 -0400 Received: from unicorn.mansr.com ([81.2.72.234]:33089 "EHLO unicorn.mansr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754019AbbJGQrV convert rfc822-to-8bit (ORCPT ); Wed, 7 Oct 2015 12:47:21 -0400 From: =?iso-8859-1?Q?M=E5ns_Rullg=E5rd?= To: Mark Rutland Cc: Rob Herring , Pawel Moll , Ian Campbell , Kumar Gala , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/2] devicetree: add binding for generic mmio clocksource References: <1444232234-2133-1-git-send-email-mans@mansr.com> <20151007154727.GC28981@leverpostej> Date: Wed, 07 Oct 2015 17:47:12 +0100 In-Reply-To: <20151007154727.GC28981@leverpostej> (Mark Rutland's message of "Wed, 7 Oct 2015 16:47:28 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mark Rutland writes: > On Wed, Oct 07, 2015 at 04:37:13PM +0100, Mans Rullgard wrote: >> This adds a DT binding for a generic mmio clocksource as implemented >> by clocksource_mmio_init(). >> >> Signed-off-by: Mans Rullgard >> --- >> Changed in v2: >> - added sched_clock support >> --- >> .../devicetree/bindings/timer/clocksource-mmio.txt | 28 ++++++++++++++++++++++ >> 1 file changed, 28 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/timer/clocksource-mmio.txt >> >> diff --git a/Documentation/devicetree/bindings/timer/clocksource-mmio.txt b/Documentation/devicetree/bindings/timer/clocksource-mmio.txt >> new file mode 100644 >> index 0000000..cfb3601 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/timer/clocksource-mmio.txt >> @@ -0,0 +1,28 @@ >> +Generic MMIO clocksource >> + >> +Required properties: >> + >> +- compatible: should be "clocksource-mmio" >> +- reg: the physical address of the counter register >> +- reg-io-width: size of counter register in bytes, should be 2 or 4 > > Can this not be inferred from the reg? You're right, it can. > What about 8 byte counters? The existing code only supports 2 or 4, but that of course doesn't matter here. >> +- clocks: phandle to the source clock > > Is the frequency expected to be exactly the source clock frequency? I > imagine it's possible for there to be a divisor. There could of course be, though there isn't in the hardware I'm dealing with. Is specifying it here preferable using a fixed-factor-clock? > We can add properties for that later, but we should be explcit as to > what we currently expect the relationship between the clock and the > clocksource to be. > >> +- clocksource-bits: number of valid bits >> +- clocksource-rating: rating of the clocksource > > NAK. This has no meaning w.r.t. the hardware. This should not be in the > DT. If there are criteria that bias this (e.g. frequency, latency), they > should either be described in the DT or determined dynamically. I had a bad feeling about this. How would you suggest determining a suitable value from actual hardware parameters? >> +- linux,sched-clock: boolean, register clocksource as sched_clock > > Likewise, this property doesn't belong in the DT for the same reasons as > clocksource-rating. What would be a proper way to select a sched_clock source? I realise it's a Linux-specific thing and DT is supposed to be generic, but the information must be provided somehow. -- Måns Rullgård mans@mansr.com