Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935037AbcCQTwv (ORCPT ); Thu, 17 Mar 2016 15:52:51 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:56226 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753162AbcCQTws (ORCPT ); Thu, 17 Mar 2016 15:52:48 -0400 From: "Franklin S Cooper Jr." To: Rob Herring CC: Thierry Reding , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Benoit Cousson , Tony Lindgren , Russell King - ARM Linux , Tero Kristo , Michael Turquette , Stephen Boyd , Linux PWM List , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , linux-omap , "linux-arm-kernel@lists.infradead.org" , linux-clk , Sekhar Nori Subject: Re: [PATCH 5/5] pwm: pwm-tiehrpwm: Update dt binding document to use generic node name References: <1457380318-15452-1-git-send-email-fcooper@ti.com> <1457380318-15452-6-git-send-email-fcooper@ti.com> <20160317150305.GA27356@rob-hp-laptop> <56EAE014.8070606@ti.com> <56EAF562.9060408@ti.com> <56EB04C1.3010709@ti.com> Message-ID: <56EB0ADA.4020006@ti.com> Date: Thu, 17 Mar 2016 14:51:54 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4593 Lines: 97 On 03/17/2016 02:48 PM, Rob Herring wrote: > On Thu, Mar 17, 2016 at 2:25 PM, Franklin S Cooper Jr. wrote: >> +Sekhar >> >> On 03/17/2016 01:56 PM, Rob Herring wrote: >>> On Thu, Mar 17, 2016 at 1:20 PM, Franklin S Cooper Jr. wrote: >>>> On 03/17/2016 01:00 PM, Rob Herring wrote: >>>>> On Thu, Mar 17, 2016 at 11:49 AM, Franklin S Cooper Jr. wrote: >>>>>> On 03/17/2016 10:03 AM, Rob Herring wrote: >>>>>>> On Mon, Mar 07, 2016 at 01:51:58PM -0600, Franklin S Cooper Jr wrote: >>>>>>>> Now that the node name has been changed from ehrpwm to pwm the document >>>>>>>> should show this proper usage. Also change the unit address in the example >>>>>>>> from 0 to the proper physical address value that should be used. >>>>>>>> >>>>>>>> Signed-off-by: Franklin S Cooper Jr >>>>>>>> --- >>>>>>>> Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt | 4 ++-- >>>>>>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>>>>>> >>>>>>>> diff --git a/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt b/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt >>>>>>>> index 9c100b2..20211ed 100644 >>>>>>>> --- a/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt >>>>>>>> +++ b/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt >>>>>>>> @@ -15,14 +15,14 @@ Optional properties: >>>>>>>> >>>>>>>> Example: >>>>>>>> >>>>>>>> -ehrpwm0: ehrpwm@0 { /* EHRPWM on am33xx */ >>>>>>>> +ehrpwm0: pwm@48300200 { /* EHRPWM on am33xx */ >>>>>>>> compatible = "ti,am33xx-ehrpwm"; >>>>>>>> #pwm-cells = <3>; >>>>>>>> reg = <0x48300200 0x100>; >>>>>>>> ti,hwmods = "ehrpwm0"; >>>>>>>> }; >>>>>>>> >>>>>>>> -ehrpwm0: ehrpwm@0 { /* EHRPWM on da850 */ >>>>>>>> +ehrpwm0: pwm@01f00000 { /* EHRPWM on da850 */ >>>>>>> No leading 0s, but more importantly the address is wrong. >>>>>> I will remove the leading 0. However, this value was taken >>>>>> from the .dtsi and I just double checked and I see the same >>>>>> value in the datasheet. I believe DA850,OMAP-L138 and AM18x >>>>>> all have the same memory mapping. I'm looking at >>>>>> http://www.ti.com/lit/ds/symlink/am1808.pdf page 233 and the >>>>>> addresses match up what is seen here and in the .dtsi. >>>>>> >>>>>> Can you point me to which document your looking at that >>>>>> shows a different value? >>>>> Ummm, ... >>>>> >>>>>>>> compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm"; >>>>>>>> #pwm-cells = <3>; >>>>>>>> reg = <0x300000 0x2000>; >>>>> right here. >>>> So I don't know the history but the SOC node specifies a >>>> ranges value of ranges = <0x0 0x01c00000 0x400000>;. It >>>> seems that all child nodes of SOC have a reg property then >>>> is based on an offset of 0x01c00000. So this is true for >>>> UART, rtc, i2c, wdt, mmc, spi etc... So using a base offset >>>> of 0x01c00000 + 0x300000 (reg value of the pwm) equals the >>>> physical address of the ehrpwm0 register 0x1f00000. >>>> >>>> For the child nodes within the SOC node, the unit-address is >>>> always based on the physical address not based on the offset >>>> address. >>> They are all wrong and should be fixed. Unit address should match the >>> reg property unless the bus has defined something different (e.g. >>> PCI). >> I added Sekhar to hopefully comment if it would be better to >> try to get the reg properties to use their physical >> addresses or change the unit address to use the offset values. > Change the unit addresses (i.e. use ranges). The main reason ranges > with translation is preferred is it limits the scope of the bus as the > h/w design typically would. > >> I don't mind shooting a patch that makes this massive switch >> for all the various peripherals and documentation. However, >> this is a bit beyond this series. In this series I am not >> setting the unit address or reg address I am simply >> documenting what is currently being used. This patch set is >> a dependency for another patchset to get PWM support for DRA7. > Agreed. I'm not asking for everything to be fixed. > >> Are you ok with me doing the below? >> I submit a v2 that removes the leading 0 in this patch. This >> way this patchset and my PWMSS support for DRA7 patchset can >> get merged. I can then follow up with another separate >> patchset that insures both the unit address and the value in >> the reg property are aligned. > The example is an example. It doesn't have to match dts files (if it > always did, then examples would be pointless). So please fix the > documentation now. The dts files can be updated separately. Ok will do. > > Rob