From nobody Fri Apr 3 02:36:27 2026 Received: from mail-qv1-f100.google.com (mail-qv1-f100.google.com [209.85.219.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 92E613358A9 for ; Tue, 24 Feb 2026 22:04:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.100 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771970661; cv=none; b=k2Tyu+v6zSrfJqcTP1eSot0RK+43OJRydEfkOIPXjbmIcg65aNmG/VzUO9+7sRxiGU17YakC1GpaL5KqLDucGV6ri/x5Fl9Wh1D55Q3poprCiv7iQFhXxcjFvD209Rs0BcgNiJo3lw7e3/xHxl5btIvKS+IPvF76wP7JIQtTF3I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771970661; c=relaxed/simple; bh=tRPIeF3USaGz/Rg1sq6D9L5GyF5PRmv+ItkFaRfoVCc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Tdjhlge3XgEq1+LoEp6cVZR25G3hB+HH1jrAukdGF0OoPGd7Rug5GVOeEfYrQeBnQ1LN2cHCt2CN0UfAsMTbFMz0lHfue1DsVnioY1KQ43l4Ef9OBRWx/9wXVEfcGiaLzRwy8HvmXiQhcNwd+q9wG0DaYnB79RJ7quORi9hpMqk= 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=D6NoCgJG; arc=none smtp.client-ip=209.85.219.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="D6NoCgJG" Received: by mail-qv1-f100.google.com with SMTP id 6a1803df08f44-8972a14e27bso78428806d6.2 for ; Tue, 24 Feb 2026 14:04:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771970659; x=1772575459; 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=tsC7AKbjiTHPqzp/xUgXJQ7GQr44d/IFVx1SjO2ugwM=; b=FEQ06oXrx+AKoJUopDd+Kky6w8vuHzeNbJFu9a2shBpBaa8lQQoQXGVT10BZdfD40I pJcEf33sllc/g92kxhYbWs4bGInPPJsOURyg2Mod21Yn2Wp7qRGDnelYdC+pZPJsZS3K mZhziThYv2YeuRnVgVe0R3yKatkEneDgemms5xc7QZiHc3l653a8yliHPOlPQH2vxrwp t8JCQVdBQtbjrZcB1uny/7zyVSuhQC6+SVT8bTFodO+ElQ1ItD3dWRjZDcBb3/TPdN/d vZoLVB2C2dwTbvtSFtvsdFyIDqowuYzfUsawPT8Mzzyub2/e09Rg/KDecll2FMLIBV4H fItA== X-Forwarded-Encrypted: i=1; AJvYcCXkftQ0gE7x7uepvffa346eJK1KFEh04pgpvB1nwW+A1g9WalRMWLRDYz0CxlwicALGuiFat42U/hYu+po=@vger.kernel.org X-Gm-Message-State: AOJu0Yy5b05dA8hi7cYOOzJuPWotgLQNsEAWog5jz+jMNTRyx+X8ttkX RctxdXunhwffBxzWgjShSQRRPo/kB4xpRnuF/qe7Fm2rx8hyrxbl/d2Z+UJVVNUyzTfh9sEGnaQ 9nd5z5Fy8e7rfPospaOLN7+eWG+GTsNUBP69FdhQWPIGJmCwhzaVzYly8zYw8mLYMrcBWyYhpLA aiFkM23rS+cA7OQ77vP+4Kr358xyQB0k1qYqsvZUUF+0zcQytJDbdjDofIrBycEMiZs/I+krdKu ujM9f4ek1llwYWV X-Gm-Gg: ATEYQzzczfdQY2i9Bbxv0SFzd0S557OS7hTpflZzSNInMfmhclk6pl0aKN0kC3yCTXt e1t6+k8FM+Xn/sTl9UhUMgEieGw0ALGLLXtAqHNyScVmrGrCvzXeK8UI3/8hS7bexEBscLt6LKF PBpkb/UqFKSkfBcf0bzYsXuSYTnk1rJoRi0ozpwEUwqWsjJrPLWnZ0RnPzd9dJX4hUQaWrhtmag yRSeCKAZTuVRKqKOMhGPQmhJoWSXo5k7HY9f6516HCyBhaaUo/D31As4iMIbl+lvQ80h3LfbpJi gyK82Ld/ZOeYpVJYaOm3OhDmrCgl6b0SjivyQGcsuXCAKQ228GT5gCGKdvOJoEWwxDDE57Nz01M FymgWlvvhFLL/8Y1jGq69W/tBlrJRqZjuy/fr0kD12kPHD/XcGaNdoNo/twviY8vzhQBltRgTk5 TCOcWKLr/xIdIF539sqb1yyO7JJMU/+RqZLMyXPFyAYltmxHxRdrvKfBjX X-Received: by 2002:a05:6214:e8e:b0:895:4bec:c631 with SMTP id 6a1803df08f44-89979e4e979mr203373726d6.26.1771970659459; Tue, 24 Feb 2026 14:04: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-8997e752e62sm13490466d6.30.2026.02.24.14.04.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Feb 2026 14:04:19 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2bdc1b30ac8so1881258eec.1 for ; Tue, 24 Feb 2026 14:04:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771970658; x=1772575458; 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=tsC7AKbjiTHPqzp/xUgXJQ7GQr44d/IFVx1SjO2ugwM=; b=D6NoCgJGXX80rK8yw+3pQRllJLR1Y9K3OuzJoEq22Uzt7cLlkGsLq8aZ2L2vZDN9TB acHbcnqqtlyi0TYbhnwSINBUVvU3SsGbF5KCgkjpjMDilS6or/Dh8/J/SkKjsd1psZk2 i08Ns/eIyh5+GXWVGlouvRCWEyEH2DaRq2hy8= X-Forwarded-Encrypted: i=1; AJvYcCW1ngbop0wDaMwghPgWSbpYYO3yvYIy1Galz6RR6N5qX0a+4FZdYIkkSX1OUh00W1j66RCn6xaXlvs6OFQ=@vger.kernel.org X-Received: by 2002:a05:7300:134a:b0:2b8:26b8:3444 with SMTP id 5a478bee46e88-2bd7bd3b218mr6137885eec.19.1771970658194; Tue, 24 Feb 2026 14:04:18 -0800 (PST) X-Received: by 2002:a05:7300:134a:b0:2b8:26b8:3444 with SMTP id 5a478bee46e88-2bd7bd3b218mr6137863eec.19.1771970657544; Tue, 24 Feb 2026 14:04:17 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bdb055507bsm2374822eec.0.2026.02.24.14.04.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Feb 2026 14:04: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 v6 1/3] dt-bindings: hwlock: Adding brcmstb-hwspinlock support Date: Tue, 24 Feb 2026 17:04:05 -0500 Message-Id: <20260224220407.2351692-2-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260224220407.2351692-1-kamal.dasu@broadcom.com> References: <20260224220407.2351692-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 Reviewed-by: Krzysztof Kozlowski --- .../brcm,bcm7038-sun-top-ctrl-semaphore.yaml | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwlock/brcm,bcm7038-s= un-top-ctrl-semaphore.yaml diff --git a/Documentation/devicetree/bindings/hwlock/brcm,bcm7038-sun-top-= ctrl-semaphore.yaml b/Documentation/devicetree/bindings/hwlock/brcm,bcm7038= -sun-top-ctrl-semaphore.yaml new file mode 100644 index 000000000000..0d8c5b8219e0 --- /dev/null +++ b/Documentation/devicetree/bindings/hwlock/brcm,bcm7038-sun-top-ctrl-se= maphore.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,bcm7038-sun-top-ctrl-semaph= ore.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 Fri Apr 3 02:36:27 2026 Received: from mail-dy1-f228.google.com (mail-dy1-f228.google.com [74.125.82.228]) (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 03C7A2EA151 for ; Tue, 24 Feb 2026 22:04:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771970685; cv=none; b=AZi8SNb4qFNOjpC2WdWpMAg0l6CWx0Y5KO6EfEVNv8aTs9MbarcE3iUFHPJhK53NPt+MockUnDGN07bbw+DJ5/pS9GeTv6Zb3dY99MWLsz52jt+8yRC9u+Luo4NGlz6xfcHtGkn3uPlxoQCLwV13WR+kGqPeVfAM/K3TSkNTlhQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771970685; c=relaxed/simple; bh=5oVJd2K0SSd/g7EHCAssVRhoQWOkXnnMU02dVY35emo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tbkHLDAPCZGqS2Cwegnife107dEXJXOi1cDyRmPap6VSFYVQz6yKgDzhQsYkCsckFeNPjqfYLRbl3/MkhBuA7y17uJLdOgij41IgjlCg5ToT/6Mk0ZnRXy1bw0jqhaPrWZoBS0ya3gSgZy9Iw9+mx35RsLrDQJYgj5Q1Mm0rFzE= 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=e/I0dOYC; arc=none smtp.client-ip=74.125.82.228 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="e/I0dOYC" Received: by mail-dy1-f228.google.com with SMTP id 5a478bee46e88-2ba88e53b46so146239eec.1 for ; Tue, 24 Feb 2026 14:04:43 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771970683; x=1772575483; 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=PrPz7DunnjItrvki9n9R5ACu7RTBD+KXrHzgzFTJV1YBMsJ7HCifW4+3xVZGZvRIxC tVGyhD56ysQiGmCbzoBxOMG39a5K+BbkyJeWWkO6580gw15iB5Fow61UuuOpu+VpBo9V EagMdGaW4u+D9Yw0xWhSuHIEIJDfcKUV0z2T2PZMowR5JP/InjpLkBMwTdOMKYqSzr+w 6fYCQSIQmjFXUtp/3O2vWahxeNeslga5GZ7+MoK0jCeTHAvVomWgiXyRsqa68HMAqNMS UA2frjxXvCRSYhjqGP5/Z2vitj5aQo/ixbqi86GpGAPToeCVYKpKe2ecOMUecS2UmK+F R2Aw== X-Forwarded-Encrypted: i=1; AJvYcCWBMsW8WpKetc5WUKq+wNAzShD4bvWgW/w5ADClnjJZrR7I/wjn9Lyzuv5U6Bt/n8yNPGER/mdq15P30Ts=@vger.kernel.org X-Gm-Message-State: AOJu0YyEEjplAUveT5k+TfHxNdetFEYKw4KJ/3tb2DngjpIViEWqw2Ap hp8GZHoXWfSeltKKefkHITLtHNb7A/P6/h3p4og/qNRZLbN1RaVCK3C+cETS2VE01iEGcDmI24H 2NbEQCMg4NciTDd+zSDZql8LLg2zjg0cg9cEEZmhobEoUd7DpnSeY1oGH4BvgwjtLFaf+lTsHDG YTd9z7z+d1k5O0DWT2fUjyLCa4b5b2sp7rGVWAADftmBxHsSTSAF2cDSRxKEgWo+ESrvf2dS42P uaQ5MhUEuQtN/Jx X-Gm-Gg: ATEYQzxPW1zAj9f/4z/ycfxNTItpc4mGIwqol9WKz9MAvkYrWfEFLEdO7o7osO7+nc+ hLzjuMA0BWZ3xj/hkf5R3v9pBQPVIUeWUUQS/rPz9mTrXGiDYXUPaF6GsnLkH29gRSB3her2X4H C68hGNb6TYalC/FCjNlELJBnOAcvqn3OijuJ0nXNxGTnSE5k+CsWVyFJw2/gnglPnjJKFyOIxkv HbHhq6a64iC8veYhFdW3iqDIXT2ZsXfpSn10gNn2gimMeCreXBRV+fxk+SZvuFzWCWELrCghlwL NtXs5MS6dhqyWqdY/SU/1IJw0eILXpcxyO+zqDhndsE9Cbz07uP8xh4wjgIfrW4nBJRPWLlieOb NPirdT3N1bnAmJ5KiqEhnsQdL3CtHSUxIy5ZV051HM2Pq1y6NkWmA3RgMjCeELoy+8Bs7A42XfG BBLGNLjQPtxCs/zzrt5VPEkv9bN4+29KqGPkiuSHBdw9zCJLKvUon0hh0b X-Received: by 2002:a05:7300:6da4:b0:2ba:76e1:39fe with SMTP id 5a478bee46e88-2bdbc3075f9mr602999eec.6.1771970682791; Tue, 24 Feb 2026 14:04:42 -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-2bd7d80e8c9sm1318159eec.0.2026.02.24.14.04.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Feb 2026 14:04:42 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-2bda35eab74so208366eec.0 for ; Tue, 24 Feb 2026 14:04:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771970681; x=1772575481; 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=e/I0dOYCtspgdWItPuDsbaxEODJF3Bk3149Zj0BLRIBdgZhXtlwieA6Jd9s/TLwgI4 mUmIOov03WjsuuuBVJNGouCPu3FjDqHcvcCzIEPUgKMRIqqiLsM4ne6UWtcoIwrBukzV ZeRYFAHQJ9YZYRxyGgIz+gsZIeU1goO+0cJ1w= X-Forwarded-Encrypted: i=1; AJvYcCVutjC8JNOSzkBPLGFGVZh873yylCcIwndza5NLZnWbxei7x3W85wHHPA9bA0pn3gJNCRvh27GsPXNc2w8=@vger.kernel.org X-Received: by 2002:a05:7301:7015:b0:2ba:7b2a:6a5f with SMTP id 5a478bee46e88-2bdbc347a89mr507204eec.8.1771970680920; Tue, 24 Feb 2026 14:04:40 -0800 (PST) X-Received: by 2002:a05:7301:7015:b0:2ba:7b2a:6a5f with SMTP id 5a478bee46e88-2bdbc347a89mr507193eec.8.1771970680284; Tue, 24 Feb 2026 14:04:40 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bdb055507bsm2374822eec.0.2026.02.24.14.04.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Feb 2026 14:04:39 -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 v6 2/3] hwspinlock: brcmstb hardware semaphore support Date: Tue, 24 Feb 2026 17:04:06 -0500 Message-Id: <20260224220407.2351692-3-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260224220407.2351692-1-kamal.dasu@broadcom.com> References: <20260224220407.2351692-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 Fri Apr 3 02:36:27 2026 Received: from mail-qv1-f97.google.com (mail-qv1-f97.google.com [209.85.219.97]) (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 2D9C4344031 for ; Tue, 24 Feb 2026 22:04:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.97 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771970687; cv=none; b=nh855tGqQwVXqkJ7I/uu8RKp0PTyLGL4v8PxOLAEpkJ8GHfBUoDCM37d574jxvmATKx4Aw1+deH/QqyiyffbLNugKvFXPlnthFObULVD04rky0Gjn7RWSDMzLKXPiz2WKpvpJxuM5nUswu6NIl9oi/VfVu1SBDyKXSqRtxOIbY4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771970687; c=relaxed/simple; bh=R4/ULu962fEdVJu2ZyHiN/LTuaZxTTBv+gZJtef57ms=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VFATgJYXAUHamX5KCQGLbDLg16Q97U/rD5YGsw9ELmgMTbto5lOuSx/PzoFv3bdgWssYDmW1xz5pLQZHAEEZq/WMeeE3fKgDmnacJFUCQ1aWCFQvd4H+Et9SDoIj2rAdd/4g5ATGr6aPKRvkV37ldaQ7F6rzJmSZxmY6Lo1uA5A= 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=FRfrep2L; arc=none smtp.client-ip=209.85.219.97 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="FRfrep2L" Received: by mail-qv1-f97.google.com with SMTP id 6a1803df08f44-896ff127650so100654096d6.3 for ; Tue, 24 Feb 2026 14:04:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771970685; x=1772575485; 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=yUe2/zV4rw3eAKHjqP1mXU6br5sdLAclT1ghdsXtXr4=; b=XB3fnul/dNCSIa62lfOHKvBq1Ec6K9nT2e/iCKSuT+9GHLYP4CyPMxAN9CYoiFCUCV MtrDA3yyVSgMcPmBcWrB+ojY76Bike+z45HCurqfvShNlxwq0r/CIJAJvYMrtKI7LHHe Gqj2ibHxYc415btK61bSVLSe8skW81xSUdxzzbSi2UYu/lk4eObaH8cALLi14eHkbULV yZAbxkMyFZN+hPw7Hawdril9IOZIMBS7F5nKcoSHD1nbpu0zsbMHiTCcviyJT10Ixglh cYaf6qn7sFeJDLrjCGuluzM61oGofJQY1lLcpsvaoPH66uHq3/xC0UOJru8SFcvZdBRH 9yyg== X-Forwarded-Encrypted: i=1; AJvYcCUIxB2TV7s8dmI/z1LHiTbkNHflqamCJyJ9FjxS4F/knvpoWQneh2w0f9kcVY7dmxQz3MOVz89xQuiP16o=@vger.kernel.org X-Gm-Message-State: AOJu0YwCtwh+tI0GhCfYRctVGUI5iKjobBs8ob/OAt9lFgCgzRpOPLD1 eFnCcoBnDb/c9x8cg2+RpoQpgCFFo1962FXxax3UQmk9s2jXDU21QQQZSHuFLOWMJJziqLg6xZ7 Kr1eVkQYPZ8sy1mf75cMGUuf3OPglvFzq1FTNAbpDmDe0F1JsTLmkCZWndNBHEFBDuKgeEhsijI xg38skEJPRz9TsShdCXazWGPz65oOTcdHYguGZDF/F+F5Fb7RPq86ZjowhsolBNPmNcvYzGtzRb NnPoMjLD06mdzQG X-Gm-Gg: ATEYQzyQbeea9mdbrYUAbNSgVkCCpUyNXqqpFDpn93x5O+VhVyDI6grIV+CnS676HNQ ZX5+qlrenF6TBx0/Wyxzw4mS9id5vxGYiF+JZdTasCSwmapbuECbWgqRRODQ1Zhn5LAg5s8dKK/ sCFaJP9DTpWtllv+Avqv80jogs1XMIG5A3FWPw4g5qtFo09x2GpHbLab5W75C7CMFBkeL08/gwW qUwaoG7Hu10iGt/9ffiwQh2LUhKgPnR/XB+CSlAwcXI3Aj9sK/Pxy4SoGK+/CrYhI1zaYUAEZjq jEJgpK6iVwJrUdRmwkYk7kq2ybtLZrOLFcYB8hobRLTITfE8Y8I6zQMDNbpZEuL0b2bIQ1He/Rp 8QZf/mRh4TYX8ow6MViZlo4jqiDd/EOedwa739NAGF2Tfcv6h9og1MXbq7jcLxvQzw3RDP+0SdB xInpVvPQMdp+hK+BKeccFKYNnxZKcA1hOYk5KEgrXkgHrg/KIwenjZFU0C X-Received: by 2002:a05:6214:1bc8:b0:899:b3d4:e53f with SMTP id 6a1803df08f44-899b8c78a01mr456126d6.63.1771970685112; Tue, 24 Feb 2026 14:04:45 -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 6a1803df08f44-8997e1419adsm13031306d6.18.2026.02.24.14.04.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Feb 2026 14:04:45 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2bd2a2028c5so8811553eec.0 for ; Tue, 24 Feb 2026 14:04:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1771970684; x=1772575484; 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=yUe2/zV4rw3eAKHjqP1mXU6br5sdLAclT1ghdsXtXr4=; b=FRfrep2Ln4IPcRziYgGW+2G9tVXDe/7OQleqTuGJDWN5Lxyavshk7hFWSydsoYbfT7 uXygBillPIOXZhcvuqbJDU0k9ILOj1jq/0HMRAAW0/+7z+UrJwNOMKDZJjTyT7lSGJYD vAISyNxobp6RauKv3jquIG+DFHE/3AXHdydsA= X-Forwarded-Encrypted: i=1; AJvYcCU77MFYadcrEInI4bX+RVq5X4lcsI5B4n73rPc3dKmnWrZtJQKHubOJfbLDduCBKDtPyK3RtY5FRDJBcWg=@vger.kernel.org X-Received: by 2002:a05:7300:572c:b0:2bd:afdb:72d7 with SMTP id 5a478bee46e88-2bdc317c4famr26773eec.3.1771970683890; Tue, 24 Feb 2026 14:04:43 -0800 (PST) X-Received: by 2002:a05:7300:572c:b0:2bd:afdb:72d7 with SMTP id 5a478bee46e88-2bdc317c4famr26749eec.3.1771970683304; Tue, 24 Feb 2026 14:04:43 -0800 (PST) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bdb055507bsm2374822eec.0.2026.02.24.14.04.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Feb 2026 14:04:43 -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 v6 3/3] MAINTAINERS: adding entry for BRCMSTB HWSPINLOCK driver Date: Tue, 24 Feb 2026 17:04:07 -0500 Message-Id: <20260224220407.2351692-4-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260224220407.2351692-1-kamal.dasu@broadcom.com> References: <20260224220407.2351692-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..cb3e653b204c 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,bcm7038-sun-top-ctrl-sema= phore.yaml +F: drivers/hwspinlock/brcmstb_hwspinlock.c + BROADCOM BRCMSTB I2C DRIVER M: Kamal Dasu R: Broadcom internal kernel review list --=20 2.34.1