From nobody Thu Jun 11 10:03:51 2026 Received: from mail-pg1-f228.google.com (mail-pg1-f228.google.com [209.85.215.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 7EB7E2D7DC6 for ; Mon, 27 Apr 2026 20:12:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777320768; cv=none; b=BN2K2eOP487yXuHk9Y0bgENgnxelKHGxc7Meo+c0wX2vmdl1/CjISXkViQTOOQphhoYdDzWQBBKBaa1D0EGA3ZNavPkFhPzacRfMjzxxyKIHoTK0Df4TCyFvhxMh9vqiyvmX4UFtLj+ErTv6yTmX55boqZvDh6GPuwJNjWuwBpg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777320768; c=relaxed/simple; bh=TFlgFJMYMQlDmZikVgnpkrUHYORzj7/QkOS9IQvUAI0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=sdON8kNeQdNKJj7JBr9b2aRW8g/EkbdqmUtsyavnEEYFpgpgX0MSbxLrlZ+ebDSd2rVV5Lk4kwYJuVvsuLaZ6uAtuByHE+jip9WEruRU0eNDyptdKEvK7ayvmH6ZSKwH6ktji8MVTriVCtk6529XsWo7ACt9FdyeogCrfyEcaSs= 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=hfIwASiH; arc=none smtp.client-ip=209.85.215.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="hfIwASiH" Received: by mail-pg1-f228.google.com with SMTP id 41be03b00d2f7-c795eacbeb0so4718268a12.2 for ; Mon, 27 Apr 2026 13:12:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777320767; x=1777925567; 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=xS47RVDKW8GFZppjjzYsYzUHq1wMuiBPcs650CNp/VE=; b=V/NWDfhuVsW7jXOCsFsLIU2FCV47r2Ft6B0y/K3sZqCUoAahw/EukvsipFEcvjqWcO MyGnB14yFRYUVfGam+Eqips+NgG2/9GyGEoBWTZfJV8P42sgfeB17CJIbWz6CkwEygim oTqnezwqWEmQPY5HhHztFI9ufBYRRBAEoi1FK/mhKkJk86YwlEkyUHq2TPmOX2TZzdIQ 9qhQdfETYoOMESof09XmYfPNwOf4J4LqLkU6qU6ELNJe756yWGUKUfVWXoB8KapnRHLQ CTCNR5UIjQsxcgpLST164vzOa5D9R5fg0IWpSRswwrMZ0kuhWqURyK/6r4UJm00Xzgla b+nA== X-Forwarded-Encrypted: i=1; AFNElJ8FkmcjdzDcXkxKHr2iMxq62bIf2QQlr9pH8LNMTRbpYhCqG4K0wVh7dLVfZrf4nbxpFeibcdsRfeiZ6/Q=@vger.kernel.org X-Gm-Message-State: AOJu0YxL64k4ZX/KgDAPJ2FjUoMqtI2XV3EODZuz+YvyuSCHhp1yOrbe Uq6dZFHAg4w5B/Z3rZcpqeAJY2/EI05sL9HWXUeAg0/NJE6a4wlplxD8fyy4FlAgG7sKJ7D5/LX ypt6CK675g2U+yX2kJeeUZIWlwoAAPV5mBnX3zQt01rnmvN9JYhy4G9zeRUie2I+ULGl1zGEFHy fWt/NiJxaucZaDgtQHJcu/Ed9JU23ysiIZKo7L8NgdPOQxwgeBVjjfVXygcj0VRhjVz3LBDiffH 1lg/fHxr03rjdWX X-Gm-Gg: AeBDieuQpwPaXHpfyoKJBL5kr4smklRdJo8I4HXqB/QXkxskVQFds1ZecfL3yM/4qwB tCtZzylh6aAOcT5NdWxl0okHb2pAgrcjTgmWlsaDppnp8R0/ifj6zSwl4rrjcwPyq06i0uiVkEo TgyH7CL1ssm/pjQE4h7+hAeo5WinOY3YJpl8bMWpu/3n3gdI5+l0+4ePdVU2uNi/4+eLhVtqKt2 dwTgrV17YlE/dRFr8I8mwqQ5NPRlcQPP5WYYlAsPJLtrej1yh3p8vLIj6fkZZKAhl7DB608Olko oRwchlbCbQGENlShtcLHHLGhinuYjKyAFObRmNmIEOl9KHs5oxnHpsQJSKyguSQe7Y95k5d2nhP JiP2B0POTT3YudgY/0ADHffbDLOgzEtBa5vy3EL2aDb9rIuZFWmHOyy+/8nIjLoeyMptKycUH8P C3JlUDP7OVwIDG7zvTBhex4qnzO2fEOlPBafTEDYdfLeygl8xGJhPbgLHMQRTo3A== X-Received: by 2002:a17:902:be18:b0:2b4:586d:2e5c with SMTP id d9443c01a7336-2b97c3cbcc0mr485405ad.2.1777320766746; Mon, 27 Apr 2026 13:12:46 -0700 (PDT) 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 d9443c01a7336-2b97ac692bdsm309615ad.32.2026.04.27.13.12.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Apr 2026 13:12:46 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f197.google.com with SMTP id 5a478bee46e88-2da19227bc1so25871219eec.1 for ; Mon, 27 Apr 2026 13:12:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1777320765; x=1777925565; 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=xS47RVDKW8GFZppjjzYsYzUHq1wMuiBPcs650CNp/VE=; b=hfIwASiHtV4NAfRQ5fCzQDl88T7DtlNns2NdD8maisauaLVyOYDHfHHWTB5FDTkZAj e1qfphJoQZPJewRxUHNgp/uOrokien3OAT+5ajPvDIzoBY67zbw7WkTTYVsK1Rv41Dmk Znjc42rF2mVx31tdvdAiDiw96NwtxwWjUWAdc= X-Forwarded-Encrypted: i=1; AFNElJ9tygJQPbFK2JDXRppJIXzLyj+FSPd85C5kJ0H9gk+RsmWgJyQddkJJ5rajcIGkI11SS6zLc+A7w4NyL08=@vger.kernel.org X-Received: by 2002:a05:7300:7316:b0:2c0:e404:8b08 with SMTP id 5a478bee46e88-2ed0a19128emr207110eec.29.1777320765029; Mon, 27 Apr 2026 13:12:45 -0700 (PDT) X-Received: by 2002:a05:7300:7316:b0:2c0:e404:8b08 with SMTP id 5a478bee46e88-2ed0a19128emr207074eec.29.1777320764314; Mon, 27 Apr 2026 13:12:44 -0700 (PDT) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2ed09fb6b7fsm437136eec.10.2026.04.27.13.12.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 13:12:43 -0700 (PDT) From: Kamal Dasu To: andersson@kernel.org, robh@kernel.org Cc: krzysztof.kozlowski@linaro.org, conor+dt@kernel.org, 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 v7 1/3] dt-bindings: hwlock: Adding brcmstb-hwspinlock support Date: Mon, 27 Apr 2026 16:12:31 -0400 Message-Id: <20260427201233.380314-2-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260427201233.380314-1-kamal.dasu@broadcom.com> References: <20260427201233.380314-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 | 44 +++++++++++++++++++ 1 file changed, 44 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..552f334256b5 --- /dev/null +++ b/Documentation/devicetree/bindings/hwlock/brcm,bcm7038-sun-top-ctrl-se= maphore.yaml @@ -0,0 +1,44 @@ +# 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 Thu Jun 11 10:03:51 2026 Received: from mail-vs1-f99.google.com (mail-vs1-f99.google.com [209.85.217.99]) (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 3CE9F3264DA for ; Mon, 27 Apr 2026 20:12:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.217.99 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777320773; cv=none; b=d4Goy5fjooc/jYsIKWgJ2cEhG3NVXeXX10uLCA1PgcyI1qGixeZ92Z8wH7eKTyu/zVBoetuFi5U8RJ5VUgwROo1YHSVBWv00YVEeaxngVvnmGf27kP1l+fGODMLBLxYRs6RF78iuyj2M9FTDqiX97bLYDiYEK7VnunRdNoSEyc8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777320773; c=relaxed/simple; bh=1Xwggl8TDEb28dHIA5odZJE0LEGpUMlRHtlwQf12Rfs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=N9ZOmWpR0hn9tmVqf7VqAW5uZ8CZj2z5QtxmQYpOIMBU3c/2NJQMTiatG39PzoxEZq0rY328kvOmuAX0PLKjsKrVBjxaeJCHd/Jmq9KqKSDttN+1B7EH67drJ9nziaib0V6oIPhF9to/i9OlX4fuV1kNa4kMiwu4XyJGZRgchAs= 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=J5wNvVY7; arc=none smtp.client-ip=209.85.217.99 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="J5wNvVY7" Received: by mail-vs1-f99.google.com with SMTP id ada2fe7eead31-610f4cf6ddcso8135999137.1 for ; Mon, 27 Apr 2026 13:12:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777320770; x=1777925570; 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=mDV4LUkEkUcEhST/7UTvXNteW4b3j/yhsWXpXNrZ4E8=; b=BhtQ1re0v/d8156EwcLk1r/oAGewT7eTRk/wuSvv6ZX2Y7bjCk520xVu+OtrsRLHcn N9X0EBxWI4sugws3SgpJO8U5Xo16//U6+QW/mxgkQdT8F1OpBcP79CA8IFUTgwlf198q 99wRaIOP7RVnXN4LXvD2/4NSk4HyomOD7ehB6tIpyaUgZVd1NL8+x0j1Cjfg3ZRhTU/L gH5qF/54smegJ+4rW47OPzvG/p3eNLue7B222TnfL6EnWCehUjDFZ7c9TJa5FisFDkJm WPay62aZvkNX8btI7P8m0sRLmoIOd9jL/mck7jryklenEhTQiTUoph7In0PfGsfXx9Uv 1tWw== X-Forwarded-Encrypted: i=1; AFNElJ8DgLa4UfIVduKjUcA+L/Bqfpa8xprsEnNzi0QFFQacUFaHGsABVpuTAloNB22AYaVVFR61hAOQ1NHwavU=@vger.kernel.org X-Gm-Message-State: AOJu0YwsbynNr5M0MIVN6HJ9KVxb+3DgdgmjJYJ89otXZpdZUK30sX8e d4vjhSXkBIY3L11cAyA/mXnBcfAu76mU3SQXImDnESApXMJrdw3ts+KZRooz4ELAH5dWWG+OIgl f1N5xTfoC/bb1WhXmOhGPpLLTnO6510GDQn/piXpasokkfxqCbPBVBqyC4WAw1g7FKEbld0Gq4J Qv1DyEvetybNUVtJBx6uR8MDAuSm/cJGTZ2Q+LPjaX7HMGBqVvlUjDeMDgOYstor5Mjg51WJ5sv MzEC2R/yGGX0IqO X-Gm-Gg: AeBDieveUnrlPuan9nTM+rNjJgcFsV1VfRLuqSgrH6/SQAwbrOIZ/Y5BLnU89XccHp4 321zhhpD8vvsnB8uAvqxp7yG64ii4K/qQZcqAKWLK4k+nSWVnbFb+DHRQz7j7NysjLf5lELkax7 fNA2ibozJgoAHkhan9PRg2cRHc0Za4iWtQmacj5rXtokV2PCblgeodeCaMFwdtJMeBe44BW4l2r bhOaLHqC60G+0sDk86nPbVW5i+MTpqFMlLoSt8Ay4ZlVSUxqMiI7mMdKxmrbrvLA7x8lyhNKaZN hp7VS/jVAXzNyIpaHu8j3nQLd9qPT/gEmCMxtcZZ9KDyag8vMrsMhXuAa0zvAbhPctxGf1dfxHU XyCzq1CU05ONi3mOyaWhikfDp+Ekmbn3exPXDzMZHauBO9NDsi61nn8pob1+W3Dxbks3EqZzuau KiBdLGL6Gk+I9e X-Received: by 2002:a05:6102:94e:b0:607:f4e7:d2e8 with SMTP id ada2fe7eead31-627febe9a0dmr116744137.4.1777320770012; Mon, 27 Apr 2026 13:12:50 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com ([144.49.247.127]) by smtp-relay.gmail.com with ESMTPS id ada2fe7eead31-627f5176038sm15401137.3.2026.04.27.13.12.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Apr 2026 13:12:50 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-2bda35eab74so9540639eec.0 for ; Mon, 27 Apr 2026 13:12:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1777320769; x=1777925569; 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=mDV4LUkEkUcEhST/7UTvXNteW4b3j/yhsWXpXNrZ4E8=; b=J5wNvVY7VLl0pjus/4Yg9B0aI87Z6h7U9ApE/2EOnSzKhS9YPUkLzz11tG89CrNzad 8t1NhAPs6Nm1AxZ+mvoOiqXEG+XmVgRJw4Hv2SQEQ3DJuDzGtF27euP2PC53sraYYyeb svWeN2R9C8ZbSXBn/ELY3gdX9ilQjI5ub0g9w= X-Forwarded-Encrypted: i=1; AFNElJ8qaz+MW8MQk2/vGaYfUi/QugMvtf6Pegz7ImmO8WbJ0nlIVKdk9QuI7wwFvt+rzfbEC16a94zl4XWHQBs=@vger.kernel.org X-Received: by 2002:a05:7300:d509:b0:2be:17b1:e49f with SMTP id 5a478bee46e88-2ed0a3e3ac0mr143859eec.4.1777320768641; Mon, 27 Apr 2026 13:12:48 -0700 (PDT) X-Received: by 2002:a05:7300:d509:b0:2be:17b1:e49f with SMTP id 5a478bee46e88-2ed0a3e3ac0mr143826eec.4.1777320767938; Mon, 27 Apr 2026 13:12:47 -0700 (PDT) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2ed09fb6b7fsm437136eec.10.2026.04.27.13.12.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 13:12:47 -0700 (PDT) From: Kamal Dasu To: andersson@kernel.org, robh@kernel.org Cc: krzysztof.kozlowski@linaro.org, conor+dt@kernel.org, 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 v7 2/3] hwspinlock: brcmstb hardware semaphore support Date: Mon, 27 Apr 2026 16:12:32 -0400 Message-Id: <20260427201233.380314-3-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260427201233.380314-1-kamal.dasu@broadcom.com> References: <20260427201233.380314-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 | 10 +++ drivers/hwspinlock/Makefile | 1 + drivers/hwspinlock/brcmstb_hwspinlock.c | 96 +++++++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 drivers/hwspinlock/brcmstb_hwspinlock.c diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig index d84e00084ee2..3a81a6785e45 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 diff --git a/drivers/hwspinlock/Makefile b/drivers/hwspinlock/Makefile index 3a740805949d..379443987b94 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 Thu Jun 11 10:03:51 2026 Received: from mail-dl1-f98.google.com (mail-dl1-f98.google.com [74.125.82.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 D817E321445 for ; Mon, 27 Apr 2026 20:12:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777320777; cv=none; b=MEqhaJGpdzywujbgFTRSE73f1GqvalxPrLYE2t8wQP7u+lORO0ifLzoU5bCtEXuviyIrAXgiGMYIQZ9spVLSYHPkhIiNKqjahrKJhTpByssIMqghC0le7ayDuUdzRVrILBaRH7Zf1BspJwT8QwNb2ai9UGTuIbsq3cRLa6MVBBY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777320777; c=relaxed/simple; bh=mBAgnSsUNn3fsc8pfQtWtaiDDL5qRMehlyaAO/YC9RA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=bIE5BVbCMAMHcEJ0sRhTrmcFWDJWvhYtwyu3tk3Np6SvIOM0JOmvSSpBjnDXidO+kUU7obKJZsG72Kt+cWbgqKv5BnRV3GkjZCIF05iROyjdMK0E9mODsgqRGQSLmmqpWMvjSSxjGATtMT7rV8ipI03JTHrMHZpFTC2v+fwfOOw= 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=LTzf0Djn; arc=none smtp.client-ip=74.125.82.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="LTzf0Djn" Received: by mail-dl1-f98.google.com with SMTP id a92af1059eb24-12c8c9c4cd8so4138751c88.0 for ; Mon, 27 Apr 2026 13:12:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777320775; x=1777925575; 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=e6HrkrEMv+Q+KsECCy2j5IGNVAW2RVCs/l06xUaahDY=; b=cTlysRIenSQ3i30aLQ4RbbcjAARs404ybR6QCkrrSqbuT64Z5I5LIVD7O5t1Pw4NqU asIDBEjdv9DIkB0lkAjTCRwQs7w1gFfKvYk+TAt2WysY7bXF/WTSwIUTLgiFYr4i2O+r KYBSgIq9jQwHqAgGKxAkonNju6or5LxOTx9D2AL1oc5QwSurGn6Zd3zRS7jOZSa9lJoQ vidjlYDDf3pyv6GzF9kR8G9CnXZ5CqejtA9Og+FOxv/zTBAkoY512i8eKvxax+tegGQf XiLpfUASfhY0H9Ifyz+xvajXSGhKfYIYUs2CFwzmhZ9Uu4QU6Rik5LVLeNqxqvHaljOU OGIA== X-Forwarded-Encrypted: i=1; AFNElJ8DTUlHXRUsB9YYca4mKa+IBPL6L1t4WuQUxCUBfMlmbqA5EssA7fAG5NqHSVg10+ww+8bQp4UHVihXk3M=@vger.kernel.org X-Gm-Message-State: AOJu0YzOm/ncOyDwjkdu8vVSAlz+eMQxFquhsfX3+A24nNZ1hmGae0gL hUy0upGzebpkDe22i47TPsgBQCG+wyO7s916je01V37UUUXZbYLY2c9woagTQajxRQowHdresoB E1SU6kXPQFOzV82JQx2HBFVziRatXCwjKBGAhAMpEiRtAn9eOD5Ws5GhO0JDGzeVfMddJTfEE73 d6Yh1dZyJGcRMAa8kRmGZ6/Fp6jXjcjsDrOGoxdUCMKL/FIg2DRqNIkhgThlz7wogWWmU7ANjxe yzmPti0OmmrwAOd X-Gm-Gg: AeBDievSh7x3d8c9hcJ1z7C3IOpZ6EWZI54uEcs6Vwrbaw0l03jKql3IQSIqKPMLHXr agz9sq+nTgoBMejgyI9njOvY0RYrsoUSPDQhgL/qA2OxsjKLAHkRUAbKn3OrHcRNMd0DKWLNMkS Us6m7o9hk3pmQ/9f6jkwg23T/ud36bFHb4oO9L1LyCe0L8a9pc+pJdb0Cnbj8mg8DT7qVnx0k7L /0m9sqOpVuPvjL47yq6y45sTDbSaef9lgYGo8DDNwvoTHFuWt9bNFgUCy17Re3gr81McBcJ69Ok 68is6mu1ZQ/EEpO8hUA/YbzEZIUW80pyatY+Hwgw0fkk+5sZT8chDa3GvXXLS+HI8XVZalhTFiJ qKwQ3caga650I1TYfW5+vI6xWV1u2RO/Gky1+oGcu4cFer3pUIud3H2AP1TGYE9r/2au1ume+LU 04dz5Uh30DO1Nf X-Received: by 2002:a05:701b:280d:b0:12d:c3d8:1f95 with SMTP id a92af1059eb24-12ddda59720mr77036c88.4.1777320774640; Mon, 27 Apr 2026 13:12:54 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com ([144.49.247.127]) by smtp-relay.gmail.com with ESMTPS id 5a478bee46e88-2ed0a21607dsm17231eec.29.2026.04.27.13.12.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Apr 2026 13:12:54 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-2bda35eab74so9540718eec.0 for ; Mon, 27 Apr 2026 13:12:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1777320773; x=1777925573; 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=e6HrkrEMv+Q+KsECCy2j5IGNVAW2RVCs/l06xUaahDY=; b=LTzf0DjnQdOVs+eFKAdGOQJcbwVDQS+sxGHPI8lkzd3/2rMk8STdgrFFl+PXAe3wCy KJ5b/laJdCNnJksgRRfuNe3z0Mj1pScS83IjaNMvTMVPKqCID3TrtrwBKyj27fCRM2gm o1dlIk4izQUSPOVPTBKExYAOy9M5vW+RWn728= X-Forwarded-Encrypted: i=1; AFNElJ9ke9YhfrGoiZKZbBSqaWAtx0nm4YNtgcrW2BWmz7rN41D3ee2osXwWr9qbk1c84YNkMLbEjlT0LkSNIlc=@vger.kernel.org X-Received: by 2002:a05:7300:dc85:b0:2c0:df3b:ec1e with SMTP id 5a478bee46e88-2ed0a530457mr90795eec.11.1777320772627; Mon, 27 Apr 2026 13:12:52 -0700 (PDT) X-Received: by 2002:a05:7300:dc85:b0:2c0:df3b:ec1e with SMTP id 5a478bee46e88-2ed0a530457mr90770eec.11.1777320772079; Mon, 27 Apr 2026 13:12:52 -0700 (PDT) Received: from mail.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2ed09fb6b7fsm437136eec.10.2026.04.27.13.12.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 13:12:51 -0700 (PDT) From: Kamal Dasu To: andersson@kernel.org, robh@kernel.org Cc: krzysztof.kozlowski@linaro.org, conor+dt@kernel.org, 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 v7 3/3] MAINTAINERS: adding entry for BRCMSTB HWSPINLOCK driver Date: Mon, 27 Apr 2026 16:12:33 -0400 Message-Id: <20260427201233.380314-4-kamal.dasu@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260427201233.380314-1-kamal.dasu@broadcom.com> References: <20260427201233.380314-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 2fb1c75afd16..4f3dfc6a090c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5244,6 +5244,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