From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0124C4707A for ; Sun, 23 May 2021 15:54:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 81EA161132 for ; Sun, 23 May 2021 15:54:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231818AbhEWPzk convert rfc822-to-8bit (ORCPT ); Sun, 23 May 2021 11:55:40 -0400 Received: from guitar.tcltek.co.il ([192.115.133.116]:52801 "EHLO mx.tkos.co.il" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231789AbhEWPzk (ORCPT ); Sun, 23 May 2021 11:55:40 -0400 Received: from tarshish (unknown [10.0.8.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.tkos.co.il (Postfix) with ESMTPS id D1FC0440583; Sun, 23 May 2021 18:54:26 +0300 (IDT) References: <70ced827689b7ab35d8f3b07db8d9ccd1489e3e2.1621410526.git.baruch@tkos.co.il> <20210522213524.lnb5bds5hvv2f2zi@pengutronix.de> User-agent: mu4e 1.4.15; emacs 27.1 From: Baruch Siach To: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= Cc: Thierry Reding , Lee Jones , Andy Gross , Bjorn Andersson , Balaji Prakash J , Rob Herring , Robert Marko , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pwm@vger.kernel.org Subject: Re: [PATCH 1/3] pwm: driver for qualcomm ipq6018 pwm block In-reply-to: <20210522213524.lnb5bds5hvv2f2zi@pengutronix.de> Date: Sun, 23 May 2021 18:54:08 +0300 Message-ID: <87zgwltpi7.fsf@tarshish> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Hi Uwe, Thanks for your review comments. On Sun, May 23 2021, Uwe Kleine-König wrote: > On Wed, May 19, 2021 at 10:48:44AM +0300, Baruch Siach wrote: >> Driver for the PWM block in Qualcomm IPQ6018 line of SoCs. Based on >> driver from downstream Codeaurora kernel tree. Removed support for older >> (V1) variants because I have no access to that hardware. >> >> Tested on IPQ6010 based hardware. >> >> Signed-off-by: Baruch Siach [...] >> +static void ipq_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) >> +{ >> + struct ipq_pwm_chip *ipq_chip = to_ipq_pwm_chip(pwm->chip); >> + unsigned offset = ipq_pwm_reg_offset(pwm, PWM_CFG_REG1); >> + unsigned long val; >> + >> + val = readl(ipq_chip->mem + offset); >> + val |= PWM_UPDATE; > > What is the effect of this register bit? > > Does the output become inactive or does it freeze at state that happens > to be emitted when the ENABLE bit is removed? I don't know. PWM does not work when this bit is not set here. The original downstream driver[1] does not set this bit on disable. But it also enables PWM unconditionally on .config. I added the 'enabled' check in .config, and then PWM stopped working even when enabled later. It was only by accident (excess copy/paste) that I found this workaround. A comment on the original code says that PWM_UPDATE is "auto cleared". This is evidently not true on my hardware (IPQ6010). This might be true for older variants of this PWM block. Unfortunately, I have no access to hardware documentation. [1] https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-ipq-5.4/tree/drivers/pwm/pwm-ipq.c?h=NHSS.QSDK.11.4.1.r1&id=9e4627b7088b0c06ddd910c8770274d26613de9e baruch -- ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il - From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 934A2C4707A for ; Sun, 23 May 2021 15:56:35 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 179BD608FE for ; Sun, 23 May 2021 15:56:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 179BD608FE Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tkos.co.il Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:In-reply-to:Subject:Cc: To:From:References:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=VeqiCyG0zwQunQC+fu5WMKemmD3CC1L2CiPjlhl+pc0=; b=PP81XdXsFeioPB3pk7eENtFR0A mq89rQOVW/oKPKcUw3ErlH3U9h6q0xFU4z/dOW0+HPPrr7teauPb6MaozuYLnWVz4MpP2Rbh1jk1u bKmdCozIBYHiqgZw3wtRZugsjrXDUMjef00CirEYRwP2zhk8K1ohlwJjHUQ9AJJhKjPmfrb3gjfhe ldTwb4c8FIfsuIlIYtQKBkxOJwpUlLxe3/I+KEOiE2SR2lk+6hfUZDt4gKc+eByvy+1vBVGPhUjea EIVAHhx4eDOAcepTuld0KqPI1Ub5diP42rHtona9Y1AUAoAA3VwgRK0FJC3RM/nXgVHEgJB/1SH4j wxrGiC1A==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lkqQy-004ZXX-3H; Sun, 23 May 2021 15:54:32 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lkqQp-004ZX3-Nk for linux-arm-kernel@desiato.infradead.org; Sun, 23 May 2021 15:54:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:Message-ID:Date:In-reply-to:Subject:Cc:To:From: References:Sender:Reply-To:Content-ID:Content-Description; bh=GXklYBsRUTrScaa/nP7+LAdqAP4CqUrpT+IUd+8nen8=; b=RJACv+8n1Ql5xtXEY9B6SUU3mP fGAQa5YUtJXnVjmIyfPWsw5t7ue30MxikuXGRwTxXJz+BmdE6rGXza7ifS9CTddXWuULUp1fWUR9p b0SkUf7Yw2WcX/9lOL67HmkW3T9KpO37b4juFWu52yuNHU0/K8cC5m4TdmuwJ3WK1PdQTnF9SZKkI gYhOh0VQ4IltWsl9M321Ih/2VcGen0Nw/tc3gLO6Cb768ivvRKXKbwCVWSSbJPgfHVv2YxuHBBuLL goFS9NB3SQwZooWCYyxKDrGymfvmLTMbsKr0Lt1lqoHZus+egSeLNSTtTljRxa8DtwfxrrT7dIU4+ awYeEUXQ==; Received: from guitar.tcltek.co.il ([192.115.133.116] helo=mx.tkos.co.il) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lkqQm-000U73-EA for linux-arm-kernel@lists.infradead.org; Sun, 23 May 2021 15:54:22 +0000 Received: from tarshish (unknown [10.0.8.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.tkos.co.il (Postfix) with ESMTPS id D1FC0440583; Sun, 23 May 2021 18:54:26 +0300 (IDT) References: <70ced827689b7ab35d8f3b07db8d9ccd1489e3e2.1621410526.git.baruch@tkos.co.il> <20210522213524.lnb5bds5hvv2f2zi@pengutronix.de> User-agent: mu4e 1.4.15; emacs 27.1 From: Baruch Siach To: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= Cc: Thierry Reding , Lee Jones , Andy Gross , Bjorn Andersson , Balaji Prakash J , Rob Herring , Robert Marko , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pwm@vger.kernel.org Subject: Re: [PATCH 1/3] pwm: driver for qualcomm ipq6018 pwm block In-reply-to: <20210522213524.lnb5bds5hvv2f2zi@pengutronix.de> Date: Sun, 23 May 2021 18:54:08 +0300 Message-ID: <87zgwltpi7.fsf@tarshish> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210523_085420_753159_5110E0D2 X-CRM114-Status: GOOD ( 19.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgVXdlLAoKVGhhbmtzIGZvciB5b3VyIHJldmlldyBjb21tZW50cy4KCk9uIFN1biwgTWF5IDIz IDIwMjEsIFV3ZSBLbGVpbmUtS8O2bmlnIHdyb3RlOgo+IE9uIFdlZCwgTWF5IDE5LCAyMDIxIGF0 IDEwOjQ4OjQ0QU0gKzAzMDAsIEJhcnVjaCBTaWFjaCB3cm90ZToKPj4gRHJpdmVyIGZvciB0aGUg UFdNIGJsb2NrIGluIFF1YWxjb21tIElQUTYwMTggbGluZSBvZiBTb0NzLiBCYXNlZCBvbgo+PiBk cml2ZXIgZnJvbSBkb3duc3RyZWFtIENvZGVhdXJvcmEga2VybmVsIHRyZWUuIFJlbW92ZWQgc3Vw cG9ydCBmb3Igb2xkZXIKPj4gKFYxKSB2YXJpYW50cyBiZWNhdXNlIEkgaGF2ZSBubyBhY2Nlc3Mg dG8gdGhhdCBoYXJkd2FyZS4KPj4gCj4+IFRlc3RlZCBvbiBJUFE2MDEwIGJhc2VkIGhhcmR3YXJl Lgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogQmFydWNoIFNpYWNoIDxiYXJ1Y2hAdGtvcy5jby5pbD4K ClsuLi5dCgo+PiArc3RhdGljIHZvaWQgaXBxX3B3bV9kaXNhYmxlKHN0cnVjdCBwd21fY2hpcCAq Y2hpcCwgc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKPj4gK3sKPj4gKwlzdHJ1Y3QgaXBxX3B3bV9j aGlwICppcHFfY2hpcCA9IHRvX2lwcV9wd21fY2hpcChwd20tPmNoaXApOwo+PiArCXVuc2lnbmVk IG9mZnNldCA9IGlwcV9wd21fcmVnX29mZnNldChwd20sIFBXTV9DRkdfUkVHMSk7Cj4+ICsJdW5z aWduZWQgbG9uZyB2YWw7Cj4+ICsKPj4gKwl2YWwgPSByZWFkbChpcHFfY2hpcC0+bWVtICsgb2Zm c2V0KTsKPj4gKwl2YWwgfD0gUFdNX1VQREFURTsKPgo+IFdoYXQgaXMgdGhlIGVmZmVjdCBvZiB0 aGlzIHJlZ2lzdGVyIGJpdD8KPgo+IERvZXMgdGhlIG91dHB1dCBiZWNvbWUgaW5hY3RpdmUgb3Ig ZG9lcyBpdCBmcmVlemUgYXQgc3RhdGUgdGhhdCBoYXBwZW5zCj4gdG8gYmUgZW1pdHRlZCB3aGVu IHRoZSBFTkFCTEUgYml0IGlzIHJlbW92ZWQ/CgpJIGRvbid0IGtub3cuIFBXTSBkb2VzIG5vdCB3 b3JrIHdoZW4gdGhpcyBiaXQgaXMgbm90IHNldCBoZXJlLiBUaGUKb3JpZ2luYWwgZG93bnN0cmVh bSBkcml2ZXJbMV0gZG9lcyBub3Qgc2V0IHRoaXMgYml0IG9uIGRpc2FibGUuIEJ1dCBpdAphbHNv IGVuYWJsZXMgUFdNIHVuY29uZGl0aW9uYWxseSBvbiAuY29uZmlnLiBJIGFkZGVkIHRoZSAnZW5h YmxlZCcgY2hlY2sKaW4gLmNvbmZpZywgYW5kIHRoZW4gUFdNIHN0b3BwZWQgd29ya2luZyBldmVu IHdoZW4gZW5hYmxlZCBsYXRlci4gSXQgd2FzCm9ubHkgYnkgYWNjaWRlbnQgKGV4Y2VzcyBjb3B5 L3Bhc3RlKSB0aGF0IEkgZm91bmQgdGhpcyB3b3JrYXJvdW5kLgoKQSBjb21tZW50IG9uIHRoZSBv cmlnaW5hbCBjb2RlIHNheXMgdGhhdCBQV01fVVBEQVRFIGlzICJhdXRvIGNsZWFyZWQiLgpUaGlz IGlzIGV2aWRlbnRseSBub3QgdHJ1ZSBvbiBteSBoYXJkd2FyZSAoSVBRNjAxMCkuIFRoaXMgbWln aHQgYmUgdHJ1ZQpmb3Igb2xkZXIgdmFyaWFudHMgb2YgdGhpcyBQV00gYmxvY2suIFVuZm9ydHVu YXRlbHksIEkgaGF2ZSBubyBhY2Nlc3MgdG8KaGFyZHdhcmUgZG9jdW1lbnRhdGlvbi4KClsxXSBo dHRwczovL3NvdXJjZS5jb2RlYXVyb3JhLm9yZy9xdWljL3FzZGsvb3NzL2tlcm5lbC9saW51eC1p cHEtNS40L3RyZWUvZHJpdmVycy9wd20vcHdtLWlwcS5jP2g9TkhTUy5RU0RLLjExLjQuMS5yMSZp ZD05ZTQ2MjdiNzA4OGIwYzA2ZGRkOTEwYzg3NzAyNzRkMjY2MTNkZTllCgpiYXJ1Y2gKCi0tIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH4uIC5+ ICAgVGsgT3BlbiBTeXN0ZW1zCj19LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tb29PLS1VLS1Pb28tLS0tLS0tLS0tLS17PQogICAtIGJhcnVjaEB0a29zLmNv LmlsIC0gdGVsOiArOTcyLjUyLjM2OC40NjU2LCBodHRwOi8vd3d3LnRrb3MuY28uaWwgLQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=