From patchwork Tue Feb 19 10:08:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Claudiu Beznea X-Patchwork-Id: 10819601 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8AA5F6C2 for ; Tue, 19 Feb 2019 10:09:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6F02F2B0D2 for ; Tue, 19 Feb 2019 10:09:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5F5372B0F8; Tue, 19 Feb 2019 10:09:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id EBDE52B0D2 for ; Tue, 19 Feb 2019 10:09:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pnC7fNn5aqSe4ehjibUl9MVM43ZAE7c8l5fQx1JZEKo=; b=pIwIZAEp1mGyke 07/vvsGMfEmXDcaxg59Nz+fZJqrJRi+uxT6GCNjHjia2JbhgEYjIRlcPGoyi7cyEK1FjT5kgWJMlc Z2uIiiM9ylkGVIvwjeOllmkuq9HP2Do0Jr2OT5DIm+6x5eNNlkEC2qdY3koXguVldHDHtcb36Zm0L FL7hdrXL2H14WzvBmg4EOGYUhnwHJVqNkp4nI3lu96fDWZMtAGNkg6jvm09mrEGwvnTYauhdg+L43 l7SmsvsYx/h/1mWNMHIks9pAGDPAbgBTptP2+FcQZO5TwK+Fiz635qhejw0j0u3+/1rO3+2XNeU9+ JJYgGx0bkHK11UOt0MNw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw2Ki-0004ho-Dz; Tue, 19 Feb 2019 10:09:00 +0000 Received: from esa1.microchip.iphmx.com ([68.232.147.91]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw2Ke-0004gj-Od for linux-arm-kernel@lists.infradead.org; Tue, 19 Feb 2019 10:08:58 +0000 X-IronPort-AV: E=Sophos;i="5.58,388,1544511600"; d="scan'208";a="27948382" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa1.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 19 Feb 2019 03:08:55 -0700 Received: from NAM05-CO1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.107) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 19 Feb 2019 03:08:55 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C9lIBio+d1I8a0cqfMF/qq8HbRXrUVc1eb2t+KSG708=; b=LgoHMmdh+ExGW2teqEq7zRThajO0ph68W/73aEVrxG5GZHMJ4+96luuqV0N6g18dVGgepX+6OYEfdYKu1uRLhkYqabXz0VCiUxhedqjmN/HPZlxx1ofFglIKnJ7Pu5EPl7prsLGIFLU0pZm5ChMyn7HiB6TWwqs/KDhR8AzfBY8= Received: from CY4PR11MB1909.namprd11.prod.outlook.com (10.175.61.147) by CY4PR11MB1831.namprd11.prod.outlook.com (10.175.60.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1643.14; Tue, 19 Feb 2019 10:08:53 +0000 Received: from CY4PR11MB1909.namprd11.prod.outlook.com ([fe80::1499:c19c:26f1:32f1]) by CY4PR11MB1909.namprd11.prod.outlook.com ([fe80::1499:c19c:26f1:32f1%8]) with mapi id 15.20.1622.020; Tue, 19 Feb 2019 10:08:53 +0000 From: To: , , , , , Subject: [PATCH v2 1/4] pwm: atmel: add struct atmel_pwm_data Thread-Topic: [PATCH v2 1/4] pwm: atmel: add struct atmel_pwm_data Thread-Index: AQHUyDsebhaDcxSAbUmBr7QjyOMlmQ== Date: Tue, 19 Feb 2019 10:08:53 +0000 Message-ID: <1550570914-26391-2-git-send-email-claudiu.beznea@microchip.com> References: <1550570914-26391-1-git-send-email-claudiu.beznea@microchip.com> In-Reply-To: <1550570914-26391-1-git-send-email-claudiu.beznea@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR09CA0090.eurprd09.prod.outlook.com (2603:10a6:802:29::34) To CY4PR11MB1909.namprd11.prod.outlook.com (2603:10b6:903:11f::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Claudiu.Beznea@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 10dba0f0-56de-48a4-c93f-08d69652407a x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:CY4PR11MB1831; x-ms-traffictypediagnostic: CY4PR11MB1831: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR11MB1831; 23:jqltpSTVzzV4DaFNJFBfh6cuwrhc+j9vmhigvSv?= =?iso-8859-1?q?IRzYunLBMvWuIiI?= =?iso-8859-1?q?ojRtYt5bh1iGK0AmO98QkxaNuQosJhWJmFHkamLM0YK+jXJo0JHcH9h12317?= =?iso-8859-1?q?123wb4lNuxlV6FkhdA9eJYglXBzTmH0znJoBzVMKroiQ/m76sc2z8Fq+srW0?= =?iso-8859-1?q?NloyDvD9UMGEYLogMkA6eMBo7EVzN7DbsTBYiliUOSssgdlDLVQNWeDfCYo8?= =?iso-8859-1?q?gbbuOfvECHIUfElFQPPGDjUT4TGt/wBaQYIzQV1zbmKM2ryRP1Iohm1zYuVX?= =?iso-8859-1?q?NHdNQumXN/E1FDzr+uYEoLIGh7yYa37vsoxYUbondTW1nYuCKlhrcYec3PqY?= =?iso-8859-1?q?QG3eCoA+NiLBBWo9ITOXFCUzU3Nczeaq6UnIZxpeqNvCL9MQeQs7RQuq9Rjg?= =?iso-8859-1?q?vdBl61P3it81u8gRi8VxZFU6D2vgA9FmH6Z4r0vcyO163iRaKhCRxbnQE+8R?= =?iso-8859-1?q?tsKN04KhoQzE3OswqrjOqOONC/cdt0z+yb8X/bN420be6Qhtwovum2l3EPye?= =?iso-8859-1?q?wYljdy2HN6aC10y2/wzOVYMvOsMyJWyRUQdXhL5SUjqCzNcCbY7kFBl4RXJt?= =?iso-8859-1?q?gMt2/nmukXlLW7ZyMlCuPJUc/spGxKVEmv+QHfC4I7SUdN41yp7HHzuL/hQ3?= =?iso-8859-1?q?CjwzOZT0zxzq7noj8eX7TCq5BzsuobxiA13wTLqv95BmF7+k7j4l4zzYn2kx?= =?iso-8859-1?q?vWTAhNP+PYtpCApWTMFaaTSLlcw9q1rJSMqEFZPmpK4rNCy91mw7M8tZXMLJ?= =?iso-8859-1?q?GCSDdDk2Z+RGIAfXQjD7miWKm1/RV8wirB2wY9sSNR1Z/kZKBG+5iHcVIZUn?= =?iso-8859-1?q?Py2S1/BX6S/3BSKD7/9Op9BIgOkE9ecX8v2fysjVV8EbNM4GJ0bUPff+TyKg?= =?iso-8859-1?q?pYG1cVEWYznhiiPsAOMNS42h2bRREJUuIwiIudxY5JenRI3dl2AJdY8B8HQu?= =?iso-8859-1?q?sLgyrrR6fZS/3npIk8g1dxijrelS6aIYVKyatjz3TpIR51od2cNQhwkUtUBH?= =?iso-8859-1?q?kq+hKD2CphFiSxpIJuDire1PZTesuPd8JSRQavWN/2MtimpmuO/tjPSN5Ofx?= =?iso-8859-1?q?wNmFA0Qf5RprLi61yAKlh6/GjkYNuRL5Bhdci8WccILcf/BuHMQvWMAM9WZZ?= =?iso-8859-1?q?DJRcKeILw5GGQ3pBz//ZTzEKLLhrSCfA6Dk2R+utgjmoOO5H9VTVNFBSXW51?= =?iso-8859-1?q?q7ZEN1tZyPT8j4BKSJCAvd70r/l14daQ4fxGuHpxKu2GOEWZyn2L4o1ItsnT?= =?iso-8859-1?q?TUbmCele0jCiq8VJwKspLayvyclyARcRwKwQhzrG8bLFSoBA=3D=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09538D3531 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(136003)(39860400002)(366004)(396003)(346002)(199004)(189003)(6486002)(53936002)(446003)(11346002)(2616005)(26005)(486006)(97736004)(4326008)(76176011)(14454004)(6436002)(186003)(25786009)(2501003)(6116002)(99286004)(6506007)(476003)(102836004)(386003)(3846002)(6512007)(52116002)(107886003)(5660300002)(71200400001)(71190400001)(305945005)(8676002)(81166006)(81156014)(36756003)(7736002)(66066001)(8936002)(106356001)(478600001)(110136005)(50226002)(54906003)(2906002)(14444005)(256004)(68736007)(6636002)(105586002)(72206003)(86362001)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR11MB1831; H:CY4PR11MB1909.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: YXvD4TP+Pnfe+uFniSQ0tOLhF00e/3cu447VMKAdgn59Vi3+VMMxjw6zTGZ0idqk6xVLYc0270tMOWk0mN3kV9Xyna8rT0qY/GAtqwg4Qk/C0C5SyiygIxaVn5jlrQgHt8H6lDzG1uZ+VEu/jC6pP9CGWtkBryrm3FSioiFHyBz74d/UBgdqclGV+ei7GVgkaLD3ovWMcw5q0Q0KbuzuXJkjLIjXkletnPqxt/OQX8eFBpGqxEnfmzXMWJUDG8D6GHFvMjTOR//Wvn2F1BPMTQvFUXqJbzPiFlsg3SK5OvxcONxsYamOeQboGbU5WQpF1LoLZKJzGMjigu/GcJdUw/lKHqa6ZC/74aUwZI9knNdl5qKsT0HJLZ6UXawsoyktaCMfk9AXnfQttSy4yHxfcfTG8MUs8vrhmqiXaAdVM9c= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 10dba0f0-56de-48a4-c93f-08d69652407a X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2019 10:08:50.4203 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1831 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190219_020856_911105_A4C678B4 X-CRM114-Status: GOOD ( 12.27 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-pwm@vger.kernel.org, Claudiu.Beznea@microchip.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Claudiu Beznea Add struct atmel_pwm_data to embed different per controller information. At this stage, embed a member of type struct atmel_pwm_registers in it. Signed-off-by: Claudiu Beznea Acked-by: Uwe Kleine-König --- drivers/pwm/pwm-atmel.c | 64 +++++++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/drivers/pwm/pwm-atmel.c b/drivers/pwm/pwm-atmel.c index 530d7dc5f1b5..7e86a5266eb6 100644 --- a/drivers/pwm/pwm-atmel.c +++ b/drivers/pwm/pwm-atmel.c @@ -65,11 +65,15 @@ struct atmel_pwm_registers { u8 duty_upd; }; +struct atmel_pwm_data { + struct atmel_pwm_registers regs; +}; + struct atmel_pwm_chip { struct pwm_chip chip; struct clk *clk; void __iomem *base; - const struct atmel_pwm_registers *regs; + const struct atmel_pwm_data *data; unsigned int updated_pwms; /* ISR is cleared when read, ensure only one thread does that */ @@ -150,15 +154,15 @@ static void atmel_pwm_update_cdty(struct pwm_chip *chip, struct pwm_device *pwm, struct atmel_pwm_chip *atmel_pwm = to_atmel_pwm_chip(chip); u32 val; - if (atmel_pwm->regs->duty_upd == - atmel_pwm->regs->period_upd) { + if (atmel_pwm->data->regs.duty_upd == + atmel_pwm->data->regs.period_upd) { val = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm, PWM_CMR); val &= ~PWM_CMR_UPD_CDTY; atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, PWM_CMR, val); } atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, - atmel_pwm->regs->duty_upd, cdty); + atmel_pwm->data->regs.duty_upd, cdty); } static void atmel_pwm_set_cprd_cdty(struct pwm_chip *chip, @@ -168,9 +172,9 @@ static void atmel_pwm_set_cprd_cdty(struct pwm_chip *chip, struct atmel_pwm_chip *atmel_pwm = to_atmel_pwm_chip(chip); atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, - atmel_pwm->regs->duty, cdty); + atmel_pwm->data->regs.duty, cdty); atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, - atmel_pwm->regs->period, cprd); + atmel_pwm->data->regs.period, cprd); } static void atmel_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm, @@ -225,7 +229,7 @@ static int atmel_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, cstate.polarity == state->polarity && cstate.period == state->period) { cprd = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm, - atmel_pwm->regs->period); + atmel_pwm->data->regs.period); atmel_pwm_calculate_cdty(state, cprd, &cdty); atmel_pwm_update_cdty(chip, pwm, cdty); return 0; @@ -277,27 +281,31 @@ static const struct pwm_ops atmel_pwm_ops = { .owner = THIS_MODULE, }; -static const struct atmel_pwm_registers atmel_pwm_regs_v1 = { - .period = PWMV1_CPRD, - .period_upd = PWMV1_CUPD, - .duty = PWMV1_CDTY, - .duty_upd = PWMV1_CUPD, +static const struct atmel_pwm_data atmel_pwm_data_v1 = { + .regs = { + .period = PWMV1_CPRD, + .period_upd = PWMV1_CUPD, + .duty = PWMV1_CDTY, + .duty_upd = PWMV1_CUPD, + }, }; -static const struct atmel_pwm_registers atmel_pwm_regs_v2 = { - .period = PWMV2_CPRD, - .period_upd = PWMV2_CPRDUPD, - .duty = PWMV2_CDTY, - .duty_upd = PWMV2_CDTYUPD, +static const struct atmel_pwm_data atmel_pwm_data_v2 = { + .regs = { + .period = PWMV2_CPRD, + .period_upd = PWMV2_CPRDUPD, + .duty = PWMV2_CDTY, + .duty_upd = PWMV2_CDTYUPD, + }, }; static const struct platform_device_id atmel_pwm_devtypes[] = { { .name = "at91sam9rl-pwm", - .driver_data = (kernel_ulong_t)&atmel_pwm_regs_v1, + .driver_data = (kernel_ulong_t)&atmel_pwm_data_v1, }, { .name = "sama5d3-pwm", - .driver_data = (kernel_ulong_t)&atmel_pwm_regs_v2, + .driver_data = (kernel_ulong_t)&atmel_pwm_data_v2, }, { /* sentinel */ }, @@ -307,20 +315,20 @@ MODULE_DEVICE_TABLE(platform, atmel_pwm_devtypes); static const struct of_device_id atmel_pwm_dt_ids[] = { { .compatible = "atmel,at91sam9rl-pwm", - .data = &atmel_pwm_regs_v1, + .data = &atmel_pwm_data_v1, }, { .compatible = "atmel,sama5d3-pwm", - .data = &atmel_pwm_regs_v2, + .data = &atmel_pwm_data_v2, }, { .compatible = "atmel,sama5d2-pwm", - .data = &atmel_pwm_regs_v2, + .data = &atmel_pwm_data_v2, }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, atmel_pwm_dt_ids); -static inline const struct atmel_pwm_registers * +static inline const struct atmel_pwm_data * atmel_pwm_get_driver_data(struct platform_device *pdev) { const struct platform_device_id *id; @@ -330,18 +338,18 @@ atmel_pwm_get_driver_data(struct platform_device *pdev) id = platform_get_device_id(pdev); - return (struct atmel_pwm_registers *)id->driver_data; + return (struct atmel_pwm_data *)id->driver_data; } static int atmel_pwm_probe(struct platform_device *pdev) { - const struct atmel_pwm_registers *regs; + const struct atmel_pwm_data *data; struct atmel_pwm_chip *atmel_pwm; struct resource *res; int ret; - regs = atmel_pwm_get_driver_data(pdev); - if (!regs) + data = atmel_pwm_get_driver_data(pdev); + if (!data) return -ENODEV; atmel_pwm = devm_kzalloc(&pdev->dev, sizeof(*atmel_pwm), GFP_KERNEL); @@ -373,7 +381,7 @@ static int atmel_pwm_probe(struct platform_device *pdev) atmel_pwm->chip.base = -1; atmel_pwm->chip.npwm = 4; - atmel_pwm->regs = regs; + atmel_pwm->data = data; atmel_pwm->updated_pwms = 0; mutex_init(&atmel_pwm->isr_lock); From patchwork Tue Feb 19 10:08:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Beznea X-Patchwork-Id: 10819631 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E3F26184E for ; Tue, 19 Feb 2019 10:09:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CE0EB2B307 for ; Tue, 19 Feb 2019 10:09:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C1F0A2B315; Tue, 19 Feb 2019 10:09:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 5D9B72B30D for ; Tue, 19 Feb 2019 10:09:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=iVVjpHB0PztMW5rxxrFstO7+6DH35j6X17JFjPIE3Nc=; b=aLawEpk75KaLKg OIBYzgau6Juj08UvUCk7EKTCdcc3Q0Rkyix16dKvzVe2QiU0Y2ZP1k0Y0gRRp0zviaYUII65kyv9l bUZ0brkS0/FX1WvgbSSomxtffOWCnB0YhHST0y5Vycw1N1B0HstcTP1grQ1Ussu2kxZ5W/oN+VsML mtTPngZtS/wRwQZLJNLc6kPmbSSGayKzjoRiaKCF0aR6i3JT48AryNw0gE+H8fVxGISeFFnOF2jJt BZu4tnaamUxlbfLQSk6Nrv9KCZMTjPor3IFgFf6oeUV+u5yn35e/H/WdyUVUGfrrQMXRNY/1Z+UOF gHqt7OFrsN1Uq8NpqNmA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw2LT-0005b6-FU; Tue, 19 Feb 2019 10:09:47 +0000 Received: from esa2.microchip.iphmx.com ([68.232.149.84]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw2Kk-0004iq-Lo for linux-arm-kernel@lists.infradead.org; Tue, 19 Feb 2019 10:09:06 +0000 X-IronPort-AV: E=Sophos;i="5.58,388,1544511600"; d="scan'208";a="26786204" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 19 Feb 2019 03:08:59 -0700 Received: from NAM05-CO1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.49) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 19 Feb 2019 03:08:58 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tHWf+nFCzAuVg05N3yE+Q4lFdjrNbEEt4LD7T+XiPZ8=; b=wBGy3h/zpekvT0fka0ECiEQeHwSb8Ib/0WR4y6OYX0dmCi213bwO4iH88OXJ/rgHcRIlGT9P2tuut+F8GgRpoqJu5ABHytd8IFqV/b7eArEWvwxiGTxujhYey+6WRKXlAPpFjFUa1kB0mxWz97feUlkhYmGCzQy7pzfIiNQ0PNI= Received: from CY4PR11MB1909.namprd11.prod.outlook.com (10.175.61.147) by CY4PR11MB1831.namprd11.prod.outlook.com (10.175.60.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1643.14; Tue, 19 Feb 2019 10:08:57 +0000 Received: from CY4PR11MB1909.namprd11.prod.outlook.com ([fe80::1499:c19c:26f1:32f1]) by CY4PR11MB1909.namprd11.prod.outlook.com ([fe80::1499:c19c:26f1:32f1%8]) with mapi id 15.20.1622.020; Tue, 19 Feb 2019 10:08:57 +0000 From: To: , , , , , Subject: [PATCH v2 2/4] pwm: atmel: add support for controllers with 32 bit counters Thread-Topic: [PATCH v2 2/4] pwm: atmel: add support for controllers with 32 bit counters Thread-Index: AQHUyDsg4pV/PQZmmkCr3+x+PakMUQ== Date: Tue, 19 Feb 2019 10:08:57 +0000 Message-ID: <1550570914-26391-3-git-send-email-claudiu.beznea@microchip.com> References: <1550570914-26391-1-git-send-email-claudiu.beznea@microchip.com> In-Reply-To: <1550570914-26391-1-git-send-email-claudiu.beznea@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR09CA0090.eurprd09.prod.outlook.com (2603:10a6:802:29::34) To CY4PR11MB1909.namprd11.prod.outlook.com (2603:10b6:903:11f::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Claudiu.Beznea@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 04f00035-2f1d-4df9-d921-08d696524297 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:CY4PR11MB1831; x-ms-traffictypediagnostic: CY4PR11MB1831: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR11MB1831; 23:6wnJne4xtlNafMRDryygQuIR8AFx0bH4VAWwV+a?= =?iso-8859-1?q?hi0LZgOEuRjL44K?= =?iso-8859-1?q?s/S4bRpj3KCrCZaFRhmaVSTH4FwJ+LVdzC3+T1KSnJqnGnbkwk1XVN5PdggZ?= =?iso-8859-1?q?LV9MWjdg0Y9MdUa69xTM5XJ1Up5HMjfoea4acBz7jgWr3I2LqkMJgGimAWIx?= =?iso-8859-1?q?61AOsDdAAqLbo8ZWUrSlWNe6MSojRCucFGwH19FZLrKIImCFOd98SAO18P5e?= =?iso-8859-1?q?6ERdMKanq1ZSQhY4+Ka1R0cdiBEEcXgtMX52B0idr0ZbHzuVA0icKX0k7mxw?= =?iso-8859-1?q?m7o6d2A7dThf1Pi8kLNnjg/SL1CKq+9CrXYAYYNOUV9Gp2gAEFhahfEJpcAc?= =?iso-8859-1?q?dpXRTx50IsFC1vpICIuJBfer+SNEcBxUposMnBPWjmYlImP6AFAW2CV0sPVq?= =?iso-8859-1?q?UlrseBxNf5mRVzRJmWWanOi041Far2PHuz5hsY10hj6UD93m5HHvObAug5R7?= =?iso-8859-1?q?0/C4uuqssQGpiai5NzH8UqfMebvQhY/8V5QW5sqw/XiA7s+jBlwBPw5HU8s0?= =?iso-8859-1?q?YzE86gfrPLD9AEq73HmypZj1G475lhXoS/QeYvrY6gJtqkTyZkfnmiMciwho?= =?iso-8859-1?q?avtKRkRSPCLLAqzksdOC2TogueqgriiAMV9+QBz6ANrxKZCKbhxDo2c70F3q?= =?iso-8859-1?q?ykAb2jmcHcFX72HeBoxMC6LJW7YdeyFz89hw5/T6qqZ+8MmW+sv++DiYApRj?= =?iso-8859-1?q?++whugVUHnWd9pvpZ58kmxRfI1bPOz2oIiMdTdvs8hsFriD7OuOJOyXFmcmr?= =?iso-8859-1?q?ZyL/0cNOZa0R2gpTuaqog09zcIMOcv2RnmxsoKLg0rCI4yX4SkEEjmGY5c69?= =?iso-8859-1?q?LtnvlyIC6AtYuvYjAKUPvjB2xbLswboOg/VhlhVQ17RQmcYpY1Wfc6BSRrN/?= =?iso-8859-1?q?/62SJZlPq2rTCWdXXLp4Hn4TKFaXXHziRQN0QNucniYGUwaiix5fuqBqqvXH?= =?iso-8859-1?q?BDp+lf4vfYnXO2MZYxVjVu7Dq4bJVveLb85aihr6B01etori8pAkyfvznmM6?= =?iso-8859-1?q?dLJiBYFEgq3+Mq+7lb9x2r/nuaz3b64rDR1iPjJPRKggcy5IyjumdcXiHI1w?= =?iso-8859-1?q?EXaknd74ja0EvZqU5zh6nyI0iY7hwAKbQlx5+lMEQ0kbSMjfozY1Qq828/RC?= =?iso-8859-1?q?JwNnMUZthPHiyii8YV/wtsXP5j09dWA+VXIO/+UaAVC2vUszqdMUkpXEEVga?= =?iso-8859-1?q?o/7mpqpvPtXhscHVb5eKrVNFO6pfpyJCvX6T5E8Uzqlq8Xt88Ajg0bNcja3a?= =?iso-8859-1?q?GTTgQwI2bQHTjfFnl1QmXd6ket?= x-microsoft-antispam-prvs: x-forefront-prvs: 09538D3531 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(136003)(39860400002)(366004)(396003)(346002)(199004)(189003)(6486002)(53936002)(446003)(11346002)(2616005)(26005)(486006)(97736004)(4326008)(76176011)(14454004)(6436002)(186003)(25786009)(2501003)(6116002)(99286004)(6506007)(476003)(102836004)(386003)(3846002)(6512007)(52116002)(107886003)(5660300002)(71200400001)(71190400001)(305945005)(8676002)(81166006)(81156014)(36756003)(7736002)(66066001)(8936002)(106356001)(478600001)(110136005)(50226002)(54906003)(2906002)(256004)(68736007)(6636002)(105586002)(72206003)(86362001)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR11MB1831; H:CY4PR11MB1909.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: aH3+9ltN9D5wo/jFWq4tvOyVpU9KA1q09WwEt2Q7hn03rxsZGzEEWFikHRPZCmoYMTgnnHmb23Ep08WMtPDrI1x35X8u+Ungrh8NLptVlTck/MNyylDrdWQMZVr23G2gqAl6qTW8mLcNtNSp2CSqFKFanuSGUXPaHEhY1Eci9a34iaXQoCrqfvAqhgrgdIMxG3TIk9DfQXrjXxCK9m8GYtimTEEARePPwuATq4WJL25n7/xCn4C9hjrXZKd6Seh0wSVvXGfRkFbH5+11LYoPFSfAdCHJNZLZ6mS/gPUHBoShvXNlWSJ7kATmkF8AuLLgrHF9J7eIwKQZrXf7UI1y6zYL8GfUjnELmpq3l+pJKL5OeNG9UKvCCTTsX/REQj/JzKRlKlFU/uKnCAj3lKJ8UgyR3cUfaUz3DcwkvKWuhdg= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 04f00035-2f1d-4df9-d921-08d696524297 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2019 10:08:54.2054 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1831 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190219_020902_945785_355CBDB8 X-CRM114-Status: GOOD ( 14.00 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-pwm@vger.kernel.org, Claudiu.Beznea@microchip.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Claudiu Beznea New SAM9X60's PWM controller use 32 bits counters thus it could generate signals with higher period and duty cycles than the old ones. Prepare the current driver to be able to work with old controllers (that uses 16 bits counters) and with the new SAM9X60's controller, by providing counters information based on compatible. Signed-off-by: Claudiu Beznea --- drivers/pwm/pwm-atmel.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/drivers/pwm/pwm-atmel.c b/drivers/pwm/pwm-atmel.c index 7e86a5266eb6..647d063562db 100644 --- a/drivers/pwm/pwm-atmel.c +++ b/drivers/pwm/pwm-atmel.c @@ -48,15 +48,11 @@ #define PWMV2_CPRD 0x0C #define PWMV2_CPRDUPD 0x10 -/* - * Max value for duty and period - * - * Although the duty and period register is 32 bit, - * however only the LSB 16 bits are significant. - */ -#define PWM_MAX_DTY 0xFFFF -#define PWM_MAX_PRD 0xFFFF -#define PRD_MAX_PRES 10 +/* Max values for period and prescaler */ + +/* Only the LSB 16 bits are significant. */ +#define PWM_MAXV1_PRD 0xFFFF +#define PRD_MAXV1_PRES 10 struct atmel_pwm_registers { u8 period; @@ -65,8 +61,14 @@ struct atmel_pwm_registers { u8 duty_upd; }; +struct atmel_pwm_config { + u32 max_period; + u32 max_pres; +}; + struct atmel_pwm_data { struct atmel_pwm_registers regs; + struct atmel_pwm_config cfg; }; struct atmel_pwm_chip { @@ -125,10 +127,10 @@ static int atmel_pwm_calculate_cprd_and_pres(struct pwm_chip *chip, cycles *= clk_get_rate(atmel_pwm->clk); do_div(cycles, NSEC_PER_SEC); - for (*pres = 0; cycles > PWM_MAX_PRD; cycles >>= 1) + for (*pres = 0; cycles > atmel_pwm->data->cfg.max_period; cycles >>= 1) (*pres)++; - if (*pres > PRD_MAX_PRES) { + if (*pres > atmel_pwm->data->cfg.max_pres) { dev_err(chip->dev, "pres exceeds the maximum value\n"); return -EINVAL; } @@ -288,6 +290,11 @@ static const struct atmel_pwm_data atmel_pwm_data_v1 = { .duty = PWMV1_CDTY, .duty_upd = PWMV1_CUPD, }, + .cfg = { + /* 16 bits to keep period and duty. */ + .max_period = PWM_MAXV1_PRD, + .max_pres = PRD_MAXV1_PRES, + }, }; static const struct atmel_pwm_data atmel_pwm_data_v2 = { @@ -297,6 +304,11 @@ static const struct atmel_pwm_data atmel_pwm_data_v2 = { .duty = PWMV2_CDTY, .duty_upd = PWMV2_CDTYUPD, }, + .cfg = { + /* 16 bits to keep period and duty. */ + .max_period = PWM_MAXV1_PRD, + .max_pres = PRD_MAXV1_PRES, + }, }; static const struct platform_device_id atmel_pwm_devtypes[] = { From patchwork Tue Feb 19 10:09:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Beznea X-Patchwork-Id: 10819615 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1FA71180E for ; Tue, 19 Feb 2019 10:09:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 09D372B307 for ; Tue, 19 Feb 2019 10:09:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F1D532B317; Tue, 19 Feb 2019 10:09:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 902442B307 for ; Tue, 19 Feb 2019 10:09:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7JY2FP514Xk8pdJ4c34RbXdMNg8HYIk+LJAFaitonXs=; b=e3f6baTaWM6y+M 4mNkMIVdTj3OG0C+heqTXd+pAd1JA0lHKVD6u4z5425PIUsJWKl677EOqTodHeAo/r62ECiqk6X1d Exj8ZYQvAYZHWdcXgL6qSUyRhhwsKSsyC8SG90xbqeIhkKE+NGmjyrKVjLAdVxRekVTH0NmXOOmP9 jz0gWivlmx5E1ZmLpK627lv598f8oEXMNOpc7quc+KkOkalERNDBEsoSghIuq0UaccnV9tbGG7nlS Vv1hhFC9d3w7o/zdDxCMGWA05lo+Udf+yYKcHOGAFyZRVW26qF++/RpiMvaMzzZku7GUbRhj90t38 8dDKqelCFJCLo2fjUIkQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw2LH-0005Jz-Ci; Tue, 19 Feb 2019 10:09:35 +0000 Received: from esa1.microchip.iphmx.com ([68.232.147.91]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw2Kk-0004jr-HE for linux-arm-kernel@lists.infradead.org; Tue, 19 Feb 2019 10:09:05 +0000 X-IronPort-AV: E=Sophos;i="5.58,388,1544511600"; d="scan'208";a="27948385" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa1.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 19 Feb 2019 03:09:01 -0700 Received: from NAM05-BY2-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.107) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 19 Feb 2019 03:09:01 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=a3E6Wo+AZa4XHzkvn78qab2Q7zcW7Lup6VgZRRQySG4=; b=kaNjq98KHpH+G7OyR6ySwTZY6vsJGTnrU8v/Ckw7GFhrSdCCRUfuj/AIIEX05OkvNM35NAqvHZRj/2GkbPOhE+0ov6ljH1d1rck/dumPme89WjdBk3yCdA0LeUkDVQM03bqMW5xlpQo4QApX7wsCBofl7GbsKws9g9K1+5FP9yk= Received: from CY4PR11MB1909.namprd11.prod.outlook.com (10.175.61.147) by CY4PR11MB1831.namprd11.prod.outlook.com (10.175.60.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1643.14; Tue, 19 Feb 2019 10:09:00 +0000 Received: from CY4PR11MB1909.namprd11.prod.outlook.com ([fe80::1499:c19c:26f1:32f1]) by CY4PR11MB1909.namprd11.prod.outlook.com ([fe80::1499:c19c:26f1:32f1%8]) with mapi id 15.20.1622.020; Tue, 19 Feb 2019 10:09:00 +0000 From: To: , , , , , Subject: [PATCH v2 3/4] pwm: atmel: add support for SAM9X60's PWM controller Thread-Topic: [PATCH v2 3/4] pwm: atmel: add support for SAM9X60's PWM controller Thread-Index: AQHUyDsiDT3T0eJSS0SM7JH09g6Vag== Date: Tue, 19 Feb 2019 10:09:00 +0000 Message-ID: <1550570914-26391-4-git-send-email-claudiu.beznea@microchip.com> References: <1550570914-26391-1-git-send-email-claudiu.beznea@microchip.com> In-Reply-To: <1550570914-26391-1-git-send-email-claudiu.beznea@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR09CA0090.eurprd09.prod.outlook.com (2603:10a6:802:29::34) To CY4PR11MB1909.namprd11.prod.outlook.com (2603:10b6:903:11f::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Claudiu.Beznea@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6d01777b-3472-4c83-6083-08d696524480 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:CY4PR11MB1831; x-ms-traffictypediagnostic: CY4PR11MB1831: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR11MB1831; 23:hX7ow4ndV8HTwxO6wDGSBCnPP0fdzK1DGSytZ3X?= =?iso-8859-1?q?zrDnUMJERqbCJMj?= =?iso-8859-1?q?gOIwLFft90OLqFsx+2oI0qSc+Fs1d+MhqCTsCRGgHEQq4feCDgOOi+lak7jg?= =?iso-8859-1?q?c9YU9N5CxAEWNizGIswF5auEkwLKnGlW1QK5BZHipYZrhuXMlqTwOparTKBz?= =?iso-8859-1?q?pBejYKFhCguhQFF76f3ypqjvaCgvvL2QXeAxosL467H1eVCtE8umrcLwQBLP?= =?iso-8859-1?q?zPEjId6WT5Qdy/AXYAQWnHxELN+V4UWOc33Rbtq4d27G1cPXeeILQT9Z38bH?= =?iso-8859-1?q?dBGCZZ1qp0gcId/SUe8XB6UIXDAoOBwifVqDwWEDpOkpEYK6GRVIZmZYnksD?= =?iso-8859-1?q?xWZyHItzqIObGDLaV/srbKogP6zAtpgXsvznu9h0qgk4mOfgYzzVP6xXJzmi?= =?iso-8859-1?q?qOLcbIzDzNa8xHaLjqzQ978aqw4oG+Y3uf7SB6Rh5gWcGZCjGH2avtj78xVi?= =?iso-8859-1?q?uOUeXmxtyEthFzij+d7FTBqMuTesPwmKp6ysCVXE037eDy0VYkoUG1S32vdN?= =?iso-8859-1?q?qN5OMzIvHn9sJUIfdhN+KudjHyi96xOma1+LxRJQn1SWnXy328gYDRYBO8T+?= =?iso-8859-1?q?SOoGHlEoVSCsATrdYWe7y729Rmx+PrymUEKO7AfkXsFzkwJH1R2qhXCzz1ab?= =?iso-8859-1?q?JjAN44tFg0TpqYUXoyu8iJr9TMk2DoCljVQbAnbNDiKnDChEdgh3Hp+rPRP9?= =?iso-8859-1?q?BYEJn49AMVwHwee3nz3zc27cP7SeMCz3sbt4YYVlrnuvJCHqmk8agI5fApnr?= =?iso-8859-1?q?qRn0g2+Qj00a3nt/ri1hq2vs3VS0KWngU/+ydHzI1gX20OznxnYin33OTJqq?= =?iso-8859-1?q?zRRnb68Ijk8PnSdfn04Ie4QITb6tc+v59pEiTABKOLDqRCiPfmcmng6hD0b9?= =?iso-8859-1?q?e0jB6FJIPEmYoEYHCMW6UfT/DKOmYMuPG7LlMh0NsnT6YfbiBxopHaqV9buB?= =?iso-8859-1?q?KE4r7SDQeMANoe6xQYfqc7ewX+rIIaqHXYpJi4s95fME5aYqYLoqjl3ZHflA?= =?iso-8859-1?q?7BOCw5QwlgwaljW+OPubCY1Kvab7F8qeWl8VRzOZCxEVLbIx8d6qb0vj/u5l?= =?iso-8859-1?q?S2E+DVNrvFnoPeEQk/VNrPT/4Tqebm6xzwgHsgokA9IRjj6DuzDVNPY+egWQ?= =?iso-8859-1?q?UIem23v/tCRDBY/LvX8Vj6Z5TtoW8odct7wNDSAxsK+wZkiFy3quXlt6SXC1?= =?iso-8859-1?q?XKs9oJXKSU/1qSjvaAWW8ha+tvgqC6zt+07HogQXtGTOVGE7cYalsYDR9g7R?= =?iso-8859-1?q?mC05G2hBKY6rzmECv9/Q9j94B+?= x-microsoft-antispam-prvs: x-forefront-prvs: 09538D3531 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(136003)(39860400002)(366004)(396003)(346002)(199004)(189003)(6486002)(53936002)(446003)(11346002)(2616005)(26005)(486006)(97736004)(4326008)(76176011)(14454004)(6436002)(186003)(25786009)(2501003)(6116002)(99286004)(6506007)(476003)(102836004)(386003)(3846002)(6512007)(52116002)(107886003)(5660300002)(71200400001)(71190400001)(305945005)(8676002)(81166006)(81156014)(36756003)(7736002)(66066001)(8936002)(106356001)(478600001)(110136005)(50226002)(54906003)(2906002)(256004)(68736007)(6636002)(105586002)(72206003)(86362001)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR11MB1831; H:CY4PR11MB1909.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: px/dJq7SQoCQga3DxQVgRRKiiMYg55GVjuInsotA7rlrkfKY8bof7c9NuJTTYBV5MJVzWqmkHWMG8gxMEHDcKJ7bbNOmryNJc/uUDbUuP0KqO0oSLKwFM0D2jcNc5YcTsRILJ+EY3NAbLiJfwrJtiemetctZP7aOSKn11mTfS+6SKMJqa7C1LX87ZCPaEMGLhFDFr+AILeKFXrjj/zqk/ac5bPOtzuRiMHs+Ge0++dThu4vqS5LrxvoIUijb0+bulNa82L0TRvk6Em6alxpP4RydxlknpJOz2ly0g9SHnIt17Jj2wn8Ar+5ctZmlPY64UB/8lPCQ8eXFsoJuRVCSm+4H5AMRlFOavl2dFQku1IBMqAuewWxaioYluqjFQp4NZrGkgCSI4ke6isRZObvqZKoPosSDevipfpNrem5lf7U= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 6d01777b-3472-4c83-6083-08d696524480 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2019 10:08:57.3420 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1831 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190219_020902_946576_07063399 X-CRM114-Status: GOOD ( 10.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-pwm@vger.kernel.org, Claudiu.Beznea@microchip.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Claudiu Beznea Add support for SAM9X60's PWM controller. Signed-off-by: Claudiu Beznea --- drivers/pwm/pwm-atmel.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/pwm/pwm-atmel.c b/drivers/pwm/pwm-atmel.c index 647d063562db..229cedb02770 100644 --- a/drivers/pwm/pwm-atmel.c +++ b/drivers/pwm/pwm-atmel.c @@ -52,6 +52,8 @@ /* Only the LSB 16 bits are significant. */ #define PWM_MAXV1_PRD 0xFFFF +/* All 32 bits are significant. */ +#define PWM_MAXV2_PRD 0xFFFFFFFF #define PRD_MAXV1_PRES 10 struct atmel_pwm_registers { @@ -311,6 +313,20 @@ static const struct atmel_pwm_data atmel_pwm_data_v2 = { }, }; +static const struct atmel_pwm_data atmel_pwm_data_v3 = { + .regs = { + .period = PWMV1_CPRD, + .period_upd = PWMV1_CUPD, + .duty = PWMV1_CDTY, + .duty_upd = PWMV1_CUPD, + }, + .cfg = { + /* 32 bits to keep period and duty. */ + .max_period = PWM_MAXV2_PRD, + .max_pres = PRD_MAXV1_PRES, + }, +}; + static const struct platform_device_id atmel_pwm_devtypes[] = { { .name = "at91sam9rl-pwm", @@ -335,6 +351,9 @@ static const struct of_device_id atmel_pwm_dt_ids[] = { .compatible = "atmel,sama5d2-pwm", .data = &atmel_pwm_data_v2, }, { + .compatible = "microchip,sam9x60-pwm", + .data = &atmel_pwm_data_v3, + }, { /* sentinel */ }, }; From patchwork Tue Feb 19 10:09:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Beznea X-Patchwork-Id: 10819637 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 178366CB for ; Tue, 19 Feb 2019 10:10:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F18512B307 for ; Tue, 19 Feb 2019 10:10:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E12F72B315; Tue, 19 Feb 2019 10:10:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 8BC2F2B30D for ; Tue, 19 Feb 2019 10:10:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=g5isyOASRHQcUWDHJyIuwbumO121H/sEHPLkzheJbfo=; b=Jh+dvY0at9hhLQ 9IOv8PJB2OWM+Wa84qUh6To8RKfJxVkw+6WUgAM0S7UjjiQeMbtwaDdOubvu+YSeNP5AkfYJXNe5F 2QkXymj4qWdYmJHTDTHWlX45pLOBKCUMm8Y6ep9mbr7w/7xmQIX1alF/MWrIJ2Y717DkwEaQJzIBL tP8HoP0+/YvgCc5mY9ri2ZpKRcMHeZIOHyQZIC/EsjHDlfI0Z63CSahTufhH2JGM/otPUofrGHNsO H7iC3fdLM/BBZWsdQndBQUFNDC9RAixpxjqvl9/52ZgHu6x5jbuOIxDCNDBFiLYOtrOBLY6nKfRsx YOu7h4K52otCZ2aRIeiw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw2Ld-0005pN-SV; Tue, 19 Feb 2019 10:09:57 +0000 Received: from esa2.microchip.iphmx.com ([68.232.149.84]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw2Kn-0004oO-GM for linux-arm-kernel@lists.infradead.org; Tue, 19 Feb 2019 10:09:09 +0000 X-IronPort-AV: E=Sophos;i="5.58,388,1544511600"; d="scan'208";a="26786216" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES128-SHA; 19 Feb 2019 03:09:04 -0700 Received: from NAM05-BY2-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.37) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 19 Feb 2019 03:09:04 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zZGOSR1g9LFEuJOO+7Wvt6dIrM6mmIVE57s3Da67Kso=; b=MB3byvLg67iid78B4iPxVGDkxe2M6oCBpw6uUjBDLfNhHjTWih+kLRe5TF+F5V077H7RbhaFkRztYBVzIbCn0aXeC9EIhM4Uekg6l8D8NCN7yRDohHxpz/pAiZkwTViKYofSFDQ2N8neTpVi+NOvBOsaa/4SS9hTJUR+D3bDmYA= Received: from CY4PR11MB1909.namprd11.prod.outlook.com (10.175.61.147) by CY4PR11MB1831.namprd11.prod.outlook.com (10.175.60.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1643.14; Tue, 19 Feb 2019 10:09:03 +0000 Received: from CY4PR11MB1909.namprd11.prod.outlook.com ([fe80::1499:c19c:26f1:32f1]) by CY4PR11MB1909.namprd11.prod.outlook.com ([fe80::1499:c19c:26f1:32f1%8]) with mapi id 15.20.1622.020; Tue, 19 Feb 2019 10:09:03 +0000 From: To: , , , , , Subject: [PATCH v2 4/4] pwm: atmel: add PWM binding for SAM9X60 Thread-Topic: [PATCH v2 4/4] pwm: atmel: add PWM binding for SAM9X60 Thread-Index: AQHUyDskV5cnHEUXUk+WmXSCtX3J5A== Date: Tue, 19 Feb 2019 10:09:03 +0000 Message-ID: <1550570914-26391-5-git-send-email-claudiu.beznea@microchip.com> References: <1550570914-26391-1-git-send-email-claudiu.beznea@microchip.com> In-Reply-To: <1550570914-26391-1-git-send-email-claudiu.beznea@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR09CA0090.eurprd09.prod.outlook.com (2603:10a6:802:29::34) To CY4PR11MB1909.namprd11.prod.outlook.com (2603:10b6:903:11f::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Claudiu.Beznea@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 400c3b3d-4b1a-4521-6710-08d69652464f x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:CY4PR11MB1831; x-ms-traffictypediagnostic: CY4PR11MB1831: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR11MB1831; 23:bjRZdlxPn2M27JRsrXQRqNeN1+2bpJDdQDnoA2u?= =?iso-8859-1?q?g5ByYq5RYMdxepT?= =?iso-8859-1?q?8n63vw90pKpLXQHi3xC1CTUO0MPxMbSvxz9vZhfIxl9QHBWAhMqB7oY3eGso?= =?iso-8859-1?q?5FEhoyjdXXBC2DMQHpXBp8WXUaPRhQMxaLYLbWKIC4Tdscvktoj8tf9XvYF6?= =?iso-8859-1?q?9gGfi7CYPDPr7ljOTV9WWotLFwRwYHC40CWdV3bnzmu9jsxvhsbXyvaHs1Cg?= =?iso-8859-1?q?Wt1Y9VNkSMuYFfBR/an0GNZQKoZnWv/G9wImdcrl9G42f9DJtp617crYxppM?= =?iso-8859-1?q?8DFPsPhPSuYqneoMzkXrfJ1l2BWe7zTYuzz7iF/NY6ptjpcjR5L0yI6Ga/Is?= =?iso-8859-1?q?rV/nD7RBCb2joNoAg+w3u3ggPg0+GkEcSYiZvmQeOIvWJgDhRRv9XzOkYJE/?= =?iso-8859-1?q?JMmm8WcHSj8rmOqpcu+BDPePP3+R4BMi8hwVkbgBX41GzUBxT0imoK5lVKTc?= =?iso-8859-1?q?lA2TJv3GvPcE/F5MNU0lGCW0V7ct1JpF6Mje8OqTzJg7ojBJ3UjzEoh91Jvs?= =?iso-8859-1?q?/N2NCJlgG+wAgjvumK4djZJF5yFJ204A2UZ7pozoz53Rfy0IricbS+Kt5JM7?= =?iso-8859-1?q?qsCKfWdHj3p55i6ZtoYE10oZs3lX20jmnO6IhOYiA8EDSWXGlGYolWtGBzxP?= =?iso-8859-1?q?boxdbQtacKsui1X152Mdg2+JNm7UFyGZyu7l9NN5EXj+G13HpnahWDpFTFtU?= =?iso-8859-1?q?/dzTzmeGi7Yo91voZoYqzEK8Ua03gYiudHTgMIzxTv25tZJ11FLs2ZvmXYbQ?= =?iso-8859-1?q?9NVBb+wh/DKwMe3z1biJGOBdSolpBqeBO+YupxxTBTqkhHr+GC0DAAsuL2sw?= =?iso-8859-1?q?slzqhRxeVenBd2487zB7FME0c03lN+h9STUnswMlbY5ojniF/GDEp6/DxCni?= =?iso-8859-1?q?uvbvRuOJ0yAWLBKB2LlSAZvx3l4204LZrKfVnVfdwbA0Ogbh76V//nSQX5ZK?= =?iso-8859-1?q?H26vCMDvnvCmMYGbjelFiCbNbAcwCtvhdrqmAaZFKY3TUmP6w3QjvwtG8T7O?= =?iso-8859-1?q?dD3coVLxxiV8n0Rgh/xwxIy4rswewo2Lj4XXkTQ6iKIuB6hpksdFNkMVrPto?= =?iso-8859-1?q?fVukxm3zL5dHs5/6eoQ96lgu3cvbJoVReuKgVsxpGyk86WfIxQwwEzztwVPc?= =?iso-8859-1?q?x+c4HOyj36Dc4uGcK9Au9h74r2ryGeBi6EAVxyM1kTcft2izHYOGCVV2q70M?= =?iso-8859-1?q?tqocvidEc6lQPKrdNj/hYYpZFR143vDTYNDNYoWPgSdhhwWiITr1zNs/zx16?= =?iso-8859-1?q?+E/GccTfmFyDyl9Cxdr9zTOSMgJMmO3TPqYQd+/fumNoC+2Q=3D=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09538D3531 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(136003)(39860400002)(366004)(396003)(346002)(199004)(189003)(6486002)(53936002)(446003)(11346002)(2616005)(26005)(486006)(97736004)(4326008)(76176011)(14454004)(6436002)(186003)(25786009)(2501003)(6116002)(99286004)(4744005)(6506007)(476003)(102836004)(386003)(3846002)(6512007)(52116002)(107886003)(5660300002)(71200400001)(71190400001)(305945005)(8676002)(81166006)(81156014)(36756003)(7736002)(66066001)(8936002)(106356001)(478600001)(110136005)(50226002)(54906003)(2906002)(256004)(68736007)(6636002)(105586002)(72206003)(86362001)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR11MB1831; H:CY4PR11MB1909.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: SK1NmSCwBCvPQ8Q1xx8onafVyItJjasBbuIUD5fnHxbNMAS0l4/EMphvmiWsZOovaMhWnxuVDVkKF/sXvIFKlGI1Oy3ThcSbXQTmY1dUmjBhm5JkcwFpK23PZHMIlWVn0L1JZrax/krbX7TIi7wRoclsf/b1szdaFSMP2xzf9qjqLvulpQ8j9n63Ac6Zjrfnc8UpLUIEwwJfvOioOK0ufhcrXzaFJogZQc5lVjElVDAXqzXj19O1g2V5xUjJyJmypHQ1yxso0XdCQtvoVrYhU1ODHTq+W+jsNv+hh4nisuxFKpVnFz1aHAhTTTRB8a9H7qCV9gCu0WMen3t5P2egTqo9X53E8XFjoe3FBRWalxVq3/+1pH+2s4wBWIhcUBNOVbCuaXUzNBs1SstYGD30vSKU54Aaw0mZOrm5pOhWYDc= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 400c3b3d-4b1a-4521-6710-08d69652464f X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2019 10:09:00.5496 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1831 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190219_020905_931325_D676F39C X-CRM114-Status: UNSURE ( 9.49 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-pwm@vger.kernel.org, Claudiu.Beznea@microchip.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Claudiu Beznea Add PWM binding for SAM9X60 SoC. Signed-off-by: Claudiu Beznea Reviewed-by: Rob Herring --- Documentation/devicetree/bindings/pwm/atmel-pwm.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/pwm/atmel-pwm.txt b/Documentation/devicetree/bindings/pwm/atmel-pwm.txt index c8c831d7b0d1..591ecdd39c7b 100644 --- a/Documentation/devicetree/bindings/pwm/atmel-pwm.txt +++ b/Documentation/devicetree/bindings/pwm/atmel-pwm.txt @@ -5,6 +5,7 @@ Required properties: - "atmel,at91sam9rl-pwm" - "atmel,sama5d3-pwm" - "atmel,sama5d2-pwm" + - "microchip,sam9x60-pwm" - reg: physical base address and length of the controller's registers - #pwm-cells: Should be 3. See pwm.txt in this directory for a description of the cells format.