Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Copyright 2019 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                 nand = &gpmi;
0016                 usb0 = &usbh1;
0017                 usb1 = &usbotg;
0018         };
0019 
0020         chosen {
0021                 stdout-path = &uart2;
0022         };
0023 
0024         gpio-keys {
0025                 compatible = "gpio-keys";
0026 
0027                 user-pb {
0028                         label = "user_pb";
0029                         gpios = <&gsc_gpio 0 GPIO_ACTIVE_LOW>;
0030                         linux,code = <BTN_0>;
0031                 };
0032 
0033                 user-pb1x {
0034                         label = "user_pb1x";
0035                         linux,code = <BTN_1>;
0036                         interrupt-parent = <&gsc>;
0037                         interrupts = <0>;
0038                 };
0039 
0040                 key-erased {
0041                         label = "key-erased";
0042                         linux,code = <BTN_2>;
0043                         interrupt-parent = <&gsc>;
0044                         interrupts = <1>;
0045                 };
0046 
0047                 eeprom-wp {
0048                         label = "eeprom_wp";
0049                         linux,code = <BTN_3>;
0050                         interrupt-parent = <&gsc>;
0051                         interrupts = <2>;
0052                 };
0053 
0054                 tamper {
0055                         label = "tamper";
0056                         linux,code = <BTN_4>;
0057                         interrupt-parent = <&gsc>;
0058                         interrupts = <5>;
0059                 };
0060 
0061                 switch-hold {
0062                         label = "switch_hold";
0063                         linux,code = <BTN_5>;
0064                         interrupt-parent = <&gsc>;
0065                         interrupts = <7>;
0066                 };
0067         };
0068 
0069         leds {
0070                 compatible = "gpio-leds";
0071                 pinctrl-names = "default";
0072                 pinctrl-0 = <&pinctrl_gpio_leds>;
0073 
0074                 led0: user1 {
0075                         label = "user1";
0076                         gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
0077                         default-state = "on";
0078                         linux,default-trigger = "heartbeat";
0079                 };
0080 
0081                 led1: user2 {
0082                         label = "user2";
0083                         gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
0084                         default-state = "off";
0085                 };
0086         };
0087 
0088         memory@10000000 {
0089                 device_type = "memory";
0090                 reg = <0x10000000 0x20000000>;
0091         };
0092 
0093         pps {
0094                 compatible = "pps-gpio";
0095                 pinctrl-names = "default";
0096                 pinctrl-0 = <&pinctrl_pps>;
0097                 gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
0098                 status = "okay";
0099         };
0100 
0101         reg_3p3v: regulator-3p3v {
0102                 compatible = "regulator-fixed";
0103                 regulator-name = "3P3V";
0104                 regulator-min-microvolt = <3300000>;
0105                 regulator-max-microvolt = <3300000>;
0106                 regulator-always-on;
0107         };
0108 
0109         reg_5p0v: regulator-5p0v {
0110                 compatible = "regulator-fixed";
0111                 regulator-name = "5P0V";
0112                 regulator-min-microvolt = <5000000>;
0113                 regulator-max-microvolt = <5000000>;
0114                 regulator-always-on;
0115         };
0116 };
0117 
0118 &fec {
0119         pinctrl-names = "default";
0120         pinctrl-0 = <&pinctrl_enet>;
0121         phy-mode = "rgmii-id";
0122         status = "okay";
0123 };
0124 
0125 &gpmi {
0126         pinctrl-names = "default";
0127         pinctrl-0 = <&pinctrl_gpmi_nand>;
0128         status = "okay";
0129 };
0130 
0131 &i2c1 {
0132         clock-frequency = <100000>;
0133         pinctrl-names = "default";
0134         pinctrl-0 = <&pinctrl_i2c1>;
0135         status = "okay";
0136 
0137         gsc: gsc@20 {
0138                 compatible = "gw,gsc";
0139                 reg = <0x20>;
0140                 interrupt-parent = <&gpio1>;
0141                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0142                 interrupt-controller;
0143                 #interrupt-cells = <1>;
0144                 #size-cells = <0>;
0145 
0146                 adc {
0147                         compatible = "gw,gsc-adc";
0148                         #address-cells = <1>;
0149                         #size-cells = <0>;
0150 
0151                         channel@6 {
0152                                 gw,mode = <0>;
0153                                 reg = <0x06>;
0154                                 label = "temp";
0155                         };
0156 
0157                         channel@8 {
0158                                 gw,mode = <3>;
0159                                 reg = <0x08>;
0160                                 label = "vdd_bat";
0161                         };
0162 
0163                         channel@82 {
0164                                 gw,mode = <2>;
0165                                 reg = <0x82>;
0166                                 label = "vdd_vin";
0167                                 gw,voltage-divider-ohms = <22100 1000>;
0168                                 gw,voltage-offset-microvolt = <800000>;
0169                         };
0170 
0171                         channel@84 {
0172                                 gw,mode = <2>;
0173                                 reg = <0x84>;
0174                                 label = "vdd_5p0";
0175                                 gw,voltage-divider-ohms = <22100 10000>;
0176                         };
0177 
0178                         channel@86 {
0179                                 gw,mode = <2>;
0180                                 reg = <0x86>;
0181                                 label = "vdd_3p3";
0182                                 gw,voltage-divider-ohms = <10000 10000>;
0183                         };
0184 
0185                         channel@88 {
0186                                 gw,mode = <2>;
0187                                 reg = <0x88>;
0188                                 label = "vdd_2p5";
0189                                 gw,voltage-divider-ohms = <10000 10000>;
0190                         };
0191 
0192                         channel@8c {
0193                                 gw,mode = <2>;
0194                                 reg = <0x8c>;
0195                                 label = "vdd_arm";
0196                         };
0197 
0198                         channel@8e {
0199                                 gw,mode = <2>;
0200                                 reg = <0x8e>;
0201                                 label = "vdd_soc";
0202                         };
0203 
0204                         channel@90 {
0205                                 gw,mode = <2>;
0206                                 reg = <0x90>;
0207                                 label = "vdd_1p5";
0208                         };
0209 
0210                         channel@92 {
0211                                 gw,mode = <2>;
0212                                 reg = <0x92>;
0213                                 label = "vdd_1p0";
0214                         };
0215 
0216                         channel@98 {
0217                                 gw,mode = <2>;
0218                                 reg = <0x98>;
0219                                 label = "vdd_3p0";
0220                         };
0221 
0222                         channel@9a {
0223                                 gw,mode = <2>;
0224                                 reg = <0x9a>;
0225                                 label = "vdd_an1";
0226                                 gw,voltage-divider-ohms = <10000 10000>;
0227                         };
0228 
0229                         channel@a2 {
0230                                 gw,mode = <2>;
0231                                 reg = <0xa2>;
0232                                 label = "vdd_gsc";
0233                                 gw,voltage-divider-ohms = <10000 10000>;
0234                         };
0235                 };
0236         };
0237 
0238         gsc_gpio: gpio@23 {
0239                 compatible = "nxp,pca9555";
0240                 reg = <0x23>;
0241                 gpio-controller;
0242                 #gpio-cells = <2>;
0243                 interrupt-parent = <&gsc>;
0244                 interrupts = <4>;
0245         };
0246 
0247         eeprom@50 {
0248                 compatible = "atmel,24c02";
0249                 reg = <0x50>;
0250                 pagesize = <16>;
0251         };
0252 
0253         eeprom@51 {
0254                 compatible = "atmel,24c02";
0255                 reg = <0x51>;
0256                 pagesize = <16>;
0257         };
0258 
0259         eeprom@52 {
0260                 compatible = "atmel,24c02";
0261                 reg = <0x52>;
0262                 pagesize = <16>;
0263         };
0264 
0265         eeprom@53 {
0266                 compatible = "atmel,24c02";
0267                 reg = <0x53>;
0268                 pagesize = <16>;
0269         };
0270 
0271         rtc@68 {
0272                 compatible = "dallas,ds1672";
0273                 reg = <0x68>;
0274         };
0275 };
0276 
0277 &i2c2 {
0278         clock-frequency = <100000>;
0279         pinctrl-names = "default";
0280         pinctrl-0 = <&pinctrl_i2c2>;
0281         status = "okay";
0282 };
0283 
0284 &i2c3 {
0285         clock-frequency = <100000>;
0286         pinctrl-names = "default";
0287         pinctrl-0 = <&pinctrl_i2c3>;
0288         status = "okay";
0289 };
0290 
0291 &pcie {
0292         pinctrl-names = "default";
0293         pinctrl-0 = <&pinctrl_pcie>;
0294         reset-gpio = <&gpio1 0 GPIO_ACTIVE_LOW>;
0295         status = "okay";
0296 };
0297 
0298 &pwm2 {
0299         pinctrl-names = "default";
0300         pinctrl-0 = <&pinctrl_pwm2>; /* MX6_DIO1 */
0301         status = "disabled";
0302 };
0303 
0304 &pwm3 {
0305         pinctrl-names = "default";
0306         pinctrl-0 = <&pinctrl_pwm3>; /* MX6_DIO2 */
0307         status = "disabled";
0308 };
0309 
0310 &pwm4 {
0311         pinctrl-names = "default";
0312         pinctrl-0 = <&pinctrl_pwm4>; /* MX6_DIO3 */
0313         status = "disabled";
0314 };
0315 
0316 &uart1 {
0317         pinctrl-names = "default";
0318         pinctrl-0 = <&pinctrl_uart1>;
0319         status = "okay";
0320 };
0321 
0322 &uart2 {
0323         pinctrl-names = "default";
0324         pinctrl-0 = <&pinctrl_uart2>;
0325         status = "okay";
0326 };
0327 
0328 &uart3 {
0329         pinctrl-names = "default";
0330         pinctrl-0 = <&pinctrl_uart3>;
0331         status = "okay";
0332 };
0333 
0334 &uart5 {
0335         pinctrl-names = "default";
0336         pinctrl-0 = <&pinctrl_uart5>;
0337         status = "okay";
0338 };
0339 
0340 &usbotg {
0341         pinctrl-names = "default";
0342         pinctrl-0 = <&pinctrl_usbotg>;
0343         disable-over-current;
0344         status = "okay";
0345 };
0346 
0347 &usbh1 {
0348         status = "okay";
0349 };
0350 
0351 &wdog1 {
0352         pinctrl-names = "default";
0353         pinctrl-0 = <&pinctrl_wdog>;
0354         fsl,ext-reset-output;
0355 };
0356 
0357 &iomuxc {
0358         pinctrl_enet: enetgrp {
0359                 fsl,pins = <
0360                         MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
0361                         MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
0362                         MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
0363                         MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
0364                         MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
0365                         MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
0366                         MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
0367                         MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
0368                         MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
0369                         MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
0370                         MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
0371                         MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
0372                         MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
0373                         MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
0374                         MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
0375                         MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
0376                         MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x1b0b0
0377                 >;
0378         };
0379 
0380         pinctrl_gpio_leds: gpioledsgrp {
0381                 fsl,pins = <
0382                         MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
0383                         MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
0384                 >;
0385         };
0386 
0387         pinctrl_gpmi_nand: gpminandgrp {
0388                 fsl,pins = <
0389                         MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
0390                         MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
0391                         MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
0392                         MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
0393                         MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
0394                         MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
0395                         MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
0396                         MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
0397                         MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
0398                         MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
0399                         MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
0400                         MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
0401                         MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
0402                         MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
0403                         MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
0404                 >;
0405         };
0406 
0407         pinctrl_i2c1: i2c1grp {
0408                 fsl,pins = <
0409                         MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
0410                         MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
0411                         MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x0001b0b0
0412                 >;
0413         };
0414 
0415         pinctrl_i2c2: i2c2grp {
0416                 fsl,pins = <
0417                         MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
0418                         MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
0419                 >;
0420         };
0421 
0422         pinctrl_i2c3: i2c3grp {
0423                 fsl,pins = <
0424                         MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
0425                         MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
0426                 >;
0427         };
0428 
0429         pinctrl_pcie: pciegrp {
0430                 fsl,pins = <
0431                         MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x1b0b0
0432                 >;
0433         };
0434 
0435         pinctrl_pps: ppsgrp {
0436                 fsl,pins = <
0437                         MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x1b0b1
0438                 >;
0439         };
0440 
0441         pinctrl_pwm2: pwm2grp {
0442                 fsl,pins = <
0443                         MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
0444                 >;
0445         };
0446 
0447         pinctrl_pwm3: pwm3grp {
0448                 fsl,pins = <
0449                         MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
0450                 >;
0451         };
0452 
0453         pinctrl_pwm4: pwm4grp {
0454                 fsl,pins = <
0455                         MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
0456                 >;
0457         };
0458 
0459         pinctrl_uart1: uart1grp {
0460                 fsl,pins = <
0461                         MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
0462                         MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
0463                 >;
0464         };
0465 
0466         pinctrl_uart2: uart2grp {
0467                 fsl,pins = <
0468                         MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
0469                         MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
0470                 >;
0471         };
0472 
0473         pinctrl_uart3: uart3grp {
0474                 fsl,pins = <
0475                         MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
0476                         MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
0477                 >;
0478         };
0479 
0480         pinctrl_uart5: uart5grp {
0481                 fsl,pins = <
0482                         MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
0483                         MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
0484                 >;
0485         };
0486 
0487         pinctrl_usbotg: usbotggrp {
0488                 fsl,pins = <
0489                         MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
0490                 >;
0491         };
0492 
0493         pinctrl_wdog: wdoggrp {
0494                 fsl,pins = <
0495                         MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
0496                 >;
0497         };
0498 };