etnaviv-drm.txt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. Etnaviv DRM master device
  2. =========================
  3. The Etnaviv DRM master device is a virtual device needed to list all
  4. Vivante GPU cores that comprise the GPU subsystem.
  5. Required properties:
  6. - compatible: Should be one of
  7. "fsl,imx-gpu-subsystem"
  8. "marvell,dove-gpu-subsystem"
  9. - cores: Should contain a list of phandles pointing to Vivante GPU devices
  10. example:
  11. gpu-subsystem {
  12. compatible = "fsl,imx-gpu-subsystem";
  13. cores = <&gpu_2d>, <&gpu_3d>;
  14. };
  15. Vivante GPU core devices
  16. ========================
  17. Required properties:
  18. - compatible: Should be "vivante,gc"
  19. A more specific compatible is not needed, as the cores contain chip
  20. identification registers at fixed locations, which provide all the
  21. necessary information to the driver.
  22. - reg: should be register base and length as documented in the
  23. datasheet
  24. - interrupts: Should contain the cores interrupt line
  25. - clocks: should contain one clock for entry in clock-names
  26. see Documentation/devicetree/bindings/clock/clock-bindings.txt
  27. - clock-names:
  28. - "bus": AXI/register clock
  29. - "core": GPU core clock
  30. - "shader": Shader clock (only required if GPU has feature PIPE_3D)
  31. Optional properties:
  32. - power-domains: a power domain consumer specifier according to
  33. Documentation/devicetree/bindings/power/power_domain.txt
  34. example:
  35. gpu_3d: gpu@00130000 {
  36. compatible = "vivante,gc";
  37. reg = <0x00130000 0x4000>;
  38. interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
  39. clocks = <&clks IMX6QDL_CLK_GPU3D_AXI>,
  40. <&clks IMX6QDL_CLK_GPU3D_CORE>,
  41. <&clks IMX6QDL_CLK_GPU3D_SHADER>;
  42. clock-names = "bus", "core", "shader";
  43. power-domains = <&gpc 1>;
  44. };