0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (C) 2021 PHYTEC Messtechnik GmbH
0004 * Author: Alexander Bauer <a.bauer@phytec.de>
0005 */
0006
0007 /dts-v1/;
0008 #include "imx6ull.dtsi"
0009 #include "imx6ull-phytec-phycore-som.dtsi"
0010
0011 / {
0012
0013 model = "PHYTEC phyGate-Tauri i.MX6 UltraLite";
0014 compatible = "phytec,imx6ull-phygate-tauri",
0015 "phytec,imx6ull-pcl063", "fsl,imx6ull";
0016
0017 aliases {
0018 rtc0 = &i2c_rtc;
0019 rtc1 = &snvs_rtc;
0020 };
0021
0022 gpio_keys: gpio-keys {
0023 compatible = "gpio-key";
0024 pinctrl-names = "default";
0025 pinctrl-0 = <&pinctrl_gpio_keys>;
0026
0027 key {
0028 label = "KEY-A";
0029 gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
0030 linux,code = <KEY_A>;
0031 wakeup-source;
0032 };
0033 };
0034
0035 reg_adc1_vref_3v3: regulator-vref-3v3 {
0036 compatible = "regulator-fixed";
0037 regulator-name = "vref-3v3";
0038 regulator-min-microvolt = <3300000>;
0039 regulator-max-microvolt = <3300000>;
0040 };
0041
0042 reg_s25fl064_hold: regulator-s25fl064-hold {
0043 pinctrl-names = "default";
0044 pinctrl-0 = <&pinctrl_s25fl064_hold>;
0045 compatible = "regulator-fixed";
0046 regulator-name = "s25fl064_hold";
0047 regulator-min-microvolt = <3300000>;
0048 regulator-max-microvolt = <3300000>;
0049 gpio = <&gpio3 17 GPIO_ACTIVE_HIGH>;
0050 enable-active-high;
0051 regulator-always-on;
0052 };
0053
0054 reg_usb_hub_vbus: regulator-hub-otg1-vbus {
0055 pinctrl-names = "default";
0056 pinctrl-0 = <&pinctrl_usbhubpwr>;
0057 compatible = "regulator-fixed";
0058 regulator-name = "usb_hub_vbus";
0059 regulator-min-microvolt = <3300000>;
0060 regulator-max-microvolt = <3300000>;
0061 gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>;
0062 enable-active-high;
0063 regulator-always-on;
0064 };
0065
0066 reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
0067 pinctrl-names = "default";
0068 pinctrl-0 = <&pinctrl_usbotg1pwr>;
0069 compatible = "regulator-fixed";
0070 regulator-name = "usb_otg1_vbus";
0071 regulator-min-microvolt = <3300000>;
0072 regulator-max-microvolt = <3300000>;
0073 gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
0074 enable-active-high;
0075 regulator-always-on;
0076 };
0077
0078 user_leds: user-leds {
0079 compatible = "gpio-leds";
0080 pinctrl-names = "default";
0081 pinctrl-0 = <&pinctrl_user_leds>,
0082 <&pinctrl_user_leds_snvs>;
0083
0084 user-led1 {
0085 label = "yellow";
0086 gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
0087 linux,default-trigger = "off";
0088 };
0089
0090 user-led2 {
0091 label = "red";
0092 gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>;
0093 linux,default-trigger = "off";
0094 };
0095 };
0096 };
0097
0098 &can1 {
0099 pinctrl-names = "default";
0100 pinctrl-0 = <&pinctrl_flexcan1>;
0101 status = "okay";
0102 };
0103
0104 &can2 {
0105 pinctrl-names = "default";
0106 pinctrl-0 = <&pinctrl_flexcan2>;
0107 status = "okay";
0108 };
0109
0110 &ecspi1 {
0111 #address-cells = <1>;
0112 #size-cells = <0>;
0113 pinctrl-names = "default";
0114 pinctrl-0 = <&pinctrl_ecspi1>,
0115 <&pinctrl_ecspi1_cs>;
0116 cs-gpios = <&gpio3 26 GPIO_ACTIVE_LOW>,
0117 <&gpio3 10 GPIO_ACTIVE_LOW>,
0118 <&gpio3 11 GPIO_ACTIVE_LOW>;
0119 status = "okay";
0120
0121 tpm_tis: tpm@1 {
0122 pinctrl-names = "default";
0123 pinctrl-0 = <&pinctrl_tpm>;
0124 compatible = "tcg,tpm_tis-spi";
0125 reg = <1>;
0126 spi-max-frequency = <20000000>;
0127 interrupt-parent = <&gpio5>;
0128 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
0129 };
0130
0131 s25fl064: flash@2 {
0132 #address-cells = <1>;
0133 #size-cells = <1>;
0134 compatible = " jedec,spi-nor";
0135 reg = <2>;
0136 spi-max-frequency = <40000000>;
0137 m25p,fast-read;
0138 status = "disabled";
0139 };
0140 };
0141
0142 &ecspi3 {
0143 pinctrl-names = "default";
0144 pinctrl-0 = <&pinctrl_ecspi3>;
0145 cs-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
0146 dmas = <&sdma 7 8 0>,
0147 <&sdma 8 8 0>;
0148 dma-names = "rx", "tx";
0149 status = "okay";
0150 };
0151
0152 ðphy1 {
0153 status = "okay";
0154 };
0155
0156 &fec1 {
0157 status = "okay";
0158 };
0159
0160 &fec2 {
0161 pinctrl-names = "default";
0162 pinctrl-0 = <&pinctrl_enet2>;
0163 phy-mode = "rmii";
0164 phy-handle = <ðphy2>;
0165 status = "okay";
0166 };
0167
0168 &i2c1 {
0169 status = "okay";
0170
0171 tmp102: tmp@49 {
0172 compatible = "ti,tmp102";
0173 reg = <0x49>;
0174 pinctrl-names = "default";
0175 pinctrl-0 = <&pinctrl_tempsense>;
0176 interrupt-parent = <&gpio5>;
0177 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
0178 #thermal-sensor-cells = <1>;
0179 };
0180
0181 i2c_rtc: rtc@68 {
0182 pinctrl-names = "default";
0183 pinctrl-0 = <&pinctrl_rtc_int>;
0184 compatible = "microcrystal,rv4162";
0185 reg = <0x68>;
0186 interrupt-parent = <&gpio5>;
0187 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
0188 };
0189 };
0190
0191 &i2c2 {
0192 pinctrl-names = "default", "gpio";
0193 pinctrl-0 = <&pinctrl_i2c2>;
0194 pinctrl-1 = <&pinctrl_i2c2_gpio>;
0195 sda-gpios = <&gpio1 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0196 scl-gpios = <&gpio1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0197 status = "okay";
0198 };
0199
0200 &i2c3 {
0201 pinctrl-names = "default", "gpio";
0202 pinctrl-0 = <&pinctrl_i2c3>;
0203 pinctrl-1 = <&pinctrl_i2c3_gpio>;
0204 sda-gpios = <&gpio3 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0205 scl-gpios = <&gpio3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0206 status = "okay";
0207 };
0208
0209 &i2c4 {
0210 pinctrl-names = "default", "gpio";
0211 pinctrl-0 = <&pinctrl_i2c4>;
0212 pinctrl-1 = <&pinctrl_i2c4_gpio>;
0213 sda-gpios = <&gpio3 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0214 scl-gpios = <&gpio3 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0215 status = "okay";
0216 };
0217
0218 &mdio {
0219 ethphy2: ethernet-phy@2 {
0220 reg = <2>;
0221 micrel,led-mode = <1>;
0222 clocks = <&clks IMX6UL_CLK_ENET2_REF>;
0223 clock-names = "rmii-ref";
0224 status = "okay";
0225 };
0226 };
0227
0228 &pwm3 {
0229 pinctrl-names = "default";
0230 pinctrl-0 = <&pinctrl_pwm3>;
0231 status = "okay";
0232 };
0233
0234 &pwm6 {
0235 pinctrl-names = "default";
0236 pinctrl-0 = <&pinctrl_pwm6>;
0237 status = "okay";
0238 };
0239
0240 &pwm7 {
0241 pinctrl-names = "default";
0242 pinctrl-0 = <&pinctrl_pwm7>;
0243 status = "okay";
0244 };
0245
0246 &pwm8 {
0247 pinctrl-names = "default";
0248 pinctrl-0 = <&pinctrl_pwm8>;
0249 status = "okay";
0250 };
0251
0252 &uart3 {
0253 pinctrl-names = "default";
0254 pinctrl-0 = <&pinctrl_uart3>;
0255 status = "okay";
0256 };
0257
0258 /* UART4 * RS485 */
0259 &uart4 {
0260 pinctrl-names = "default";
0261 pinctrl-0 = <&pinctrl_uart4>;
0262 rts-gpios = <&gpio3 2 GPIO_ACTIVE_HIGH>;
0263 rs485-rts-active-high;
0264 linux,rs485-enabled-at-boot-time;
0265 status = "okay";
0266 };
0267
0268 /* UART5 * RS232 */
0269 &uart5 {
0270 pinctrl-names = "default";
0271 pinctrl-0 = <&pinctrl_uart5>;
0272 uart-has-rtscts;
0273 status = "okay";
0274 };
0275
0276 &uart7 {
0277 pinctrl-names = "default";
0278 pinctrl-0 = <&pinctrl_uart7>;
0279 status = "okay";
0280 };
0281
0282 /* USB */
0283 &usbotg1 {
0284 pinctrl-names = "default";
0285 pinctrl-0 = <&pinctrl_usb_otg1>;
0286 vbus-supply = <®_usb_otg1_vbus>;
0287 dr_mode = "host";
0288 disable-over-current;
0289 status = "okay";
0290 };
0291
0292 &usbotg2 {
0293 vbus-supply = <®_usb_hub_vbus>;
0294 disable-over-current;
0295 dr_mode = "host";
0296 status = "okay";
0297 };
0298
0299 &usdhc1 {
0300 pinctrl-names = "default", "state_100mhz", "state_200mhz";
0301 pinctrl-0 = <&pinctrl_usdhc1>;
0302 pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
0303 pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
0304 cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
0305 no-1-8-v;
0306 keep-power-in-suspend;
0307 wakeup-source;
0308 status = "okay";
0309 };
0310
0311 &usdhc2 {
0312 status = "disabled";
0313 };
0314
0315 &iomuxc_snvs {
0316 pinctrl_rtc_int: rtcintgrp {
0317 fsl,pins = <
0318 MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x17059
0319 >;
0320 };
0321
0322 pinctrl_stmpe: stmpegrp {
0323 fsl,pins = <
0324 MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x17059
0325 >;
0326 };
0327
0328 pinctrl_tempsense: tempsensegrp {
0329 fsl,pins = <
0330 MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x17059
0331 >;
0332 };
0333
0334 pinctrl_tpm: tpmgrp {
0335 fsl,pins = <
0336 MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x17059
0337 >;
0338 };
0339
0340 pinctrl_usbhubpwr: usbhubpwrgrp {
0341 fsl,pins = <
0342 MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x17059
0343 >;
0344 };
0345
0346 pinctrl_user_leds_snvs: user_ledsgrp {
0347 fsl,pins = <
0348 MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x79
0349 >;
0350 };
0351 };
0352
0353 &iomuxc {
0354 pinctrl_gpio: gpiogrp {
0355 fsl,pins = <
0356 MX6UL_PAD_CSI_DATA05__GPIO4_IO26 0x17059 /* nUART_MUX_RS232 */
0357 MX6UL_PAD_CSI_DATA04__GPIO4_IO25 0x17059 /* nUART_MUX_DUAL_RX_TX */
0358 >;
0359 };
0360
0361 pinctrl_gpio_keys: gpiokeysgrp {
0362 fsl,pins = <
0363 MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0x79
0364 >;
0365 };
0366
0367 pinctrl_ecspi3: ecspi3grp {
0368 fsl,pins = <
0369 MX6UL_PAD_UART2_RX_DATA__ECSPI3_SCLK 0x100b1
0370 MX6UL_PAD_UART2_RTS_B__ECSPI3_MISO 0x100b1
0371 MX6UL_PAD_UART2_CTS_B__ECSPI3_MOSI 0x100b1
0372 MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0x10b0
0373 >;
0374 };
0375
0376 pinctrl_ecspi1: ecspi1grp {
0377 fsl,pins = <
0378 MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK 0x100b1
0379 MX6UL_PAD_LCD_DATA23__ECSPI1_MISO 0x100b1
0380 MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI 0x100b1
0381 >;
0382 };
0383
0384 pinctrl_ecspi1_cs: ecspi1csgrp {
0385 fsl,pins = <
0386 MX6UL_PAD_LCD_DATA21__GPIO3_IO26 0x10b0
0387 MX6UL_PAD_LCD_DATA05__GPIO3_IO10 0x10b0
0388 MX6UL_PAD_LCD_DATA06__GPIO3_IO11 0x10b0
0389 >;
0390 };
0391
0392
0393 pinctrl_enet2: enet2grp {
0394 fsl,pins = <
0395 MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0
0396 MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0
0397 MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
0398 MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
0399 MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b010
0400 MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b010
0401 MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b010
0402 MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b010
0403 >;
0404 };
0405
0406 pinctrl_flexcan1: flexcan1grp {
0407 fsl,pins = <
0408 MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x0b0b0
0409 MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x0b0b0
0410 >;
0411 };
0412
0413 pinctrl_flexcan2: flexcan2grp {
0414 fsl,pins = <
0415 MX6UL_PAD_LCD_DATA10__FLEXCAN2_TX 0x0b0b0
0416 MX6UL_PAD_LCD_DATA11__FLEXCAN2_RX 0x0b0b0
0417 >;
0418 };
0419
0420 princtrl_flexcan2_en: flexcan2engrp {
0421 fsl,pins = <
0422 MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0x17059
0423 >;
0424 };
0425
0426 pinctrl_i2c2: i2c2grp {
0427 fsl,pins = <
0428 MX6UL_PAD_GPIO1_IO00__I2C2_SCL 0xb0
0429 MX6UL_PAD_GPIO1_IO01__I2C2_SDA 0xb0
0430 >;
0431 };
0432
0433 pinctrl_i2c2_gpio: i2c2gpiogrp {
0434 fsl,pins = <
0435 MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 0xb0
0436 MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0xb0
0437 >;
0438 };
0439
0440 pinctrl_i2c3: i2c3grp {
0441 fsl,pins = <
0442 MX6UL_PAD_LCD_DATA01__I2C3_SCL 0xb0
0443 MX6UL_PAD_LCD_DATA00__I2C3_SDA 0xb0
0444 >;
0445 };
0446
0447 pinctrl_i2c3_gpio: i2c3gpiogrp {
0448 fsl,pins = <
0449 MX6UL_PAD_LCD_DATA01__GPIO3_IO06 0xb0
0450 MX6UL_PAD_LCD_DATA00__GPIO3_IO05 0xb0
0451 >;
0452 };
0453
0454 pinctrl_i2c4: i2c4grp {
0455 fsl,pins = <
0456 MX6UL_PAD_LCD_DATA03__I2C4_SCL 0xb0
0457 MX6UL_PAD_LCD_DATA02__I2C4_SDA 0xb0
0458 >;
0459 };
0460
0461 pinctrl_i2c4_gpio: i2c4gpiogrp {
0462 fsl,pins = <
0463 MX6UL_PAD_LCD_DATA03__GPIO3_IO08 0xb0
0464 MX6UL_PAD_LCD_DATA02__GPIO3_IO07 0xb0
0465 >;
0466 };
0467
0468 pinctrl_pwm3: pwm3grp {
0469 fsl,pins = <
0470 MX6UL_PAD_GPIO1_IO04__PWM3_OUT 0x0b0b0
0471 >;
0472 };
0473
0474 pinctrl_pwm6: pwm6grp {
0475 fsl,pins = <
0476 MX6UL_PAD_JTAG_TDI__PWM6_OUT 0x0b0b0
0477 >;
0478 };
0479
0480 pinctrl_pwm7: pwm7grp {
0481 fsl,pins = <
0482 MX6UL_PAD_JTAG_TCK__PWM7_OUT 0x0b0b0
0483 >;
0484 };
0485
0486 pinctrl_pwm8: pwm8grp {
0487 fsl,pins = <
0488 MX6UL_PAD_JTAG_TRST_B__PWM8_OUT 0x0b0b0
0489 >;
0490 };
0491
0492 pinctrl_s25fl064_hold: s25fl064holdgrp {
0493 fsl,pins = <
0494 MX6UL_PAD_LCD_DATA12__GPIO3_IO17 0x100b1
0495 >;
0496 };
0497
0498 pinctrl_sai2: sai2grp {
0499 fsl,pins = <
0500 MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK 0x17088
0501 MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC 0x17088
0502 MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x11088
0503 MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x11088
0504 MX6UL_PAD_JTAG_TMS__SAI2_MCLK 0x17088
0505 >;
0506 };
0507
0508 pinctrl_uart3: uart3grp {
0509 fsl,pins = <
0510 MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX 0x1b0b1
0511 MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX 0x1b0b1
0512 >;
0513 };
0514
0515 pinctrl_uart4: uart4grp {
0516 fsl,pins = <
0517 MX6UL_PAD_LCD_CLK__UART4_DCE_TX 0x1b0b1
0518 MX6UL_PAD_LCD_ENABLE__UART4_DCE_RX 0x1b0b1
0519 MX6UL_PAD_LCD_HSYNC__GPIO3_IO02 0x1b0b1
0520 >;
0521 };
0522
0523 pinctrl_uart5: uart5grp {
0524 fsl,pins = <
0525 MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX 0x1b0b1
0526 MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX 0x1b0b1
0527 >;
0528 };
0529
0530 pinctrl_uart7: uart7grp {
0531 fsl,pins = <
0532 MX6UL_PAD_LCD_DATA16__UART7_DCE_TX 0x1b0b1
0533 MX6UL_PAD_LCD_DATA17__UART7_DCE_RX 0x1b0b1
0534 >;
0535 };
0536
0537 pinctrl_usb_otg1: usbotg1grp {
0538 fsl,pins = <
0539 MX6UL_PAD_CSI_DATA06__GPIO4_IO27 0x80
0540 >;
0541 };
0542
0543 pinctrl_usbotg1pwr: usbotg1pwrgrp {
0544 fsl,pins = <
0545 MX6UL_PAD_CSI_DATA07__GPIO4_IO28 0x17059
0546 >;
0547 };
0548
0549 pinctrl_usdhc1: usdhc1grp {
0550 fsl,pins = <
0551 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059
0552 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10059
0553 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059
0554 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059
0555 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059
0556 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059
0557 MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059
0558 >;
0559 };
0560
0561 pinctrl_usdhc1_100mhz: usdhc1100mhzgrp {
0562 fsl,pins = <
0563 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170b9
0564 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100b9
0565 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9
0566 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9
0567 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9
0568 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9
0569 >;
0570 };
0571
0572 pinctrl_usdhc1_200mhz: usdhc1200mhzgrp {
0573 fsl,pins = <
0574 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170f9
0575 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100f9
0576 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170f9
0577 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170f9
0578 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170f9
0579 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170f9
0580 >;
0581 };
0582
0583 pinctrl_user_leds: userledsgrp {
0584 fsl,pins = <
0585 MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x79
0586 >;
0587 };
0588 };