blob: 35b8d2060cd99aa95ef9dd13c0eca5eb3ebc159b [file] [log] [blame]
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2020 Compass Electronics Group, LLC
*/
/dts-v1/;
#include "imx8mn.dtsi"
#include "imx8mn-beacon-som.dtsi"
#include "imx8mn-beacon-baseboard.dtsi"
/ {
model = "Beacon EmbeddedWorks i.MX8M Nano Development Kit";
compatible = "beacon,imx8mn-beacon-kit", "fsl,imx8mn";
chosen {
stdout-path = &uart2;
};
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&adv7535_out>;
};
};
};
reg_hdmi: regulator-hdmi-dvdd {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_hdmi>;
regulator-name = "hdmi_pwr_en";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
enable-active-high;
startup-delay-us = <70000>;
regulator-always-on;
};
sound-hdmi {
compatible = "simple-audio-card";
simple-audio-card,name = "sound-hdmi";
simple-audio-card,format = "i2s";
simple-audio-card,cpu {
sound-dai = <&sai5>;
system-clock-direction-out;
};
simple-audio-card,codec {
sound-dai = <&adv_bridge>;
};
};
};
&i2c2 {
adv_bridge: hdmi@3d {
compatible = "adi,adv7535";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hdmi_bridge>;
reg = <0x3d>, <0x3c>, <0x3e>, <0x3f>;
reg-names = "main", "cec", "edid", "packet";
adi,dsi-lanes = <4>;
avdd-supply = <&reg_hdmi>;
a2vdd-supply = <&reg_hdmi>;
dvdd-supply = <&reg_hdmi>;
pvdd-supply = <&reg_hdmi>;
v1p2-supply = <&reg_hdmi>;
v3p3-supply = <&reg_hdmi>;
interrupt-parent = <&gpio1>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
#sound-dai-cells = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
adv7535_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
port@1 {
reg = <1>;
adv7535_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
&lcdif {
assigned-clocks = <&clk IMX8MN_VIDEO_PLL1>;
assigned-clock-rates = <594000000>;
status = "okay";
};
&mipi_dsi {
samsung,esc-clock-frequency = <20000000>;
status = "okay";
ports {
port@1 {
reg = <1>;
dsi_out: endpoint {
remote-endpoint = <&adv7535_in>;
};
};
};
};
&sai5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai5>;
assigned-clocks = <&clk IMX8MN_CLK_SAI5>;
assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
assigned-clock-rates = <24576000>;
#sound-dai-cells = <0>;
status = "okay";
};
&iomuxc {
pinctrl_hdmi_bridge: hdmibridgegrp {
fsl,pins = <
MX8MN_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
>;
};
pinctrl_reg_hdmi: reghdmigrp {
fsl,pins = <
MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11 0x16
>;
};
pinctrl_sai5: sai5grp {
fsl,pins = <
MX8MN_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0 0xd6
MX8MN_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK 0xd6
MX8MN_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC 0xd6
>;
};
};