136ca3c8cSAdam Ford// SPDX-License-Identifier: (GPL-2.0 OR MIT)
236ca3c8cSAdam Ford/*
336ca3c8cSAdam Ford * Copyright 2020 Compass Electronics Group, LLC
436ca3c8cSAdam Ford */
536ca3c8cSAdam Ford
636ca3c8cSAdam Ford/dts-v1/;
736ca3c8cSAdam Ford
836ca3c8cSAdam Ford#include "imx8mn.dtsi"
936ca3c8cSAdam Ford#include "imx8mn-beacon-som.dtsi"
1036ca3c8cSAdam Ford#include "imx8mn-beacon-baseboard.dtsi"
1136ca3c8cSAdam Ford
1236ca3c8cSAdam Ford/ {
1336ca3c8cSAdam Ford	model = "Beacon EmbeddedWorks i.MX8M Nano Development Kit";
1436ca3c8cSAdam Ford	compatible = "beacon,imx8mn-beacon-kit", "fsl,imx8mn";
1536ca3c8cSAdam Ford
1636ca3c8cSAdam Ford	chosen {
1736ca3c8cSAdam Ford		stdout-path = &uart2;
1836ca3c8cSAdam Ford	};
191d6880ceSAdam Ford
201d6880ceSAdam Ford	connector {
211d6880ceSAdam Ford		compatible = "hdmi-connector";
221d6880ceSAdam Ford		type = "a";
231d6880ceSAdam Ford
241d6880ceSAdam Ford		port {
251d6880ceSAdam Ford			hdmi_connector_in: endpoint {
261d6880ceSAdam Ford				remote-endpoint = <&adv7535_out>;
271d6880ceSAdam Ford			};
281d6880ceSAdam Ford		};
291d6880ceSAdam Ford	};
301d6880ceSAdam Ford
311d6880ceSAdam Ford	reg_hdmi: regulator-hdmi-dvdd {
321d6880ceSAdam Ford		compatible = "regulator-fixed";
331d6880ceSAdam Ford		pinctrl-names = "default";
341d6880ceSAdam Ford		pinctrl-0 = <&pinctrl_reg_hdmi>;
351d6880ceSAdam Ford		regulator-name = "hdmi_pwr_en";
361d6880ceSAdam Ford		regulator-min-microvolt = <3300000>;
371d6880ceSAdam Ford		regulator-max-microvolt = <3300000>;
381d6880ceSAdam Ford		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
391d6880ceSAdam Ford		enable-active-high;
401d6880ceSAdam Ford		startup-delay-us = <70000>;
411d6880ceSAdam Ford		regulator-always-on;
421d6880ceSAdam Ford	};
431d6880ceSAdam Ford
441d6880ceSAdam Ford	sound-hdmi {
451d6880ceSAdam Ford		compatible = "simple-audio-card";
461d6880ceSAdam Ford		simple-audio-card,name = "sound-hdmi";
471d6880ceSAdam Ford		simple-audio-card,format = "i2s";
481d6880ceSAdam Ford
491d6880ceSAdam Ford		simple-audio-card,cpu {
50*bdbae4c1SFabio Estevam			sound-dai = <&sai5>;
511d6880ceSAdam Ford			system-clock-direction-out;
521d6880ceSAdam Ford		};
531d6880ceSAdam Ford
541d6880ceSAdam Ford		simple-audio-card,codec {
551d6880ceSAdam Ford			sound-dai = <&adv_bridge>;
561d6880ceSAdam Ford		};
571d6880ceSAdam Ford	};
581d6880ceSAdam Ford};
591d6880ceSAdam Ford
601d6880ceSAdam Ford&i2c2 {
611d6880ceSAdam Ford	adv_bridge: hdmi@3d {
621d6880ceSAdam Ford		compatible = "adi,adv7535";
631d6880ceSAdam Ford		pinctrl-names = "default";
641d6880ceSAdam Ford		pinctrl-0 = <&pinctrl_hdmi_bridge>;
651d6880ceSAdam Ford		reg = <0x3d>, <0x3c>, <0x3e>, <0x3f>;
661d6880ceSAdam Ford		reg-names = "main", "cec", "edid", "packet";
671d6880ceSAdam Ford		adi,dsi-lanes = <4>;
681d6880ceSAdam Ford		avdd-supply = <&reg_hdmi>;
691d6880ceSAdam Ford		a2vdd-supply = <&reg_hdmi>;
701d6880ceSAdam Ford		dvdd-supply = <&reg_hdmi>;
711d6880ceSAdam Ford		pvdd-supply = <&reg_hdmi>;
721d6880ceSAdam Ford		v1p2-supply = <&reg_hdmi>;
731d6880ceSAdam Ford		v3p3-supply = <&reg_hdmi>;
741d6880ceSAdam Ford		interrupt-parent = <&gpio1>;
751d6880ceSAdam Ford		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
761d6880ceSAdam Ford		#sound-dai-cells = <0>;
771d6880ceSAdam Ford
781d6880ceSAdam Ford		ports {
791d6880ceSAdam Ford			#address-cells = <1>;
801d6880ceSAdam Ford			#size-cells = <0>;
811d6880ceSAdam Ford
821d6880ceSAdam Ford			port@0 {
831d6880ceSAdam Ford				reg = <0>;
841d6880ceSAdam Ford
851d6880ceSAdam Ford				adv7535_in: endpoint {
861d6880ceSAdam Ford					remote-endpoint = <&dsi_out>;
871d6880ceSAdam Ford				};
881d6880ceSAdam Ford			};
891d6880ceSAdam Ford
901d6880ceSAdam Ford			port@1 {
911d6880ceSAdam Ford				reg = <1>;
921d6880ceSAdam Ford
931d6880ceSAdam Ford				adv7535_out: endpoint {
941d6880ceSAdam Ford					remote-endpoint = <&hdmi_connector_in>;
951d6880ceSAdam Ford				};
961d6880ceSAdam Ford			};
971d6880ceSAdam Ford		};
981d6880ceSAdam Ford	};
991d6880ceSAdam Ford};
1001d6880ceSAdam Ford
1011d6880ceSAdam Ford&lcdif {
1021d6880ceSAdam Ford	assigned-clocks = <&clk IMX8MN_VIDEO_PLL1>;
1031d6880ceSAdam Ford	assigned-clock-rates = <594000000>;
1041d6880ceSAdam Ford	status = "okay";
1051d6880ceSAdam Ford};
1061d6880ceSAdam Ford
1071d6880ceSAdam Ford&mipi_dsi {
1081d6880ceSAdam Ford	samsung,esc-clock-frequency = <20000000>;
1091d6880ceSAdam Ford	status = "okay";
1101d6880ceSAdam Ford
1111d6880ceSAdam Ford	ports {
1121d6880ceSAdam Ford		port@1 {
1131d6880ceSAdam Ford			reg = <1>;
1141d6880ceSAdam Ford
1151d6880ceSAdam Ford			dsi_out: endpoint {
1161d6880ceSAdam Ford				remote-endpoint = <&adv7535_in>;
1171d6880ceSAdam Ford			};
1181d6880ceSAdam Ford		};
1191d6880ceSAdam Ford	};
1201d6880ceSAdam Ford};
1211d6880ceSAdam Ford
1221d6880ceSAdam Ford&sai5 {
1231d6880ceSAdam Ford	pinctrl-names = "default";
1241d6880ceSAdam Ford	pinctrl-0 = <&pinctrl_sai5>;
1251d6880ceSAdam Ford	assigned-clocks = <&clk IMX8MN_CLK_SAI5>;
1261d6880ceSAdam Ford	assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
1271d6880ceSAdam Ford	assigned-clock-rates = <24576000>;
1281d6880ceSAdam Ford	#sound-dai-cells = <0>;
1291d6880ceSAdam Ford	status = "okay";
1301d6880ceSAdam Ford};
1311d6880ceSAdam Ford
1321d6880ceSAdam Ford&iomuxc {
1331d6880ceSAdam Ford	pinctrl_hdmi_bridge: hdmibridgegrp {
1341d6880ceSAdam Ford		fsl,pins = <
1351d6880ceSAdam Ford			MX8MN_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x19
1361d6880ceSAdam Ford		>;
1371d6880ceSAdam Ford	};
1381d6880ceSAdam Ford
1391d6880ceSAdam Ford	pinctrl_reg_hdmi: reghdmigrp {
1401d6880ceSAdam Ford		fsl,pins = <
1411d6880ceSAdam Ford			MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11              0x16
1421d6880ceSAdam Ford		>;
1431d6880ceSAdam Ford	};
1441d6880ceSAdam Ford
1451d6880ceSAdam Ford	pinctrl_sai5: sai5grp {
1461d6880ceSAdam Ford		fsl,pins = <
1471d6880ceSAdam Ford			MX8MN_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0	0xd6
1481d6880ceSAdam Ford			MX8MN_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK	0xd6
1491d6880ceSAdam Ford			MX8MN_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC	0xd6
1501d6880ceSAdam Ford		>;
1511d6880ceSAdam Ford	};
15236ca3c8cSAdam Ford};
153