From nobody Sun Apr 19 15:06:26 2026 Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171]) (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 5647D28D854 for ; Thu, 22 May 2025 14:50:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747925418; cv=none; b=Q9+Pe0osrN0v4XPr3xDXOPrN0FKvoDQYxnuE6Ci+hBzRBMq9+mE9FRjkmoi+OZIzpBU3d6rcQ7Z1obQgOVS5a3fLuE8ZMGJpW/yDK0E7OqJKzbC4aEo8TWeUgR28vVhliT2fJd6dZWM0tHExQohK2QH1xQX5CJftBjF0SLbJ1y4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747925418; c=relaxed/simple; bh=Afxwdef0Jf2HSBiCXGtNVmL7wJWM8CS0UaEkxk3+CTk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=put6u3YKji0diqVnRd1s+bfyB65Qep2pscxjXTrRoJyVpy+iSDEc8CPzneNm0hS9kvUs6tQXbnNAqe/OMfRuaFHo5JnzWpu7Ebk9DWXmTedRMSgx4FDOaflB6JgEtAfFXwGAjTE8izO8z6jtoRkNBre0EHP/f4Hk/5jNX9S7Uzw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=cH7Q5Zmz; arc=none smtp.client-ip=209.85.167.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="cH7Q5Zmz" Received: by mail-oi1-f171.google.com with SMTP id 5614622812f47-3f6dccdcadaso6176757b6e.2 for ; Thu, 22 May 2025 07:50:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1747925415; x=1748530215; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=fp00wL1Y5X4So9ecfuqEeP+KnSz3366qtgJ3q9p0wb0=; b=cH7Q5ZmzO2xYzDimGDjeSnbsmyL9HpUKR3C7FvwjX0GOaVnaA4y66VY5brWxAs/vSD Z5IC9U7VM9/ddV7SCFk9HxWuz8TUyBXpM1ynA8dPc12hWLx3sTMZ/YP9idV5mPEOyJUH v4Em01TIWD2Lku6CtKKdf5B5TiF854M3Y9rlPdBnRrtkzmaYng4RE1mbCqwjEhka6ozf N/bjOZoB/NPhpuIaaZKM/4vCMlXNXQ5ZaeqgebrBVyYhPj4b/TwE3aUodOzJbcaRL3/0 bVM2KMNUD91PWjw2PSJONq+yfoDS50kYUsjR4EkMEGQhIC6W588GsqrhqCIm0jEfVRYO H8Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747925415; x=1748530215; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fp00wL1Y5X4So9ecfuqEeP+KnSz3366qtgJ3q9p0wb0=; b=Juxr5Dm9B2eczQCqtdv4CCgaZ6pAC5q2JZ1/9mopUDLEjKN817/XsRgbC7esL16CaK /mZagXOuGTpTqsdbTsVczWcpeJNvYJeePKpgGfDnvZBEJKBw/9Z6x+fUQLeEHZZMIky3 EmlbKDnWgFWsSNpieTZuTg5NVOiwycMiaL1kZtn0DH98bxNRlGRfwgSCZjWhkZgOFEEF ZSgXo0Hn7MW6Y4sLYn+/3ATCVy7006sf5qe1+oEGlWEE7/52C7RcL3rqLR9EehYK9Qqn 0nWdlzwXRHFsSlstjIfa4Quew3TPbUaFrMFQTxMfsQQbxNhz492KS2pa0MGuKtLRLkIm jQ6g== X-Forwarded-Encrypted: i=1; AJvYcCU00KZujXGcMCBRaD2LNwKaUsj3TTAeYfiBoOQlHkj7yev02hCpChIuIDEONOV2ee1b72hVSAuwjDPl+G8=@vger.kernel.org X-Gm-Message-State: AOJu0YxAXkcyoHoe38lr76OUXPAmgL57voS7sOA8SsX0xI5KU7x1Kd8W puxkiYz2XrEAdt8EX89yDsHIGmnkwYTe3bQSXSpm2c4eMtB9OsQu/AtpIftv0oEmm9Y= X-Gm-Gg: ASbGncsmufn+pcMj8Sm/Oh7WKe1vjyP0eJYu9UDoWgHZW/ko1GyvNAXzuCizVD5J/1g 8p2Njj6Z4VQn6UHk+Q1q3xp3CMXhuMLshTk2hbBU6rnnd1wrOWaOxW+3n0Z2XpNsxW+O7JUYMYJ xj7agJlz16lcKUOfwUIUrGxIQL2Nhv8A58OHeHgUF8tSV3FQWERTyC9nvTSC8xJQgZVRbEtXiFw n/hATz1gacyrGjBeUZu217zEPu8O/yr1QiIu3EDzx1aV9tcf03GZgY017VHrm7gOxOnkBllucvW mmLY8nkGAWtsgHdPvpIK+STFvKVY5qMZo1xABf5lR28YPnCMRw8rTCCwog== X-Google-Smtp-Source: AGHT+IE99qI2igLnDsriHnE/Vd3dM43WKl4zvPdqjymh1RvawHuJ/12e90L8OcmZmHyThgr1FJfBDw== X-Received: by 2002:a05:6808:80c5:b0:404:e2fe:eea4 with SMTP id 5614622812f47-404e2fef060mr16898305b6e.8.1747925415387; Thu, 22 May 2025 07:50:15 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:3407:53d5:68cd:400d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-404e303ffcasm2228234b6e.4.2025.05.22.07.50.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 May 2025 07:50:14 -0700 (PDT) From: David Lechner Date: Thu, 22 May 2025 09:49:39 -0500 Subject: [PATCH v2 1/3] dt-bindings: pwm: adi,axi-pwmgen: update documentation link Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250522-pwm-axi-pwmgen-add-external-clock-v2-1-086ea9e6ecf0@baylibre.com> References: <20250522-pwm-axi-pwmgen-add-external-clock-v2-0-086ea9e6ecf0@baylibre.com> In-Reply-To: <20250522-pwm-axi-pwmgen-add-external-clock-v2-0-086ea9e6ecf0@baylibre.com> To: Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , Trevor Gamblin , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Rob Herring , Krzysztof Kozlowski , Conor Dooley , David Lechner Cc: linux-pwm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=958; i=dlechner@baylibre.com; h=from:subject:message-id; bh=Afxwdef0Jf2HSBiCXGtNVmL7wJWM8CS0UaEkxk3+CTk=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoLzmNrUCJifl1QcSZ+gTDF2zxU55qVnomA5y6m tDYQUBK0S6JATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaC85jQAKCRDCzCAB/wGP wHM2B/9JRNMQwTLu4nuDNL9qVkt/WIOCiYtI7/wLlaTumz0jd8ffR2Ear1PGMwhCgztoIKsQYyj 1ckmmt2NJYsI7DyufiVL9eVHFOL59b5wACwAwSLbDDFTssMq7bTgJxWqj4qUzzX43AuG1rg2F1x W42/gMK5fh0VM5YM9TJdy6DbsUfezLHVHGxB4XYiqT9BKsVBJFtZ2j3zc7jSH/FMEvd4wD1TCIh wBUxLB72L6qEwObGLZg7znRgQQCnpDVkG+Ir6LKlJWCg3xnKswipsiGJ9sgK2KtA/wqRaRQIMT3 Dy6kmHYabFAbjJCjjavBAUHJEUuaM90IR4XBngFbk6GW6UtE X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Change the documentation link to point to the location with the most up-to-date information. Signed-off-by: David Lechner --- Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml b/Do= cumentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml index 45e112d0efb4663bc7fbb3a25a12d66aa8b7492d..bc44381692054f647a160a6573d= ae4cff2ee3f31 100644 --- a/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml +++ b/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml @@ -14,7 +14,7 @@ description: The Analog Devices AXI PWM generator can generate PWM signals with variable pulse width and period. =20 - https://wiki.analog.com/resources/fpga/docs/axi_pwm_gen + https://analogdevicesinc.github.io/hdl/library/axi_pwm_gen/index.html =20 allOf: - $ref: pwm.yaml# --=20 2.43.0 From nobody Sun Apr 19 15:06:26 2026 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) (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 1B4D828DB64 for ; Thu, 22 May 2025 14:50:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747925421; cv=none; b=R7Ns11n4zib6vx2wBwzuEARGMW9KQRAobBriJv1NswpmN72p9+MYC8TurbeNRNB83X+BCMo5QhbDA3OecfLrHOIUs71Qkf9IhesoFZXXOp2KWVGXhlgV04Icp1j7IULo1C+799elij6lbjtlj8N/3DB7gAeN5pIzxWuROEyZHN4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747925421; c=relaxed/simple; bh=YwtMVRRf8kJ22avchfvJG+KxJpfzNSQSnpIwmkk1p0g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pETKPWIzu0yGygkq+y1ALseXW0DZflfyoUEuUPt/LxObijC9bPpT0SRGfHwVXaMgIezpAek9hUmNugC+2RBzhyODxWP0wbbd4NcgG6dPItES0KEzcICJW7QiMffd08qyb8A/mDbptWqydOtaRUToae9FzQnY8xZhVzcJqyUd1ig= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=ZYbMvnLo; arc=none smtp.client-ip=209.85.167.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="ZYbMvnLo" Received: by mail-oi1-f181.google.com with SMTP id 5614622812f47-3f6dccdcadaso6176795b6e.2 for ; Thu, 22 May 2025 07:50:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1747925418; x=1748530218; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kIM5NpqKSxCNfb1OJCfsBv7sQidggBRQu0Cr/nYznV0=; b=ZYbMvnLoGRJvujVeDt41XYMAnhMs0yoFsyfpoz6iHGSkYkDMnnIYhBqMt+Ml+tHU2/ wm4s38RXivY2T8fTtBUPbbn1+DzYNtOko436Uh/ODtGC3CfEaYuo+U/Le5n3WLJiyWq4 4tBt0IlrE+nlcQpy4cc+EkNp1CEdS3SgTbLx204bwayLHFZWccKLTLHPi2o1XBYBc9sg f03ukE5xcOQaBvBFe/MT3bSD95LRaKHGvrqAXtOMpBNAbyO8cVN9NOCA8eR8e36q2zX3 RNG8smXuG1AUMPTZTeHDbYQrSlCu0YD247RJ4++7mmT3TQZNo94c4YCCoGfo9UatgUs5 DQow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747925418; x=1748530218; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kIM5NpqKSxCNfb1OJCfsBv7sQidggBRQu0Cr/nYznV0=; b=YezTa6+sR0u263Gu5eVIvCqOWnoEVxoj6HwQ0a9K5jNj5DIn/RpSWQPmmpnQVTuc9k IbQlQAe+9rFV659NVeLfwOneWe8+7qdtvlw0L0KM8LBQsFSnGaCbhHFYwAd1jt6j5m7N MCEn3YasM7VIPEHgAcInVaItBV6HpmkTpxqWzNZHWxXQm0mKBmWr1Qf8zI4aOeELWbhS nU93yEoNedJkj76fOfi1kHVzDTGNe79La5m3saUPclbShkAVRHgZluZSqrq669pHHoX0 J3ifI/U6TN94/xUZ4T8fs176KI2lYIjCKtVuk00FQaAr31CfXeSI8QmYICbtuQZl0adc pxgQ== X-Forwarded-Encrypted: i=1; AJvYcCUeieMqdWCvjruwWHbD1EWza5mFJvcVQ4oKDukr/2paPiXrePDtNwsdEfqjDsQK0xjipJceCkePK9EaBj4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7FuVEN29s8AwLWT+G02+lU+srv2xtmCz31i3KrUYjnBCEnLAZ cUGF3RkDpT6WreE/kJIx/SYMtX1TmBRUeXKAHqCYi6tl3uI7a2nowVbBTIGabW2NO0s= X-Gm-Gg: ASbGncv1wwfuVZY7Dnm9GlFdticJnLKGPNP5qxJbEZvj9PNVLhqzNTDXdkQ/eerVWbt jl7SHpsh90op+xr75ggdf4kv6/4onyzluUvPghzt3GkQxFaBqCoZi3hZLRpb+gWVkRust6Cos1t 13gE+knVLUolBrkVGgnDkQ//nfbSKAi2iTVPSAAG/RhEn2qXkW4dmbuHlTYbf4IIeFICGS/cBC6 abvKMSGo7zTS7mbPjIPJ2N2BW8cRm4ScTaFko8tBntMEMKlGO9v2MqoGQGE0WyOUQiFAIAkOm3G y7JV2N0XylVuzdlzANSODq31rPvQqGU2MkeC/yuk6dI4H39Dv43liNwh1FqMMwt44UPo X-Google-Smtp-Source: AGHT+IEbvoqk7gJskuQpvUR7QPX/lNdeeNBLSgIuD9wBT+/ZZsxHmlbQkeu0Re4A25CoUWD1p6efEQ== X-Received: by 2002:a05:6808:83c8:b0:3fe:ab15:5ed6 with SMTP id 5614622812f47-404d86d8c97mr11952293b6e.12.1747925418083; Thu, 22 May 2025 07:50:18 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:3407:53d5:68cd:400d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-404e303ffcasm2228234b6e.4.2025.05.22.07.50.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 May 2025 07:50:16 -0700 (PDT) From: David Lechner Date: Thu, 22 May 2025 09:49:40 -0500 Subject: [PATCH v2 2/3] dt-bindings: pwm: adi,axi-pwmgen: fix clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250522-pwm-axi-pwmgen-add-external-clock-v2-2-086ea9e6ecf0@baylibre.com> References: <20250522-pwm-axi-pwmgen-add-external-clock-v2-0-086ea9e6ecf0@baylibre.com> In-Reply-To: <20250522-pwm-axi-pwmgen-add-external-clock-v2-0-086ea9e6ecf0@baylibre.com> To: Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , Trevor Gamblin , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Rob Herring , Krzysztof Kozlowski , Conor Dooley , David Lechner Cc: linux-pwm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1883; i=dlechner@baylibre.com; h=from:subject:message-id; bh=YwtMVRRf8kJ22avchfvJG+KxJpfzNSQSnpIwmkk1p0g=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoLzmTqUb9mqfNnT61fY09rAc1PxMF6lBQxA+kH p4Fj56HLPyJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaC85kwAKCRDCzCAB/wGP wDf4B/9JaAIz5MAT5pRx8xZXPYOs+PS3M+7aiZkLW/+RHoq7LJzMFkrItZfC2ZM/lxF+lyAYFh7 DU/RaWpha8k258skVDF4khovXUftuUzWmWcyQniitsRl1bHaUEYQknZBTRlnwPTNhZcCdbhEJuy Xkm/qR9Cyj7UDxyaOJumoRFTkoZB87K8bLYzswQuMPhSzsJ4u+z/QxdYCdl6XaR7mkFEFYclfWq /+90/4iSQ94DYD6gD6Xf3n507tqmU9GyO5eaTYPFUkeuf3aXQ9+oupM71vF3jnYjzZbp4GvkART lmJZYmDxIfrj+GRPF7bE/keYCx2xtEVZ3mVq2Xk4djAXBEHQ X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Fix a shortcoming in the bindings that doesn't allow for a separate external clock. The AXI PWMGEN IP block has a compile option ASYNC_CLK_EN that allows the use of an external clock for the PWM output separate from the AXI clock that runs the peripheral. This was missed in the original bindings and so users were writing dts files where the one and only clock specified would be the external clock, if there was one, incorrectly missing the separate AXI clock. The correct bindings are that the AXI clock is always required and the external clock is optional (must be given only when HDL compile option ASYNC_CLK_EN=3D1). Fixes: 1edf2c2a2841 ("dt-bindings: pwm: Add AXI PWM generator") Signed-off-by: David Lechner --- Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml | 14 +++++++++++= +-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml b/Do= cumentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml index bc44381692054f647a160a6573dae4cff2ee3f31..887185ba89daf6eb18ffa2cba16= 4ba546bfbcf2c 100644 --- a/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml +++ b/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml @@ -30,11 +30,20 @@ properties: const: 3 =20 clocks: - maxItems: 1 + minItems: 1 + maxItems: 2 + + clock-names: + enum: + - const: axi + - items: + - const: axi + - const: ext =20 required: - reg - clocks + - clock-names =20 unevaluatedProperties: false =20 @@ -43,6 +52,7 @@ examples: pwm@44b00000 { compatible =3D "adi,axi-pwmgen-2.00.a"; reg =3D <0x44b00000 0x1000>; - clocks =3D <&spi_clk>; + clocks =3D <&fpga_clk>, <&spi_clk>; + clock-names =3D "axi", "ext"; #pwm-cells =3D <3>; }; --=20 2.43.0 From nobody Sun Apr 19 15:06:26 2026 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) (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 E3D0928D8C6 for ; Thu, 22 May 2025 14:50:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747925422; cv=none; b=dAl/qVWdiwsUkSUkAvHN7D3QyzPatNJka4v/pOmImsvS3vG6DFnkJDxwuPRTuNawvCfojGwK0MFP3IQY9hRnZyG0lyYDBIZJDw/TWs2+7o777wKw2NDbREw6Es2ozswUsoX83qpNwW67HbS306PxhpOHabtOcMJucxriSdo/HdU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747925422; c=relaxed/simple; bh=sXRC5GBdbR1xq0omdJDO7+tBD5Mtdml522M758LFtkQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aHuU0pfwwyMYaGMyfQg4xALZi0E7L56ekg27FP7Ta/f6EhWFvF0oDe/+JFwvugAbI0pjSyZsRP/GpcHLYEWZcHf4XQ/2doBYfkuKRyTOuW0i/n9fZZW+Fbi82698wc/S7/7jAys7U+7qqpaXiMDwJny8xVlDrS2/Yml7InDs1ck= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=bfk0cAC+; arc=none smtp.client-ip=209.85.167.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="bfk0cAC+" Received: by mail-oi1-f181.google.com with SMTP id 5614622812f47-401f6513cb2so5271464b6e.0 for ; Thu, 22 May 2025 07:50:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1747925420; x=1748530220; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=H6ZkUlmfGYsEKHoNq/aO4trzwxMGuni+kLirX4lGnNU=; b=bfk0cAC+dCFtm8sKFTg3YxkoDbumVHFdRZ3bnUlGgI28nSJ8iBkhnPitsTdH1PRdSg 0lwqnNKV7AkcutIA36lZI8kF+W9yWIzyAFKb4xy/e4iz62Y31jPHrLROxM4Of/yv96gE HeY9J2AeAlKFOb98VY7o442odwUQqp0zKT54u3PE0acE/iwd29HowQrNKM51nMigIcX5 7QqBO4Cd/Hn+NTVAwBnFz1rfpjMOOeCvVrntL9+6yzMQcDWXzPlBis7sh9c+CQ8bww76 q+uCmaLleLU9dpQT5bWBranaGqCsb+56ovCFhv8nNuZisDTCQNJMEI2BnLLfkGLUtcFP +jXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747925420; x=1748530220; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H6ZkUlmfGYsEKHoNq/aO4trzwxMGuni+kLirX4lGnNU=; b=OwGmYBZWnqan3kSkPLZuuRuZOIw9chfhgBsq6BN5DWiLv1en60WfL+YpJVU9hA32h9 HgbmKS5qcwTJ/qIuEL2YBQPu18sLYXPSbvaAJ5pZ6DYyD7Cxwp5ZS96D8LUVt73oThUP Zx+Z/DYtbWWNBo2VIP8y7BM+8o+UdzCGFXfFxnisefdB3Bpzp2GwL+jdJvWFHFDk1ucT uA1NIRQiXYskQey8ZkbHcz+mAQ8k4rmPSfEP3pAP4a6/np0K98eSzmPxSTpCGGfEgk9O 7uj/8HlGTwTIvSV98lP23Q62dLG9kt5tSwud2fIeACZd6MG3y2jV0gAEwfgLSO/Qkt4a fCqw== X-Forwarded-Encrypted: i=1; AJvYcCUfsNLkIVc7HAt8ZKZ462/myeXTBcOe1W0C3U41fpiA9vsY0bj6p/RrNmB54ouKCTT/OjLd1T0tkybDSz4=@vger.kernel.org X-Gm-Message-State: AOJu0YzZzt8HbCSyATQgrNWDWTsclnDjma1mnpKZ3v1zGi7V1K1i3udb LiQQrTARyR5gs68Nc0thslA3RfOyZwt2Qca0GIeZ1FEAhOoctlzgRKBxQhusFJKjkcE= X-Gm-Gg: ASbGnctJ4/qjyclJp4Nnc/F1L9D2bplF+e7uviWd0U5PbQgBrdsSj9qtRrwTCRCP1SB kMvUx6ZZ1hCnqbbmEvnYAx/5pcsnyWoNjd1nxwPzYymSwPrs+PlyG0lPEg5RsXDAY9/ugpUYDtn 047Zk2H97DdjKF5g3Qj7P32sU4WZhShS7m+yf+3pw+YyUgJB2eyuEUBcgtMPAO1QzGILO2de57+ tyn4o98ZKp8YNK8pyZolYUdgzWf0BORuHS4wW7coXOk15X9j7GwuUu0a5k2H724NhlstOlbPPmb jmBtrzjp7ox4KD4mVurvshYGA9FM6uqFFdRyOsdFEaPKSZE9yo+DkjJSDA== X-Google-Smtp-Source: AGHT+IEdqE6obzQ0r91rq5/9sVRV62ic+mGWPgZ9kpAvQRK93m9+mk42tvkQf7w4cr4mvwdKkSbm0w== X-Received: by 2002:a05:6808:640b:b0:3ec:bf55:e33f with SMTP id 5614622812f47-404d9651549mr18206233b6e.9.1747925419913; Thu, 22 May 2025 07:50:19 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:3407:53d5:68cd:400d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-404e303ffcasm2228234b6e.4.2025.05.22.07.50.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 May 2025 07:50:19 -0700 (PDT) From: David Lechner Date: Thu, 22 May 2025 09:49:41 -0500 Subject: [PATCH v2 3/3] pwm: axi-pwmgen: fix missing separate external clock Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250522-pwm-axi-pwmgen-add-external-clock-v2-3-086ea9e6ecf0@baylibre.com> References: <20250522-pwm-axi-pwmgen-add-external-clock-v2-0-086ea9e6ecf0@baylibre.com> In-Reply-To: <20250522-pwm-axi-pwmgen-add-external-clock-v2-0-086ea9e6ecf0@baylibre.com> To: Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , Trevor Gamblin , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Rob Herring , Krzysztof Kozlowski , Conor Dooley , David Lechner Cc: linux-pwm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2789; i=dlechner@baylibre.com; h=from:subject:message-id; bh=sXRC5GBdbR1xq0omdJDO7+tBD5Mtdml522M758LFtkQ=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoLzmaAz4MV5QcXQNIWs9SGAm4Wi6RdWJWDMs/d +lRx+Bhl/yJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaC85mgAKCRDCzCAB/wGP wLlsB/0d6G2N462oRCT5nDwdSOnex5PqYCM7p383tBLgpJdLIIgUZxeXxwXrgNis2oCvyKivXlc iReHwpKrBjkmAWPCKO2+nyu9M86kSso95epNGHeZbcl1HKzSrmx9p+RoN0hmx6W6uaimhiDzuEx Nwgw/toXrzRHnTWicceOjxEM5ccisvVER3n4+2TS1UQApiOtOU4tm0o84RyafugFHD1YH5CDTCU 1LV1XlOo6zbWdYSn5rKdisFzFMNlt43n6HXCl76amEGVzG9ybjZcxIYRmqDf5YB8SzvkEp8Vlwq s1URPrlmqH0qPQPYlJEda45LpW89hVRAoRkot56qje5OdDE9 X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Add proper support for external clock to the AXI PWM generator driver. In most cases, the HDL for this IP block is compiled with the default ASYNC_CLK_EN=3D1. With this option, there is a separate external clock that drives the PWM output separate from the peripheral clock. So the driver should be enabling the "axi" clock to power the peripheral and the "ext" clock to drive the PWM output. When ASYNC_CLK_EN=3D0, the "axi" clock is also used to drive the PWM output and there is no "ext" clock. Previously, if there was a separate external clock, users had to specify only the external clock and (incorrectly) omit the AXI clock in order to get the correct operating frequency for the PWM output. The devicetree bindings are updated to fix this shortcoming and this patch changes the driver to match the new bindings. To preserve compatibility with any existing dtbs that specify only one clock, we don't require the clock name on the first clock. Fixes: 41814fe5c782 ("pwm: Add driver for AXI PWM generator") Signed-off-by: David Lechner Acked-by: Nuno S=C3=A1 Reviewed-by: Trevor Gamblin --- drivers/pwm/pwm-axi-pwmgen.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/drivers/pwm/pwm-axi-pwmgen.c b/drivers/pwm/pwm-axi-pwmgen.c index 4337c8f5acf055fc87dc134f2a70b99b0cb5ede6..60dcd354237316bced2d951b7f0= b116c8291bb0d 100644 --- a/drivers/pwm/pwm-axi-pwmgen.c +++ b/drivers/pwm/pwm-axi-pwmgen.c @@ -257,7 +257,7 @@ static int axi_pwmgen_probe(struct platform_device *pde= v) struct regmap *regmap; struct pwm_chip *chip; struct axi_pwmgen_ddata *ddata; - struct clk *clk; + struct clk *axi_clk, *clk; void __iomem *io_base; int ret; =20 @@ -280,9 +280,26 @@ static int axi_pwmgen_probe(struct platform_device *pd= ev) ddata =3D pwmchip_get_drvdata(chip); ddata->regmap =3D regmap; =20 - clk =3D devm_clk_get_enabled(dev, NULL); + /* + * Using NULL here instead of "axi" for backwards compatibility. There + * are some dtbs that don't give clock-names and have the "ext" clock + * as the one and only clock (due to mistake in the original bindings). + */ + axi_clk =3D devm_clk_get_enabled(dev, NULL); + if (IS_ERR(axi_clk)) + return dev_err_probe(dev, PTR_ERR(axi_clk), "failed to get axi clock\n"); + + clk =3D devm_clk_get_optional_enabled(dev, "ext"); if (IS_ERR(clk)) - return dev_err_probe(dev, PTR_ERR(clk), "failed to get clock\n"); + return dev_err_probe(dev, PTR_ERR(clk), "failed to get ext clock\n"); + + /* + * If there is no "ext" clock, it means the HDL was compiled with + * ASYNC_CLK_EN=3D0. In this case, the AXI clock is also used for the + * PWM output clock. + */ + if (!clk) + clk =3D axi_clk; =20 ret =3D devm_clk_rate_exclusive_get(dev, clk); if (ret) --=20 2.43.0