xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8mm-emcon-avari.dtsi (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1*c9ccf3a3SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 or MIT)
2*c9ccf3a3SEmmanuel Vadot//
3*c9ccf3a3SEmmanuel Vadot// Copyright (C) 2021 emtrion GmbH
4*c9ccf3a3SEmmanuel Vadot// Author: Frank Erdrich <frank.erdrich@emtrion.com>
5*c9ccf3a3SEmmanuel Vadot//
6*c9ccf3a3SEmmanuel Vadot
7*c9ccf3a3SEmmanuel Vadot/ {
8*c9ccf3a3SEmmanuel Vadot	aliases {
9*c9ccf3a3SEmmanuel Vadot		boardid = &boardID;
10*c9ccf3a3SEmmanuel Vadot		mmc0 = &usdhc1;
11*c9ccf3a3SEmmanuel Vadot		mmc1 = &usdhc2;
12*c9ccf3a3SEmmanuel Vadot	};
13*c9ccf3a3SEmmanuel Vadot
14*c9ccf3a3SEmmanuel Vadot	chosen {
15*c9ccf3a3SEmmanuel Vadot		stdout-path = &uart1;
16*c9ccf3a3SEmmanuel Vadot	};
17*c9ccf3a3SEmmanuel Vadot
18*c9ccf3a3SEmmanuel Vadot	reg_wall_5p0: regulator-wall5p0 {
19*c9ccf3a3SEmmanuel Vadot		compatible = "regulator-fixed";
20*c9ccf3a3SEmmanuel Vadot		regulator-name = "Main-Supply";
21*c9ccf3a3SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
22*c9ccf3a3SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
23*c9ccf3a3SEmmanuel Vadot		regulator-always-on;
24*c9ccf3a3SEmmanuel Vadot		regulator-boot-on;
25*c9ccf3a3SEmmanuel Vadot	};
26*c9ccf3a3SEmmanuel Vadot
27*c9ccf3a3SEmmanuel Vadot	reg_base3p3: regulator-base3p3 {
28*c9ccf3a3SEmmanuel Vadot		compatible = "regulator-fixed";
29*c9ccf3a3SEmmanuel Vadot		vin-supply = <&reg_wall_5p0>;
30*c9ccf3a3SEmmanuel Vadot		regulator-name = "3V3-avari";
31*c9ccf3a3SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
32*c9ccf3a3SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
33*c9ccf3a3SEmmanuel Vadot		regulator-always-on;
34*c9ccf3a3SEmmanuel Vadot		regulator-boot-on;
35*c9ccf3a3SEmmanuel Vadot	};
36*c9ccf3a3SEmmanuel Vadot
37*c9ccf3a3SEmmanuel Vadot	reg_base1p5: regulator-base1p5 {
38*c9ccf3a3SEmmanuel Vadot		compatible = "regulator-fixed";
39*c9ccf3a3SEmmanuel Vadot		vin-supply = <&reg_base3p3>;
40*c9ccf3a3SEmmanuel Vadot		regulator-name = "1V5-avari";
41*c9ccf3a3SEmmanuel Vadot		regulator-min-microvolt = <1500000>;
42*c9ccf3a3SEmmanuel Vadot		regulator-max-microvolt = <1500000>;
43*c9ccf3a3SEmmanuel Vadot		regulator-always-on;
44*c9ccf3a3SEmmanuel Vadot		regulator-boot-on;
45*c9ccf3a3SEmmanuel Vadot	};
46*c9ccf3a3SEmmanuel Vadot
47*c9ccf3a3SEmmanuel Vadot	reg_usb_otg: regulator-otgvbus {
48*c9ccf3a3SEmmanuel Vadot		compatible = "regulator-fixed";
49*c9ccf3a3SEmmanuel Vadot		vin-supply = <&reg_wall_5p0>;
50*c9ccf3a3SEmmanuel Vadot		regulator-name = "OTG_VBUS";
51*c9ccf3a3SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
52*c9ccf3a3SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
53*c9ccf3a3SEmmanuel Vadot		gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
54*c9ccf3a3SEmmanuel Vadot		regulator-always-on;
55*c9ccf3a3SEmmanuel Vadot	};
56*c9ccf3a3SEmmanuel Vadot
57*c9ccf3a3SEmmanuel Vadot	clk_codec: clock-codec {
58*c9ccf3a3SEmmanuel Vadot		compatible = "fixed-clock";
59*c9ccf3a3SEmmanuel Vadot		#clock-cells = <0>;
60*c9ccf3a3SEmmanuel Vadot		clock-frequency = <12000000>;
61*c9ccf3a3SEmmanuel Vadot	};
62*c9ccf3a3SEmmanuel Vadot
63*c9ccf3a3SEmmanuel Vadot	sound {
64*c9ccf3a3SEmmanuel Vadot		compatible = "simple-audio-card";
65*c9ccf3a3SEmmanuel Vadot		simple-audio-card,name = "SGTL5000-Card";
66*c9ccf3a3SEmmanuel Vadot		simple-audio-card,format = "i2s";
67*c9ccf3a3SEmmanuel Vadot		simple-audio-card,bitclock-master = <&codec_dai>;
68*c9ccf3a3SEmmanuel Vadot		simple-audio-card,frame-master = <&codec_dai>;
69*c9ccf3a3SEmmanuel Vadot		simple-audio-card,widgets = "Headphone", "Headphone Jack";
70*c9ccf3a3SEmmanuel Vadot		simple-audio-card,routing = "Headphone Jack", "HP_OUT";
71*c9ccf3a3SEmmanuel Vadot
72*c9ccf3a3SEmmanuel Vadot		cpu_dai: simple-audio-card,cpu {
73*c9ccf3a3SEmmanuel Vadot			sound-dai = <&sai2>;
74*c9ccf3a3SEmmanuel Vadot		};
75*c9ccf3a3SEmmanuel Vadot
76*c9ccf3a3SEmmanuel Vadot		codec_dai: simple-audio-card,codec {
77*c9ccf3a3SEmmanuel Vadot			sound-dai = <&sgtl5000>;
78*c9ccf3a3SEmmanuel Vadot		};
79*c9ccf3a3SEmmanuel Vadot	};
80*c9ccf3a3SEmmanuel Vadot};
81*c9ccf3a3SEmmanuel Vadot
82*c9ccf3a3SEmmanuel Vadot&ecspi1 {
83*c9ccf3a3SEmmanuel Vadot	status = "okay";
84*c9ccf3a3SEmmanuel Vadot};
85*c9ccf3a3SEmmanuel Vadot
86*c9ccf3a3SEmmanuel Vadot&i2c2 {
87*c9ccf3a3SEmmanuel Vadot	status = "okay";
88*c9ccf3a3SEmmanuel Vadot};
89*c9ccf3a3SEmmanuel Vadot
90*c9ccf3a3SEmmanuel Vadot&i2c1 {
91*c9ccf3a3SEmmanuel Vadot	clock-frequency = <100000>;
92*c9ccf3a3SEmmanuel Vadot	status = "okay";
93*c9ccf3a3SEmmanuel Vadot
94*c9ccf3a3SEmmanuel Vadot	sgtl5000: audio-codec@a {
95*c9ccf3a3SEmmanuel Vadot		compatible = "fsl,sgtl5000";
96*c9ccf3a3SEmmanuel Vadot		reg = <0x0a>;
97*c9ccf3a3SEmmanuel Vadot		#sound-dai-cells = <0>;
98*c9ccf3a3SEmmanuel Vadot		clocks = <&clk_codec>;
99*c9ccf3a3SEmmanuel Vadot		VDDA-supply = <&reg_base3p3>;
100*c9ccf3a3SEmmanuel Vadot		VDDIO-supply = <&reg_base3p3>;
101*c9ccf3a3SEmmanuel Vadot	};
102*c9ccf3a3SEmmanuel Vadot
103*c9ccf3a3SEmmanuel Vadot	boardID: gpio@3a {
104*c9ccf3a3SEmmanuel Vadot		compatible = "nxp,pca8574";
105*c9ccf3a3SEmmanuel Vadot		reg = <0x3a>;
106*c9ccf3a3SEmmanuel Vadot		gpio-controller;
107*c9ccf3a3SEmmanuel Vadot		#gpio-cells = <1>;
108*c9ccf3a3SEmmanuel Vadot	};
109*c9ccf3a3SEmmanuel Vadot};
110*c9ccf3a3SEmmanuel Vadot
111*c9ccf3a3SEmmanuel Vadot&sai2 {
112*c9ccf3a3SEmmanuel Vadot	status = "okay";
113*c9ccf3a3SEmmanuel Vadot};
114*c9ccf3a3SEmmanuel Vadot
115*c9ccf3a3SEmmanuel Vadot&uart2 {
116*c9ccf3a3SEmmanuel Vadot	uart-has-rtscts;
117*c9ccf3a3SEmmanuel Vadot	status = "okay";
118*c9ccf3a3SEmmanuel Vadot};
119*c9ccf3a3SEmmanuel Vadot
120*c9ccf3a3SEmmanuel Vadot&uart3 {
121*c9ccf3a3SEmmanuel Vadot	status = "okay";
122*c9ccf3a3SEmmanuel Vadot};
123*c9ccf3a3SEmmanuel Vadot
124*c9ccf3a3SEmmanuel Vadot&uart4 {
125*c9ccf3a3SEmmanuel Vadot	status = "okay";
126*c9ccf3a3SEmmanuel Vadot};
127*c9ccf3a3SEmmanuel Vadot
128*c9ccf3a3SEmmanuel Vadot&usbotg1 {
129*c9ccf3a3SEmmanuel Vadot	status = "okay";
130*c9ccf3a3SEmmanuel Vadot};
131*c9ccf3a3SEmmanuel Vadot
132*c9ccf3a3SEmmanuel Vadot&usbotg2 {
133*c9ccf3a3SEmmanuel Vadot	dr_mode = "host";
134*c9ccf3a3SEmmanuel Vadot	status = "disabled";
135*c9ccf3a3SEmmanuel Vadot};
136*c9ccf3a3SEmmanuel Vadot
137*c9ccf3a3SEmmanuel Vadot&usdhc2 {
138*c9ccf3a3SEmmanuel Vadot	status = "okay";
139*c9ccf3a3SEmmanuel Vadot};
140