xref: /freebsd/sys/contrib/device-tree/Bindings/display/exynos/exynos_hdmi.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotDevice-Tree bindings for drm hdmi driver
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible: value should be one among the following:
5*c66ec88fSEmmanuel Vadot	1) "samsung,exynos4210-hdmi"
6*c66ec88fSEmmanuel Vadot	2) "samsung,exynos4212-hdmi"
7*c66ec88fSEmmanuel Vadot	3) "samsung,exynos5420-hdmi"
8*c66ec88fSEmmanuel Vadot	4) "samsung,exynos5433-hdmi"
9*c66ec88fSEmmanuel Vadot- reg: physical base address of the hdmi and length of memory mapped
10*c66ec88fSEmmanuel Vadot	region.
11*c66ec88fSEmmanuel Vadot- interrupts: interrupt number to the cpu.
12*c66ec88fSEmmanuel Vadot- hpd-gpios: following information about the hotplug gpio pin.
13*c66ec88fSEmmanuel Vadot	a) phandle of the gpio controller node.
14*c66ec88fSEmmanuel Vadot	b) pin number within the gpio controller.
15*c66ec88fSEmmanuel Vadot	c) optional flags and pull up/down.
16*c66ec88fSEmmanuel Vadot- ddc: phandle to the hdmi ddc node
17*c66ec88fSEmmanuel Vadot- phy: phandle to the hdmi phy node
18*c66ec88fSEmmanuel Vadot- samsung,syscon-phandle: phandle for system controller node for PMU.
19*c66ec88fSEmmanuel Vadot- #sound-dai-cells: should be 0.
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel VadotRequired properties for Exynos 4210, 4212, 5420 and 5433:
22*c66ec88fSEmmanuel Vadot- clocks: list of clock IDs from SoC clock driver.
23*c66ec88fSEmmanuel Vadot	a) hdmi: Gate of HDMI IP bus clock.
24*c66ec88fSEmmanuel Vadot	b) sclk_hdmi: Gate of HDMI special clock.
25*c66ec88fSEmmanuel Vadot	c) sclk_pixel: Pixel special clock, one of the two possible inputs of
26*c66ec88fSEmmanuel Vadot		HDMI clock mux.
27*c66ec88fSEmmanuel Vadot	d) sclk_hdmiphy: HDMI PHY clock output, one of two possible inputs of
28*c66ec88fSEmmanuel Vadot		HDMI clock mux.
29*c66ec88fSEmmanuel Vadot	e) mout_hdmi: It is required by the driver to switch between the 2
30*c66ec88fSEmmanuel Vadot		parents i.e. sclk_pixel and sclk_hdmiphy. If hdmiphy is stable
31*c66ec88fSEmmanuel Vadot		after configuration, parent is set to sclk_hdmiphy else
32*c66ec88fSEmmanuel Vadot		sclk_pixel.
33*c66ec88fSEmmanuel Vadot- clock-names: aliases as per driver requirements for above clock IDs:
34*c66ec88fSEmmanuel Vadot	"hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy" and "mout_hdmi".
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel VadotRequired properties for Exynos 5433:
37*c66ec88fSEmmanuel Vadot- clocks: list of clock specifiers according to common clock bindings.
38*c66ec88fSEmmanuel Vadot	a) hdmi_pclk: Gate of HDMI IP APB bus.
39*c66ec88fSEmmanuel Vadot	b) hdmi_i_pclk: Gate of HDMI-PHY IP APB bus.
40*c66ec88fSEmmanuel Vadot	d) i_tmds_clk: Gate of HDMI TMDS clock.
41*c66ec88fSEmmanuel Vadot	e) i_pixel_clk: Gate of HDMI pixel clock.
42*c66ec88fSEmmanuel Vadot	f) i_spdif_clk: Gate of HDMI SPDIF clock.
43*c66ec88fSEmmanuel Vadot	g) oscclk: Oscillator clock, used as parent of following *_user clocks
44*c66ec88fSEmmanuel Vadot		in case HDMI-PHY is not operational.
45*c66ec88fSEmmanuel Vadot	h) tmds_clko: TMDS clock generated by HDMI-PHY.
46*c66ec88fSEmmanuel Vadot	i) tmds_clko_user: MUX used to switch between oscclk and tmds_clko,
47*c66ec88fSEmmanuel Vadot		respectively if HDMI-PHY is off and operational.
48*c66ec88fSEmmanuel Vadot	j) pixel_clko: Pixel clock generated by HDMI-PHY.
49*c66ec88fSEmmanuel Vadot	k) pixel_clko_user: MUX used to switch between oscclk and pixel_clko,
50*c66ec88fSEmmanuel Vadot		respectively if HDMI-PHY is off and operational.
51*c66ec88fSEmmanuel Vadot- clock-names: aliases for above clock specfiers.
52*c66ec88fSEmmanuel Vadot- samsung,sysreg: handle to syscon used to control the system registers.
53*c66ec88fSEmmanuel Vadot
54*c66ec88fSEmmanuel VadotExample:
55*c66ec88fSEmmanuel Vadot
56*c66ec88fSEmmanuel Vadot	hdmi {
57*c66ec88fSEmmanuel Vadot		compatible = "samsung,exynos4212-hdmi";
58*c66ec88fSEmmanuel Vadot		reg = <0x14530000 0x100000>;
59*c66ec88fSEmmanuel Vadot		interrupts = <0 95 0>;
60*c66ec88fSEmmanuel Vadot		hpd-gpios = <&gpx3 7 1>;
61*c66ec88fSEmmanuel Vadot		ddc = <&hdmi_ddc_node>;
62*c66ec88fSEmmanuel Vadot		phy = <&hdmi_phy_node>;
63*c66ec88fSEmmanuel Vadot		samsung,syscon-phandle = <&pmu_system_controller>;
64*c66ec88fSEmmanuel Vadot	};
65