0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright 2013 Data Modul AG
0004 */
0005
0006 /dts-v1/;
0007
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include "imx6q.dtsi"
0010
0011 / {
0012 model = "Data Modul eDM-QMX6 Board";
0013 compatible = "dmo,imx6q-edmqmx6", "fsl,imx6q";
0014
0015 chosen {
0016 stdout-path = &uart2;
0017 };
0018
0019 aliases {
0020 gpio7 = &stmpe_gpio1;
0021 gpio8 = &stmpe_gpio2;
0022 stmpe-i2c0 = &stmpe1;
0023 stmpe-i2c1 = &stmpe2;
0024 };
0025
0026 memory@10000000 {
0027 device_type = "memory";
0028 reg = <0x10000000 0x80000000>;
0029 };
0030
0031 regulators {
0032 compatible = "simple-bus";
0033 #address-cells = <1>;
0034 #size-cells = <0>;
0035
0036 reg_3p3v: regulator@0 {
0037 compatible = "regulator-fixed";
0038 reg = <0>;
0039 regulator-name = "3P3V";
0040 regulator-min-microvolt = <3300000>;
0041 regulator-max-microvolt = <3300000>;
0042 regulator-always-on;
0043 };
0044
0045 reg_usb_otg_switch: regulator@1 {
0046 compatible = "regulator-fixed";
0047 reg = <1>;
0048 regulator-name = "usb_otg_switch";
0049 regulator-min-microvolt = <5000000>;
0050 regulator-max-microvolt = <5000000>;
0051 gpio = <&gpio7 12 0>;
0052 regulator-boot-on;
0053 regulator-always-on;
0054 };
0055
0056 reg_usb_host1: regulator@2 {
0057 compatible = "regulator-fixed";
0058 reg = <2>;
0059 regulator-name = "usb_host1_en";
0060 regulator-min-microvolt = <3300000>;
0061 regulator-max-microvolt = <3300000>;
0062 gpio = <&gpio3 31 0>;
0063 enable-active-high;
0064 };
0065 };
0066
0067 gpio-leds {
0068 compatible = "gpio-leds";
0069
0070 led-blue {
0071 label = "blue";
0072 gpios = <&stmpe_gpio1 8 GPIO_ACTIVE_HIGH>;
0073 linux,default-trigger = "heartbeat";
0074 };
0075
0076 led-green {
0077 label = "green";
0078 gpios = <&stmpe_gpio1 9 GPIO_ACTIVE_HIGH>;
0079 };
0080
0081 led-pink {
0082 label = "pink";
0083 gpios = <&stmpe_gpio1 10 GPIO_ACTIVE_HIGH>;
0084 };
0085
0086 led-red {
0087 label = "red";
0088 gpios = <&stmpe_gpio1 11 GPIO_ACTIVE_HIGH>;
0089 };
0090 };
0091 };
0092
0093 &can1 {
0094 pinctrl-names = "default";
0095 pinctrl-0 = <&pinctrl_can1>;
0096 status = "okay";
0097 };
0098
0099 &ecspi5 {
0100 pinctrl-names = "default";
0101 pinctrl-0 = <&pinctrl_ecspi5>;
0102 cs-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
0103 status = "okay";
0104
0105 flash: flash@0 {
0106 compatible = "m25p80", "jedec,spi-nor";
0107 spi-max-frequency = <40000000>;
0108 reg = <0>;
0109 };
0110 };
0111
0112 &fec {
0113 pinctrl-names = "default";
0114 pinctrl-0 = <&pinctrl_enet>;
0115 phy-mode = "rgmii-id";
0116 phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
0117 phy-supply = <&vgen2_1v2_eth>;
0118 status = "okay";
0119 };
0120
0121 &i2c1 {
0122 clock-frequency = <100000>;
0123 pinctrl-names = "default";
0124 pinctrl-0 = <&pinctrl_i2c1>;
0125 status = "okay";
0126 };
0127
0128 &i2c2 {
0129 clock-frequency = <100000>;
0130 pinctrl-names = "default";
0131 pinctrl-0 = <&pinctrl_i2c2
0132 &pinctrl_stmpe1
0133 &pinctrl_stmpe2
0134 &pinctrl_pfuze>;
0135 status = "okay";
0136
0137 pmic: pfuze100@8 {
0138 compatible = "fsl,pfuze100";
0139 reg = <0x08>;
0140 interrupt-parent = <&gpio3>;
0141 interrupts = <20 8>;
0142
0143 regulators {
0144 sw1a_reg: sw1ab {
0145 regulator-min-microvolt = <300000>;
0146 regulator-max-microvolt = <1875000>;
0147 regulator-boot-on;
0148 regulator-always-on;
0149 };
0150
0151 sw1c_reg: sw1c {
0152 regulator-min-microvolt = <300000>;
0153 regulator-max-microvolt = <1875000>;
0154 regulator-boot-on;
0155 regulator-always-on;
0156 };
0157
0158 sw2_reg: sw2 {
0159 regulator-min-microvolt = <800000>;
0160 regulator-max-microvolt = <3300000>;
0161 regulator-boot-on;
0162 regulator-always-on;
0163 };
0164
0165 sw3a_reg: sw3a {
0166 regulator-min-microvolt = <400000>;
0167 regulator-max-microvolt = <1975000>;
0168 regulator-boot-on;
0169 regulator-always-on;
0170 };
0171
0172 sw3b_reg: sw3b {
0173 regulator-min-microvolt = <400000>;
0174 regulator-max-microvolt = <1975000>;
0175 regulator-boot-on;
0176 regulator-always-on;
0177 };
0178
0179 sw4_reg: sw4 {
0180 regulator-min-microvolt = <400000>;
0181 regulator-max-microvolt = <1975000>;
0182 regulator-always-on;
0183 };
0184
0185 swbst_reg: swbst {
0186 regulator-min-microvolt = <5000000>;
0187 regulator-max-microvolt = <5150000>;
0188 regulator-always-on;
0189 };
0190
0191 snvs_reg: vsnvs {
0192 regulator-min-microvolt = <1000000>;
0193 regulator-max-microvolt = <3000000>;
0194 regulator-boot-on;
0195 regulator-always-on;
0196 };
0197
0198 vref_reg: vrefddr {
0199 regulator-boot-on;
0200 regulator-always-on;
0201 };
0202
0203 vgen1_reg: vgen1 {
0204 regulator-min-microvolt = <800000>;
0205 regulator-max-microvolt = <1550000>;
0206 };
0207
0208 vgen2_1v2_eth: vgen2 {
0209 regulator-min-microvolt = <800000>;
0210 regulator-max-microvolt = <1550000>;
0211 };
0212
0213 vdd_high_in: vgen3 {
0214 regulator-min-microvolt = <1800000>;
0215 regulator-max-microvolt = <3300000>;
0216 regulator-boot-on;
0217 regulator-always-on;
0218 };
0219
0220 vgen4_reg: vgen4 {
0221 regulator-min-microvolt = <1800000>;
0222 regulator-max-microvolt = <3300000>;
0223 regulator-always-on;
0224 };
0225
0226 vgen5_reg: vgen5 {
0227 regulator-min-microvolt = <1800000>;
0228 regulator-max-microvolt = <3300000>;
0229 regulator-always-on;
0230 };
0231
0232 vgen6_reg: vgen6 {
0233 regulator-min-microvolt = <1800000>;
0234 regulator-max-microvolt = <3300000>;
0235 regulator-always-on;
0236 };
0237 };
0238 };
0239
0240 stmpe1: stmpe1601@40 {
0241 compatible = "st,stmpe1601";
0242 reg = <0x40>;
0243 interrupts = <30 0>;
0244 interrupt-parent = <&gpio3>;
0245 vcc-supply = <&sw2_reg>;
0246 vio-supply = <&sw2_reg>;
0247
0248 stmpe_gpio1: stmpe_gpio {
0249 #gpio-cells = <2>;
0250 compatible = "st,stmpe-gpio";
0251 };
0252 };
0253
0254 stmpe2: stmpe1601@44 {
0255 compatible = "st,stmpe1601";
0256 reg = <0x44>;
0257 interrupts = <2 0>;
0258 interrupt-parent = <&gpio5>;
0259 vcc-supply = <&sw2_reg>;
0260 vio-supply = <&sw2_reg>;
0261
0262 stmpe_gpio2: stmpe_gpio {
0263 #gpio-cells = <2>;
0264 compatible = "st,stmpe-gpio";
0265 };
0266 };
0267
0268 temp1: ad7414@4c {
0269 compatible = "ad,ad7414";
0270 reg = <0x4c>;
0271 };
0272
0273 temp2: ad7414@4d {
0274 compatible = "ad,ad7414";
0275 reg = <0x4d>;
0276 };
0277
0278 rtc: m41t62@68 {
0279 compatible = "st,m41t62";
0280 reg = <0x68>;
0281 };
0282 };
0283
0284 &i2c3 {
0285 clock-frequency = <100000>;
0286 pinctrl-names = "default";
0287 pinctrl-0 = <&pinctrl_i2c3>;
0288 status = "okay";
0289 };
0290
0291 &iomuxc {
0292 pinctrl-names = "default";
0293 pinctrl-0 = <&pinctrl_hog>;
0294
0295 imx6q-dmo-edmqmx6 {
0296 pinctrl_hog: hoggrp {
0297 fsl,pins = <
0298 MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x80000000
0299 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
0300 >;
0301 };
0302
0303 pinctrl_can1: can1grp {
0304 fsl,pins = <
0305 MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b0b0
0306 MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0
0307 >;
0308 };
0309
0310 pinctrl_ecspi5: ecspi5rp-1 {
0311 fsl,pins = <
0312 MX6QDL_PAD_SD1_DAT0__ECSPI5_MISO 0x80000000
0313 MX6QDL_PAD_SD1_CMD__ECSPI5_MOSI 0x80000000
0314 MX6QDL_PAD_SD1_CLK__ECSPI5_SCLK 0x80000000
0315 MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x80000000
0316 >;
0317 };
0318
0319 pinctrl_enet: enetgrp {
0320 fsl,pins = <
0321 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
0322 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030
0323 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030
0324 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
0325 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
0326 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
0327 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030
0328 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030
0329 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030
0330 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
0331 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030
0332 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
0333 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
0334 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
0335 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
0336 MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b0b0
0337 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
0338 >;
0339 };
0340
0341 pinctrl_i2c1: i2c1grp {
0342 fsl,pins = <
0343 MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
0344 MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
0345 >;
0346 };
0347
0348 pinctrl_i2c2: i2c2grp {
0349 fsl,pins = <
0350 MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
0351 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
0352 >;
0353 };
0354
0355 pinctrl_i2c3: i2c3grp {
0356 fsl,pins = <
0357 MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
0358 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
0359 >;
0360 };
0361
0362 pinctrl_pcie: pciegrp {
0363 fsl,pins = <
0364 MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x100b1
0365 >;
0366 };
0367
0368 pinctrl_pfuze: pfuze100grp1 {
0369 fsl,pins = <
0370 MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000
0371 >;
0372 };
0373
0374 pinctrl_stmpe1: stmpe1grp {
0375 fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
0376 };
0377
0378 pinctrl_stmpe2: stmpe2grp {
0379 fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
0380 };
0381
0382 pinctrl_uart1: uart1grp {
0383 fsl,pins = <
0384 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
0385 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
0386 >;
0387 };
0388
0389 pinctrl_uart2: uart2grp {
0390 fsl,pins = <
0391 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
0392 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
0393 >;
0394 };
0395
0396 pinctrl_usbotg: usbotggrp {
0397 fsl,pins = <
0398 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
0399 >;
0400 };
0401
0402 pinctrl_usdhc3: usdhc3grp {
0403 fsl,pins = <
0404 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
0405 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
0406 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
0407 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
0408 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
0409 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
0410 >;
0411 };
0412
0413 pinctrl_usdhc4: usdhc4grp {
0414 fsl,pins = <
0415 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
0416 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
0417 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
0418 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
0419 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
0420 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
0421 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
0422 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
0423 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
0424 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
0425 >;
0426 };
0427 };
0428 };
0429
0430 &pcie {
0431 pinctrl-names = "default";
0432 pinctrl-0 = <&pinctrl_pcie>;
0433 reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>;
0434 status = "okay";
0435 };
0436
0437 &sata {
0438 status = "okay";
0439 };
0440
0441 &uart1 {
0442 pinctrl-names = "default";
0443 pinctrl-0 = <&pinctrl_uart1>;
0444 status = "okay";
0445 };
0446
0447 &uart2 {
0448 pinctrl-names = "default";
0449 pinctrl-0 = <&pinctrl_uart2>;
0450 status = "okay";
0451 };
0452
0453 &usbh1 {
0454 vbus-supply = <®_usb_host1>;
0455 disable-over-current;
0456 dr_mode = "host";
0457 status = "okay";
0458 };
0459
0460 &usbotg {
0461 pinctrl-names = "default";
0462 pinctrl-0 = <&pinctrl_usbotg>;
0463 disable-over-current;
0464 status = "okay";
0465 };
0466
0467 &usdhc3 {
0468 pinctrl-names = "default";
0469 pinctrl-0 = <&pinctrl_usdhc3>;
0470 vmmc-supply = <®_3p3v>;
0471 status = "okay";
0472 };
0473
0474 &usdhc4 {
0475 pinctrl-names = "default";
0476 pinctrl-0 = <&pinctrl_usdhc4>;
0477 vmmc-supply = <®_3p3v>;
0478 non-removable;
0479 bus-width = <8>;
0480 status = "okay";
0481 };