From patchwork Mon May 10 07:35:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Billy Tsai X-Patchwork-Id: 1476198 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4FdtBw2V30z9s1l for ; Mon, 10 May 2021 17:35:52 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230039AbhEJHgy (ORCPT ); Mon, 10 May 2021 03:36:54 -0400 Received: from twspam01.aspeedtech.com ([211.20.114.71]:49746 "EHLO twspam01.aspeedtech.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230002AbhEJHgy (ORCPT ); Mon, 10 May 2021 03:36:54 -0400 Received: from mail.aspeedtech.com ([192.168.0.24]) by twspam01.aspeedtech.com with ESMTP id 14A7LODP042444; Mon, 10 May 2021 15:21:24 +0800 (GMT-8) (envelope-from billy_tsai@aspeedtech.com) Received: from BillyTsai-pc.aspeed.com (192.168.2.149) by TWMBX02.aspeed.com (192.168.0.24) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 10 May 2021 15:33:27 +0800 From: Billy Tsai To: , , , , , , , , , , , , CC: Subject: [v4 0/2] Support pwm driver for aspeed ast26xx Date: Mon, 10 May 2021 15:35:09 +0800 Message-ID: <20210510073511.7291-1-billy_tsai@aspeedtech.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Originating-IP: [192.168.2.149] X-ClientProxiedBy: TWMBX02.aspeed.com (192.168.0.24) To TWMBX02.aspeed.com (192.168.0.24) X-DNSRBL: X-MAIL: twspam01.aspeedtech.com 14A7LODP042444 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The legacy driver of aspeed pwm is binding with tach controller and it doesn't follow the pwm framworks usage. In addition, the pwm register usage of the 6th generation of ast26xx has drastic change. So these patch serials add the new aspeed pwm driver to fix up the problem above. Changes since v3: - Add the dt_binding for aspeed,ast2600-tach. - Describe the pwm/tach as child-node of pwm-tach mfd. - Complete the properties of pwm node. Changes since v2: - Remove the tach node, #address-cells and #size-cells from pwm-tach.yaml - Add clocks and reset properties to pwm-tach.yaml - Kconfig/Makfile sorted alphabetically - pwm-aspeed-g6.c suggested by Uwe Kleine-König - Add more hardware descriptions at top of the driver. - Remove unused api request and free - Move the initialize settings of all pwm channel to probe. - Change the method of getting the approximate period. - Read the hardware register values to fill the state for .get_state() Changes since v1: - Fix the dt_binding_check fail suggested by Rob Herring - Add depends to PWM_ASPEED_G6 configure suggested by Uwe Kleine-Konig - pwm-aspeed-g6.c suggested by Uwe Kleine-König - Fix license header - Use bitfiled.h macro to define register fields - Implement .remove device function - Implement .get_state pwm api Billy Tsai (2): dt-bindings: Add bindings for aspeed pwm-tach. pwm: Add Aspeed ast2600 PWM support .../bindings/hwmon/aspeed,ast2600-tach.yaml | 66 ++++ .../bindings/mfd/aspeed,ast2600-pwm-tach.yaml | 82 ++++ .../bindings/pwm/aspeed,ast2600-pwm.yaml | 62 +++ drivers/pwm/Kconfig | 8 + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-aspeed-g6.c | 368 ++++++++++++++++++ 6 files changed, 587 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/aspeed,ast2600-tach.yaml create mode 100644 Documentation/devicetree/bindings/mfd/aspeed,ast2600-pwm-tach.yaml create mode 100644 Documentation/devicetree/bindings/pwm/aspeed,ast2600-pwm.yaml create mode 100644 drivers/pwm/pwm-aspeed-g6.c