Broadcom VC4 (VideoCore4) GPU The VC4 device present on the Raspberry Pi includes a display system with HDMI output and the HVS (Hardware Video Scaler) for compositing display planes. Required properties for VC4: - compatible: Should be "brcm,bcm2835-vc4" Required properties for Pixel Valve: - compatible: Should be one of "brcm,bcm2835-pixelvalve0", "brcm,bcm2835-pixelvalve1", or "brcm,bcm2835-pixelvalve2" - reg: Physical base address and length of the PV's registers - interrupts: The interrupt number See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt Required properties for HVS: - compatible: Should be "brcm,bcm2835-hvs" - reg: Physical base address and length of the HVS's registers - interrupts: The interrupt number See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt Required properties for HDMI - compatible: Should be "brcm,bcm2835-hdmi" - reg: Physical base address and length of the two register ranges ("HDMI" and "HD", in that order) - interrupts: The interrupt numbers See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt - ddc: phandle of the I2C controller used for DDC EDID probing - clocks: a) hdmi: The HDMI state machine clock b) pixel: The pixel clock. Optional properties for HDMI: - hpd-gpios: The GPIO pin for HDMI hotplug detect (if it doesn't appear as an interrupt/status bit in the HDMI controller itself). See bindings/pinctrl/brcm,bcm2835-gpio.txt Example: pixelvalve@7e807000 { compatible = "brcm,bcm2835-pixelvalve2"; reg = <0x7e807000 0x100>; interrupts = <2 10>; /* pixelvalve */ }; hvs@7e400000 { compatible = "brcm,bcm2835-hvs"; reg = <0x7e400000 0x6000>; interrupts = <2 1>; }; hdmi: hdmi@7e902000 { compatible = "brcm,bcm2835-hdmi"; reg = <0x7e902000 0x600>, <0x7e808000 0x100>; interrupts = <2 8>, <2 9>; ddc = <&i2c2>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; clocks = <&clocks BCM2835_PLLH_PIX>, <&clocks BCM2835_CLOCK_HSM>; clock-names = "pixel", "hdmi"; }; vc4: gpu { compatible = "brcm,bcm2835-vc4"; };