linux/Documentation/devicetree/bindings/mailbox
Stephan Gerhold c3c5138714 dt-bindings: mailbox: qcom,apcs: Add separate node for clock-controller
APCS "global" is sort of a "miscellaneous" hardware block that combines
multiple registers inside the application processor subsystem. Two distinct
use cases are currently stuffed together in a single device tree node:

 - Mailbox: to communicate with other remoteprocs in the system.
 - Clock: for controlling the CPU frequency.

These two use cases have unavoidable circular dependencies: the mailbox is
needed as early as possible during boot to start controlling shared
resources like clocks and power domains, while the clock controller needs
one of these shared clocks as its parent. Currently, there is no way to
distinguish these two use cases for generic mechanisms like fw_devlink.

This is currently blocking conversion of the deprecated custom "qcom,ipc"
properties to the standard "mboxes", see e.g. commit d92e9ea2f0
("arm64: dts: qcom: msm8939: revert use of APCS mbox for RPM"):
  1. remoteproc &rpm needs mboxes = <&apcs1_mbox 8>;
  2. The clock controller inside &apcs1_mbox needs
     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>.
  3. &rpmcc is a child of remoteproc &rpm

The mailbox itself does not need any clocks and should probe early to
unblock the rest of the boot process. The "clocks" are only needed for the
separate clock controller. In Linux, these are already two separate drivers
that can probe independently.

Break up the circular dependency chain in the device tree by separating the
clock controller into a separate child node. Deprecate the old approach of
specifying the clock properties as part of the root node, but keep them for
backwards compatibility.

Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2025-05-29 10:01:30 -05:00
..
allwinner,sun6i-a31-msgbox.yaml dt-bindings: mailbox: Add a binding for the sun6i msgbox 2020-03-19 23:00:32 -05:00
altera-mailbox.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
amlogic,meson-gxbb-mhu.yaml dt-bindings: mailbox: Drop unneeded quotes 2023-04-04 12:12:12 -05:00
apple,mailbox.yaml dt-bindings: mailbox: apple,mailbox: Add t8112 compatibles 2023-03-28 19:39:18 +09:00
arm,mhu.yaml dt-bindings: mailbox: arm,mhu: Make secure interrupt optional 2022-08-10 15:12:49 -06:00
arm,mhuv2.yaml dt-bindings: dsp: fsl,dsp: fix power domain count 2024-11-01 17:25:02 +08:00
arm,mhuv3.yaml dt-bindings: mailbox: arm,mhuv3: Add bindings 2024-05-19 22:30:09 -05:00
brcm,bcm2835-mbox.yaml dt-bindings: mailbox: convert bcm2835-mbox bindings to YAML 2023-06-30 17:35:45 -05:00
brcm,iproc-flexrm-mbox.txt dt-bindings: Fix various typos 2024-09-13 14:01:34 -05:00
brcm,iproc-pdc-mbox.txt dt-bindings: Remove leading 0x from bindings notation 2017-12-06 14:56:33 -06:00
fsl,mu.yaml dt-bindings: mailbox: fsl,mu: Add i.MX94 compatible 2025-03-26 20:58:25 -05:00
google,gs101-mbox.yaml dt-bindings: mailbox: add google,gs101-mbox 2025-01-18 16:18:10 -06:00
hisilicon,hi3660-mailbox.txt dt-bindings: mailbox: Introduce Hi3660 controller binding 2018-03-20 11:15:50 +08:00
hisilicon,hi6220-mailbox.txt dt-bindings: mailbox: Document Hi6220 mailbox driver 2016-03-04 12:32:19 +05:30
mailbox.txt dt-bindings: mailbox: add support for mailbox client shared memory 2018-02-28 16:37:57 +00:00
marvell,armada-3700-rwtm-mailbox.txt dt-bindings: mailbox: Document armada-3700-rwtm-mailbox binding 2019-05-09 00:41:00 -05:00
mediatek,gce-mailbox.yaml dt-bindings: mailbox: mediatek: Add support for MT8196 GCE mailbox 2025-03-26 20:58:24 -05:00
mediatek,gce-props.yaml dt-bindings: mailbox: Add mediatek,gce-props.yaml 2024-07-10 13:24:55 -05:00
microchip,mpfs-mailbox.yaml dt-bindings: mailbox: mpfs: fix reg properties 2024-11-24 12:53:34 -06:00
microchip,sbi-ipc.yaml dt-bindings: mailbox: add binding for Microchip IPC mailbox controller 2025-01-18 16:09:13 -06:00
mtk,adsp-mbox.yaml dt-bindings: mailbox: mtk,adsp-mbox: Add compatible for MT8188 2024-09-22 19:19:17 -05:00
nvidia,tegra186-hsp.yaml dt-bindings: mailbox: tegra: Document Tegra264 HSP 2023-06-30 17:35:45 -05:00
qcom,apcs-kpss-global.yaml dt-bindings: mailbox: qcom,apcs: Add separate node for clock-controller 2025-05-29 10:01:30 -05:00
qcom,cpucp-mbox.yaml dt-bindings: mailbox: qcom: Add CPUCP mailbox controller bindings 2024-07-10 13:24:55 -05:00
qcom-ipcc.yaml dt-bindings: mailbox: qcom-ipcc: Add SM8750 2024-11-24 13:01:27 -06:00
rockchip-mailbox.txt dt-bindings: rockchip-mailbox: Add mailbox controller document on Rockchip SoCs 2016-03-11 10:37:17 +07:00
sophgo,cv1800b-mailbox.yaml dt-bindings: mailbox: add Sophgo CV18XX series SoC 2025-05-26 16:23:39 -05:00
sprd-mailbox.yaml dt-bindings: mailbox: Drop unneeded quotes 2023-04-04 12:12:12 -05:00
st,sti-mailbox.yaml dt-bindings: mailbox: sti-mailbox: convert to DT schema 2023-02-23 14:47:12 -06:00
st,stm32-ipcc.yaml dt-bindings: mailbox: Drop unneeded quotes 2023-04-04 12:12:12 -05:00
thead,th1520-mbox.yaml dt-bindings: mailbox: Add thead,th1520-mailbox bindings 2024-11-24 13:06:42 -06:00
ti,message-manager.txt dt-bindings: mailbox: ti,message-manager: Fix interrupt name error 2017-12-15 15:03:24 -06:00
ti,omap-mailbox.yaml dt-bindings: use capital "OR" for multiple licenses in SPDX 2023-08-23 15:00:31 -05:00
ti,secure-proxy.yaml dt-bindings: mailbox: ti,secure-proxy: Convert to json schema 2021-04-18 12:12:15 -05:00
xgene-slimpro-mailbox.txt Documentation: mailbox: Add APM X-Gene SLIMpro mailbox dts documentation 2016-02-15 13:20:04 +05:30
xlnx,zynqmp-ipi-mailbox.yaml dt-bindings: mailbox: add Versal IPI bindings 2024-01-13 23:08:50 -06:00