ARM: dts: msm: add bindings for HGSL driver

Hgsl communicates with GPU hardware using either GPU registers or
TCSR compute signaling hardware block.

Change-Id: I881941953ee2340a4c47f10e85e4b0a1dfb87a50
This commit is contained in:
Kasin Li 2020-10-20 10:36:32 +08:00
commit 016f3fda68
2 changed files with 61 additions and 0 deletions

View file

@ -0,0 +1,31 @@
Top Control and Status Register(TCSR) for HGSL
TCSR hardware contains compute signal sub-block, which allows drivers in hypervisor
Linux to communicate with GPU hardware directly. This HGSL TCSR driver is to enable
the TCSR compute signal hardware. There are multiple instances of compute signal.
Each instance is either a signal sender or signal receiver.
The HGSL TCSR driver is built on top of generic TCSR driver, refer to
Documentation/devicetree/bindings/mfd/qcom,tcsr.txt for the generic TCSR driver.
Required properties:
- compatible : Must be "qcom,hgsl-tcsr-sender" or "qcom,hgsl-tcsr-receiver"
- syscon : Point to the generic TCSR compute signal node
- syscon-glb : Point to the generice TCSR node for compute signal global control.
This is only needed by signal sender.
- interrupts : Specify IRQ information used by the compute signal.
This is only needed by signal receiver.
Examples:
hgsl_tcsr_sender0: hgsl_tcsr_sender0 {
compatible = "qcom,hgsl-tcsr-sender";
syscon = <&tcsr_compute_signal_sender0>;
syscon-glb = <&tcsr_compute_signal_glb>;
};
hgsl_tcsr_receiver0: hgsl_tcsr_receiver0 {
compatible = "qcom,hgsl-tcsr-receiver";
syscon = <&tcsr_compute_signal_receiver0>;
interrupts = <0 238 0>;
};

View file

@ -0,0 +1,30 @@
* HGSL
HGSL(Hypervisor Graphics system layer) is graphics driver under the hypervisor system.
Required properties:
- compatible : Must be "qcom,hgsl"
- reg : physical base address and length of the register set(s).
- reg-names : names corresponding to each reg property value.
reg_hwver: HW version registers
reg_doorbell_idx: address of GMUAO_DOORBELL_IDX
Optional properties:
- qcom,glb-db-senders : Point to possible nodes of HGSL TCSR sender. The user will select
which sender to use. The driver will use TCSR compute signal to
send signal to GPU.
- qcom,glb-db-receivers : Point to possible nodes of HGSL TCSR receiver. The user will
select which receiver to use. The driver will use TCSR compute
signal to receive signal from GPU.
Example:
msm_gpu_hyp {
compatible = "qcom,hgsl";
reg = <0x2c00000 0x8>, <0x2c8f000 0x4>;
reg-names = "hgsl_reg_hwinf", "hgsl_reg_gmucx";
qcom,glb-db-senders = <&hgsl_tcsr_sender0 &hgsl_tcsr_sender1>;
qcom,glb-db-receivers = <&hgsl_tcsr_receiver0 &hgsl_tcsr_receiver1>;
};