0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright 2014 Gateworks Corporation
0004 */
0005
0006 #include <dt-bindings/gpio/gpio.h>
0007 #include <dt-bindings/input/linux-event-codes.h>
0008 #include <dt-bindings/interrupt-controller/irq.h>
0009
0010 / {
0011 /* these are used by bootloader for disabling nodes */
0012 aliases {
0013 led0 = &led0;
0014 led1 = &led1;
0015 led2 = &led2;
0016 nand = &gpmi;
0017 usb0 = &usbh1;
0018 usb1 = &usbotg;
0019 };
0020
0021 chosen {
0022 bootargs = "console=ttymxc1,115200";
0023 };
0024
0025 gpio-keys {
0026 compatible = "gpio-keys";
0027
0028 user-pb {
0029 label = "user_pb";
0030 gpios = <&gsc_gpio 0 GPIO_ACTIVE_LOW>;
0031 linux,code = <BTN_0>;
0032 };
0033
0034 user-pb1x {
0035 label = "user_pb1x";
0036 linux,code = <BTN_1>;
0037 interrupt-parent = <&gsc>;
0038 interrupts = <0>;
0039 };
0040
0041 key-erased {
0042 label = "key-erased";
0043 linux,code = <BTN_2>;
0044 interrupt-parent = <&gsc>;
0045 interrupts = <1>;
0046 };
0047
0048 eeprom-wp {
0049 label = "eeprom_wp";
0050 linux,code = <BTN_3>;
0051 interrupt-parent = <&gsc>;
0052 interrupts = <2>;
0053 };
0054
0055 tamper {
0056 label = "tamper";
0057 linux,code = <BTN_4>;
0058 interrupt-parent = <&gsc>;
0059 interrupts = <5>;
0060 };
0061
0062 switch-hold {
0063 label = "switch_hold";
0064 linux,code = <BTN_5>;
0065 interrupt-parent = <&gsc>;
0066 interrupts = <7>;
0067 };
0068 };
0069
0070 leds {
0071 compatible = "gpio-leds";
0072 pinctrl-names = "default";
0073 pinctrl-0 = <&pinctrl_gpio_leds>;
0074
0075 led0: user1 {
0076 label = "user1";
0077 gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
0078 default-state = "on";
0079 linux,default-trigger = "heartbeat";
0080 };
0081
0082 led1: user2 {
0083 label = "user2";
0084 gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
0085 default-state = "off";
0086 };
0087
0088 led2: user3 {
0089 label = "user3";
0090 gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* MX6_LOCLED# */
0091 default-state = "off";
0092 };
0093 };
0094
0095 memory@10000000 {
0096 device_type = "memory";
0097 reg = <0x10000000 0x20000000>;
0098 };
0099
0100 reg_1p0v: regulator-1p0v {
0101 compatible = "regulator-fixed";
0102 regulator-name = "1P0V";
0103 regulator-min-microvolt = <1000000>;
0104 regulator-max-microvolt = <1000000>;
0105 regulator-always-on;
0106 };
0107
0108 reg_3p3v: regulator-3p3v {
0109 compatible = "regulator-fixed";
0110 regulator-name = "3P3V";
0111 regulator-min-microvolt = <3300000>;
0112 regulator-max-microvolt = <3300000>;
0113 regulator-always-on;
0114 };
0115
0116 reg_5p0v: regulator-5p0v {
0117 compatible = "regulator-fixed";
0118 regulator-name = "5P0V";
0119 regulator-min-microvolt = <5000000>;
0120 regulator-max-microvolt = <5000000>;
0121 regulator-always-on;
0122 };
0123 };
0124
0125 &gpmi {
0126 pinctrl-names = "default";
0127 pinctrl-0 = <&pinctrl_gpmi_nand>;
0128 status = "okay";
0129 };
0130
0131 &hdmi {
0132 ddc-i2c-bus = <&i2c3>;
0133 status = "okay";
0134 };
0135
0136 &i2c1 {
0137 clock-frequency = <100000>;
0138 pinctrl-names = "default";
0139 pinctrl-0 = <&pinctrl_i2c1>;
0140 status = "okay";
0141
0142 gsc: gsc@20 {
0143 compatible = "gw,gsc";
0144 reg = <0x20>;
0145 interrupt-parent = <&gpio1>;
0146 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0147 interrupt-controller;
0148 #interrupt-cells = <1>;
0149 #size-cells = <0>;
0150
0151 adc {
0152 compatible = "gw,gsc-adc";
0153 #address-cells = <1>;
0154 #size-cells = <0>;
0155
0156 channel@0 {
0157 gw,mode = <0>;
0158 reg = <0x00>;
0159 label = "temp";
0160 };
0161
0162 channel@2 {
0163 gw,mode = <1>;
0164 reg = <0x02>;
0165 label = "vdd_vin";
0166 };
0167
0168 channel@5 {
0169 gw,mode = <1>;
0170 reg = <0x05>;
0171 label = "vdd_3p3";
0172 };
0173
0174 channel@8 {
0175 gw,mode = <1>;
0176 reg = <0x08>;
0177 label = "vdd_bat";
0178 };
0179
0180 channel@b {
0181 gw,mode = <1>;
0182 reg = <0x0b>;
0183 label = "vdd_5p0";
0184 };
0185
0186 channel@e {
0187 gw,mode = <1>;
0188 reg = <0xe>;
0189 label = "vdd_arm";
0190 };
0191
0192 channel@11 {
0193 gw,mode = <1>;
0194 reg = <0x11>;
0195 label = "vdd_soc";
0196 };
0197
0198 channel@14 {
0199 gw,mode = <1>;
0200 reg = <0x14>;
0201 label = "vdd_3p0";
0202 };
0203
0204 channel@17 {
0205 gw,mode = <1>;
0206 reg = <0x17>;
0207 label = "vdd_1p5";
0208 };
0209
0210 channel@1d {
0211 gw,mode = <1>;
0212 reg = <0x1d>;
0213 label = "vdd_1p8";
0214 };
0215
0216 channel@20 {
0217 gw,mode = <1>;
0218 reg = <0x20>;
0219 label = "vdd_1p0";
0220 };
0221
0222 channel@23 {
0223 gw,mode = <1>;
0224 reg = <0x23>;
0225 label = "vdd_2p5";
0226 };
0227 };
0228 };
0229
0230 gsc_gpio: gpio@23 {
0231 compatible = "nxp,pca9555";
0232 reg = <0x23>;
0233 gpio-controller;
0234 #gpio-cells = <2>;
0235 interrupt-parent = <&gsc>;
0236 interrupts = <4>;
0237 };
0238
0239 eeprom1: eeprom@50 {
0240 compatible = "atmel,24c02";
0241 reg = <0x50>;
0242 pagesize = <16>;
0243 };
0244
0245 eeprom2: eeprom@51 {
0246 compatible = "atmel,24c02";
0247 reg = <0x51>;
0248 pagesize = <16>;
0249 };
0250
0251 eeprom3: eeprom@52 {
0252 compatible = "atmel,24c02";
0253 reg = <0x52>;
0254 pagesize = <16>;
0255 };
0256
0257 eeprom4: eeprom@53 {
0258 compatible = "atmel,24c02";
0259 reg = <0x53>;
0260 pagesize = <16>;
0261 };
0262
0263 rtc: ds1672@68 {
0264 compatible = "dallas,ds1672";
0265 reg = <0x68>;
0266 };
0267 };
0268
0269 &i2c2 {
0270 clock-frequency = <100000>;
0271 pinctrl-names = "default";
0272 pinctrl-0 = <&pinctrl_i2c2>;
0273 status = "okay";
0274
0275 ltc3676: pmic@3c {
0276 compatible = "lltc,ltc3676";
0277 reg = <0x3c>;
0278 pinctrl-names = "default";
0279 pinctrl-0 = <&pinctrl_pmic>;
0280 interrupt-parent = <&gpio1>;
0281 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
0282
0283 regulators {
0284 /* VDD_SOC (1+R1/R2 = 1.635) */
0285 reg_vdd_soc: sw1 {
0286 regulator-name = "vddsoc";
0287 regulator-min-microvolt = <674400>;
0288 regulator-max-microvolt = <1308000>;
0289 lltc,fb-voltage-divider = <127000 200000>;
0290 regulator-ramp-delay = <7000>;
0291 regulator-boot-on;
0292 regulator-always-on;
0293 };
0294
0295 /* VDD_1P8 (1+R1/R2 = 2.505): ENET-PHY */
0296 reg_1p8v: sw2 {
0297 regulator-name = "vdd1p8";
0298 regulator-min-microvolt = <1033310>;
0299 regulator-max-microvolt = <2004000>;
0300 lltc,fb-voltage-divider = <301000 200000>;
0301 regulator-ramp-delay = <7000>;
0302 regulator-boot-on;
0303 regulator-always-on;
0304 };
0305
0306 /* VDD_ARM (1+R1/R2 = 1.635) */
0307 reg_vdd_arm: sw3 {
0308 regulator-name = "vddarm";
0309 regulator-min-microvolt = <674400>;
0310 regulator-max-microvolt = <1308000>;
0311 lltc,fb-voltage-divider = <127000 200000>;
0312 regulator-ramp-delay = <7000>;
0313 regulator-boot-on;
0314 regulator-always-on;
0315 };
0316
0317 /* VDD_DDR (1+R1/R2 = 2.105) */
0318 reg_vdd_ddr: sw4 {
0319 regulator-name = "vddddr";
0320 regulator-min-microvolt = <868310>;
0321 regulator-max-microvolt = <1684000>;
0322 lltc,fb-voltage-divider = <221000 200000>;
0323 regulator-ramp-delay = <7000>;
0324 regulator-boot-on;
0325 regulator-always-on;
0326 };
0327
0328 /* VDD_2P5 (1+R1/R2 = 3.435): PCIe/ENET-PHY */
0329 reg_2p5v: ldo2 {
0330 regulator-name = "vdd2p5";
0331 regulator-min-microvolt = <2490375>;
0332 regulator-max-microvolt = <2490375>;
0333 lltc,fb-voltage-divider = <487000 200000>;
0334 regulator-boot-on;
0335 regulator-always-on;
0336 };
0337
0338 /* VDD_HIGH (1+R1/R2 = 4.17) */
0339 reg_3p0v: ldo4 {
0340 regulator-name = "vdd3p0";
0341 regulator-min-microvolt = <3023250>;
0342 regulator-max-microvolt = <3023250>;
0343 lltc,fb-voltage-divider = <634000 200000>;
0344 regulator-boot-on;
0345 regulator-always-on;
0346 };
0347 };
0348 };
0349 };
0350
0351 &i2c3 {
0352 clock-frequency = <100000>;
0353 pinctrl-names = "default";
0354 pinctrl-0 = <&pinctrl_i2c3>;
0355 status = "okay";
0356 };
0357
0358 &pcie {
0359 pinctrl-names = "default";
0360 pinctrl-0 = <&pinctrl_pcie>;
0361 reset-gpio = <&gpio1 29 GPIO_ACTIVE_LOW>;
0362 status = "okay";
0363 };
0364
0365 &pwm2 {
0366 pinctrl-names = "default";
0367 pinctrl-0 = <&pinctrl_pwm2>; /* MX6_DIO1 */
0368 status = "disabled";
0369 };
0370
0371 &pwm3 {
0372 pinctrl-names = "default";
0373 pinctrl-0 = <&pinctrl_pwm3>; /* MX6_DIO2 */
0374 status = "disabled";
0375 };
0376
0377 &uart2 {
0378 pinctrl-names = "default";
0379 pinctrl-0 = <&pinctrl_uart2>;
0380 status = "okay";
0381 };
0382
0383 &uart3 {
0384 pinctrl-names = "default";
0385 pinctrl-0 = <&pinctrl_uart3>;
0386 status = "okay";
0387 };
0388
0389 &uart5 {
0390 pinctrl-names = "default";
0391 pinctrl-0 = <&pinctrl_uart5>;
0392 status = "okay"; };
0393
0394 &usbh1 {
0395 status = "okay";
0396 };
0397
0398 &usbotg {
0399 vbus-supply = <®_5p0v>;
0400 pinctrl-names = "default";
0401 pinctrl-0 = <&pinctrl_usbotg>;
0402 disable-over-current;
0403 status = "okay";
0404 };
0405
0406 &wdog1 {
0407 pinctrl-names = "default";
0408 pinctrl-0 = <&pinctrl_wdog>;
0409 fsl,ext-reset-output;
0410 };
0411
0412 &iomuxc {
0413 pinctrl_gpio_leds: gpioledsgrp {
0414 fsl,pins = <
0415 MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x1b0b0
0416 MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x1b0b0
0417 MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x1b0b0
0418 >;
0419 };
0420
0421 pinctrl_gpmi_nand: gpminandgrp {
0422 fsl,pins = <
0423 MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
0424 MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
0425 MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
0426 MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
0427 MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
0428 MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
0429 MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
0430 MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
0431 MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
0432 MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
0433 MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
0434 MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
0435 MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
0436 MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
0437 MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
0438 >;
0439 };
0440
0441 pinctrl_i2c1: i2c1grp {
0442 fsl,pins = <
0443 MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
0444 MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
0445 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0xb0b1
0446 >;
0447 };
0448
0449 pinctrl_i2c2: i2c2grp {
0450 fsl,pins = <
0451 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
0452 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
0453 >;
0454 };
0455
0456 pinctrl_i2c3: i2c3grp {
0457 fsl,pins = <
0458 MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
0459 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
0460 >;
0461 };
0462
0463 pinctrl_pcie: pciegrp {
0464 fsl,pins = <
0465 MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x1b0b0
0466 >;
0467 };
0468
0469 pinctrl_pmic: pmicgrp {
0470 fsl,pins = <
0471 MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x0001b0b0 /* PMIC_IRQ# */
0472 >;
0473 };
0474
0475 pinctrl_pwm2: pwm2grp {
0476 fsl,pins = <
0477 MX6QDL_PAD_SD1_DAT2__PWM2_OUT 0x1b0b1
0478 >;
0479 };
0480
0481 pinctrl_pwm3: pwm3grp {
0482 fsl,pins = <
0483 MX6QDL_PAD_SD1_DAT1__PWM3_OUT 0x1b0b1
0484 >;
0485 };
0486
0487 pinctrl_uart2: uart2grp {
0488 fsl,pins = <
0489 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
0490 MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
0491 >;
0492 };
0493
0494 pinctrl_uart3: uart3grp {
0495 fsl,pins = <
0496 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
0497 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
0498 >;
0499 };
0500
0501 pinctrl_uart5: uart5grp {
0502 fsl,pins = <
0503 MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
0504 MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
0505 >;
0506 };
0507
0508 pinctrl_usbotg: usbotggrp {
0509 fsl,pins = <
0510 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x13059
0511 >;
0512 };
0513
0514 pinctrl_wdog: wdoggrp {
0515 fsl,pins = <
0516 MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0
0517 >;
0518 };
0519 };