From nobody Sun Apr 5 19:49:52 2026 Received: from mail-pg1-f225.google.com (mail-pg1-f225.google.com [209.85.215.225]) (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 BC691248896 for ; Tue, 24 Feb 2026 01:48:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771897698; cv=none; b=j7bX+HPvmqKXux0bdbE+jxHJAkZJ52HtAtC2FAGGwNNnFU6qLXnzh7W3CGqWGNFZ/VeqStornxl0MINLgoVEWlM1ydpVDOwulcCIgaOyG62qmHfxoC8udbgCo2CDQfIONUvHkDVF0oIxqpVpXF6awvBcRPkTlCJJlRM+PYcIw9s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771897698; c=relaxed/simple; bh=+B14oxUn7oR05xPGu7DidDvDnKJkZl6987HT7GLwCp8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=j7rjewF1BEPnR7Vka7buAWlz/a4hEbL3p96kRVk1IrkiS+Uz5HPBmWzUyed3TzNHDVVni0uf+SiTaoBl9yFbUtFY0QBdKRb/lAAYCStqtzOJ7z07zkst96QhfMK0hQWM4YSmdykWGM5b79YgSTen6ArsRpfw6/zJW7pUMIcXzno= 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=Xcfjs/qS; arc=none smtp.client-ip=209.85.215.225 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="Xcfjs/qS" Received: by mail-pg1-f225.google.com with SMTP id 41be03b00d2f7-c6e1e748dc1so1373064a12.1 for ; Mon, 23 Feb 2026 17:48:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771897697; x=1772502497; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=a34nkWKk0xxrzLr59oDck6ElSUS/E6YyWVngWLMX0No=; b=vEjFd/hvQys1/y3i80vUqLkFvkCJTL39CIUnlr9bAhYngd4HKIhuY7H7A144HeasHF PdVg8X9PIjUeugjAAtLWozENBQsPeTei43hGVKyE4nff5ilWpEpzU54pcNJpNP/0XTpI PLgOBIErNmAwQgvAGzGMIDVcRgLTmB4Pti3U0qKzC5pXw2+YAhZwe48bKzitx4e1fVg/ pEBfmYGTeakAht6lb1JUYfKc7DpkbCYWKBaIzWomfdEs3kXria6d/RpZ+pVt0w5U03Vh 7yejzKajveK4mxUraz5DCdk6LctJD1l7wDOHZqxZWlGC9LHifsv/Z7VhvNFfDOdX9tAQ 3oHg== X-Forwarded-Encrypted: i=1; AJvYcCVErHr8m2cMkNLBB/7MOggEPMbikWpJ86KUGoFr5PLK8jolKk936Kw4ujA5QNOAPTQBnuT9d3u7r009TSA=@vger.kernel.org X-Gm-Message-State: AOJu0YxBpH7wD+RkWkMpoQBlKohvL1Sb9ER+qOmH1Yi0p1FDwZ3Yk5nr HDrD8/yv8DD0LE4mdml7qxyLcb5W89dApEGN2jG7S+PVFuSJTV94fC919fb2TFaIBRCuFfosWuf thvnH7VR4ohd43dKV2DND290BqSZARzShsGEhLt8g3QD3/sySvbzDvXLyn34unB4Pi1PfKfegTE GrUz1ApYAHgruyU1dvFyhV5vGAmYYFLF4VN2ENpTZ71SuAbNke+05RuWrBZuGt5GaephOK8KlP0 6FoorUDQeHhkZ3F X-Gm-Gg: ATEYQzyxfY1aECVkNp94AfbLFff0z2raXq5yrwe6qYzEDPDfm/rbWWcdh6x+cwytCGf yyxfco5OAmnqIeITlK2e4QRRZJfn3UA8CbauWgFvc14cT8wUaFGNI9fKsqq/4fDID3D/SzcnxGC Je49Xbgf6tdfOAa067N2NQ2JK9dNkOQGiYOAFbvjVOU64JLb6veK3JbsepwNjtEZps+fi70+anw /qmalbpMACu6HFmJcQGuWo6vw0tKs1HovQ38jlQqjkf3fAK8F6niyLgSHdTY2Blm8Xmew2fmveX JYbifxRbwDdTIQxJgRfNU4pnoSfrZNxUTTOsQSMTJik2mekFr8a3Na3y/0nmOhCsDUe5Iv0uV+q nqOLRW+FlfsPXNwSrFECVMLzMnS4uIR58TCLajbojY7fCiDP1JY2TKftWA8apEr9sQIOp3DdAsD mVlIm2khUXZBIp4XQtQTUIJkDLf5KTVikHrq/fv3s92XblnPTB8Od4bA8I X-Received: by 2002:a17:90b:54c8:b0:34f:6ddc:d9de with SMTP id 98e67ed59e1d1-35898581006mr13166401a91.16.1771897696975; Mon, 23 Feb 2026 17:48:16 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-103.dlp.protect.broadcom.com. [144.49.247.103]) by smtp-relay.gmail.com with ESMTPS id 98e67ed59e1d1-3589d837752sm1787361a91.5.2026.02.23.17.48.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Feb 2026 17:48:16 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-12734af2ca4so4194742c88.0 for ; Mon, 23 Feb 2026 17:48:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771897695; x=1772502495; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=a34nkWKk0xxrzLr59oDck6ElSUS/E6YyWVngWLMX0No=; b=Xcfjs/qSyOXcA8EG8HFa6mJfZDBP2ZX0FBPBWQhZLSOQSS0zufkrSYnpWgkFBM4wMa 2rmkt2y022UAPlr+m1nvSCiyT5WHDCoZxwTpYMnvYRDfoKtvoyfmr6eTxKfEbU4d+RTo iyJMfoAl0LtGCc4w/sZ7OBsRog5cRlkyQkqdc= X-Forwarded-Encrypted: i=1; AJvYcCWiPY6vOGeyUhkkFlXxCiNJ+FZ14OxNEnvtmHTBPpowSRvWkdeJf9an1FVnCH8bDk+7ke6weDlh7b7r8wE=@vger.kernel.org X-Received: by 2002:a05:7022:2529:b0:11b:3eb7:f9d7 with SMTP id a92af1059eb24-1275fa9e0bemr6403275c88.14.1771897695214; Mon, 23 Feb 2026 17:48:15 -0800 (PST) X-Received: by 2002:a05:7022:2529:b0:11b:3eb7:f9d7 with SMTP id a92af1059eb24-1275fa9e0bemr6403264c88.14.1771897694586; Mon, 23 Feb 2026 17:48:14 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1276af102d9sm8470964c88.1.2026.02.23.17.48.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Feb 2026 17:48:14 -0800 (PST) From: Kamal Dasu To: andersson@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: baolin.wang@linux.alibaba.com, florian.fainelli@broadcom.com, bcm-kernel-feedback-list@broadcom.com, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kamal Dasu Subject: [PATCH v5 1/3] dt-bindings: hwlock: Adding brcmstb-hwspinlock support Date: Mon, 23 Feb 2026 20:47:56 -0500 Message-Id: <20260224014758.2660318-2-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260224014758.2660318-1-kamal.dasu@broadcom.com> References: <20260224014758.2660318-1-kamal.dasu@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Content-Type: text/plain; charset="utf-8" The Broadcom settop SoCs have hardware semaphores as part of the "sundry" IP block which has other controls that do not belong anywhere else e.g. pin/mux controls, SoC identification, drive strength, reset controls, and other misc bits are part of this block. Adding brcmstb-hwspinlock bindings which allows the hwspinlock driver to iomap only the 16 hardware semaphore registers that are part of all settop SoCs. The semaphore registers are based on the BCM7038 SoC where they were first introduced in settop chips. Signed-off-by: Kamal Dasu --- .../hwlock/brcm,brcmstb-hwspinlock.yaml | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwlock/brcm,brcmstb-h= wspinlock.yaml diff --git a/Documentation/devicetree/bindings/hwlock/brcm,brcmstb-hwspinlo= ck.yaml b/Documentation/devicetree/bindings/hwlock/brcm,brcmstb-hwspinlock.= yaml new file mode 100644 index 000000000000..416d8d2948af --- /dev/null +++ b/Documentation/devicetree/bindings/hwlock/brcm,brcmstb-hwspinlock.yaml @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/hwlock/brcm,brcmstb-hwspinlock.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom Settop Sundry Block Hardware Semaphore + +description: + Broadcom settop SoCs contain 16 hardware semaphore registers + (SEMAPHORE_0 through SEMAPHORE_15) that provide hardware-arbitrated + mutual exclusion between drivers running on the SoC. + + The semaphore registers belong to the sundry hardware block. The + node describes the semaphore register range carved out of the larger + sundry block address space. + +maintainers: + - Kamal Dasu + +properties: + compatible: + const: brcm,bcm7038-sun-top-ctrl-semaphore + + "#hwlock-cells": + const: 1 + + reg: + maxItems: 1 + +required: + - compatible + - reg + - "#hwlock-cells" + +additionalProperties: false + +examples: + - | + hwlock@404038 { + compatible =3D "brcm,bcm7038-sun-top-ctrl-semaphore"; + reg =3D <0x404038 0x40>; + #hwlock-cells =3D <1>; + }; + --=20 2.34.1 From nobody Sun Apr 5 19:49:52 2026 Received: from mail-qk1-f225.google.com (mail-qk1-f225.google.com [209.85.222.225]) (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 3EDBF23FC41 for ; Tue, 24 Feb 2026 01:48:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771897703; cv=none; b=b8Fws8EoR6QxBz56PqgYoLSr5vpc8TD9pJF8TCJPLgP8h5s2cOPDSP9sPmdckjMO+jKiQUZPIs+evzGxDeiQ218zu91rVvhhBQ7a/cwLg6589k7uaH4S0H+OHswZaAcKYahlI3XOo0A5Nqi+CvSfWSvawQc7BcCYXadRRDTQo/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771897703; c=relaxed/simple; bh=5oVJd2K0SSd/g7EHCAssVRhoQWOkXnnMU02dVY35emo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=KHmeG5qja2sw/cPRAM3ERzp16sXqIoCL7t4Sdhaup+gOfWCb+TtOkBnOQA5hrxTkHkW3yem1dPDkX4Ue673Sqd7vI6dLi51lwxljxaiDcUMA+vtZqPvXGPwrlRawAZ/PGP57VEg8M1mHJ2dkFkGGJL2H3TEzyma9aPuaL5YJctQ= 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=I7SGlNIN; arc=none smtp.client-ip=209.85.222.225 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="I7SGlNIN" Received: by mail-qk1-f225.google.com with SMTP id af79cd13be357-8c9f6b78ca4so618553685a.0 for ; Mon, 23 Feb 2026 17:48:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771897700; x=1772502500; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ODday1WVPLIDMOZF0cQx8EO46XTC+ThUzCG+rg0DrFk=; b=IH+ogrFKwvY/m9hF4P+nOEP2Ts1P3EdSeWnjKhEGjQOLe6X2BuVL2LfiBrVCWa3W3B 0UkyMmABPy8/hcvuIW1OtBZUH7fI7ViFxGn7w+IHRQXfIc3EvA3XANwkFyg8Bqc4mOYZ lZ+wNR4DPyySKIJj97f12o8oAP2R+LWomqts2pzERUJqCJFv5mgqoY2xQ4RzJE8VhNLI Q0glud5M18O69Gvnl+syAyc/atxVi4CX4vI3c5cDTt+RGPgHHrdwOyfoJzHDLe9x+4xk riu7Z97S7o89tdzlbX8a/mr+WrmfTNsUywV9dbK/taaPHdzA65xwCliWO9MrnL2i7EgM 7UAA== X-Forwarded-Encrypted: i=1; AJvYcCXsB8DnDUcN/NKFJ9aMmBdPhrk3dCFdPstB1kwas/jksaTiKEFg/S79Zdw//rotqNSablOjTdD0n+8J+G4=@vger.kernel.org X-Gm-Message-State: AOJu0YxhZcQWnheVW3hfKSESy5Ae1oCUoP8DCMo4XewKcB0eeOr8Phmy 0qB6hBqzYddf52OhVIEMl/RtkLPq8pDIAbnOCGccCpumna6E9HUH/3wva7vANJHuKSr9M8uK7Cz XPEeT5ywUJ4zgVgkvuN9FKLkwf1a7dgmQNZKOXmWEN6GgS2Hh8aL3FBIwHzNvlTLD3Vuxdc5P5S Ti9MR5OxqdXhifQ16kOlSOH487WGS3eR9c87MxxKGxU3pB6d6CvgKR5ruqSasff4sfYrkKHutpi QwjiNOoeGn2sI28 X-Gm-Gg: AZuq6aIIy9DICkXFujaObRhMv3IUlzGZZyX5iphf2pn7ua+2Wn3H8wBg2/i1dLadxtT 3q78DlWDziILxjPB7z7KE25uPxTAcZF+us+tEhnvdFq02dgWhyHfGcAjOAxBsoY2BAo/lVILkFv 8WX35F4Q7xWGE0GcEhyj0o+ozVSu2Ci5JKk6OwWqkwhbOAbqB2u3a4yN+RjqXmllQT/UzDPErhP evM6tuh6EMNZ0yd8ZcbFpVI82ZcTEgijAiQajQkwfHtgZp6nyj3jsKsFuUAS1pPZ3f3OtemquAX 7XTAYk0m79DdWfrdTrTGwTJpgFV0VaPz8mk4wIsO5I9+QU8GO07uDZG3mKq6kZ2NtdN9Ork+Zcu 5CYJvka8nn7cBRUcM3ODr4P9Oq4fo2zp/Vfgef81B0JVxFiLqYVGFjHIVDmQU6fmXW7UJkw3liL duIT+ux0KB17kvrX3VWxniqouxpzhgDLSPKqF0bsnK5uyzy2n60Q16TeJA X-Received: by 2002:a05:620a:4006:b0:8ca:3f06:c565 with SMTP id af79cd13be357-8cb8ca8c412mr1461114785a.68.1771897699911; Mon, 23 Feb 2026 17:48:19 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-103.dlp.protect.broadcom.com. [144.49.247.103]) by smtp-relay.gmail.com with ESMTPS id 6a1803df08f44-8997c699717sm10745526d6.7.2026.02.23.17.48.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Feb 2026 17:48:19 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2bd2a2028c5so7418751eec.0 for ; Mon, 23 Feb 2026 17:48:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771897699; x=1772502499; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ODday1WVPLIDMOZF0cQx8EO46XTC+ThUzCG+rg0DrFk=; b=I7SGlNIN/MHj0U+52psWqx9w/9JbSggb1PnDI+/qIoA3k224uL3u1jC1yyYnWBT7R2 J4eD1eSJBDdexVMJRhu4J9kxZcMtm9g5jUwb8zL0U2meq2UXeHUx2FzHk1o1eE0DVHbO zV5mUtUjWw8OUMDSlibbJLoTijeCG+4esmd1g= X-Forwarded-Encrypted: i=1; AJvYcCWp8knZgSuDsWWEbmKQftfSfEXPMl4/iJdAG0Qj/35c2ZK+1DDXFjcDa87AbFhf08U9yFa9b6GHvDSpYEA=@vger.kernel.org X-Received: by 2002:a05:7300:2152:b0:2b7:1d38:3596 with SMTP id 5a478bee46e88-2bd7b9d5477mr3656031eec.4.1771897698425; Mon, 23 Feb 2026 17:48:18 -0800 (PST) X-Received: by 2002:a05:7300:2152:b0:2b7:1d38:3596 with SMTP id 5a478bee46e88-2bd7b9d5477mr3656015eec.4.1771897697765; Mon, 23 Feb 2026 17:48:17 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1276af102d9sm8470964c88.1.2026.02.23.17.48.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Feb 2026 17:48:17 -0800 (PST) From: Kamal Dasu To: andersson@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: baolin.wang@linux.alibaba.com, florian.fainelli@broadcom.com, bcm-kernel-feedback-list@broadcom.com, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kamal Dasu Subject: [PATCH v5 2/3] hwspinlock: brcmstb hardware semaphore support Date: Mon, 23 Feb 2026 20:47:57 -0500 Message-Id: <20260224014758.2660318-3-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260224014758.2660318-1-kamal.dasu@broadcom.com> References: <20260224014758.2660318-1-kamal.dasu@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Content-Type: text/plain; charset="utf-8" Broadcom settop SoCs have common 16 hardware semaphore registers that can be used as part of the kernel hardware spinlock framework. The hardware semaphores are part of the 'sundry' ip block that also has controls like pin/mux controls, SoC identification, drive strength, reset controls, and other misc bits. Adding support for brcmstb_hwspinlock that only maps sundry block registers SUN_TOP_CTRL_SEMAPHORE_[0:15] to implement the hardware spinlock operations. Change allows other Broadcom settop drivers to call hwspin_trylock() and hwspin_unlock() interfaces to make use of hwspinlock framework. Other driver dt nodes just need to provide a reference to the &hwspinlock and lock id to make use of a particular hardware lock. e.g. hwlocks =3D <&hwspinlock0 0>; Signed-off-by: Kamal Dasu --- drivers/hwspinlock/Kconfig | 11 ++- drivers/hwspinlock/Makefile | 1 + drivers/hwspinlock/brcmstb_hwspinlock.c | 96 +++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 drivers/hwspinlock/brcmstb_hwspinlock.c diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig index 3874d15b0e9b..9b7f7bcce14b 100644 --- a/drivers/hwspinlock/Kconfig +++ b/drivers/hwspinlock/Kconfig @@ -8,6 +8,16 @@ menuconfig HWSPINLOCK =20 if HWSPINLOCK =20 +config HWSPINLOCK_BRCMSTB + tristate "Broadcom Settop Hardware Semaphore functionality" + depends on ARCH_BRCMSTB || COMPILE_TEST + help + Broadcom settop hwspinlock driver. + Say y here to support the Broadcom Hardware Semaphore functionality, wh= ich + provides a synchronisation mechanism on the SoC. + + If unsure, say N. + config HWSPINLOCK_OMAP tristate "OMAP Hardware Spinlock device" depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX || SOC_AM33XX || SOC_AM4= 3XX || ARCH_K3 || COMPILE_TEST @@ -62,5 +72,4 @@ config HSEM_U8500 SoC. =20 If unsure, say N. - endif # HWSPINLOCK diff --git a/drivers/hwspinlock/Makefile b/drivers/hwspinlock/Makefile index a0f16c9aaa82..35f2d94d8ba2 100644 --- a/drivers/hwspinlock/Makefile +++ b/drivers/hwspinlock/Makefile @@ -4,6 +4,7 @@ # =20 obj-$(CONFIG_HWSPINLOCK) +=3D hwspinlock_core.o +obj-$(CONFIG_HWSPINLOCK_BRCMSTB) +=3D brcmstb_hwspinlock.o obj-$(CONFIG_HWSPINLOCK_OMAP) +=3D omap_hwspinlock.o obj-$(CONFIG_HWSPINLOCK_QCOM) +=3D qcom_hwspinlock.o obj-$(CONFIG_HWSPINLOCK_SPRD) +=3D sprd_hwspinlock.o diff --git a/drivers/hwspinlock/brcmstb_hwspinlock.c b/drivers/hwspinlock/b= rcmstb_hwspinlock.c new file mode 100644 index 000000000000..7a5a35e741f3 --- /dev/null +++ b/drivers/hwspinlock/brcmstb_hwspinlock.c @@ -0,0 +1,96 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * brcmstb HWSEM driver + * + * Copyright (C) 2025 Broadcom + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "hwspinlock_internal.h" + +#define BRCMSTB_NUM_SEMAPHORES 16 +#define RESET_SEMAPHORE 0 + +#define HWSPINLOCK_VAL 'L' + +static int brcmstb_hwspinlock_trylock(struct hwspinlock *lock) +{ + void __iomem *lock_addr =3D (void __iomem *)lock->priv; + + writel(HWSPINLOCK_VAL, lock_addr); + + return (readl(lock_addr) =3D=3D HWSPINLOCK_VAL); +} + +static void brcmstb_hwspinlock_unlock(struct hwspinlock *lock) +{ + void __iomem *lock_addr =3D (void __iomem *)lock->priv; + + /* release the lock by writing 0 to it */ + writel(RESET_SEMAPHORE, lock_addr); +} + +static void brcmstb_hwspinlock_relax(struct hwspinlock *lock) +{ + ndelay(50); +} + +static const struct hwspinlock_ops brcmstb_hwspinlock_ops =3D { + .trylock =3D brcmstb_hwspinlock_trylock, + .unlock =3D brcmstb_hwspinlock_unlock, + .relax =3D brcmstb_hwspinlock_relax, +}; + +static int brcmstb_hwspinlock_probe(struct platform_device *pdev) +{ + struct hwspinlock_device *bank; + struct hwspinlock *hwlock; + void __iomem *io_base; + int i, num_locks =3D BRCMSTB_NUM_SEMAPHORES; + + io_base =3D devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(io_base)) { + dev_err(&pdev->dev, "semaphore iobase mapping error\n"); + return PTR_ERR(io_base); + } + + bank =3D devm_kzalloc(&pdev->dev, struct_size(bank, lock, num_locks), + GFP_KERNEL); + if (!bank) + return -ENOMEM; + + for (i =3D 0, hwlock =3D &bank->lock[0]; i < num_locks; i++, hwlock++) + hwlock->priv =3D (void __iomem *)(io_base + sizeof(u32) * i); + + return devm_hwspin_lock_register(&pdev->dev, bank, + &brcmstb_hwspinlock_ops, + 0, num_locks); +} + +static const struct of_device_id brcmstb_hwspinlock_ids[] =3D { + { .compatible =3D "brcm,bcm7038-sun-top-ctrl-semaphore", }, + { /* end */ }, +}; +MODULE_DEVICE_TABLE(of, brcmstb_hwspinlock_ids); + +static struct platform_driver brcmstb_hwspinlock_driver =3D { + .probe =3D brcmstb_hwspinlock_probe, + .driver =3D { + .name =3D "brcmstb_hwspinlock", + .of_match_table =3D brcmstb_hwspinlock_ids, + }, +}; + +module_platform_driver(brcmstb_hwspinlock_driver); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("Hardware Spinlock driver for brcmstb"); +MODULE_AUTHOR("Kamal Dasu "); --=20 2.34.1 From nobody Sun Apr 5 19:49:52 2026 Received: from mail-yw1-f226.google.com (mail-yw1-f226.google.com [209.85.128.226]) (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 D4FD824A07C for ; Tue, 24 Feb 2026 01:48:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.226 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771897705; cv=none; b=Kra735p96Ny1FTyzl3l6LyqarvwR/leiu8eyYBrLT/HzSVUtdlBsLZI7ozyxWi7O/62h3odpDHPUaDmasF4My6YczimsDQGEKzQYvfXuvMbp9iFbzsNSAaI/NwFqWFrPFVbS7rmPIXEmZizoQjkO/pqgZ+jczvLnOHFSfNaGR4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771897705; c=relaxed/simple; bh=ymgJ32QMNYCUin60FKOe1Z68d7hZB5lDstBRZvKPO2s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=BANYbP+r9YwG3HD23/HRLEF5ftnXlnhO+O4WQCvU2xo44fUVejDcCuHcGcL9+tgcU7RL/l+6FU5pnsn68zeQ+qrXrVumN2Qfz6oKa1l30OImdBaj9bMSC79HJz4h6d61sNCIW9XzwyvIQqQvXk6yyxXq1KaaL3Y0poFT+uzUaVs= 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=UXC4fXeG; arc=none smtp.client-ip=209.85.128.226 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="UXC4fXeG" Received: by mail-yw1-f226.google.com with SMTP id 00721157ae682-79495b1aaa7so44094977b3.1 for ; Mon, 23 Feb 2026 17:48:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771897703; x=1772502503; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=yEEHWNvLAhr/ZF6L79UPjbW5kaI9Zew8uBravIkb5jI=; b=XzEjVwTNveXByvyPAF36yD1UhnQHKtwKGp6LvAITbneSrHps0YpAK+kCTyPtxzn9dJ ckCydwWzay8QavVrkLRkAQ+2zZHdlbFimB4Np0IYCcyzPT4BtkGr3KS8ZFcrJE4mguMS RKT+wjcehpZ92WbUU0mVnhhi9+9pgsY7abn8sayRWK0psB4ZPPTAXI/Ue+A2vLxOOmB0 UssPMXI+LWhhQ6m3fVF0CEt0FcXqILGMzbzzlhW+Z4EtjzuFAgePf/wWQG6DvijiuQOx VXs2n2efsXxhIbeClM2KlQ/KZtmnSkCTQoF+3ArXNwXWEP7E6eAHyNvD94IfJsvnCCkE gK7w== X-Forwarded-Encrypted: i=1; AJvYcCWLQFLcbNP/t+MPUXUhIuf9IauieMWv7d0eEOTqflcTyU5SRHbnYXUJ9VQZQ42blIGz2emBIxtH2Q7RmPc=@vger.kernel.org X-Gm-Message-State: AOJu0YyPHTSRvPnFPSgjjn2ZsPQxMswFbsnZrblrVh0MRRuelrO04vNG Ptc7SnFb1/izztFUHGSBcLaUhB7wF3CMZBXN4TOJGbie4NMA84kX9bZdFYJTBs7skt6GEBalas4 Kj9Yq+9ZCgdcBzGwM/MSVPI1UUsB0KOPzoxO+CVoQx1sI3si19GA+AESiJoWPeOVhhrMW66EKKG 5vqSatIWY6hEjJAEs/8U3+aIvxgpUuaQvhSjUSB8RvBT5vHlMUrSwsUt5QPm3cGZH1TAP8tWlXt SDAIRUCFWBgkcOr X-Gm-Gg: ATEYQzxBMBczrPd5ffGjW5GcGHTEEyov+8eHh80OQlF6uoW2TguZPFgFKFTt6KWtbwu kyD37D3HVr0K8NNJndl+6ummxpPQfdiJ47TUsUakXNFClw3NmYdpBz6wT7RNql8isiD2nutouH2 0mqVtBGzm6tIjerecHpm3PX1gNG6XK2HSATdwKwo0hlKKbG/OdQvIbR9uFtSkNgasyWXL+1j2Zo 7ukv8k4nppWUd61ZtC2K2LFKG6WGNZdJcYku2sqxwF33Kllm1hi2cdKInqDwmQ126ZDcMvPyWLm UKm0JtG4r/V26lFEFWHRCRvSSr2hCxp3y8PB2DNC+kfSLutEWB1XwfxhdzBqBQbxUw7Eg5MaACN +2/QZR48jGToMh0nMMVXsS9Mbk0+luvUlLmtH6ZVhKcRisWLXgFuHa7geuJOw8MTkjHJOB/tK87 UW8XdJa2mmTtG6kQeSQDYUKeWArrGEVu7Yhz2ljV4OIB42UFpr0AsrO28M X-Received: by 2002:a05:690c:a75a:b0:796:3787:39b2 with SMTP id 00721157ae682-79829002a28mr80216907b3.30.1771897702842; Mon, 23 Feb 2026 17:48:22 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-118.dlp.protect.broadcom.com. [144.49.247.118]) by smtp-relay.gmail.com with ESMTPS id 00721157ae682-7982ddd9fb2sm10835027b3.25.2026.02.23.17.48.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Feb 2026 17:48:22 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dl1-f69.google.com with SMTP id a92af1059eb24-12711967e0eso6936621c88.0 for ; Mon, 23 Feb 2026 17:48:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771897702; x=1772502502; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yEEHWNvLAhr/ZF6L79UPjbW5kaI9Zew8uBravIkb5jI=; b=UXC4fXeGU3zwXk9gyYffG8/aaq0g4GLDoYLeiDwNOt5DSOSeBNqDIHI0GXj+QfsplU ghpj4NjiMIdTrZcsIfYt/OvtRCOor3ZpATc/ZuVwmBnQbeXAdUVtC9PsbaD1mWKnG4Mr 487cOiS3pDCUPZPAsEiLmbgDbMvfU4+CKCRZ8= X-Forwarded-Encrypted: i=1; AJvYcCV6f6JXakwV0JKpsLCSqnIcJ+Tv1KHVFpOy6y3xBaLeR60EL2eQA5OM2ZMhXOe40Zltw+ORQbQiRaNeMRk=@vger.kernel.org X-Received: by 2002:a05:7022:2214:b0:11a:273c:dd98 with SMTP id a92af1059eb24-1276acc4db8mr4490760c88.20.1771897701612; Mon, 23 Feb 2026 17:48:21 -0800 (PST) X-Received: by 2002:a05:7022:2214:b0:11a:273c:dd98 with SMTP id a92af1059eb24-1276acc4db8mr4490750c88.20.1771897701103; Mon, 23 Feb 2026 17:48:21 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1276af102d9sm8470964c88.1.2026.02.23.17.48.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Feb 2026 17:48:20 -0800 (PST) From: Kamal Dasu To: andersson@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: baolin.wang@linux.alibaba.com, florian.fainelli@broadcom.com, bcm-kernel-feedback-list@broadcom.com, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kamal Dasu Subject: [PATCH v5 3/3] MAINTAINERS: adding entry for BRCMSTB HWSPINLOCK driver Date: Mon, 23 Feb 2026 20:47:58 -0500 Message-Id: <20260224014758.2660318-4-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260224014758.2660318-1-kamal.dasu@broadcom.com> References: <20260224014758.2660318-1-kamal.dasu@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Content-Type: text/plain; charset="utf-8" Adding myself to the maintainers list for the hwspinlock driver on broadcom settop platforms. Signed-off-by: Kamal Dasu --- MAINTAINERS | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index b8d8a5c41597..c5971cbcf087 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5249,6 +5249,14 @@ S: Supported F: Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.yaml F: drivers/gpio/gpio-brcmstb.c =20 +BROADCOM BRCMSTB HWSPINLOCK DRIVER +M: Kamal Dasu +R: Broadcom internal kernel review list +L: linux-remoteproc@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/hwlock/brcm,brcmstb-hwspinlock.yaml +F: drivers/hwspinlock/brcmstb_hwspinlock.c + BROADCOM BRCMSTB I2C DRIVER M: Kamal Dasu R: Broadcom internal kernel review list --=20 2.34.1