Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp685534rdb; Fri, 22 Dec 2023 01:46:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IFTW+1Q2HE5bEECw2AJ7hq/bmKeH5PAytCLIz5jhwZAPR8GvTQAY/D96f5UEZ4qbt7ryTvK X-Received: by 2002:a50:c015:0:b0:552:d39a:491c with SMTP id r21-20020a50c015000000b00552d39a491cmr516101edb.51.1703238387120; Fri, 22 Dec 2023 01:46:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703238387; cv=none; d=google.com; s=arc-20160816; b=YXIH6EhJJE9LN7gkiyGa4bPSqrY41a4iqEjmwKJUqvcGcHZyNHtrMnKJH+q4raDyEf swBLb//iC5SmciiT5E8Otg9gcSh4MS1PgzXenVgDnYrjO/SnW0IHMWlYCztjgkDuUAjS umBTiRmvc9Ve8I9sRZJ3UORV1F2du0anXdUnYFfp1qTs3V8pR0dmWPPPSTcG898Z9G9f jMCiTJBrZ4sLnkTR5Wv4ZSihQYul9QERkbfP9OlwpBeWCIdVhVE6wCnuwNXsp5Y+OxeP DE5v7FEtRGXNAWc8Srf/qphtpNf9JQTWnq32qEocLjwgOhJLeVCmGMTK7rnTqHE1jaUK rC5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=+JqH9chH5fFRvFagtaGvH84XXh8k5dUgp9hPxSA14to=; fh=T4gzk7+hgrXGjSNvKGZTlbuKXCiuDaGkxvCBgfgONjs=; b=qJtPXo2XXVtTsxTuVvQuiYJA8OTyX4w12Cq7aJ2Pa7OWOtgVKlXJ8YGPnyaS278nP+ hURzONgDnnYdT6b55KsVrymZCpIp953yk8M6r1VAzJHmQ21/kB22N+JWKLYexTma/RcT ICFujL7goUfKmkQVHeC92eQLmZ+iALooS6r8CTU5344dJCnQXfbo+DpmdWQBXk9ZH82B oSQRm7Z/gdDBlJEwsbSt6bsqjrTvd2+PdQ5wzwwt8jJMmTK7XTtHmwf7KebbCwjtDI0L +Dq+TrvmhfiDMqnklH1pbzXGbTCmj+aglqiEyAjfQCbCazQuQEp+3bj/TJpdRIP8BVX1 chTA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-9560-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-9560-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id dj8-20020a05640231a800b0055358b7c067si1638876edb.156.2023.12.22.01.46.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Dec 2023 01:46:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-9560-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-9560-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-9560-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id DEB3B1F24AA2 for ; Fri, 22 Dec 2023 09:46:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CBF711427C; Fri, 22 Dec 2023 09:46:00 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from fd01.gateway.ufhost.com (fd01.gateway.ufhost.com [61.152.239.71]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9296FBF3; Fri, 22 Dec 2023 09:45:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starfivetech.com Received: from EXMBX165.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX165", Issuer "EXMBX165" (not verified)) by fd01.gateway.ufhost.com (Postfix) with ESMTP id 124B67FC9; Fri, 22 Dec 2023 17:45:50 +0800 (CST) Received: from EXMBX068.cuchost.com (172.16.6.68) by EXMBX165.cuchost.com (172.16.6.75) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Fri, 22 Dec 2023 17:45:49 +0800 Received: from williamqiu-virtual-machine.starfivetech.com (171.223.208.138) by EXMBX068.cuchost.com (172.16.6.68) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Fri, 22 Dec 2023 17:45:48 +0800 From: William Qiu To: , , , CC: Emil Renner Berthing , Rob Herring , Thierry Reding , Philipp Zabel , Krzysztof Kozlowski , Conor Dooley , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , "Hal Feng" , Paul Walmsley , Palmer Dabbelt , Albert Ou , William Qiu Subject: [PATCH v10 0/4] StarFive's Pulse Width Modulation driver support Date: Fri, 22 Dec 2023 17:45:44 +0800 Message-ID: <20231222094548.54103-1-william.qiu@starfivetech.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: EXCAS062.cuchost.com (172.16.6.22) To EXMBX068.cuchost.com (172.16.6.68) X-YovoleRuleAgent: yovoleflag Content-Transfer-Encoding: quoted-printable Hi, This patchset adds initial rudimentary support for the StarFive Pulse Width Modulation controller driver. And this driver will be used in StarFive's VisionFive 2 board.The first patch add Documentations for the device and Patch 2 adds device probe for the module. Changes v9->v10: - Rebased to v6.7rc6. - Dropped unuseful dependency. - Added error handling. Changes v8->v9: - Rebased to v6.7rc4. - Updated the bindings format. - Dropped removed() interface. Changes v7->v8: - Rebased to v6.7rc3. - Changed compatible to "opencores,pwm-v1" - Adjusted the clock unprepare order. - Followed dt-bindings Coding style. Changes v6->v7: - Rebased to v6.6. - Added dependency architecture. - Adopted new rounding algorithm. - Added limitation descripton. - Used function interfaces instead of macro definitions. - Followed the linux coding style. Changes v5->v6: - Rebased to v6.6rc5. - Changed driver into a generic OpenCores driver. - Modified dt-bindings description into OpenCores. - Uesd the StarFive compatible string to parameterize. Changes v4->v5: - Rebased to v6.6rc2. - Updated macro definition indent. - Replaced the clock initializes the interface. - Fixed patch description. Changes v3->v4: - Rebased to v6.5rc7. - Sorted the header files in alphabetic order. - Changed iowrite32() to writel(). - Added a way to turn off. - Modified polarity inversion implementation. - Added 7100 support. - Added dts patches. - Used the various helpers in linux/math.h. - Corrected formatting problems. - Renamed dtbinding to 'starfive,jh7100-pwm.yaml'. - Dropped the redundant code. Changes v2->v3: - Fixed some formatting issues. Changes v1->v2: - Renamed the dt-binding 'pwm-starfive.yaml' to 'starfive,jh7110-pwm.yaml= '. - Dropped the compatible's Items. - Dropped the unuse defines. - Modified the code to follow the Linux coding style. - Changed return value to dev_err_probe. - Dropped the unnecessary local variable. The patch series is based on v6.7rc6. William Qiu (4): dt-bindings: pwm: Add bindings for OpenCores PWM Controller pwm: opencores: Add PWM driver support riscv: dts: starfive: jh7100: Add PWM node and pins configuration riscv: dts: starfive: jh7110: Add PWM node and pins configuration .../bindings/pwm/opencores,pwm.yaml | 55 +++++ MAINTAINERS | 7 + .../boot/dts/starfive/jh7100-common.dtsi | 24 ++ arch/riscv/boot/dts/starfive/jh7100.dtsi | 9 + .../jh7110-starfive-visionfive-2.dtsi | 22 ++ arch/riscv/boot/dts/starfive/jh7110.dtsi | 9 + drivers/pwm/Kconfig | 12 + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-ocores.c | 233 ++++++++++++++++++ 9 files changed, 372 insertions(+) create mode 100644 Documentation/devicetree/bindings/pwm/opencores,pwm.y= aml create mode 100644 drivers/pwm/pwm-ocores.c -- 2.34.1