mirror of
https://github.com/torvalds/linux.git
synced 2026-04-30 12:32:31 -04:00
The change adds support of internal HDMI I2C master controller, this subdevice is used by default, if "ddc-i2c-bus" DT property is omitted. The main purpose of this functionality is to support reading EDID from an HDMI monitor on boards, which don't have an I2C bus connected to DDC pins. The current implementation does not support "I2C Master Interface Extended Read Mode" to read data addressed by non-zero segment pointer, this means that if EDID has more than 1 extension blocks, EDID reading operation won't succeed, in my practice all tested HDMI monitors have at maximum one extension block. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Acked-by: Rob Herring <robh@kernel.org> Tested-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
53 lines
1.6 KiB
Plaintext
53 lines
1.6 KiB
Plaintext
DesignWare HDMI bridge bindings
|
|
|
|
Required properties:
|
|
- compatible: platform specific such as:
|
|
* "snps,dw-hdmi-tx"
|
|
* "fsl,imx6q-hdmi"
|
|
* "fsl,imx6dl-hdmi"
|
|
* "rockchip,rk3288-dw-hdmi"
|
|
- reg: Physical base address and length of the controller's registers.
|
|
- interrupts: The HDMI interrupt number
|
|
- clocks, clock-names : must have the phandles to the HDMI iahb and isfr clocks,
|
|
as described in Documentation/devicetree/bindings/clock/clock-bindings.txt,
|
|
the clocks are soc specific, the clock-names should be "iahb", "isfr"
|
|
-port@[X]: SoC specific port nodes with endpoint definitions as defined
|
|
in Documentation/devicetree/bindings/media/video-interfaces.txt,
|
|
please refer to the SoC specific binding document:
|
|
* Documentation/devicetree/bindings/display/imx/hdmi.txt
|
|
* Documentation/devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt
|
|
|
|
Optional properties
|
|
- reg-io-width: the width of the reg:1,4, default set to 1 if not present
|
|
- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing,
|
|
if the property is omitted, a functionally reduced I2C bus
|
|
controller on DW HDMI is probed
|
|
- clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec"
|
|
|
|
Example:
|
|
hdmi: hdmi@0120000 {
|
|
compatible = "fsl,imx6q-hdmi";
|
|
reg = <0x00120000 0x9000>;
|
|
interrupts = <0 115 0x04>;
|
|
gpr = <&gpr>;
|
|
clocks = <&clks 123>, <&clks 124>;
|
|
clock-names = "iahb", "isfr";
|
|
ddc-i2c-bus = <&i2c2>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
hdmi_mux_0: endpoint {
|
|
remote-endpoint = <&ipu1_di0_hdmi>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
hdmi_mux_1: endpoint {
|
|
remote-endpoint = <&ipu1_di1_hdmi>;
|
|
};
|
|
};
|
|
};
|