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

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

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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-later OR MIT
  2 /*
  3  * Copyright 2021-2022 TQ-Systems GmbH
  4  * Author: Alexander Stein <alexander.stein@tq-group.com>
  5  */
  6 
  7 /dts-v1/;
  8 
  9 #include <dt-bindings/leds/common.h>
 10 #include <dt-bindings/net/ti-dp83867.h>
 11 #include <dt-bindings/phy/phy-imx8-pcie.h>
 12 #include <dt-bindings/pwm/pwm.h>
 13 #include "imx8mp-tqma8mpql.dtsi"
 14 
 15 / {
 16         model = "TQ-Systems i.MX8MPlus TQMa8MPxL on MBa8MPxL";
 17         compatible = "tq,imx8mp-tqma8mpql-mba8mpxl", "tq,imx8mp-tqma8mpql", "fsl,imx8mp";
 18         chassis-type = "embedded";
 19 
 20         chosen {
 21                 stdout-path = &uart4;
 22         };
 23 
 24         iio-hwmon {
 25                 compatible = "iio-hwmon";
 26                 io-channels = <&adc 0>, <&adc 1>;
 27         };
 28 
 29         aliases {
 30                 mmc0 = &usdhc3;
 31                 mmc1 = &usdhc2;
 32                 mmc2 = &usdhc1;
 33                 rtc0 = &pcf85063;
 34                 rtc1 = &snvs_rtc;
 35                 spi0 = &flexspi;
 36                 spi1 = &ecspi1;
 37                 spi2 = &ecspi2;
 38                 spi3 = &ecspi3;
 39         };
 40 
 41         backlight_lvds: backlight {
 42                 compatible = "pwm-backlight";
 43                 pinctrl-names = "default";
 44                 pinctrl-0 = <&pinctrl_backlight>;
 45                 pwms = <&pwm2 0 5000000 0>;
 46                 brightness-levels = <0 4 8 16 32 64 128 255>;
 47                 default-brightness-level = <7>;
 48                 power-supply = <&reg_vcc_12v0>;
 49                 enable-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
 50                 status = "disabled";
 51         };
 52 
 53         clk_xtal25: clk-xtal25 {
 54                 compatible = "fixed-clock";
 55                 #clock-cells = <0>;
 56                 clock-frequency = <25000000>;
 57         };
 58 
 59         connector {
 60                 compatible = "gpio-usb-b-connector", "usb-b-connector";
 61                 type = "micro";
 62                 label = "X29";
 63                 pinctrl-names = "default";
 64                 pinctrl-0 = <&pinctrl_usbcon0>;
 65                 id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
 66 
 67                 port {
 68                         usb_dr_connector: endpoint {
 69                                 remote-endpoint = <&usb3_dwc>;
 70                         };
 71                 };
 72         };
 73 
 74         fan0: pwm-fan {
 75                 compatible = "pwm-fan";
 76                 pinctrl-names = "default";
 77                 pinctrl-0 = <&pinctrl_pwmfan>;
 78                 fan-supply = <&reg_pwm_fan>;
 79                 #cooling-cells = <2>;
 80                 /* typical 25 kHz -> 40.000 nsec */
 81                 pwms = <&pwm3 0 40000 PWM_POLARITY_INVERTED>;
 82                 cooling-levels = <0 32 64 128 196 240>;
 83                 pulses-per-revolution = <2>;
 84                 interrupt-parent = <&gpio5>;
 85                 interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
 86                 status = "disabled";
 87         };
 88 
 89         gpio-keys {
 90                 compatible = "gpio-keys";
 91                 pinctrl-names = "default";
 92                 pinctrl-0 = <&pinctrl_gpiobutton>;
 93                 autorepeat;
 94 
 95                 switch-1 {
 96                         label = "S12";
 97                         linux,code = <BTN_0>;
 98                         gpios = <&gpio5 27 GPIO_ACTIVE_LOW>;
 99                         wakeup-source;
100                 };
101 
102                 switch-2 {
103                         label = "S13";
104                         linux,code = <BTN_1>;
105                         gpios = <&gpio5 26 GPIO_ACTIVE_LOW>;
106                         wakeup-source;
107                 };
108         };
109 
110         gpio-leds {
111                 compatible = "gpio-leds";
112                 pinctrl-names = "default";
113                 pinctrl-0 = <&pinctrl_gpioled>;
114 
115                 led-0 {
116                         color = <LED_COLOR_ID_GREEN>;
117                         function = LED_FUNCTION_STATUS;
118                         function-enumerator = <0>;
119                         gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
120                         linux,default-trigger = "default-on";
121                 };
122 
123                 led-1 {
124                         color = <LED_COLOR_ID_GREEN>;
125                         function = LED_FUNCTION_HEARTBEAT;
126                         gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
127                         linux,default-trigger = "heartbeat";
128                 };
129 
130                 led-2 {
131                         color = <LED_COLOR_ID_YELLOW>;
132                         function = LED_FUNCTION_STATUS;
133                         function-enumerator = <1>;
134                         gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>;
135                 };
136         };
137 
138         hdmi-connector {
139                 compatible = "hdmi-connector";
140                 label = "X44";
141                 type = "a";
142 
143                 port {
144                         hdmi_connector_in: endpoint {
145                                 remote-endpoint = <&hdmi_tx_out>;
146                         };
147                 };
148         };
149 
150         display: display {
151                 /*
152                  * Display is not fixed, so compatible has to be added from
153                  * DT overlay
154                  */
155                 pinctrl-names = "default";
156                 pinctrl-0 = <&pinctrl_lvdsdisplay>;
157                 power-supply = <&reg_vcc_3v3>;
158                 enable-gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
159                 backlight = <&backlight_lvds>;
160                 status = "disabled";
161         };
162 
163         reg_pwm_fan: regulator-pwm-fan {
164                 compatible = "regulator-fixed";
165                 pinctrl-names = "default";
166                 pinctrl-0 = <&pinctrl_regpwmfan>;
167                 regulator-name = "FAN_PWR";
168                 regulator-min-microvolt = <12000000>;
169                 regulator-max-microvolt = <12000000>;
170                 gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
171                 enable-active-high;
172                 vin-supply = <&reg_vcc_12v0>;
173         };
174 
175         reg_usdhc2_vmmc: regulator-usdhc2 {
176                 compatible = "regulator-fixed";
177                 pinctrl-names = "default";
178                 pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
179                 regulator-name = "VSD_3V3";
180                 regulator-min-microvolt = <3300000>;
181                 regulator-max-microvolt = <3300000>;
182                 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
183                 enable-active-high;
184                 startup-delay-us = <100>;
185                 off-on-delay-us = <12000>;
186         };
187 
188         reg_vcc_12v0: regulator-12v0 {
189                 compatible = "regulator-fixed";
190                 pinctrl-names = "default";
191                 pinctrl-0 = <&pinctrl_reg12v0>;
192                 regulator-name = "VCC_12V0";
193                 regulator-min-microvolt = <12000000>;
194                 regulator-max-microvolt = <12000000>;
195                 gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
196                 enable-active-high;
197         };
198 
199         reg_vcc_1v8: regulator-1v8 {
200                 compatible = "regulator-fixed";
201                 regulator-name = "VCC_1V8";
202                 regulator-min-microvolt = <1800000>;
203                 regulator-max-microvolt = <1800000>;
204         };
205 
206         reg_vcc_3v3: regulator-3v3 {
207                 compatible = "regulator-fixed";
208                 regulator-name = "VCC_3V3";
209                 regulator-min-microvolt = <3300000>;
210                 regulator-max-microvolt = <3300000>;
211         };
212 
213         reg_vcc_5v0: regulator-5v0 {
214                 compatible = "regulator-fixed";
215                 regulator-name = "VCC_5V0";
216                 regulator-min-microvolt = <5000000>;
217                 regulator-max-microvolt = <5000000>;
218         };
219 
220         reserved-memory {
221                 #address-cells = <2>;
222                 #size-cells = <2>;
223                 ranges;
224 
225                 /* global autoconfigured region for contiguous allocations */
226                 linux,cma {
227                         compatible = "shared-dma-pool";
228                         reusable;
229                         size = <0 0x38000000>;
230                         alloc-ranges = <0 0x40000000 0 0xB0000000>;
231                         linux,cma-default;
232                 };
233         };
234 
235         sound {
236                 compatible = "fsl,imx-audio-tlv320aic32x4";
237                 model = "tq-tlv320aic32x";
238                 audio-cpu = <&sai3>;
239                 audio-codec = <&tlv320aic3x04>;
240         };
241 
242         thermal-zones {
243                 soc-thermal {
244                         trips {
245                                 soc_active0: trip-active0 {
246                                         temperature = <40000>;
247                                         hysteresis = <5000>;
248                                         type = "active";
249                                 };
250 
251                                 soc_active1: trip-active1 {
252                                         temperature = <48000>;
253                                         hysteresis = <3000>;
254                                         type = "active";
255                                 };
256 
257                                 soc_active2: trip-active2 {
258                                         temperature = <60000>;
259                                         hysteresis = <10000>;
260                                         type = "active";
261                                 };
262                         };
263 
264                         cooling-maps {
265                                 map1 {
266                                         trip = <&soc_active0>;
267                                         cooling-device = <&fan0 1 1>;
268                                 };
269 
270                                 map2 {
271                                         trip = <&soc_active1>;
272                                         cooling-device = <&fan0 2 2>;
273                                 };
274 
275                                 map3 {
276                                         trip = <&soc_active2>;
277                                         cooling-device = <&fan0 3 3>;
278                                 };
279                         };
280                 };
281         };
282 };
283 
284 &ecspi1 {
285         pinctrl-names = "default";
286         pinctrl-0 = <&pinctrl_ecspi1>;
287         cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
288         status = "okay";
289 };
290 
291 &ecspi2 {
292         pinctrl-names = "default";
293         pinctrl-0 = <&pinctrl_ecspi2>;
294         cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
295         status = "okay";
296 };
297 
298 &ecspi3 {
299         pinctrl-names = "default";
300         pinctrl-0 = <&pinctrl_ecspi3>;
301         cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
302         status = "okay";
303 
304         adc: adc@0 {
305                 reg = <0>;
306                 compatible = "microchip,mcp3202";
307                 /* 100 ksps * 18 */
308                 spi-max-frequency = <1800000>;
309                 vref-supply = <&reg_vcc_3v3>;
310                 #io-channel-cells = <1>;
311         };
312 };
313 
314 &eqos {
315         pinctrl-names = "default";
316         pinctrl-0 = <&pinctrl_eqos>, <&pinctrl_eqos_phy>;
317         phy-mode = "rgmii-id";
318         phy-handle = <&ethphy3>;
319         status = "okay";
320 
321         mdio {
322                 compatible = "snps,dwmac-mdio";
323                 #address-cells = <1>;
324                 #size-cells = <0>;
325 
326                 ethphy3: ethernet-phy@3 {
327                         compatible = "ethernet-phy-ieee802.3-c22";
328                         reg = <3>;
329                         ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
330                         ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
331                         ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
332                         ti,dp83867-rxctrl-strap-quirk;
333                         ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
334                         reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
335                         reset-assert-us = <500000>;
336                         reset-deassert-us = <50000>;
337                         enet-phy-lane-no-swap;
338                         interrupt-parent = <&gpio4>;
339                         interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
340                 };
341         };
342 };
343 
344 &fec {
345         pinctrl-names = "default";
346         pinctrl-0 = <&pinctrl_fec>, <&pinctrl_fec_phy>;
347         phy-mode = "rgmii-id";
348         phy-handle = <&ethphy0>;
349         fsl,magic-packet;
350         status = "okay";
351 
352         mdio {
353                 #address-cells = <1>;
354                 #size-cells = <0>;
355 
356                 ethphy0: ethernet-phy@0 {
357                         compatible = "ethernet-phy-ieee802.3-c22";
358                         reg = <0>;
359                         ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
360                         ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
361                         ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
362                         ti,dp83867-rxctrl-strap-quirk;
363                         ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
364                         reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
365                         reset-assert-us = <500000>;
366                         reset-deassert-us = <50000>;
367                         enet-phy-lane-no-swap;
368                         interrupt-parent = <&gpio4>;
369                         interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
370                 };
371         };
372 };
373 
374 &flexcan1 {
375         pinctrl-names = "default";
376         pinctrl-0 = <&pinctrl_flexcan1>;
377         xceiver-supply = <&reg_vcc_3v3>;
378         status = "okay";
379 };
380 
381 &flexcan2 {
382         pinctrl-names = "default";
383         pinctrl-0 = <&pinctrl_flexcan2>;
384         xceiver-supply = <&reg_vcc_3v3>;
385         status = "okay";
386 };
387 
388 &gpio1 {
389         pinctrl-names = "default";
390         pinctrl-0 = <&pinctrl_gpio1>;
391 
392         gpio-line-names = "GPO1", "GPO0", "", "GPO3",
393                           "", "", "GPO2", "GPI0",
394                           "PMIC_IRQ", "GPI1", "OTG_ID", "USB_HUB_RST#",
395                           "OTG_PWR", "", "GPI2", "GPI3",
396                           "", "", "", "",
397                           "", "", "", "",
398                           "", "", "", "",
399                           "", "", "", "";
400 };
401 
402 &gpio2 {
403         pinctrl-names = "default";
404         pinctrl-0 = <&pinctrl_hoggpio2>;
405 
406         gpio-line-names = "", "", "", "",
407                           "", "", "VCC12V_EN", "PERST#",
408                           "", "", "CLKREQ#", "PEWAKE#",
409                           "USDHC2_CD", "", "", "",
410                           "", "", "", "V_SD3V3_EN",
411                           "", "", "", "",
412                           "", "", "", "",
413                           "", "", "", "";
414 
415         perst-hog {
416                 gpio-hog;
417                 gpios = <7 0>;
418                 output-high;
419                 line-name = "PERST#";
420         };
421 
422         clkreq-hog {
423                 gpio-hog;
424                 gpios = <10 0>;
425                 input;
426                 line-name = "CLKREQ#";
427         };
428 
429         pewake-hog {
430                 gpio-hog;
431                 gpios = <11 0>;
432                 input;
433                 line-name = "PEWAKE#";
434         };
435 };
436 
437 &gpio3 {
438         gpio-line-names = "", "", "", "",
439                           "", "", "", "",
440                           "", "", "", "",
441                           "", "", "LVDS0_RESET#", "",
442                           "", "", "", "LVDS0_BLT_EN",
443                           "LVDS0_PWR_EN", "", "", "",
444                           "", "", "", "",
445                           "", "", "", "";
446 };
447 
448 &gpio4 {
449         pinctrl-names = "default";
450         pinctrl-0 = <&pinctrl_gpio4>;
451 
452         gpio-line-names = "ENET0_RST#", "ENET0_INT#", "ENET1_RST#", "ENET1_INT#",
453                           "", "", "", "",
454                           "", "", "", "",
455                           "", "", "", "",
456                           "", "", "DP_IRQ", "DSI_EN",
457                           "HDMI_OC#", "TEMP_EVENT#", "PCIE_REFCLK_OE#", "",
458                           "", "", "", "FAN_PWR",
459                           "RTC_EVENT#", "CODEC_RST#", "", "";
460 
461         pcie-refclkreq-hog {
462                 gpio-hog;
463                 gpios = <22 0>;
464                 output-high;
465                 line-name = "PCIE_REFCLK_OE#";
466         };
467 };
468 
469 &gpio5 {
470         gpio-line-names = "", "", "", "LED2",
471                           "LED1", "LED0", "CSI0_RESET#", "CSI0_SYNC",
472                           "CSI0_TRIGGER", "CSI0_ENABLE", "", "",
473                           "", "ECSPI2_SS0", "", "",
474                           "", "", "", "",
475                           "", "", "", "",
476                           "", "ECSPI3_SS0", "SWITCH_A", "SWITCH_B",
477                           "", "", "", "";
478 };
479 
480 &hdmi_pvi {
481         status = "okay";
482 };
483 
484 &hdmi_tx {
485         pinctrl-names = "default";
486         pinctrl-0 = <&pinctrl_hdmi>;
487         status = "okay";
488 
489         ports {
490                 port@1 {
491                         hdmi_tx_out: endpoint {
492                                 remote-endpoint = <&hdmi_connector_in>;
493                         };
494                 };
495         };
496 };
497 
498 &hdmi_tx_phy {
499         status = "okay";
500 };
501 
502 &i2c2 {
503         clock-frequency = <384000>;
504         pinctrl-names = "default", "gpio";
505         pinctrl-0 = <&pinctrl_i2c2>;
506         pinctrl-1 = <&pinctrl_i2c2_gpio>;
507         scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
508         sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
509         status = "okay";
510 
511         tlv320aic3x04: audio-codec@18 {
512                 compatible = "ti,tlv320aic32x4";
513                 pinctrl-names = "default";
514                 pinctrl-0 = <&pinctrl_tlv320aic3x04>;
515                 reg = <0x18>;
516                 clock-names = "mclk";
517                 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>;
518                 reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
519                 iov-supply = <&reg_vcc_1v8>;
520                 ldoin-supply = <&reg_vcc_3v3>;
521         };
522 
523         se97_1c: temperature-sensor@1c {
524                 compatible = "nxp,se97b", "jedec,jc-42.4-temp";
525                 reg = <0x1c>;
526         };
527 
528         at24c02_54: eeprom@54 {
529                 compatible = "nxp,se97b", "atmel,24c02";
530                 reg = <0x54>;
531                 pagesize = <16>;
532                 vcc-supply = <&reg_vcc_3v3>;
533         };
534 
535         pcieclk: clock-generator@6a {
536                 compatible = "renesas,9fgv0241";
537                 reg = <0x6a>;
538                 clocks = <&clk_xtal25>;
539                 #clock-cells = <1>;
540         };
541 };
542 
543 &i2c4 {
544         clock-frequency = <384000>;
545         pinctrl-names = "default", "gpio";
546         pinctrl-0 = <&pinctrl_i2c4>;
547         pinctrl-1 = <&pinctrl_i2c4_gpio>;
548         scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
549         sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
550         status = "okay";
551 };
552 
553 &i2c6 {
554         clock-frequency = <384000>;
555         pinctrl-names = "default", "gpio";
556         pinctrl-0 = <&pinctrl_i2c6>;
557         pinctrl-1 = <&pinctrl_i2c6_gpio>;
558         scl-gpios = <&gpio2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
559         sda-gpios = <&gpio2 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
560         status = "okay";
561 };
562 
563 &lcdif3 {
564         status = "okay";
565 };
566 
567 &pcf85063 {
568         /* RTC_EVENT# is connected on MBa8MPxL */
569         pinctrl-names = "default";
570         pinctrl-0 = <&pinctrl_pcf85063>;
571         interrupt-parent = <&gpio4>;
572         interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
573 };
574 
575 &pcie_phy {
576         fsl,clkreq-unsupported;
577         fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
578         clocks = <&pcieclk 0>;
579         clock-names = "ref";
580         status = "okay";
581 };
582 
583 &pcie {
584         clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
585                  <&clk IMX8MP_CLK_HSIO_AXI>,
586                  <&clk IMX8MP_CLK_PCIE_ROOT>;
587         clock-names = "pcie", "pcie_bus", "pcie_aux";
588         assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
589         assigned-clock-rates = <10000000>;
590         assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
591         status = "okay";
592 };
593 
594 &pwm2 {
595         pinctrl-names = "default";
596         pinctrl-0 = <&pinctrl_pwm2>;
597         status = "disabled";
598 };
599 
600 &pwm3 {
601         pinctrl-names = "default";
602         pinctrl-0 = <&pinctrl_pwm3>;
603         status = "okay";
604 };
605 
606 &sai3 {
607         pinctrl-names = "default";
608         pinctrl-0 = <&pinctrl_sai3>;
609         assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
610         assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
611         assigned-clock-rates = <12288000>;
612         fsl,sai-mclk-direction-output;
613         status = "okay";
614 };
615 
616 &snvs_pwrkey {
617         status = "okay";
618 };
619 
620 &uart1 {
621         pinctrl-names = "default";
622         pinctrl-0 = <&pinctrl_uart1>;
623         assigned-clocks = <&clk IMX8MP_CLK_UART1>;
624         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
625         status = "okay";
626 };
627 
628 &uart2 {
629         pinctrl-names = "default";
630         pinctrl-0 = <&pinctrl_uart2>;
631         assigned-clocks = <&clk IMX8MP_CLK_UART2>;
632         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
633         status = "okay";
634 };
635 
636 &uart3 {
637         pinctrl-names = "default";
638         pinctrl-0 = <&pinctrl_uart3>;
639         assigned-clocks = <&clk IMX8MP_CLK_UART3>;
640         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
641         status = "okay";
642 };
643 
644 &uart4 {
645         /* console */
646         pinctrl-names = "default";
647         pinctrl-0 = <&pinctrl_uart4>;
648         status = "okay";
649 };
650 
651 &usb3_0 {
652         pinctrl-names = "default";
653         pinctrl-0 = <&pinctrl_usb0>;
654         fsl,over-current-active-low;
655         status = "okay";
656 };
657 
658 &usb3_1 {
659         fsl,disable-port-power-control;
660         fsl,permanently-attached;
661         status = "okay";
662 };
663 
664 &usb3_phy0 {
665         vbus-supply = <&reg_vcc_5v0>;
666         status = "okay";
667 };
668 
669 &usb3_phy1 {
670         vbus-supply = <&reg_vcc_5v0>;
671         status = "okay";
672 };
673 
674 &usb_dwc3_0 {
675         /* dual role is implemented, but not a full featured OTG */
676         hnp-disable;
677         srp-disable;
678         adp-disable;
679         dr_mode = "otg";
680         usb-role-switch;
681         role-switch-default-mode = "peripheral";
682         status = "okay";
683 
684         port {
685                 usb3_dwc: endpoint {
686                         remote-endpoint = <&usb_dr_connector>;
687                 };
688         };
689 };
690 
691 &usb_dwc3_1 {
692         dr_mode = "host";
693         #address-cells = <1>;
694         #size-cells = <0>;
695         pinctrl-names = "default";
696         pinctrl-0 = <&pinctrl_usbhub>;
697         status = "okay";
698 
699         hub_2_0: hub@1 {
700                 compatible = "usb451,8142";
701                 reg = <1>;
702                 peer-hub = <&hub_3_0>;
703                 reset-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
704                 vdd-supply = <&reg_vcc_3v3>;
705         };
706 
707         hub_3_0: hub@2 {
708                 compatible = "usb451,8140";
709                 reg = <2>;
710                 peer-hub = <&hub_2_0>;
711                 reset-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
712                 vdd-supply = <&reg_vcc_3v3>;
713         };
714 };
715 
716 &usdhc2 {
717         pinctrl-names = "default", "state_100mhz", "state_200mhz";
718         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
719         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
720         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
721         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
722         vmmc-supply = <&reg_usdhc2_vmmc>;
723         no-mmc;
724         no-sdio;
725         disable-wp;
726         bus-width = <4>;
727         status = "okay";
728 };
729 
730 &iomuxc {
731         pinctrl_backlight: backlightgrp {
732                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19          0x14>;
733         };
734 
735         pinctrl_flexcan1: flexcan1grp {
736                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX             0x150>,
737                            <MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX             0x150>;
738         };
739 
740         pinctrl_flexcan2: flexcan2grp {
741                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX             0x150>,
742                            <MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX             0x150>;
743         };
744 
745         /* only on X57, primary used as CSI0 control signals */
746         pinctrl_ecspi1: ecspi1grp {
747                 fsl,pins = <MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO       0x1c0>,
748                            <MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI       0x1c0>,
749                            <MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK       0x1c0>,
750                            <MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09         0x1c0>;
751         };
752 
753         /* on X63 and optionally on X57, can also be used as CSI1 control signals */
754         pinctrl_ecspi2: ecspi2grp {
755                 fsl,pins = <MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO       0x1c0>,
756                            <MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI       0x1c0>,
757                            <MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK       0x1c0>,
758                            <MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13         0x1c0>;
759         };
760 
761         pinctrl_ecspi3: ecspi3grp {
762                 fsl,pins = <MX8MP_IOMUXC_UART1_TXD__ECSPI3_MOSI         0x1c0>,
763                            <MX8MP_IOMUXC_UART1_RXD__ECSPI3_SCLK         0x1c0>,
764                            <MX8MP_IOMUXC_UART2_RXD__ECSPI3_MISO         0x1c0>,
765                            <MX8MP_IOMUXC_UART2_TXD__GPIO5_IO25          0x1c0>;
766         };
767 
768         pinctrl_eqos: eqosgrp {
769                 fsl,pins = <MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                         0x40000044>,
770                            <MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                       0x40000044>,
771                            <MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0                   0x90>,
772                            <MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1                   0x90>,
773                            <MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2                   0x90>,
774                            <MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3                   0x90>,
775                            <MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK   0x90>,
776                            <MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL             0x90>,
777                            <MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0                   0x12>,
778                            <MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1                   0x12>,
779                            <MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2                   0x12>,
780                            <MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3                   0x12>,
781                            <MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL             0x12>,
782                            <MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK   0x14>;
783         };
784 
785         pinctrl_eqos_event: eqosevtgrp {
786                 fsl,pins = <MX8MP_IOMUXC_SAI2_RXD0__ENET_QOS_1588_EVENT2_OUT            0x100>,
787                            <MX8MP_IOMUXC_SAI2_TXD0__ENET_QOS_1588_EVENT2_IN             0x1c0>;
788         };
789 
790         pinctrl_eqos_phy: eqosphygrp {
791                 fsl,pins = <MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02                          0x100>,
792                            <MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03                          0x1c0>;
793         };
794 
795         pinctrl_fec: fecgrp {
796                 fsl,pins = <MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC           0x40000044>,
797                            <MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO          0x40000044>,
798                            <MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0     0x90>,
799                            <MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1     0x90>,
800                            <MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2     0x90>,
801                            <MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3     0x90>,
802                            <MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC      0x90>,
803                            <MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL  0x90>,
804                            <MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0     0x12>,
805                            <MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1     0x12>,
806                            <MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2     0x12>,
807                            <MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3     0x12>,
808                            <MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL  0x12>,
809                            <MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC     0x14>;
810         };
811 
812         pinctrl_fec_event: fecevtgrp {
813                 fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN        0x100>,
814                            <MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT        0x1c0>;
815         };
816 
817         pinctrl_fec_phy: fecphygrp {
818                 fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00          0x100>,
819                            <MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01           0x1c0>;
820         };
821 
822         pinctrl_fec_phyalt: fecphyaltgrp {
823                 fsl,pins = <MX8MP_IOMUXC_SAI2_TXFS__GPIO4_IO24          0x180>,
824                            <MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25           0x180>;
825         };
826 
827         pinctrl_gpiobutton: gpiobuttongrp {
828                 fsl,pins = <MX8MP_IOMUXC_UART3_RXD__GPIO5_IO26          0x10>,
829                            <MX8MP_IOMUXC_UART3_TXD__GPIO5_IO27          0x10>;
830         };
831 
832         pinctrl_gpioled: gpioledgrp {
833                 fsl,pins = <MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05      0x14>,
834                            <MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04           0x14>,
835                            <MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03           0x14>;
836         };
837 
838         pinctrl_gpio1: gpio1grp {
839                 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00         0x10>,
840                            <MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01         0x10>,
841                            <MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03         0x10>,
842                            <MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06         0x10>,
843                            <MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07         0x80>,
844                            <MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09         0x80>,
845                            <MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14         0x80>,
846                            <MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15         0x80>;
847         };
848 
849         pinctrl_gpio4: gpio4grp {
850                 fsl,pins = <MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20          0x180>,
851                            <MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22           0x180>;
852         };
853 
854         pinctrl_hdmi: hdmigrp {
855                 fsl,pins = <MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c2>,
856                            <MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c2>,
857                            <MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD     0x40000010>,
858                            <MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC     0x40000010>;
859         };
860 
861         pinctrl_hoggpio2: hoggpio2grp {
862                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07          0x140>,
863                            <MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10        0x140>,
864                            <MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11         0x140>;
865         };
866 
867         pinctrl_i2c2: i2c2grp {
868                 fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL             0x400001e2>,
869                            <MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA             0x400001e2>;
870         };
871 
872         pinctrl_i2c2_gpio: i2c2-gpiogrp {
873                 fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16           0x400001e2>,
874                            <MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17           0x400001e2>;
875         };
876 
877         pinctrl_i2c4: i2c4grp {
878                 fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL             0x400001e2>,
879                            <MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA             0x400001e2>;
880         };
881 
882         pinctrl_i2c4_gpio: i2c4-gpiogrp {
883                 fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20           0x400001e2>,
884                            <MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21           0x400001e2>;
885         };
886 
887         pinctrl_i2c6: i2c6grp {
888                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__I2C6_SCL            0x400001e2>,
889                            <MX8MP_IOMUXC_SD1_DATA1__I2C6_SDA            0x400001e2>;
890         };
891 
892         pinctrl_i2c6_gpio: i2c6-gpiogrp {
893                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__GPIO2_IO02          0x400001e2>,
894                            <MX8MP_IOMUXC_SD1_DATA1__GPIO2_IO03          0x400001e2>;
895         };
896 
897         pinctrl_lvdsdisplay: lvdsdisplaygrp {
898                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20           0x10>; /* Power enable */
899         };
900 
901         pinctrl_pcf85063: pcf85063grp {
902                 fsl,pins = <MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28          0x80>;
903         };
904 
905         /* LVDS Backlight */
906         pinctrl_pwm2: pwm2grp {
907                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXD0__PWM2_OUT            0x14>;
908         };
909 
910         /* FAN */
911         pinctrl_pwm3: pwm3grp {
912                 fsl,pins = <MX8MP_IOMUXC_I2C3_SDA__PWM3_OUT             0x14>;
913         };
914 
915         pinctrl_pwmfan: pwmfangrp {
916                 fsl,pins = <MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18           0x80>; /* FAN RPM */
917         };
918 
919         pinctrl_reg12v0: reg12v0grp {
920                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06          0x140>; /* VCC12V enable */
921         };
922 
923         pinctrl_regpwmfan: regpwmfangrp {
924                 fsl,pins = <MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27          0x80>;
925         };
926 
927         pinctrl_sai3: sai3grp {
928                 fsl,pins = <
929                         MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC   0x94
930                         MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK    0x94
931                         MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00  0x94
932                         MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00  0x94
933                         MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK      0x94
934                 >;
935         };
936 
937         pinctrl_tlv320aic3x04: tlv320aic3x04grp {
938                 fsl,pins = <
939                         /* CODEC RST# */
940                         MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29               0x180
941                 >;
942         };
943 
944         /* X61 */
945         pinctrl_uart1: uart1grp {
946                 fsl,pins = <MX8MP_IOMUXC_SD1_CLK__UART1_DCE_TX          0x140>,
947                            <MX8MP_IOMUXC_SD1_CMD__UART1_DCE_RX          0x140>;
948         };
949 
950         /* X61 */
951         pinctrl_uart2: uart2grp {
952                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA2__UART2_DCE_TX        0x140>,
953                            <MX8MP_IOMUXC_SD1_DATA3__UART2_DCE_RX        0x140>;
954         };
955 
956         pinctrl_uart3: uart3grp {
957                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA6__UART3_DCE_TX        0x140>,
958                            <MX8MP_IOMUXC_SD1_DATA7__UART3_DCE_RX        0x140>;
959         };
960 
961         pinctrl_uart4: uart4grp {
962                 fsl,pins = <MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX        0x140>,
963                            <MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX        0x140>;
964         };
965 
966         pinctrl_usb0: usb0grp {
967                 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC        0x1c0>,
968                            <MX8MP_IOMUXC_GPIO1_IO12__USB1_OTG_PWR       0x1c0>;
969         };
970 
971         pinctrl_usbcon0: usb0congrp {
972                 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10         0x1c0>;
973         };
974 
975         pinctrl_usbhub: usbhubgrp {
976                 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11         0x10>;
977         };
978 
979         pinctrl_usdhc2: usdhc2grp {
980                 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK            0x192>,
981                            <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD            0x1d2>,
982                            <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0        0x1d2>,
983                            <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1        0x1d2>,
984                            <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2        0x1d2>,
985                            <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3        0x1d2>,
986                            <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT     0xc0>;
987         };
988 
989         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
990                 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK            0x194>,
991                            <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD            0x1d4>,
992                            <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0        0x1d4>,
993                            <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1        0x1d4>,
994                            <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2        0x1d4>,
995                            <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3        0x1d4>,
996                            <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT     0xc0>;
997         };
998 
999         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
1000                 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK            0x194>,
1001                            <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD            0x1d4>,
1002                            <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0        0x1d4>,
1003                            <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1        0x1d4>,
1004                            <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2        0x1d4>,
1005                            <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3        0x1d4>,
1006                            <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT     0xc0>;
1007         };
1008 
1009         pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
1010                 fsl,pins = <MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12           0x1c0>;
1011         };
1012 };

~ [ 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