Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 343be50d authored by Kasin Li's avatar Kasin Li
Browse files

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
parent d9e39aa9
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
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>;
	};
+30 −0
Original line number Diff line number Diff line
* 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>;
	};