This is a standalone patch for the hardware semaphore feature for all brcmstb SoCs that have the same hardware semaphore registers.
The semaphore registers belong to the sundry hardware block. The node describes only the semaphore register range carved out of the larger sundry block address space, consistent with how other upstream hwspinlock drivers represent their standalone hardware blocks. The compatible string has been renamed from "brcm,brcmstb-hwspinlock" to "brcm,brcmstb-sun-top-ctrl-semaphore" to reflect the actual hardware block name rather than the Linux subsystem name. The patch has been tested to work as builtin as well as a module. v4 changes: Addressed review comments from Krzysztof Kozlowski and Rob Herring: - Renamed compatible from "brcm,brcmstb-hwspinlock" to "brcm,brcmstb-sun-top-ctrl-semaphore" to use the hardware name - Added description block to the DT binding YAML explaining what the semaphore registers are and their relationship to the sundry block - Fixed typo in Kconfig "Setttop" -> "Settop" - Fixed email typo in MODULE_AUTHOR v3 changes: Added detailed explanation in the all commit messages as per review comments - Added description of 'sundry' ip block that the hardware semaphore belongs to - Added reasoning for using common compatible string v2 changes: Addressed following review comments: - fixed ordering of obj brcmstb_hwspinlock.o in Makefile - fixed ordering of 'config HWSPINLOCK_BRCMSTB' block in Kconfig - Renamed BRCMSTB_MAX_SEMAPHORES to BRCMSTB_NUM_SEMAPHORES - Removed unnecessary platform_set_drvdata(pdev, bank); Also addressing duplicate PATCH 1/3 sent in error as part of v1 change. v1 changes: based on fixes made to Initial patch: Link: https://github.com/intel-lab-lkp/linux/commits/ Kamal-Dasu/dt-bindings-brcmstb-hwspinlock-support- for-hwspinlock/20250712-034624 Link: https://lore.kernel.org/r/20250711154221.928164- 4-kamal.dasu%40broadcom.com [PATCH 2/4] hwspinlock: brcmstb hardware semaphore support All the review comments and build warning have been fixed. Kamal Dasu (3): dt-bindings: hwlock: Adding brcmstb-hwspinlock support hwspinlock: brcmstb hardware semaphore support MAINTAINERS: adding entry for BRCMSTB HWSPINLOCK driver .../hwlock/brcm,brcmstb-hwspinlock.yaml | 45 +++++++++ MAINTAINERS | 8 ++ drivers/hwspinlock/Kconfig | 11 ++- drivers/hwspinlock/Makefile | 1 + drivers/hwspinlock/brcmstb_hwspinlock.c | 96 +++++++++++++++++++ 5 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/hwlock/brcm,brcmstb-hwspinlock.yaml create mode 100644 drivers/hwspinlock/brcmstb_hwspinlock.c -- 2.34.1

