From: Jyri Sarha <jsarha@xxxxxx> Add HDMI support for AM43x EPOS EVM. The HDMI uses SiI9022 HDMI encoder for audio and display, and it is mutually exclusive with the LCD and analogue audio. The choice between LCD + analogue audio and HDMI + HDMI-audio is made by booting either with am43x-epos-evm.dtb or am43x-epos-evm-hdmi.dtb. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/am43x-epos-evm-hdmi.dts | 120 ++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 arch/arm/boot/dts/am43x-epos-evm-hdmi.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 612149069180..43ba465596ad 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -777,6 +777,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += \ omap4-var-stk-om44.dtb dtb-$(CONFIG_SOC_AM43XX) += \ am43x-epos-evm.dtb \ + am43x-epos-evm-hdmi.dtb \ am437x-cm-t43.dtb \ am437x-gp-evm.dtb \ am437x-gp-evm-hdmi.dtb \ diff --git a/arch/arm/boot/dts/am43x-epos-evm-hdmi.dts b/arch/arm/boot/dts/am43x-epos-evm-hdmi.dts new file mode 100644 index 000000000000..314e9e8c513c --- /dev/null +++ b/arch/arm/boot/dts/am43x-epos-evm-hdmi.dts @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/* AM437x EPOS EVM with HDMI output */ + +#include "am43x-epos-evm.dts" + +/delete-node/ &lcd0; + +/ { + aliases { + display0 = &hdmi; + }; + + hdmi: connector { + compatible = "hdmi-connector"; + label = "hdmi"; + + type = "b"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&sii9022_out>; + }; + }; + }; + + sound@1 { + compatible = "simple-audio-card"; + simple-audio-card,name = "HDMI"; + simple-audio-card,format = "i2s"; + simple-audio-card,bitclock-master = <&hdmi_dailink_master>; + simple-audio-card,frame-master = <&hdmi_dailink_master>; + hdmi_dailink_master: simple-audio-card,cpu { + sound-dai = <&mcasp1>; + system-clock-frequency = <24000000>; + system-clock-direction-out; + }; + + simple-audio-card,codec { + sound-dai = <&sii9022>; + }; + }; + + sii9022_mclk: sii9022_mclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <12000000>; + }; +}; + +&lcd_bl { + status = "disabled"; +}; + +&sound0 { + status = "disabled"; +}; + +&tlv320aic3111 { + status = "disabled"; +}; + +&am43xx_pinmux { + sii9022_pins: sii9022_pins { + pinctrl-single,pins = < + AM4372_IOPAD(0x848, PIN_INPUT | MUX_MODE7) /* gpmc_a2.gpio1_18 */ + >; + }; +}; + +&i2c2 { + sii9022: sii9022@3b { + #sound-dai-cells = <0>; + compatible = "sil,sii9022"; + reg = <0x3b>; + + interrupt-parent = <&gpio1>; + interrupts = <18 IRQ_TYPE_LEVEL_LOW>; + + sil,i2s-data-lanes = < 0 >; + clocks = <&sii9022_mclk>; + clock-names = "mclk"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + sii9022_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + + port@1 { + reg = <1>; + + sii9022_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; +}; + +&dpi_out { + remote-endpoint = <&sii9022_in>; + data-lines = <24>; +}; + +/* Override SelLCDorHDMI from am437x-epos-evm.dts to select HDMI */ +&gpio2 { + p1 { + output-low; + }; +}; -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki