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