From nobody Sun Apr 5 13:13:06 2026 Received: from mail-ot1-f98.google.com (mail-ot1-f98.google.com [209.85.210.98]) (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 DEC15329E5A for ; Thu, 19 Feb 2026 21:57:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771538237; cv=none; b=klkUzs+YlTa6ZmO0n2LAdgd9V7E3vovjINOpLOoAr50e+mq9sxNDzsxk9g1tFyYRZ0NILrG0VWOenuZxU3ZBzdobqqvapNfr48nMURg4g3HxZNZhc0XrzzgaTFcKARdzlTF3pI2Eq5RHOpVFcOwYawtPx9ejglGboLMGdKVtA6s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771538237; c=relaxed/simple; bh=ZwaEEQqBBpQ9VvCQhaci+MXdObqlEzR3y2j2LYPFfB0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=HjpsycUv4KU44LN1grWsprzqmcoqwm8f6+cqQyDj4eUGm4sQmMSGHM3zHHahMDlZjsAw9IgsB10vlKrSH5C+1kPBCPF91wZyWgpDLihiwRzUfmSm1xDfVjQ1uh6m8GjRPlBsD79H2wTAez131ZYTl3DVveBoz5h6b5HAlX69q38= 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=Ny947fNA; arc=none smtp.client-ip=209.85.210.98 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="Ny947fNA" Received: by mail-ot1-f98.google.com with SMTP id 46e09a7af769-7d4c1d2123dso1303178a34.2 for ; Thu, 19 Feb 2026 13:57:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771538235; x=1772143035; 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=BQ1MmI1k/9HenpReSZ3vHACiJQQcYWd1RGFuc30M+ps=; b=UsfXUS5o8VpjUGboHX08WbHsMu7vN9DW+eyielQyz0j3SzNVUE6s6+kuClfXqV18yP BnFw3sg6i2dbwjVwtLl7WuSrCZRES/4p3p2bHD8fMkAQ2wTezcJ6nvGwguTBgCzfXfbC FAN+0a6e5k5w8EyON8MAJRY7/x79aHgY6C53bsKL2ur7CgnCT6EHgrVh8B+LsS6Y4RVY iDrs8BcrKv384e7rEgUmiCoYJyJ6D/CJ3v0hXxGPMgzim4LWQrsdKyMbEK7IWuBwEzH3 w/TAZqGhZtMUJhOuXksIrFXnoMPm15eufg0EZeF9xPiNohvNgR2o8oYEVVSzHxaYP4pP HhtQ== X-Forwarded-Encrypted: i=1; AJvYcCVtxj0+WIgCPPmKwpWtWxeTCd51sPhZ/duhJE/SdHPc9y1ACPPO88Z8hEwJ8l7rQb4jfAiC1W46e5hLQQw=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0W6Tqh+p7MO3SiJBXGZkJMf7ZbAXInu9Ta/2iQ3sGN7LnHpsV vMp4A7HvB/SCTS+WU3LzHZpdYBqcCOBR8/iUDLJTNmMc9yIYSf28KYHq7Xn8Mq/r4jPLoHMUeQE pkJgUkzs/a5SUnYNMeSbPvabFLp2bXopMH1wnW9TaY6embjJkjgsGuh040SH0MSUqoHCd1PXDfh jROXaiY4O/8YPKTj9litX2RWVe20ynK2LEJ4lTF1CJVe2A1LbN6pVszZBB8JznJbnpMib5MV8kA HJITHrSsb89Pfib X-Gm-Gg: AZuq6aKMgnmbvixbchDV4sRQpDcWFJcnmqY4B2Km/5d0szo2x0Stp0kn6kwbbcLO0gw BMDfjbmdIUStTzvsOfiZBGYkJt0Hp8kgkuvyfx9qFFjh40PkiL3Vrruf7PmKMpZN4MtqkT1eKgS r45Pbu7PUsBBWYnTjPgBYA0cKxqk9sBzGhb/CQSVuzcOr3GLsheuQzfJO6vI0U7rs9RGs3DATJ+ kVNygYPMce1yaHqeQRCT9qkrRcbxnfX61NkNNCENl81HdVgnUKfQsGbl82S3SvPmAKiGBZq8ubg irhL7NQENaoHNqvPNPtBF6I/nsDaJHqwYhlXToWkHvk9I2NO/vqlk2kxRJHzGJyFJ/3mKuga+4B zH4AnyzrrXGdrT7nXJuR7KN9hSYK4JWCiWoh/frgPIlyCBbmhUrjsT+Pizl8+P8UWZF+G9QIBBl soLaHn60Be7XPFlNxAEwxOS+gE0rqSwU7THqloxev6cHsVlEN0kHw= X-Received: by 2002:a05:6830:dc5:b0:7cf:d168:2107 with SMTP id 46e09a7af769-7d505e4c0d1mr4770807a34.36.1771538234696; Thu, 19 Feb 2026 13:57:14 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-2.dlp.protect.broadcom.com. [144.49.247.2]) by smtp-relay.gmail.com with ESMTPS id 46e09a7af769-7d4a75cf928sm3803927a34.5.2026.02.19.13.57.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Feb 2026 13:57:14 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2a7b7f04a11so83030795ad.3 for ; Thu, 19 Feb 2026 13:57:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771538233; x=1772143033; 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=BQ1MmI1k/9HenpReSZ3vHACiJQQcYWd1RGFuc30M+ps=; b=Ny947fNAq4qo87kcSSV1zkkeUsZ2fC7JnQFdYxRo9RiSiscqZDB3OusGPp93FSd0kI s6djnRpwKHVYqwZ57m/yuSjwaE5l/bzykKKcJbiPveKn4hyS7l9F1+AKIlVuvax16vNb 3P3d8Oe3Rsb9IXV/SzIqEn2xwbGukr3oSqHV4= X-Forwarded-Encrypted: i=1; AJvYcCXhT4HLIcfrS3PvN+o63e4HtNqUFgxiCqrAMAFa2ZmnP639IYhkEOhLwYd8pIWIOzBbGCfVGX7uvFowUtI=@vger.kernel.org X-Received: by 2002:a17:903:b4e:b0:2aa:e285:f231 with SMTP id d9443c01a7336-2ad50ff2374mr61212805ad.60.1771538233302; Thu, 19 Feb 2026 13:57:13 -0800 (PST) X-Received: by 2002:a17:903:b4e:b0:2aa:e285:f231 with SMTP id d9443c01a7336-2ad50ff2374mr61212615ad.60.1771538232851; Thu, 19 Feb 2026 13:57:12 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ad1aae9d73sm156416065ad.77.2026.02.19.13.57.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 13:57:12 -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 v4 1/3] dt-bindings: hwlock: Adding brcmstb-hwspinlock support Date: Thu, 19 Feb 2026 16:57:00 -0500 Message-Id: <20260219215702.63321-2-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260219215702.63321-1-kamal.dasu@broadcom.com> References: <20260219215702.63321-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 hwlock driver to iomap 16 hardware semaphore registers that are part of all settop SoCs. The bindings use the common "brcm,brcmstb-sun-top-ctrl-semaphore" compatible string reflecting the actual hardware register block name. 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..0a9a1bf19fe2 --- /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,brcmstb-sun-top-ctrl-semaphore + + "#hwlock-cells": + const: 1 + + reg: + maxItems: 1 + +required: + - compatible + - reg + - "#hwlock-cells" + +additionalProperties: false + +examples: + - | + hwlock@8404038 { + compatible =3D "brcm,brcmstb-sun-top-ctrl-semaphore"; + reg =3D <0x8404038 0x40>; + #hwlock-cells =3D <1>; + }; + --=20 2.34.1 From nobody Sun Apr 5 13:13:06 2026 Received: from mail-oi1-f227.google.com (mail-oi1-f227.google.com [209.85.167.227]) (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 1001932ABCD for ; Thu, 19 Feb 2026 21:57:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.227 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771538240; cv=none; b=nqtVkWJJBv9PuB3vWYD4vLxXOLA/7iX6gANFDm1oQ+OT9p1OwblrWvSTr7W5u+9r7l2UHmCWIAd4GwDPvjFNcWNA4mAVYaOXZyzOP8RXlD+4HbJTo+JqS1H55G0T5PgT+QawB+DpRVAM8YqKRkldQ7EoCJln30NOCrwbj2bJwkU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771538240; c=relaxed/simple; bh=jD5yGVia+PZnL8Wq60+PPU60FeQK0qWyKw0Q5LrmgWY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=lVkLkXlGZetzBixNAWif/RD4xPHzjULaxTNiEfwqmAZHyMmmtLXTFu9SavitywAc9cdUBrp7Y4P3fffZVgtgxAxL5ZjsapqE1/+cWK1zr97par9WdhtiGtmL1Zj/dVh2Zuw7Xv5EQdrnkEHi/E8iTY/GmK2jtB0rjHVSm9TcH98= 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=SyjGnMec; arc=none smtp.client-ip=209.85.167.227 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="SyjGnMec" Received: by mail-oi1-f227.google.com with SMTP id 5614622812f47-4638a18efc2so862429b6e.3 for ; Thu, 19 Feb 2026 13:57:18 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771538238; x=1772143038; 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=hQ4iRn4Yr0HtvQBIFvgGnqHMHINRSvRxdUg7UzIwt38=; b=wHGupsuBIfmwtH4g7HxdBL2kkSrNGRiCA5MyBvToJxbJDydbJ3imXiPd1rjr9p28si m7Ei/X/a5tmk4o/o5kWm9HWqNvFYWvvC8VEPI/ODC+T7Jp28uCowlT/qB/G81NgHZib0 hW5riF4QCVZaIOyWzV4KmEXuQbwVw3GYTClxJKwutNvxnq/J/SDzoi0BpfFxFDi8stdk /7f9wyixqFvLnISrXNDF34LTVuHKONXBIH5v1gd4z5g96XxD7uB7uOwccwrPfDvZebw1 EUZ9EripL8kP7XMfICXZmU2wQ/7PREzaBi5NRok1U7CGEPjtdQx8XIUAO2WtxxgwWQ8X L2tQ== X-Forwarded-Encrypted: i=1; AJvYcCVDGc12xsm76r9aaAlZ0BhqwAu/tYdlbUZQfvc5ix4mO1M/9DkZMebSNQx+mspzYGNZWiAPT7xTZ3u2QAQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwW5Gegch+wBzfeEfeYEJkPSrmXkB7c2UgnarLYIuGigG2Kesyc GKpf/zX4wFXCMJ92vEjs9R23YF/eTtNqMnRv0JmM1jbzLXaaq6NpuylWxzIX1uGKQVZWTrAlg/s J/ebHc8kpyC218Td2i+QCDokeAEOHPCaFFy+f2973cDLAMmIt7i7N4wHoyQOcorL+iS24T0TFjA OZq6KzED7Seh4uHi0igipCEr2c5fRKMTp6rqIjh2zNbT4XEtFjXEkO+UyBpxLrth30v/IohQMCq OtqvkgVIlyqMr4f X-Gm-Gg: AZuq6aLIG4udglYLACOEZvamfOsSWnV2r437MRQtWGR8HMEOSfFIiiW1us/YvgypJoi am3wo4mwknoHaTRa/1qnVTJCUJfHCqNBzmBjT+QYT8UGdcMJZ+KEtvt8KMj1ajaHlaYBxa2AL7D pEjwT+5GmEiCMZ9WsymLLUTKpSbbInh34tXBi4rY0A45ej7Y0P/AKd8Gwrr79cPVCitAGxArHdz TWjWLtq8K58KYU/DGispniMBd92BlrLFH40xMwnoJmwFex5lW0FybdWsD9mBZ3unOqH7pq+761U vZuSXVP35Yf7wOQj1LL2C0fkV/8OeSsjPSecWBxvqbpjvbzLTCSNY8FVNXQbVf8nrKM+27yIVJ+ sXvPU4RWR5qrU5LtVrugUDJynrXMR4FSRE1jk5G9brhGYaAv9lY3k8x1NMrTbHBM5FCCepyorgs nXYEe9vMIvHdwDtMXTr+OfWIsadzC4v7k/UfLkhAntf0O4RT2Vb6oIAr+2 X-Received: by 2002:a05:6820:61d:b0:678:a4f1:c38f with SMTP id 006d021491bc7-679a745ce3fmr3998911eaf.65.1771538237879; Thu, 19 Feb 2026 13:57:17 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-117.dlp.protect.broadcom.com. [144.49.247.117]) by smtp-relay.gmail.com with ESMTPS id 006d021491bc7-6798993b265sm1441822eaf.3.2026.02.19.13.57.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Feb 2026 13:57:17 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2a944e6336eso82431755ad.0 for ; Thu, 19 Feb 2026 13:57:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771538236; x=1772143036; 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=hQ4iRn4Yr0HtvQBIFvgGnqHMHINRSvRxdUg7UzIwt38=; b=SyjGnMecLBLAXhQOIR8XjvsTosk3VoglaRM+cSvOY3BdscNGasNSfUnVqOu8B/DF0u JTMZO36PuapnGZccjYYT76Sa5RFjHGG1fcdSbq7ud6GbBIHwEt0mhCsxh7vVXlTpJGd+ xU6c/ZCWyAWF5G/muvGX9U2/H5QhaV6d47IBs= X-Forwarded-Encrypted: i=1; AJvYcCU2iSPzg0BOz2xy4f54Qc+NUrh6yvKDI9KJKh7XBiXxlqhNYnnZO+C5jvdjcwhfpJM6atYA4sn8daZk1JY=@vger.kernel.org X-Received: by 2002:a17:902:dac7:b0:2a9:5b87:5bd4 with SMTP id d9443c01a7336-2ad50e58478mr62473595ad.1.1771538236571; Thu, 19 Feb 2026 13:57:16 -0800 (PST) X-Received: by 2002:a17:902:dac7:b0:2a9:5b87:5bd4 with SMTP id d9443c01a7336-2ad50e58478mr62473445ad.1.1771538236118; Thu, 19 Feb 2026 13:57:16 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ad1aae9d73sm156416065ad.77.2026.02.19.13.57.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 13:57:15 -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 v4 2/3] hwspinlock: brcmstb hardware semaphore support Date: Thu, 19 Feb 2026 16:57:01 -0500 Message-Id: <20260219215702.63321-3-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260219215702.63321-1-kamal.dasu@broadcom.com> References: <20260219215702.63321-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..4488032a3f7f --- /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,brcmstb-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 13:13:06 2026 Received: from mail-dy1-f226.google.com (mail-dy1-f226.google.com [74.125.82.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 8843932AADA for ; Thu, 19 Feb 2026 21:57:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.226 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771538243; cv=none; b=kuGfXQqWPYM5YETVWE/XfcOrggtmu7v789ATM6aw3sgSQa1iZd0GYxb/Ib+SuIWL8kPHgchwBsE3w1YHOod3NsTsfspFF4JbSYmnntibSc668P515kG2frnk4wie2IVpBjk3q7/VXdbQWWjwAOskOsU0J2zaxvixlIJgXp245DI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771538243; c=relaxed/simple; bh=ymgJ32QMNYCUin60FKOe1Z68d7hZB5lDstBRZvKPO2s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=KtdXkumBI9U4OxPztDsjmcN4s2gODGUzCqSPAs9MIzp0sy45bqgjQxiZGVDsOXqhdbWsEshy17oinUY+jplwk5YeJKRQF6o38i58kzpJj+6Vq23B+vZ1Cj84uPvV1CmsP8jyfNt2k8aRPvKQGdE8sAQZ4Vvr48yaIdKBI6rMjQs= 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=Y5vyQeEb; arc=none smtp.client-ip=74.125.82.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="Y5vyQeEb" Received: by mail-dy1-f226.google.com with SMTP id 5a478bee46e88-2b86ce04c5cso2745410eec.1 for ; Thu, 19 Feb 2026 13:57:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771538242; x=1772143042; 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=hZL7cpFLFQtBSwhfFhDuOcUNB5Rb7MQ31DOkriwfQ+Hkh8NQFE5XxoaA5q1+b6w1bQ 1PRcoNOMy4bfAG7He7JmShqzM1IaXe6tr4FUJMmne+26eReFULlIto94xSfte8uFavno Ya2MNTdsi0bDmxJ2O8HQZRHKEQmbhai3RSFCWnTlzUII1TELatu8d71u5qNeMqEjRbUZ oci2338+UxCAHz1/zFZ1XjKyg5zbSVW8OQTgPkrqmnV/IOSfjMU6T3oyyO21Ce9wmCe/ 1WSf8aWsrj1Y59T8w15AYuXv+YevKp3NJdh+FYDYybtESeCyS37NacGySuW5a7F8Ns15 gA2g== X-Forwarded-Encrypted: i=1; AJvYcCX7UrOH2V4QoOz8BJwP976o3oqAo4m8+KMzkcpx/Zq7Wt/hTUPDtNcLmxcxSdeVSsXelME12smeBkm7qg0=@vger.kernel.org X-Gm-Message-State: AOJu0YyfLaRELd17JACbuHgL0y8eS+e0ablvR5k7eL2NQmlCREnpDtAt FfwDShN6t8I7MLwdZ1JSbCHY9xZxizH1KTtOLbjo3nERxCUnmdPQQxW+phQGbcqcI1knfB6vbmm z4CsjY7MzS409I4EGJ0M8RhgVtotdknnnM943VHhyh3L2/uXHHO9Tbnoq1099HZQkgGQgFS0vdI SMIZcwgDBjJyVMzXVtQJhfZvpvjl0AwUFlrI3UhVLckDXQYI+VKY59/2hqsg48apsxV1elhKh/s BLuV7aMfupokVI/ X-Gm-Gg: AZuq6aKOmzIexOE6F8DEi5jnk15LfCbC7rBQYzeqxtxyoYl8vBibprE18hz/xne6zZ2 VwMgOFMgCk7uKPTI8vSrtMWQUY6PqTCDNB2D13/wBAR27GtCm2Wi7Y+U0fHWieT/i2mWxYjDroq 9kDrgJ5sZUY9hZLqZsMdBqMUHuwixk5cJMWiuD0sYzhJj4PP+fxQFmx1YbmXaQqHxOJxyQEobsk h5NDF/od+EAoJb/swZEWugunjNrjTz83oQtU6qocB+Z74jTgMcLGndH2BdjYdbZB4DYzmy2MOlB H10m4uMTEAgQKHftcZpttOwkruoXtkOcereOWqEil+fVFqFy9vsAnW1hWmoGjUD886o1RUHTGKc ka85KbJAAslo2rIPSyfjo2NYaRlfIW5pp03c2Sk65O1Qw7cauJkPDsXehz8GjA5ugrX1wQ5C35U qsayLdqG3Ub+nTvRh/khPESZezVqqDPOIZtgw9SI3ljjIfzPyzQ0JDOFYB X-Received: by 2002:a05:7301:100e:b0:2ba:a04a:8353 with SMTP id 5a478bee46e88-2babc44eb66mr11514736eec.27.1771538241449; Thu, 19 Feb 2026 13:57:21 -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 5a478bee46e88-2bacb6409d1sm2292883eec.8.2026.02.19.13.57.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Feb 2026 13:57:21 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2a8f8c81d02so15583125ad.2 for ; Thu, 19 Feb 2026 13:57:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771538240; x=1772143040; 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=Y5vyQeEbgUbKoSxDVGD9R82bFX1d/sxTIHHqK54/gBd3SMEU3ZOLLrWGXYySuUK22A Z1cWI+E8l/Qy6TVCpTcPb0MYrDSGZRZboi5Yh4otHfLLGAZLCIaBAr/MK8BEacQ02AdF FGmhIh2Z56rpYaCdjwfEIprSzO5VHiVfpgX+8= X-Forwarded-Encrypted: i=1; AJvYcCV0TukgSVj6lMN8ch+kSshXubP57O13grR47XMGdV9qfzPb/7YQ6pSjyH/jsj40BmpTAZmMnRIYJelYND8=@vger.kernel.org X-Received: by 2002:a17:903:1b0c:b0:2aa:f9d7:68aa with SMTP id d9443c01a7336-2ab505628afmr204534295ad.21.1771538239725; Thu, 19 Feb 2026 13:57:19 -0800 (PST) X-Received: by 2002:a17:903:1b0c:b0:2aa:f9d7:68aa with SMTP id d9443c01a7336-2ab505628afmr204534065ad.21.1771538239253; Thu, 19 Feb 2026 13:57:19 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ad1aae9d73sm156416065ad.77.2026.02.19.13.57.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 13:57:19 -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 v4 3/3] MAINTAINERS: adding entry for BRCMSTB HWSPINLOCK driver Date: Thu, 19 Feb 2026 16:57:02 -0500 Message-Id: <20260219215702.63321-4-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260219215702.63321-1-kamal.dasu@broadcom.com> References: <20260219215702.63321-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