arm64: dts: mediatek: mt8183-pumpkin: add HDMI support

The MT8183 Pumpkin board has a micro-HDMI connector. HDMI support is
provided by an IT66121 DPI <-> HDMI bridge.

Enable the DPI and add the node for the IT66121 bridge.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Co-developed-by: Pin-yen Lin <treapking@chromium.org>
Signed-off-by: Pin-yen Lin <treapking@chromium.org>
Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20240919094212.1902073-1-treapking@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
This commit is contained in:
Fabien Parent
2024-09-19 17:41:49 +08:00
committed by AngeloGioacchino Del Regno
parent 377548f05b
commit 72f3e3d68c

View File

@@ -63,6 +63,18 @@ thermistor {
pulldown-ohm = <0>;
io-channels = <&auxadc 0>;
};
connector {
compatible = "hdmi-connector";
label = "hdmi";
type = "d";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&hdmi_connector_out>;
};
};
};
};
&auxadc {
@@ -120,6 +132,43 @@ &i2c6 {
pinctrl-0 = <&i2c6_pins>;
status = "okay";
clock-frequency = <100000>;
#address-cells = <1>;
#size-cells = <0>;
it66121hdmitx: hdmitx@4c {
compatible = "ite,it66121";
reg = <0x4c>;
pinctrl-names = "default";
pinctrl-0 = <&ite_pins>;
reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>;
interrupt-parent = <&pio>;
interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
vcn33-supply = <&mt6358_vcn33_reg>;
vcn18-supply = <&mt6358_vcn18_reg>;
vrf12-supply = <&mt6358_vrf12_reg>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
it66121_in: endpoint {
bus-width = <12>;
remote-endpoint = <&dpi_out>;
};
};
port@1 {
reg = <1>;
hdmi_connector_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
&keyboard {
@@ -362,6 +411,67 @@ pins_clk {
input-enable;
};
};
ite_pins: ite-pins {
pins-irq {
pinmux = <PINMUX_GPIO4__FUNC_GPIO4>;
input-enable;
bias-pull-up;
};
pins-rst {
pinmux = <PINMUX_GPIO160__FUNC_GPIO160>;
output-high;
};
};
dpi_func_pins: dpi-func-pins {
pins-dpi {
pinmux = <PINMUX_GPIO12__FUNC_I2S5_BCK>,
<PINMUX_GPIO46__FUNC_I2S5_LRCK>,
<PINMUX_GPIO47__FUNC_I2S5_DO>,
<PINMUX_GPIO13__FUNC_DBPI_D0>,
<PINMUX_GPIO14__FUNC_DBPI_D1>,
<PINMUX_GPIO15__FUNC_DBPI_D2>,
<PINMUX_GPIO16__FUNC_DBPI_D3>,
<PINMUX_GPIO17__FUNC_DBPI_D4>,
<PINMUX_GPIO18__FUNC_DBPI_D5>,
<PINMUX_GPIO19__FUNC_DBPI_D6>,
<PINMUX_GPIO20__FUNC_DBPI_D7>,
<PINMUX_GPIO21__FUNC_DBPI_D8>,
<PINMUX_GPIO22__FUNC_DBPI_D9>,
<PINMUX_GPIO23__FUNC_DBPI_D10>,
<PINMUX_GPIO24__FUNC_DBPI_D11>,
<PINMUX_GPIO25__FUNC_DBPI_HSYNC>,
<PINMUX_GPIO26__FUNC_DBPI_VSYNC>,
<PINMUX_GPIO27__FUNC_DBPI_DE>,
<PINMUX_GPIO28__FUNC_DBPI_CK>;
};
};
dpi_idle_pins: dpi-idle-pins {
pins-idle {
pinmux = <PINMUX_GPIO12__FUNC_GPIO12>,
<PINMUX_GPIO46__FUNC_GPIO46>,
<PINMUX_GPIO47__FUNC_GPIO47>,
<PINMUX_GPIO13__FUNC_GPIO13>,
<PINMUX_GPIO14__FUNC_GPIO14>,
<PINMUX_GPIO15__FUNC_GPIO15>,
<PINMUX_GPIO16__FUNC_GPIO16>,
<PINMUX_GPIO17__FUNC_GPIO17>,
<PINMUX_GPIO18__FUNC_GPIO18>,
<PINMUX_GPIO19__FUNC_GPIO19>,
<PINMUX_GPIO20__FUNC_GPIO20>,
<PINMUX_GPIO21__FUNC_GPIO21>,
<PINMUX_GPIO22__FUNC_GPIO22>,
<PINMUX_GPIO23__FUNC_GPIO23>,
<PINMUX_GPIO24__FUNC_GPIO24>,
<PINMUX_GPIO25__FUNC_GPIO25>,
<PINMUX_GPIO26__FUNC_GPIO26>,
<PINMUX_GPIO27__FUNC_GPIO27>,
<PINMUX_GPIO28__FUNC_GPIO28>;
};
};
};
&pmic {
@@ -415,3 +525,16 @@ &scp {
&dsi0 {
status = "disabled";
};
&dpi0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&dpi_func_pins>;
pinctrl-1 = <&dpi_idle_pins>;
status = "okay";
port {
dpi_out: endpoint {
remote-endpoint = <&it66121_in>;
};
};
};