~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/freescale/imx8mp-evk.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 /*
  3  * Copyright 2019 NXP
  4  */
  5 
  6 /dts-v1/;
  7 
  8 #include <dt-bindings/phy/phy-imx8-pcie.h>
  9 #include "imx8mp.dtsi"
 10 
 11 / {
 12         model = "NXP i.MX8MPlus EVK board";
 13         compatible = "fsl,imx8mp-evk", "fsl,imx8mp";
 14 
 15         chosen {
 16                 stdout-path = &uart2;
 17         };
 18 
 19         backlight_lvds: backlight-lvds {
 20                 compatible = "pwm-backlight";
 21                 pwms = <&pwm2 0 100000 0>;
 22                 brightness-levels = <0 100>;
 23                 num-interpolated-steps = <100>;
 24                 default-brightness-level = <100>;
 25                 power-supply = <&reg_per_12v>;
 26                 status = "disabled";
 27         };
 28 
 29         hdmi-connector {
 30                 compatible = "hdmi-connector";
 31                 label = "hdmi";
 32                 type = "a";
 33 
 34                 port {
 35                         hdmi_connector_in: endpoint {
 36                                 remote-endpoint = <&adv7535_out>;
 37                         };
 38                 };
 39         };
 40 
 41         gpio-leds {
 42                 compatible = "gpio-leds";
 43                 pinctrl-names = "default";
 44                 pinctrl-0 = <&pinctrl_gpio_led>;
 45 
 46                 status {
 47                         label = "yellow:status";
 48                         gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
 49                         default-state = "on";
 50                 };
 51         };
 52 
 53         memory@40000000 {
 54                 device_type = "memory";
 55                 reg = <0x0 0x40000000 0 0xc0000000>,
 56                       <0x1 0x00000000 0 0xc0000000>;
 57         };
 58 
 59         pcie0_refclk: pcie0-refclk {
 60                 compatible = "fixed-clock";
 61                 #clock-cells = <0>;
 62                 clock-frequency = <100000000>;
 63         };
 64 
 65         reg_audio_pwr: regulator-audio-pwr {
 66                 compatible = "regulator-fixed";
 67                 pinctrl-names = "default";
 68                 pinctrl-0 = <&pinctrl_audio_pwr_reg>;
 69                 regulator-name = "audio-pwr";
 70                 regulator-min-microvolt = <3300000>;
 71                 regulator-max-microvolt = <3300000>;
 72                 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
 73                 enable-active-high;
 74         };
 75 
 76         reg_can1_stby: regulator-can1-stby {
 77                 compatible = "regulator-fixed";
 78                 regulator-name = "can1-stby";
 79                 pinctrl-names = "default";
 80                 pinctrl-0 = <&pinctrl_flexcan1_reg>;
 81                 regulator-min-microvolt = <3300000>;
 82                 regulator-max-microvolt = <3300000>;
 83                 gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>;
 84                 enable-active-high;
 85         };
 86 
 87         reg_can2_stby: regulator-can2-stby {
 88                 compatible = "regulator-fixed";
 89                 regulator-name = "can2-stby";
 90                 pinctrl-names = "default";
 91                 pinctrl-0 = <&pinctrl_flexcan2_reg>;
 92                 regulator-min-microvolt = <3300000>;
 93                 regulator-max-microvolt = <3300000>;
 94                 gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
 95                 enable-active-high;
 96         };
 97 
 98         reg_pcie0: regulator-pcie {
 99                 compatible = "regulator-fixed";
100                 pinctrl-names = "default";
101                 pinctrl-0 = <&pinctrl_pcie0_reg>;
102                 regulator-name = "MPCIE_3V3";
103                 regulator-min-microvolt = <3300000>;
104                 regulator-max-microvolt = <3300000>;
105                 gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
106                 enable-active-high;
107         };
108 
109         reg_per_12v: regulator-per-12v {
110                 compatible = "regulator-fixed";
111                 regulator-name = "PER_12V";
112                 regulator-min-microvolt = <12000000>;
113                 regulator-max-microvolt = <12000000>;
114                 gpio = <&pca6416 1 GPIO_ACTIVE_HIGH>;
115                 enable-active-high;
116         };
117 
118         reg_usdhc2_vmmc: regulator-usdhc2 {
119                 compatible = "regulator-fixed";
120                 pinctrl-names = "default";
121                 pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
122                 regulator-name = "VSD_3V3";
123                 regulator-min-microvolt = <3300000>;
124                 regulator-max-microvolt = <3300000>;
125                 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
126                 enable-active-high;
127         };
128 
129         reg_vext_3v3: regulator-vext-3v3 {
130                 compatible = "regulator-fixed";
131                 regulator-name = "VEXT_3V3";
132                 regulator-min-microvolt = <3300000>;
133                 regulator-max-microvolt = <3300000>;
134         };
135 
136         audio_codec_bt_sco: audio-codec-bt-sco {
137                 compatible = "linux,bt-sco";
138                 #sound-dai-cells = <1>;
139         };
140 
141         sound {
142                 compatible = "simple-audio-card";
143                 simple-audio-card,name = "wm8960-audio";
144                 simple-audio-card,format = "i2s";
145                 simple-audio-card,frame-master = <&cpudai>;
146                 simple-audio-card,bitclock-master = <&cpudai>;
147                 simple-audio-card,widgets =
148                         "Headphone", "Headphone Jack",
149                         "Speaker", "External Speaker",
150                         "Microphone", "Mic Jack";
151                 simple-audio-card,routing =
152                         "Headphone Jack", "HP_L",
153                         "Headphone Jack", "HP_R",
154                         "External Speaker", "SPK_LP",
155                         "External Speaker", "SPK_LN",
156                         "External Speaker", "SPK_RP",
157                         "External Speaker", "SPK_RN",
158                         "LINPUT1", "Mic Jack",
159                         "LINPUT3", "Mic Jack",
160                         "Mic Jack", "MICB";
161 
162                 cpudai: simple-audio-card,cpu {
163                         sound-dai = <&sai3>;
164                 };
165 
166                 simple-audio-card,codec {
167                         sound-dai = <&wm8960>;
168                 };
169 
170         };
171 
172         sound-bt-sco {
173                 compatible = "simple-audio-card";
174                 simple-audio-card,name = "bt-sco-audio";
175                 simple-audio-card,format = "dsp_a";
176                 simple-audio-card,bitclock-inversion;
177                 simple-audio-card,frame-master = <&btcpu>;
178                 simple-audio-card,bitclock-master = <&btcpu>;
179 
180                 btcpu: simple-audio-card,cpu {
181                         sound-dai = <&sai2>;
182                         dai-tdm-slot-num = <2>;
183                         dai-tdm-slot-width = <16>;
184                 };
185 
186                 simple-audio-card,codec {
187                         sound-dai = <&audio_codec_bt_sco 1>;
188                 };
189         };
190 
191         sound-hdmi {
192                 compatible = "fsl,imx-audio-hdmi";
193                 model = "audio-hdmi";
194                 audio-cpu = <&aud2htx>;
195                 hdmi-out;
196         };
197 
198         sound-micfil {
199                 compatible = "fsl,imx-audio-card";
200                 model = "micfil-audio";
201 
202                 pri-dai-link {
203                         link-name = "micfil hifi";
204                         format = "i2s";
205 
206                         cpu {
207                                 sound-dai = <&micfil>;
208                         };
209                 };
210         };
211 
212         sound-xcvr {
213                 compatible = "fsl,imx-audio-card";
214                 model = "imx-audio-xcvr";
215 
216                 pri-dai-link {
217                         link-name = "XCVR PCM";
218 
219                         cpu {
220                                 sound-dai = <&xcvr>;
221                         };
222                 };
223         };
224 
225         reserved-memory {
226                 #address-cells = <2>;
227                 #size-cells = <2>;
228                 ranges;
229 
230                 dsp_vdev0vring0: vdev0vring0@942f0000 {
231                         reg = <0 0x942f0000 0 0x8000>;
232                         no-map;
233                 };
234 
235                 dsp_vdev0vring1: vdev0vring1@942f8000 {
236                         reg = <0 0x942f8000 0 0x8000>;
237                         no-map;
238                 };
239 
240                 dsp_vdev0buffer: vdev0buffer@94300000 {
241                         compatible = "shared-dma-pool";
242                         reg = <0 0x94300000 0 0x100000>;
243                         no-map;
244                 };
245         };
246 };
247 
248 &flexspi {
249         pinctrl-names = "default";
250         pinctrl-0 = <&pinctrl_flexspi0>;
251         status = "okay";
252 
253         flash@0 {
254                 compatible = "jedec,spi-nor";
255                 reg = <0>;
256                 spi-max-frequency = <80000000>;
257                 spi-tx-bus-width = <1>;
258                 spi-rx-bus-width = <4>;
259         };
260 };
261 
262 &A53_0 {
263         cpu-supply = <&reg_arm>;
264 };
265 
266 &A53_1 {
267         cpu-supply = <&reg_arm>;
268 };
269 
270 &A53_2 {
271         cpu-supply = <&reg_arm>;
272 };
273 
274 &A53_3 {
275         cpu-supply = <&reg_arm>;
276 };
277 
278 &aud2htx {
279         status = "okay";
280 };
281 
282 &eqos {
283         pinctrl-names = "default";
284         pinctrl-0 = <&pinctrl_eqos>;
285         phy-mode = "rgmii-id";
286         phy-handle = <&ethphy0>;
287         snps,force_thresh_dma_mode;
288         snps,mtl-tx-config = <&mtl_tx_setup>;
289         snps,mtl-rx-config = <&mtl_rx_setup>;
290         status = "okay";
291 
292         mdio {
293                 compatible = "snps,dwmac-mdio";
294                 #address-cells = <1>;
295                 #size-cells = <0>;
296 
297                 ethphy0: ethernet-phy@1 {
298                         compatible = "ethernet-phy-ieee802.3-c22";
299                         reg = <1>;
300                         eee-broken-1000t;
301                         reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
302                         reset-assert-us = <10000>;
303                         reset-deassert-us = <80000>;
304                         realtek,clkout-disable;
305                 };
306         };
307 
308         mtl_tx_setup: tx-queues-config {
309                 snps,tx-queues-to-use = <5>;
310 
311                 queue0 {
312                         snps,dcb-algorithm;
313                         snps,priority = <0x1>;
314                 };
315 
316                 queue1 {
317                         snps,dcb-algorithm;
318                         snps,priority = <0x2>;
319                 };
320 
321                 queue2 {
322                         snps,dcb-algorithm;
323                         snps,priority = <0x4>;
324                 };
325 
326                 queue3 {
327                         snps,dcb-algorithm;
328                         snps,priority = <0x8>;
329                 };
330 
331                 queue4 {
332                         snps,dcb-algorithm;
333                         snps,priority = <0xf0>;
334                 };
335         };
336 
337         mtl_rx_setup: rx-queues-config {
338                 snps,rx-queues-to-use = <5>;
339                 snps,rx-sched-sp;
340 
341                 queue0 {
342                         snps,dcb-algorithm;
343                         snps,priority = <0x1>;
344                         snps,map-to-dma-channel = <0>;
345                 };
346 
347                 queue1 {
348                         snps,dcb-algorithm;
349                         snps,priority = <0x2>;
350                         snps,map-to-dma-channel = <1>;
351                 };
352 
353                 queue2 {
354                         snps,dcb-algorithm;
355                         snps,priority = <0x4>;
356                         snps,map-to-dma-channel = <2>;
357                 };
358 
359                 queue3 {
360                         snps,dcb-algorithm;
361                         snps,priority = <0x8>;
362                         snps,map-to-dma-channel = <3>;
363                 };
364 
365                 queue4 {
366                         snps,dcb-algorithm;
367                         snps,priority = <0xf0>;
368                         snps,map-to-dma-channel = <4>;
369                 };
370         };
371 };
372 
373 &fec {
374         pinctrl-names = "default";
375         pinctrl-0 = <&pinctrl_fec>;
376         phy-mode = "rgmii-id";
377         phy-handle = <&ethphy1>;
378         fsl,magic-packet;
379         status = "okay";
380 
381         mdio {
382                 #address-cells = <1>;
383                 #size-cells = <0>;
384 
385                 ethphy1: ethernet-phy@1 {
386                         compatible = "ethernet-phy-ieee802.3-c22";
387                         reg = <1>;
388                         eee-broken-1000t;
389                         reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
390                         reset-assert-us = <10000>;
391                         reset-deassert-us = <80000>;
392                         realtek,clkout-disable;
393                 };
394         };
395 };
396 
397 &flexcan1 {
398         pinctrl-names = "default";
399         pinctrl-0 = <&pinctrl_flexcan1>;
400         xceiver-supply = <&reg_can1_stby>;
401         status = "okay";
402 };
403 
404 &flexcan2 {
405         pinctrl-names = "default";
406         pinctrl-0 = <&pinctrl_flexcan2>;
407         xceiver-supply = <&reg_can2_stby>;
408         status = "disabled";/* can2 pin conflict with pdm */
409 };
410 
411 &i2c1 {
412         clock-frequency = <400000>;
413         pinctrl-names = "default";
414         pinctrl-0 = <&pinctrl_i2c1>;
415         status = "okay";
416 
417         pmic@25 {
418                 compatible = "nxp,pca9450c";
419                 reg = <0x25>;
420                 pinctrl-names = "default";
421                 pinctrl-0 = <&pinctrl_pmic>;
422                 interrupt-parent = <&gpio1>;
423                 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
424 
425                 regulators {
426                         BUCK1 {
427                                 regulator-name = "BUCK1";
428                                 regulator-min-microvolt = <720000>;
429                                 regulator-max-microvolt = <1000000>;
430                                 regulator-boot-on;
431                                 regulator-always-on;
432                                 regulator-ramp-delay = <3125>;
433                         };
434 
435                         reg_arm: BUCK2 {
436                                 regulator-name = "BUCK2";
437                                 regulator-min-microvolt = <720000>;
438                                 regulator-max-microvolt = <1025000>;
439                                 regulator-boot-on;
440                                 regulator-always-on;
441                                 regulator-ramp-delay = <3125>;
442                                 nxp,dvs-run-voltage = <950000>;
443                                 nxp,dvs-standby-voltage = <850000>;
444                         };
445 
446                         BUCK4 {
447                                 regulator-name = "BUCK4";
448                                 regulator-min-microvolt = <3000000>;
449                                 regulator-max-microvolt = <3600000>;
450                                 regulator-boot-on;
451                                 regulator-always-on;
452                         };
453 
454                         reg_buck5: BUCK5 {
455                                 regulator-name = "BUCK5";
456                                 regulator-min-microvolt = <1650000>;
457                                 regulator-max-microvolt = <1950000>;
458                                 regulator-boot-on;
459                                 regulator-always-on;
460                         };
461 
462                         BUCK6 {
463                                 regulator-name = "BUCK6";
464                                 regulator-min-microvolt = <1045000>;
465                                 regulator-max-microvolt = <1155000>;
466                                 regulator-boot-on;
467                                 regulator-always-on;
468                         };
469 
470                         LDO1 {
471                                 regulator-name = "LDO1";
472                                 regulator-min-microvolt = <1650000>;
473                                 regulator-max-microvolt = <1950000>;
474                                 regulator-boot-on;
475                                 regulator-always-on;
476                         };
477 
478                         LDO3 {
479                                 regulator-name = "LDO3";
480                                 regulator-min-microvolt = <1710000>;
481                                 regulator-max-microvolt = <1890000>;
482                                 regulator-boot-on;
483                                 regulator-always-on;
484                         };
485 
486                         LDO5 {
487                                 regulator-name = "LDO5";
488                                 regulator-min-microvolt = <1800000>;
489                                 regulator-max-microvolt = <3300000>;
490                                 regulator-boot-on;
491                                 regulator-always-on;
492                         };
493                 };
494         };
495 };
496 
497 &i2c2 {
498         clock-frequency = <400000>;
499         pinctrl-names = "default";
500         pinctrl-0 = <&pinctrl_i2c2>;
501         status = "okay";
502 
503         hdmi@3d {
504                 compatible = "adi,adv7535";
505                 reg = <0x3d>;
506                 interrupt-parent = <&gpio1>;
507                 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
508                 adi,dsi-lanes = <4>;
509                 avdd-supply = <&reg_buck5>;
510                 dvdd-supply = <&reg_buck5>;
511                 pvdd-supply = <&reg_buck5>;
512                 a2vdd-supply = <&reg_buck5>;
513                 v3p3-supply = <&reg_vext_3v3>;
514                 v1p2-supply = <&reg_buck5>;
515 
516                 ports {
517                         #address-cells = <1>;
518                         #size-cells = <0>;
519 
520                         port@0 {
521                                 reg = <0>;
522 
523                                 adv7535_in: endpoint {
524                                         remote-endpoint = <&dsi_out>;
525                                 };
526                         };
527 
528                         port@1 {
529                                 reg = <1>;
530 
531                                 adv7535_out: endpoint {
532                                         remote-endpoint = <&hdmi_connector_in>;
533                                 };
534                         };
535 
536                 };
537         };
538 };
539 
540 &i2c3 {
541         clock-frequency = <400000>;
542         pinctrl-names = "default";
543         pinctrl-0 = <&pinctrl_i2c3>;
544         status = "okay";
545 
546         wm8960: codec@1a {
547                 compatible = "wlf,wm8960";
548                 reg = <0x1a>;
549                 #sound-dai-cells = <0>;
550                 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>;
551                 clock-names = "mclk";
552                 wlf,shared-lrclk;
553                 wlf,hp-cfg = <3 2 3>;
554                 wlf,gpio-cfg = <1 3>;
555                 SPKVDD1-supply = <&reg_audio_pwr>;
556         };
557 
558         pca6416: gpio@20 {
559                 compatible = "ti,tca6416";
560                 reg = <0x20>;
561                 gpio-controller;
562                 #gpio-cells = <2>;
563                 interrupt-controller;
564                 #interrupt-cells = <2>;
565                 pinctrl-names = "default";
566                 pinctrl-0 = <&pinctrl_pca6416_int>;
567                 interrupt-parent = <&gpio1>;
568                 interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
569                 gpio-line-names = "EXT_PWREN1",
570                         "EXT_PWREN2",
571                         "CAN1/I2C5_SEL",
572                         "PDM/CAN2_SEL",
573                         "FAN_EN",
574                         "PWR_MEAS_IO1",
575                         "PWR_MEAS_IO2",
576                         "EXP_P0_7",
577                         "EXP_P1_0",
578                         "EXP_P1_1",
579                         "EXP_P1_2",
580                         "EXP_P1_3",
581                         "EXP_P1_4",
582                         "EXP_P1_5",
583                         "EXP_P1_6",
584                         "EXP_P1_7";
585         };
586 };
587 
588 /* I2C on expansion connector J22. */
589 &i2c5 {
590         clock-frequency = <100000>; /* Lower clock speed for external bus. */
591         pinctrl-names = "default";
592         pinctrl-0 = <&pinctrl_i2c5>;
593         status = "disabled"; /* can1 pins conflict with i2c5 */
594 
595         /* GPIO 2 of PCA6416 is used to switch between CAN1 and I2C5 functions:
596          *     LOW:  CAN1 (default, pull-down)
597          *     HIGH: I2C5
598          * You need to set it to high to enable I2C5 (for example, add gpio-hog
599          * in pca6416 node).
600          */
601 };
602 
603 &lcdif1 {
604         status = "okay";
605 };
606 
607 &micfil {
608         #sound-dai-cells = <0>;
609         pinctrl-names = "default";
610         pinctrl-0 = <&pinctrl_pdm>;
611         assigned-clocks = <&clk IMX8MP_CLK_PDM>;
612         assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
613         assigned-clock-rates = <196608000>;
614         status = "okay";
615 };
616 
617 &mipi_dsi {
618         samsung,esc-clock-frequency = <10000000>;
619         status = "okay";
620 
621         ports {
622                 port@1 {
623                         reg = <1>;
624 
625                         dsi_out: endpoint {
626                                 remote-endpoint = <&adv7535_in>;
627                                 data-lanes = <1 2 3 4>;
628                         };
629                 };
630         };
631 };
632 
633 &pcie_phy {
634         fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
635         clocks = <&pcie0_refclk>;
636         clock-names = "ref";
637         status = "okay";
638 };
639 
640 &pcie {
641         pinctrl-names = "default";
642         pinctrl-0 = <&pinctrl_pcie0>;
643         reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
644         vpcie-supply = <&reg_pcie0>;
645         status = "okay";
646 };
647 
648 &pwm1 {
649         pinctrl-names = "default";
650         pinctrl-0 = <&pinctrl_pwm1>;
651         status = "okay";
652 };
653 
654 &pwm2 {
655         pinctrl-names = "default";
656         pinctrl-0 = <&pinctrl_pwm2>;
657         status = "okay";
658 };
659 
660 &pwm4 {
661         pinctrl-names = "default";
662         pinctrl-0 = <&pinctrl_pwm4>;
663         status = "okay";
664 };
665 
666 &sai2 {
667         #sound-dai-cells = <0>;
668         pinctrl-names = "default";
669         pinctrl-0 = <&pinctrl_sai2>;
670         assigned-clocks = <&clk IMX8MP_CLK_SAI2>;
671         assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
672         assigned-clock-rates = <12288000>;
673         fsl,sai-mclk-direction-output;
674         status = "okay";
675 };
676 
677 &sai3 {
678         pinctrl-names = "default";
679         pinctrl-0 = <&pinctrl_sai3>;
680         assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
681         assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
682         assigned-clock-rates = <12288000>;
683         fsl,sai-mclk-direction-output;
684         status = "okay";
685 };
686 
687 &snvs_pwrkey {
688         status = "okay";
689 };
690 
691 &uart1 { /* BT */
692         pinctrl-names = "default";
693         pinctrl-0 = <&pinctrl_uart1>;
694         assigned-clocks = <&clk IMX8MP_CLK_UART1>;
695         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
696         uart-has-rtscts;
697         status = "okay";
698 };
699 
700 &uart2 {
701         /* console */
702         pinctrl-names = "default";
703         pinctrl-0 = <&pinctrl_uart2>;
704         status = "okay";
705 };
706 
707 &usb3_phy1 {
708         status = "okay";
709 };
710 
711 &usb3_1 {
712         status = "okay";
713 };
714 
715 &usb_dwc3_1 {
716         pinctrl-names = "default";
717         pinctrl-0 = <&pinctrl_usb1_vbus>;
718         dr_mode = "host";
719         status = "okay";
720 };
721 
722 &uart3 {
723         pinctrl-names = "default";
724         pinctrl-0 = <&pinctrl_uart3>;
725         assigned-clocks = <&clk IMX8MP_CLK_UART3>;
726         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
727         uart-has-rtscts;
728         status = "okay";
729 };
730 
731 &usdhc2 {
732         assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
733         assigned-clock-rates = <400000000>;
734         pinctrl-names = "default", "state_100mhz", "state_200mhz";
735         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
736         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
737         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
738         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
739         vmmc-supply = <&reg_usdhc2_vmmc>;
740         bus-width = <4>;
741         status = "okay";
742 };
743 
744 &usdhc3 {
745         assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
746         assigned-clock-rates = <400000000>;
747         pinctrl-names = "default", "state_100mhz", "state_200mhz";
748         pinctrl-0 = <&pinctrl_usdhc3>;
749         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
750         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
751         bus-width = <8>;
752         non-removable;
753         status = "okay";
754 };
755 
756 &wdog1 {
757         pinctrl-names = "default";
758         pinctrl-0 = <&pinctrl_wdog>;
759         fsl,ext-reset-output;
760         status = "okay";
761 };
762 
763 &xcvr {
764         #sound-dai-cells = <0>;
765         status = "okay";
766 };
767 
768 &iomuxc {
769         pinctrl-names = "default";
770         pinctrl-0 = <&pinctrl_hog>;
771 
772         pinctrl_audio_pwr_reg: audiopwrreggrp {
773                 fsl,pins = <
774                         MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29               0xd6
775                 >;
776         };
777 
778         pinctrl_eqos: eqosgrp {
779                 fsl,pins = <
780                         MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                             0x2
781                         MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                           0x2
782                         MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0                       0x90
783                         MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1                       0x90
784                         MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2                       0x90
785                         MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3                       0x90
786                         MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x90
787                         MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL                 0x90
788                         MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0                       0x16
789                         MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1                       0x16
790                         MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2                       0x16
791                         MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3                       0x16
792                         MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL                 0x16
793                         MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x16
794                         MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22                               0x10
795                 >;
796         };
797 
798         pinctrl_fec: fecgrp {
799                 fsl,pins = <
800                         MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC               0x2
801                         MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO              0x2
802                         MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x90
803                         MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x90
804                         MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x90
805                         MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x90
806                         MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x90
807                         MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x90
808                         MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x16
809                         MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x16
810                         MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x16
811                         MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x16
812                         MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x16
813                         MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x16
814                         MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02              0x10
815                 >;
816         };
817 
818         pinctrl_flexcan1: flexcan1grp {
819                 fsl,pins = <
820                         MX8MP_IOMUXC_SPDIF_RX__CAN1_RX          0x154
821                         MX8MP_IOMUXC_SPDIF_TX__CAN1_TX          0x154
822                 >;
823         };
824 
825         pinctrl_flexcan2: flexcan2grp {
826                 fsl,pins = <
827                         MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX         0x154
828                         MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX         0x154
829                 >;
830         };
831 
832         pinctrl_flexcan1_reg: flexcan1reggrp {
833                 fsl,pins = <
834                         MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05  0x154   /* CAN1_STBY */
835                 >;
836         };
837 
838         pinctrl_flexcan2_reg: flexcan2reggrp {
839                 fsl,pins = <
840                         MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27      0x154   /* CAN2_STBY */
841                 >;
842         };
843 
844         pinctrl_flexspi0: flexspi0grp {
845                 fsl,pins = <
846                         MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK           0x1c2
847                         MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B        0x82
848                         MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00      0x82
849                         MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01      0x82
850                         MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02      0x82
851                         MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03      0x82
852                 >;
853         };
854 
855         pinctrl_gpio_led: gpioledgrp {
856                 fsl,pins = <
857                         MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16   0x140
858                 >;
859         };
860 
861         pinctrl_hog: hoggrp {
862                 fsl,pins = <
863                         MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD         0x40000010
864                 >;
865         };
866 
867         pinctrl_i2c1: i2c1grp {
868                 fsl,pins = <
869                         MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c2
870                         MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c2
871                 >;
872         };
873 
874         pinctrl_i2c2: i2c2grp {
875                 fsl,pins = <
876                         MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c2
877                         MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c2
878                 >;
879         };
880 
881         pinctrl_i2c3: i2c3grp {
882                 fsl,pins = <
883                         MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c2
884                         MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c2
885                 >;
886         };
887 
888         pinctrl_i2c5: i2c5grp {
889                 fsl,pins = <
890                         MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA         0x400001c2
891                         MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL         0x400001c2
892                 >;
893         };
894 
895         pinctrl_pcie0: pcie0grp {
896                 fsl,pins = <
897                         MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B    0x60 /* open drain, pull up */
898                         MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07      0x40
899                 >;
900         };
901 
902         pinctrl_pcie0_reg: pcie0reggrp {
903                 fsl,pins = <
904                         MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06      0x40
905                 >;
906         };
907 
908         pinctrl_pdm: pdmgrp {
909                 fsl,pins = <
910                         MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_PDM_CLK         0xd6
911                         MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_PDM_BIT_STREAM00       0xd6
912                         MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_PDM_BIT_STREAM01       0xd6
913                         MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_PDM_BIT_STREAM02       0xd6
914                         MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_PDM_BIT_STREAM03       0xd6
915                 >;
916         };
917 
918         pinctrl_pmic: pmicgrp {
919                 fsl,pins = <
920                         MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03     0x000001c0
921                 >;
922         };
923 
924         pinctrl_pca6416_int: pca6416_int_grp {
925                 fsl,pins = <
926                         MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12     0x146 /* Input pull-up. */
927                 >;
928         };
929 
930         pinctrl_pwm1: pwm1grp {
931                 fsl,pins = <
932                         MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT       0x116
933                 >;
934         };
935 
936         pinctrl_pwm2: pwm2grp {
937                 fsl,pins = <
938                         MX8MP_IOMUXC_GPIO1_IO11__PWM2_OUT       0x116
939                 >;
940         };
941 
942         pinctrl_pwm4: pwm4grp {
943                 fsl,pins = <
944                         MX8MP_IOMUXC_SAI5_RXFS__PWM4_OUT        0x116
945                 >;
946         };
947 
948         pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
949                 fsl,pins = <
950                         MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19    0x40
951                 >;
952         };
953 
954         pinctrl_uart1: uart1grp {
955                 fsl,pins = <
956                         MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX    0x140
957                         MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX    0x140
958                         MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS   0x140
959                         MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS   0x140
960                 >;
961         };
962 
963         pinctrl_sai2: sai2grp {
964                 fsl,pins = <
965                         MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK    0xd6
966                         MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC   0xd6
967                         MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6
968                         MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_RX_DATA00 0xd6
969                 >;
970         };
971 
972         pinctrl_sai3: sai3grp {
973                 fsl,pins = <
974                         MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC   0xd6
975                         MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK    0xd6
976                         MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00  0xd6
977                         MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00  0xd6
978                         MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK      0xd6
979                 >;
980         };
981 
982         pinctrl_uart2: uart2grp {
983                 fsl,pins = <
984                         MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX    0x140
985                         MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX    0x140
986                 >;
987         };
988 
989         pinctrl_usb1_vbus: usb1grp {
990                 fsl,pins = <
991                         MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR   0x10
992                 >;
993         };
994 
995         pinctrl_uart3: uart3grp {
996                 fsl,pins = <
997                         MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX          0x140
998                         MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX          0x140
999                         MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS          0x140
1000                         MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS         0x140
1001                 >;
1002         };
1003 
1004         pinctrl_usdhc2: usdhc2grp {
1005                 fsl,pins = <
1006                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x190
1007                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d0
1008                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d0
1009                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d0
1010                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d0
1011                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d0
1012                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
1013                 >;
1014         };
1015 
1016         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
1017                 fsl,pins = <
1018                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x194
1019                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d4
1020                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d4
1021                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d4
1022                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d4
1023                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d4
1024                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
1025                 >;
1026         };
1027 
1028         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
1029                 fsl,pins = <
1030                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x196
1031                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d6
1032                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d6
1033                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d6
1034                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d6
1035                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d6
1036                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
1037                 >;
1038         };
1039 
1040         pinctrl_usdhc2_gpio: usdhc2gpiogrp {
1041                 fsl,pins = <
1042                         MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12       0x1c4
1043                 >;
1044         };
1045 
1046         pinctrl_usdhc3: usdhc3grp {
1047                 fsl,pins = <
1048                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x190
1049                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d0
1050                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d0
1051                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d0
1052                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d0
1053                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d0
1054                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d0
1055                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d0
1056                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d0
1057                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d0
1058                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x190
1059                 >;
1060         };
1061 
1062         pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
1063                 fsl,pins = <
1064                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x194
1065                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d4
1066                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d4
1067                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d4
1068                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d4
1069                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d4
1070                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d4
1071                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d4
1072                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d4
1073                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d4
1074                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x194
1075                 >;
1076         };
1077 
1078         pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
1079                 fsl,pins = <
1080                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x196
1081                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d6
1082                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d6
1083                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d6
1084                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d6
1085                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d6
1086                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d6
1087                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d6
1088                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d6
1089                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d6
1090                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x196
1091                 >;
1092         };
1093 
1094         pinctrl_wdog: wdoggrp {
1095                 fsl,pins = <
1096                         MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B   0x166
1097                 >;
1098         };
1099 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php