Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967302AbcCQS4n (ORCPT ); Thu, 17 Mar 2016 14:56:43 -0400 Received: from mail.kernel.org ([198.145.29.136]:47318 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936612AbcCQS4l (ORCPT ); Thu, 17 Mar 2016 14:56:41 -0400 MIME-Version: 1.0 In-Reply-To: <56EAF562.9060408@ti.com> 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> From: Rob Herring Date: Thu, 17 Mar 2016 13:56:16 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 5/5] pwm: pwm-tiehrpwm: Update dt binding document to use generic node name To: "Franklin S Cooper Jr." 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 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2902 Lines: 69 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). Rob