Commit 5fb9ae88 authored by Maciej Purski's avatar Maciej Purski Committed by Krzysztof Kozlowski

ARM: dts: exynos: Add HDMI and Sil9234 to Trats2 board

Add HDMI and Sil9234 MHL converter to Trats2 board.
Following in SoC devices have been enabled:
- HDMI (HDMI signal encoder),
- Mixer (video buffer scanout device),
- I2C_5 bus (used for HDMI DDC)
- I2C_8 bus (used for HDMI_PHY control).

Based on previous work by:
Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: default avatarMaciej Purski <m.purski@samsung.com>
Reviewed-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 1ac49427
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/maxim,max77686.h> #include <dt-bindings/clock/maxim,max77686.h>
#include <dt-bindings/pinctrl/samsung.h>
/ { / {
model = "Samsung Trats 2 based on Exynos4412"; model = "Samsung Trats 2 based on Exynos4412";
...@@ -97,6 +98,34 @@ ps_als_reg: voltage-regulator-5 { ...@@ -97,6 +98,34 @@ ps_als_reg: voltage-regulator-5 {
gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>; gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
vsil12: voltage-regulator-6 {
compatible = "regulator-fixed";
regulator-name = "VSIL_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&buck7_reg>;
};
vcc33mhl: voltage-regulator-7 {
compatible = "regulator-fixed";
regulator-name = "VCC_3.3_MHL";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
vcc18mhl: voltage-regulator-8 {
compatible = "regulator-fixed";
regulator-name = "VCC_1.8_MHL";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
}; };
gpio-keys { gpio-keys {
...@@ -229,6 +258,36 @@ cm36651@18 { ...@@ -229,6 +258,36 @@ cm36651@18 {
}; };
}; };
i2c-mhl {
compatible = "i2c-gpio";
gpios = <&gpf0 4 GPIO_ACTIVE_HIGH>, <&gpf0 6 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <100>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&i2c_mhl_bus>;
pinctrl-names = "default";
status = "okay";
sii9234: hdmi-bridge@39 {
compatible = "sil,sii9234";
avcc33-supply = <&vcc33mhl>;
iovcc18-supply = <&vcc18mhl>;
avcc12-supply = <&vsil12>;
cvcc12-supply = <&vsil12>;
reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
interrupt-parent = <&gpf3>;
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
reg = <0x39>;
port {
mhl_to_hdmi: endpoint {
remote-endpoint = <&hdmi_to_mhl>;
};
};
};
};
camera: camera { camera: camera {
pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>; pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -501,6 +560,29 @@ &fimd { ...@@ -501,6 +560,29 @@ &fimd {
status = "okay"; status = "okay";
}; };
&hdmi {
hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd>;
vdd-supply = <&ldo3_reg>;
vdd_osc-supply = <&ldo4_reg>;
vdd_pll-supply = <&ldo3_reg>;
ddc = <&i2c_5>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
hdmi_to_mhl: endpoint {
remote-endpoint = <&mhl_to_hdmi>;
};
};
};
};
&hsotg { &hsotg {
vusb_d-supply = <&ldo15_reg>; vusb_d-supply = <&ldo15_reg>;
vusb_a-supply = <&ldo12_reg>; vusb_a-supply = <&ldo12_reg>;
...@@ -579,6 +661,10 @@ wm1811: wm1811@1a { ...@@ -579,6 +661,10 @@ wm1811: wm1811@1a {
}; };
}; };
&i2c_5 {
status = "okay";
};
&i2c_7 { &i2c_7 {
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>; samsung,i2c-slave-addr = <0x10>;
...@@ -873,12 +959,20 @@ buck9_reg: BUCK9 { ...@@ -873,12 +959,20 @@ buck9_reg: BUCK9 {
}; };
}; };
&i2c_8 {
status = "okay";
};
&i2s0 { &i2s0 {
pinctrl-0 = <&i2s0_bus>; pinctrl-0 = <&i2s0_bus>;
pinctrl-names = "default"; pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
&mixer {
status = "okay";
};
&mshc_0 { &mshc_0 {
broken-cd; broken-cd;
non-removable; non-removable;
...@@ -904,6 +998,18 @@ &pinctrl_0 { ...@@ -904,6 +998,18 @@ &pinctrl_0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&sleep0>; pinctrl-0 = <&sleep0>;
mhl_int: mhl-int {
samsung,pins = "gpf3-5";
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
};
i2c_mhl_bus: i2c-mhl-bus {
samsung,pins = "gpf0-4", "gpf0-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
sleep0: sleep-states { sleep0: sleep-states {
PIN_SLP(gpa0-0, INPUT, NONE); PIN_SLP(gpa0-0, INPUT, NONE);
PIN_SLP(gpa0-1, OUT0, NONE); PIN_SLP(gpa0-1, OUT0, NONE);
...@@ -1007,6 +1113,11 @@ &pinctrl_1 { ...@@ -1007,6 +1113,11 @@ &pinctrl_1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&sleep1>; pinctrl-0 = <&sleep1>;
hdmi_hpd: hdmi-hpd {
samsung,pins = "gpx3-7";
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
};
sleep1: sleep-states { sleep1: sleep-states {
PIN_SLP(gpk0-0, PREV, NONE); PIN_SLP(gpk0-0, PREV, NONE);
PIN_SLP(gpk0-1, PREV, NONE); PIN_SLP(gpk0-1, PREV, NONE);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment