mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
3.7 KiB
180 lines
3.7 KiB
# SPDX-License-Identifier: GPL-2.0 |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/display/brcm,bcm2835-hdmi.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: Broadcom VC4 (VideoCore4) HDMI Controller |
|
|
|
maintainers: |
|
- Eric Anholt <[email protected]> |
|
|
|
properties: |
|
compatible: |
|
enum: |
|
- brcm,bcm2835-hdmi |
|
- brcm,bcm2711-hdmi0 |
|
- brcm,bcm2711-hdmi1 |
|
|
|
reg: |
|
oneOf: |
|
- items: |
|
- description: HDMI register range |
|
- description: HD register range |
|
|
|
- items: |
|
- description: HDMI controller register range |
|
- description: DVP register range |
|
- description: HDMI PHY register range |
|
- description: Rate Manager register range |
|
- description: Packet RAM register range |
|
- description: Metadata RAM register range |
|
- description: CSC register range |
|
- description: CEC register range |
|
- description: HD register range |
|
|
|
reg-names: |
|
items: |
|
- const: hdmi |
|
- const: dvp |
|
- const: phy |
|
- const: rm |
|
- const: packet |
|
- const: metadata |
|
- const: csc |
|
- const: cec |
|
- const: hd |
|
|
|
interrupts: |
|
minItems: 2 |
|
|
|
clocks: |
|
oneOf: |
|
- items: |
|
- description: The pixel clock |
|
- description: The HDMI state machine clock |
|
|
|
- items: |
|
- description: The HDMI state machine clock |
|
|
|
clock-names: |
|
oneOf: |
|
- items: |
|
- const: pixel |
|
- const: hdmi |
|
|
|
- const: hdmi |
|
|
|
ddc: |
|
$ref: /schemas/types.yaml#/definitions/phandle |
|
description: > |
|
Phandle of the I2C controller used for DDC EDID probing |
|
|
|
hpd-gpios: |
|
maxItems: 1 |
|
description: > |
|
The GPIO pin for the HDMI hotplug detect (if it doesn't appear |
|
as an interrupt/status bit in the HDMI controller itself) |
|
|
|
dmas: |
|
maxItems: 1 |
|
description: > |
|
Should contain one entry pointing to the DMA channel used to |
|
transfer audio data. |
|
|
|
dma-names: |
|
const: audio-rx |
|
|
|
resets: |
|
maxItems: 1 |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- clocks |
|
- ddc |
|
|
|
additionalProperties: false |
|
|
|
if: |
|
properties: |
|
compatible: |
|
contains: |
|
enum: |
|
- brcm,bcm2711-hdmi0 |
|
- brcm,bcm2711-hdmi1 |
|
|
|
then: |
|
properties: |
|
reg: |
|
minItems: 9 |
|
|
|
clocks: |
|
maxItems: 1 |
|
|
|
clock-names: |
|
maxItems: 1 |
|
|
|
required: |
|
- reg-names |
|
- resets |
|
|
|
else: |
|
properties: |
|
reg: |
|
maxItems: 2 |
|
|
|
clocks: |
|
minItems: 2 |
|
|
|
clock-names: |
|
minItems: 2 |
|
|
|
required: |
|
- interrupts |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/clock/bcm2835.h> |
|
#include <dt-bindings/gpio/gpio.h> |
|
|
|
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"; |
|
}; |
|
|
|
- | |
|
hdmi0: hdmi@7ef00700 { |
|
compatible = "brcm,bcm2711-hdmi0"; |
|
reg = <0x7ef00700 0x300>, |
|
<0x7ef00300 0x200>, |
|
<0x7ef00f00 0x80>, |
|
<0x7ef00f80 0x80>, |
|
<0x7ef01b00 0x200>, |
|
<0x7ef01f00 0x400>, |
|
<0x7ef00200 0x80>, |
|
<0x7ef04300 0x100>, |
|
<0x7ef20000 0x100>; |
|
reg-names = "hdmi", |
|
"dvp", |
|
"phy", |
|
"rm", |
|
"packet", |
|
"metadata", |
|
"csc", |
|
"cec", |
|
"hd"; |
|
clocks = <&firmware_clocks 13>; |
|
clock-names = "hdmi"; |
|
resets = <&dvp 0>; |
|
ddc = <&ddc0>; |
|
}; |
|
|
|
...
|
|
|