diff --git a/bindings/soc/qcom/hgsl-tcsr.txt b/bindings/soc/qcom/hgsl-tcsr.txt new file mode 100644 index 000000000000..80e237de49fa --- /dev/null +++ b/bindings/soc/qcom/hgsl-tcsr.txt @@ -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>; + }; + diff --git a/bindings/soc/qcom/hgsl.txt b/bindings/soc/qcom/hgsl.txt new file mode 100644 index 000000000000..4b608005b5ce --- /dev/null +++ b/bindings/soc/qcom/hgsl.txt @@ -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>; + };