brcm,bcm-vc4.txt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. Broadcom VC4 (VideoCore4) GPU
  2. The VC4 device present on the Raspberry Pi includes a display system
  3. with HDMI output and the HVS (Hardware Video Scaler) for compositing
  4. display planes.
  5. Required properties for VC4:
  6. - compatible: Should be "brcm,bcm2835-vc4"
  7. Required properties for Pixel Valve:
  8. - compatible: Should be one of "brcm,bcm2835-pixelvalve0",
  9. "brcm,bcm2835-pixelvalve1", or "brcm,bcm2835-pixelvalve2"
  10. - reg: Physical base address and length of the PV's registers
  11. - interrupts: The interrupt number
  12. See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
  13. Required properties for HVS:
  14. - compatible: Should be "brcm,bcm2835-hvs"
  15. - reg: Physical base address and length of the HVS's registers
  16. - interrupts: The interrupt number
  17. See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
  18. Required properties for HDMI
  19. - compatible: Should be "brcm,bcm2835-hdmi"
  20. - reg: Physical base address and length of the two register ranges
  21. ("HDMI" and "HD", in that order)
  22. - interrupts: The interrupt numbers
  23. See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
  24. - ddc: phandle of the I2C controller used for DDC EDID probing
  25. - clocks: a) hdmi: The HDMI state machine clock
  26. b) pixel: The pixel clock.
  27. Optional properties for HDMI:
  28. - hpd-gpios: The GPIO pin for HDMI hotplug detect (if it doesn't appear
  29. as an interrupt/status bit in the HDMI controller
  30. itself). See bindings/pinctrl/brcm,bcm2835-gpio.txt
  31. Required properties for DPI:
  32. - compatible: Should be "brcm,bcm2835-dpi"
  33. - reg: Physical base address and length of the registers
  34. - clocks: a) core: The core clock the unit runs on
  35. b) pixel: The pixel clock that feeds the pixelvalve
  36. - port: Port node with a single endpoint connecting to the panel
  37. device, as defined in [1]
  38. Required properties for V3D:
  39. - compatible: Should be "brcm,bcm2835-v3d"
  40. - reg: Physical base address and length of the V3D's registers
  41. - interrupts: The interrupt number
  42. See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
  43. [1] Documentation/devicetree/bindings/media/video-interfaces.txt
  44. Example:
  45. pixelvalve@7e807000 {
  46. compatible = "brcm,bcm2835-pixelvalve2";
  47. reg = <0x7e807000 0x100>;
  48. interrupts = <2 10>; /* pixelvalve */
  49. };
  50. hvs@7e400000 {
  51. compatible = "brcm,bcm2835-hvs";
  52. reg = <0x7e400000 0x6000>;
  53. interrupts = <2 1>;
  54. };
  55. hdmi: hdmi@7e902000 {
  56. compatible = "brcm,bcm2835-hdmi";
  57. reg = <0x7e902000 0x600>,
  58. <0x7e808000 0x100>;
  59. interrupts = <2 8>, <2 9>;
  60. ddc = <&i2c2>;
  61. hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
  62. clocks = <&clocks BCM2835_PLLH_PIX>,
  63. <&clocks BCM2835_CLOCK_HSM>;
  64. clock-names = "pixel", "hdmi";
  65. };
  66. dpi: dpi@7e208000 {
  67. compatible = "brcm,bcm2835-dpi";
  68. reg = <0x7e208000 0x8c>;
  69. clocks = <&clocks BCM2835_CLOCK_VPU>,
  70. <&clocks BCM2835_CLOCK_DPI>;
  71. clock-names = "core", "pixel";
  72. #address-cells = <1>;
  73. #size-cells = <0>;
  74. port {
  75. dpi_out: endpoint@0 {
  76. remote-endpoint = <&panel_in>;
  77. };
  78. };
  79. };
  80. v3d: v3d@7ec00000 {
  81. compatible = "brcm,bcm2835-v3d";
  82. reg = <0x7ec00000 0x1000>;
  83. interrupts = <1 10>;
  84. };
  85. vc4: gpu {
  86. compatible = "brcm,bcm2835-vc4";
  87. };
  88. panel: panel {
  89. compatible = "ontat,yx700wv03", "simple-panel";
  90. port {
  91. panel_in: endpoint {
  92. remote-endpoint = <&dpi_out>;
  93. };
  94. };
  95. };