Merge tag 'vfio-v6.2-rc1' of https://github.com/awilliam/linux-vfio
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / freescale / mba8mx.dtsi
1 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
2 /*
3  * Copyright 2020-2021 TQ-Systems GmbH
4  */
5
6 #include <dt-bindings/net/ti-dp83867.h>
7
8 /* TQ-Systems GmbH MBa8Mx baseboard */
9
10 / {
11         beeper {
12                 compatible = "pwm-beeper";
13                 pwms = <&pwm4 0 250000 0>;
14                 beeper-hz = <4000>;
15                 amp-supply = <&reg_vcc_3v3>;
16         };
17
18         chosen {
19                 stdout-path = &uart3;
20         };
21
22         gpio-keys {
23                 compatible = "gpio-keys";
24                 pinctrl-names = "default";
25                 pinctrl-0 = <&pinctrl_gpiobutton>;
26                 autorepeat;
27
28                 switch-1 {
29                         label = "switch1";
30                         linux,code = <BTN_0>;
31                         gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
32                         wakeup-source;
33                 };
34
35                 btn2: switch-2 {
36                         label = "switch2";
37                         linux,code = <BTN_1>;
38                         gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
39                         wakeup-source;
40                 };
41
42                 switch-3 {
43                         label = "switch3";
44                         linux,code = <BTN_2>;
45                         gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
46                         wakeup-source;
47                 };
48         };
49
50         gpio_leds: gpio-leds {
51                 compatible = "gpio-leds";
52                 pinctrl-names = "default";
53                 pinctrl-0 = <&pinctrl_gpioled>;
54
55                 led1 {
56                         label = "led1";
57                         gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
58                         linux,default-trigger = "default-on";
59                 };
60
61                 led2: led2 {
62                         label = "led2";
63                         gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
64                         linux,default-trigger = "heartbeat";
65                 };
66         };
67
68         pcie0_refclk: pcie0-refclk {
69                 compatible = "fixed-clock";
70                 #clock-cells = <0>;
71                 clock-frequency = <100000000>;
72         };
73
74         reg_hub_vbus: regulator-hub-vbus {
75                 compatible = "regulator-fixed";
76                 regulator-name = "MBA8MX_HUB_VBUS";
77                 regulator-min-microvolt = <5000000>;
78                 regulator-max-microvolt = <5000000>;
79         };
80
81         reg_sn65dsi83_1v8: regulator-sn65dsi83-1v8 {
82                 compatible = "regulator-fixed";
83                 regulator-name = "SN65DSI83_1V8";
84                 regulator-min-microvolt = <1800000>;
85                 regulator-max-microvolt = <1800000>;
86                 gpio = <&expander0 5 GPIO_ACTIVE_HIGH>;
87                 enable-active-high;
88         };
89
90         reg_vcc_3v3: regulator-3v3 {
91                 compatible = "regulator-fixed";
92                 regulator-name = "MBA8MX_3V3";
93                 regulator-min-microvolt = <3300000>;
94                 regulator-max-microvolt = <3300000>;
95         };
96
97         sound {
98                 compatible = "fsl,imx-audio-tlv320aic32x4";
99                 model = "imx-audio-tlv320aic32x4";
100                 ssi-controller = <&sai3>;
101                 audio-codec = <&tlv320aic3x04>;
102         };
103 };
104
105 &ecspi1 {
106         pinctrl-names = "default";
107         pinctrl-0 = <&pinctrl_ecspi1>;
108         cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
109         status = "okay";
110 };
111
112 &ecspi2 {
113         pinctrl-names = "default";
114         pinctrl-0 = <&pinctrl_ecspi2>;
115         cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
116         status = "okay";
117 };
118
119 &fec1 {
120         pinctrl-names = "default";
121         pinctrl-0 = <&pinctrl_fec1>;
122         phy-mode = "rgmii-id";
123         phy-handle = <&ethphy0>;
124         phy-supply = <&reg_vcc_3v3>;
125         fsl,magic-packet;
126         mac-address = [ 00 00 00 00 00 00 ];
127         status = "okay";
128
129         mdio {
130                 #address-cells = <1>;
131                 #size-cells = <0>;
132
133                 ethphy0: ethernet-phy@e {
134                         compatible = "ethernet-phy-ieee802.3-c22";
135                         reg = <0xe>;
136                         ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
137                         ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
138                         ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
139                         ti,dp83867-rxctrl-strap-quirk;
140                         ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
141                         enet-phy-lane-no-swap;
142                         reset-gpios = <&expander2 7 GPIO_ACTIVE_LOW>;
143                         reset-assert-us = <500000>;
144                         reset-deassert-us = <500>;
145                 };
146         };
147 };
148
149 &i2c1 {
150         expander0: gpio@23 {
151                 compatible = "nxp,pca9555";
152                 reg = <0x23>;
153                 gpio-controller;
154                 #gpio-cells = <2>;
155                 vcc-supply = <&reg_vcc_3v3>;
156                 interrupt-parent = <&gpio1>;
157                 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
158                 interrupt-controller;
159                 #interrupt-cells = <2>;
160
161                 sd-mux-oe-hog {
162                         gpio-hog;
163                         gpios = <8 0>;
164                         output-low;
165                         line-name = "SD_MUX_EN#";
166                 };
167
168                 boot-cfg-oe-hog {
169                         gpio-hog;
170                         gpios = <12 0>;
171                         output-high;
172                         line-name = "BOOT_CFG_OE#";
173                 };
174
175                 rst-usb-hub-hog {
176                         gpio-hog;
177                         gpios = <13 0>;
178                         output-high;
179                         line-name = "RST_USB_HUB#";
180                 };
181         };
182
183         expander1: gpio@24 {
184                 compatible = "nxp,pca9555";
185                 reg = <0x24>;
186                 gpio-controller;
187                 #gpio-cells = <2>;
188                 vcc-supply = <&reg_vcc_3v3>;
189         };
190 };
191
192 &i2c2 {
193         clock-frequency = <100000>;
194         pinctrl-names = "default", "gpio";
195         pinctrl-0 = <&pinctrl_i2c2>;
196         pinctrl-1 = <&pinctrl_i2c2_gpio>;
197         scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
198         sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
199         status = "okay";
200
201         tlv320aic3x04: audio-codec@18 {
202                 compatible = "ti,tlv320aic32x4";
203                 reg = <0x18>;
204                 reset-gpios = <&expander2 0 GPIO_ACTIVE_LOW>;
205                 iov-supply = <&reg_vcc_3v3>;
206                 ldoin-supply = <&reg_vcc_3v3>;
207         };
208
209         sensor1: sensor@1f {
210                 compatible = "nxp,se97", "jedec,jc-42.4-temp";
211                 reg = <0x1f>;
212         };
213
214         eeprom3: eeprom@57 {
215                 compatible = "nxp,se97b", "atmel,24c02";
216                 reg = <0x57>;
217                 pagesize = <16>;
218                 vcc-supply = <&reg_vcc_3v3>;
219         };
220 };
221
222 &i2c3 {
223         clock-frequency = <100000>;
224         pinctrl-names = "default", "gpio";
225         pinctrl-0 = <&pinctrl_i2c3>;
226         pinctrl-1 = <&pinctrl_i2c3_gpio>;
227         scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
228         sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
229         status = "okay";
230 };
231
232 &pwm3 {
233         pinctrl-names = "default";
234         pinctrl-0 = <&pinctrl_pwm3>;
235         status = "okay";
236 };
237
238 &pwm4 {
239         pinctrl-names = "default";
240         pinctrl-0 = <&pinctrl_pwm4>;
241         status = "okay";
242 };
243
244 &sai3 {
245         pinctrl-names = "default";
246         pinctrl-0 = <&pinctrl_sai3>;
247         #sound-dai-cells = <0>;
248         assigned-clock-rates = <49152000>;
249         status = "okay";
250 };
251
252 &snvs_pwrkey {
253         status = "okay";
254 };
255
256 &uart1 {
257         pinctrl-names = "default";
258         pinctrl-0 = <&pinctrl_uart1>;
259         status = "okay";
260 };
261
262 &uart2 {
263         pinctrl-names = "default";
264         pinctrl-0 = <&pinctrl_uart2>;
265         status = "okay";
266 };
267
268 /* console */
269 &uart3 {
270         pinctrl-names = "default";
271         pinctrl-0 = <&pinctrl_uart3>;
272         status = "okay";
273 };
274
275 &usdhc2 {
276         pinctrl-names = "default", "state_100mhz", "state_200mhz";
277         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
278         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
279         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
280         bus-width = <4>;
281         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
282         disable-wp;
283         no-mmc;
284         no-sdio;
285         vmmc-supply = <&reg_usdhc2_vmmc>;
286         status = "okay";
287 };