From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oa1-f100.google.com (mail-oa1-f100.google.com [209.85.160.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B3743491C4 for ; Wed, 20 May 2026 23:31:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.100 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779319911; cv=none; b=HOhsrR7PdD6/wORcoLuSj6la8/zUsp/WN4zRLmKA1CHfbDBhnR8SVI0xyk6zS4P99gPFYgSwlUjWOFiNBCnuhfMgQmRh6kaWMmaiBoAZFlatEVFIK94kmAsZPRE4FdFIA3VdEryU0bca7nktKrac3ev4JO3n5cMdDEb+daq9sNA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779319911; c=relaxed/simple; bh=GCdwdd8L4QYKV9g8Pk5TlKPm1MpJ1P+LBWi8O0BSLsM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Nkj85rQ2baRt1Dbps2yQGX6vHXI60Gw/r2yqxu/029AfSE0NqPzvwzC2+D+mKQYyQS77crMMDpx9HuiMVRGC7cjqKoR236v9W26laLbxW4lDO3DbIkbh7ANegB8XKDBZiE3RVIwJ3ddt5Zrn+//oYMFDLXS+mIjhjewXjk8tGpI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=RPeE01F+; arc=none smtp.client-ip=209.85.160.100 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="RPeE01F+" Received: by mail-oa1-f100.google.com with SMTP id 586e51a60fabf-43a833aeda0so3987973fac.2 for ; Wed, 20 May 2026 16:31:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779319907; x=1779924707; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:dkim-signature:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=nvICw2ZiPKqUfY+3rSfqzqLBbnkDQZGCcIY6G6UcS6g=; b=Ee9M+B0dgsmjtzNhsSBQhCeeVvAScGIA/sLn+1Czx5SID0cqpV/+3E7ePKE9CZ/icE +hbGK7EjcTauE/NMljF8WSa+BqNRawMzM1EPkuu6/EynQnae9VweucbazxWjCX9S2tqY D+WXyPKG+Z4/WO/EeKzGSaMntNzIshicqfLUYqa08BL7gkKuCXff7RHTHqhDgEtKg9sT kQhoEMKITPLP62mD93XcGdojZAvsJCdfYSQFR9273JhApCEXI6zyM6MJZ4dCWHYXoEXL wL7q632PnWOPJeQgS/fIISszkb3VlFOq+6nS16p7qps7F+p9clnwKtX9zKTvuHBDOhmV x/ew== X-Forwarded-Encrypted: i=1; AFNElJ8qn5AvQujAEszjbIGhpLM3ePZ5mbQIKgOU/Q5tiKrzK/zFfKdFzA+f7FHy1/vs0LQDBrLf4WYOn5M0qSA=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7M3HKXlbA/iYokSWj1qeln3g/9ChX62N1f5Tzvj+oRYW/96c4 xUUw0xHdM6tGP9qsA2F1Dzkbjl1hlTQI3Yq0LLAo3X5Rh76xKWx6oG3jyDeEvaO5R1bMGsRyvtn 5aHUvbtTv1w94qomp2sKQoLVg2ajk3dkGh9HYlFMGgB7votQB1sNp+V438p9lXXc2m/QSfnzXQJ 3TnsCu981nWjcevmsCCNi5Ycc6fehlkp8UCnQks5W9/457EzBIifJBKHhRXZ5NzokFmRxDGch+g zq2q4wGzai6QuEWlV15UuLX X-Gm-Gg: Acq92OFBQYQcI86G4SG4NbOiA4dJ/pPISKB56fKm8+4/ACGjhgUZCYo6oaTJjRAVvr8 OGgI0as4p29EOO8c24lMI+BUcYpKdkq6OHuzU3yNK6LPNprBNB9yaTT5I32YFQ5Ql/ZRGKpJmBz WBVY9kEc7rWvYw8WdqN38DPlYq1zAUf0pRzAScM28XD2HjmVHZgO6ZiuXzj98oKSFD3b+pO6zLE aAEk7GEuiD5yuBvRYeId9GsooNGy/GR+gitAqyk0mc5bESFdRM1jR5gJtDyT9V9vhVZHJXLAV+4 zrkm03YPiKHxAtDfLK5GKvJkfBXdHLMmrADpLiwtULGcbF954I9GtWHjKgdtlacc0C87iMXzv4y NXHPDkDv8T1ZGFj0pXlAd8+edtqIDeEwUZ2lLJAD92/ty/LopqF0/WGWf2VcC2tE/bLZc/ULqE4 SSdaRhLDozGx8LQGk3nqRrBScxTiFTv7mDi4+h9sOtwgLak3GKCwFmG3gdYf18wuTG X-Received: by 2002:a05:6870:b509:b0:43a:128c:9ac3 with SMTP id 586e51a60fabf-43b2e7c2eb8mr501767fac.12.1779319907186; Wed, 20 May 2026 16:31:47 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-102.dlp.protect.broadcom.com. [144.49.247.102]) by smtp-relay.gmail.com with ESMTPS id 586e51a60fabf-43a94ffb653sm1493017fac.4.2026.05.20.16.31.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 May 2026 16:31:47 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-2f2d983d109so879117eec.0 for ; Wed, 20 May 2026 16:31:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1779319906; x=1779924706; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=nvICw2ZiPKqUfY+3rSfqzqLBbnkDQZGCcIY6G6UcS6g=; b=RPeE01F+1f2p8F7+1v5vGonpjuZ+20Hu5T39tmMQgB6pJOW/I/fR7AtfCqES1AnWcx GerQcMQZ2jimA2bJcJYD1nmZr9MJOeKinaEJKEZH7ScEWPQXxa4hWu8t5OXH2KFig+V0 zzvm28WJJuPoAXOCPJV31Oa1KusyRB8z5AK0c= X-Forwarded-Encrypted: i=1; AFNElJ/lzSh2XmEn3BpoA1dbufIyBp18CPZBmQSCsS1gDixAFybBfaXKbgpBvKZWblPaAzRAXb9vQXvZuM/yme4=@vger.kernel.org X-Received: by 2002:a05:7300:ef89:b0:2c5:60d0:701e with SMTP id 5a478bee46e88-3042f439717mr408628eec.3.1779319905730; Wed, 20 May 2026 16:31:45 -0700 (PDT) X-Received: by 2002:a05:7300:ef89:b0:2c5:60d0:701e with SMTP id 5a478bee46e88-3042f439717mr408577eec.3.1779319904722; Wed, 20 May 2026 16:31:44 -0700 (PDT) Received: from [10.67.48.245] ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30293e2ea6dsm20241408eec.4.2026.05.20.16.31.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 May 2026 16:31:44 -0700 (PDT) Message-ID: <394b5e02-1aa6-4efe-a5f7-4468d1f82172@broadcom.com> Date: Wed, 20 May 2026 16:31:42 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 0/3] Add RP1 PWM controller support To: Andrea della Porta Cc: =?UTF-8?Q?Uwe_Kleine-K=C3=B6nig?= , linux-pwm@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Broadcom internal kernel review list , devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Naushir Patuck , Stanimir Varbanov , mbrugger@suse.com References: Content-Language: en-US, fr-FR From: Florian Fainelli Autocrypt: addr=florian.fainelli@broadcom.com; keydata= xsBNBFPAG8ABCAC3EO02urEwipgbUNJ1r6oI2Vr/+uE389lSEShN2PmL3MVnzhViSAtrYxeT M0Txqn1tOWoIc4QUl6Ggqf5KP6FoRkCrgMMTnUAINsINYXK+3OLe7HjP10h2jDRX4Ajs4Ghs JrZOBru6rH0YrgAhr6O5gG7NE1jhly+EsOa2MpwOiXO4DE/YKZGuVe6Bh87WqmILs9KvnNrQ PcycQnYKTVpqE95d4M824M5cuRB6D1GrYovCsjA9uxo22kPdOoQRAu5gBBn3AdtALFyQj9DQ KQuc39/i/Kt6XLZ/RsBc6qLs+p+JnEuPJngTSfWvzGjpx0nkwCMi4yBb+xk7Hki4kEslABEB AAHNMEZsb3JpYW4gRmFpbmVsbGkgPGZsb3JpYW4uZmFpbmVsbGlAYnJvYWRjb20uY29tPsLB IQQQAQgAywUCZWl41AUJI+Jo+hcKAAG/SMv+fS3xUQWa0NryPuoRGjsA3SAUAAAAAAAWAAFr ZXktdXNhZ2UtbWFza0BwZ3AuY29tjDAUgAAAAAAgAAdwcmVmZXJyZWQtZW1haWwtZW5jb2Rp bmdAcGdwLmNvbXBncG1pbWUICwkIBwMCAQoFF4AAAAAZGGxkYXA6Ly9rZXlzLmJyb2FkY29t Lm5ldAUbAwAAAAMWAgEFHgEAAAAEFQgJChYhBNXZKpfnkVze1+R8aIExtcQpvGagAAoJEIEx tcQpvGagWPEH/2l0DNr9QkTwJUxOoP9wgHfmVhqc0ZlDsBFv91I3BbhGKI5UATbipKNqG13Z TsBrJHcrnCqnTRS+8n9/myOF0ng2A4YT0EJnayzHugXm+hrkO5O9UEPJ8a+0553VqyoFhHqA zjxj8fUu1px5cbb4R9G4UAySqyeLLeqnYLCKb4+GklGSBGsLMYvLmIDNYlkhMdnnzsSUAS61 WJYW6jjnzMwuKJ0ZHv7xZvSHyhIsFRiYiEs44kiYjbUUMcXor/uLEuTIazGrE3MahuGdjpT2 IOjoMiTsbMc0yfhHp6G/2E769oDXMVxCCbMVpA+LUtVIQEA+8Zr6mX0Yk4nDS7OiBlvOwE0E U8AbwQEIAKxr71oqe+0+MYCc7WafWEcpQHFUwvYLcdBoOnmJPxDwDRpvU5LhqSPvk/yJdh9k 4xUDQu3rm1qIW2I9Puk5n/Jz/lZsqGw8T13DKyu8eMcvaA/irm9lX9El27DPHy/0qsxmxVmU pu9y9S+BmaMb2CM9IuyxMWEl9ruWFS2jAWh/R8CrdnL6+zLk60R7XGzmSJqF09vYNlJ6Bdbs MWDXkYWWP5Ub1ZJGNJQ4qT7g8IN0qXxzLQsmz6tbgLMEHYBGx80bBF8AkdThd6SLhreCN7Uh IR/5NXGqotAZao2xlDpJLuOMQtoH9WVNuuxQQZHVd8if+yp6yRJ5DAmIUt5CCPcAEQEAAcLB gQQYAQIBKwUCU8AbwgUbDAAAAMBdIAQZAQgABgUCU8AbwQAKCRCTYAaomC8PVQ0VCACWk3n+ obFABEp5Rg6Qvspi9kWXcwCcfZV41OIYWhXMoc57ssjCand5noZi8bKg0bxw4qsg+9cNgZ3P N/DFWcNKcAT3Z2/4fTnJqdJS//YcEhlr8uGs+ZWFcqAPbteFCM4dGDRruo69IrHfyyQGx16s CcFlrN8vD066RKevFepb/ml7eYEdN5SRALyEdQMKeCSf3mectdoECEqdF/MWpfWIYQ1hEfdm C2Kztm+h3Nkt9ZQLqc3wsPJZmbD9T0c9Rphfypgw/SfTf2/CHoYVkKqwUIzI59itl5Lze+R5 wDByhWHx2Ud2R7SudmT9XK1e0x7W7a5z11Q6vrzuED5nQvkhAAoJEIExtcQpvGagugcIAJd5 EYe6KM6Y6RvI6TvHp+QgbU5dxvjqSiSvam0Ms3QrLidCtantcGT2Wz/2PlbZqkoJxMQc40rb fXa4xQSvJYj0GWpadrDJUvUu3LEsunDCxdWrmbmwGRKqZraV2oG7YEddmDqOe0Xm/NxeSobc MIlnaE6V0U8f5zNHB7Y46yJjjYT/Ds1TJo3pvwevDWPvv6rdBeV07D9s43frUS6xYd1uFxHC 7dZYWJjZmyUf5evr1W1gCgwLXG0PEi9n3qmz1lelQ8lSocmvxBKtMbX/OKhAfuP/iIwnTsww 95A2SaPiQZA51NywV8OFgsN0ITl2PlZ4Tp9hHERDe6nQCsNI/Us= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e On 5/8/26 01:15, Andrea della Porta wrote: > Hi Uwe, > > On 10:30 Thu 23 Apr , Andrea della Porta wrote: >> This patchset adds support for the PWM controller found on the >> Raspberry Pi RP1 southbridge. This is necessary to operate the >> cooling fan connected to one of the PWM channels. >> >> The tachometer pin for the fan speed is managed by the firmware >> running on the RP1's M-core. It uses the PHASE2 register >> to report the RPM, which is then exported by this driver via >> syscon registers. A subsequent patch will add a new device >> and driver to read the RPM and export this value via hwmon. >> >> Subsequent patches will also add the CPU thermal zone, which >> acts as a consumer of the PWM device. >> >> Best regards, >> Andrea >> >> CHANGES in V3: >> >> - Refactored all the register macros. They now have RP1_PWM_ prefix >> and follow the register name. >> - Dropped the tab alignment in front of struct declarations (use a space >> instead). >> - Added a check in tohw() to test (and bail out quickly) in case that >> period_length_ns is zero. >> - Probing now returns an error if clk_rate > 1 GHz. >> - Added a check on minimum period ticks. Return 1 to signal round-up. >> - Fixed inverted polarity detection on edge cases. >> - Fixed rounding errors (in both tohwi() and fromhw()) in inverted >> polarity calculations. >> - Dropped a redundant check on period >= duty. >> - Replaced memset by inline struct init. >> - Disabling a channel now is faster, skipping the duty/period/polarity >> setup. >> - Fixed an error string (s/Fail/Failed) >> - Used %pe to signal error string instead of an integer. >> - Added several new sections to the Limitations paragraph to better >> explain what will happen on edge cases. >> - Maximum period is now U32_MAX-1 to allow 100% duty cycle on all >> selectable periods. >> - The hw period register now takes into account for the extra tick at >> the end of the period (subtracted one to wfhw->period_ticks in tohw >> and added 1 in fromhw). >> - Added .remove() callback to free resources even if the driver is >> not unbindable/unloadable, to avoid accumulating tech debt. >> >> >> Naushir Patuck (2): >> dt-bindings: pwm: Add Raspberry Pi RP1 PWM controller >> pwm: rp1: Add RP1 PWM controller driver >> >> Stanimir Varbanov (1): >> arm64: dts: broadcom: rpi-5: Add RP1 PWM node >> >> .../bindings/pwm/raspberrypi,rp1-pwm.yaml | 54 +++ >> .../boot/dts/broadcom/bcm2712-rpi-5-b.dts | 12 + >> arch/arm64/boot/dts/broadcom/rp1-common.dtsi | 10 + >> drivers/pwm/Kconfig | 9 + >> drivers/pwm/Makefile | 1 + >> drivers/pwm/pwm-rp1.c | 414 ++++++++++++++++++ >> 6 files changed, 500 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/pwm/raspberrypi,rp1-pwm.yaml >> create mode 100644 drivers/pwm/pwm-rp1.c >> >> -- >> 2.35.3 >> > > A gentle reminder about this patchset :) Hi Uwe, I would prefer to take the DTS changes through the Broadcom ARM SoC tree to minimize conflicts on my end, are you going to take the PWM patches for 7.2? Thanks! -- Florian