Back to home page

OSCL-LXR

 
 

    


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 = <&reg_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 };