Home | History | Annotate | Line # | Download | only in dts
      1 // SPDX-License-Identifier: GPL-2.0
      2 /*
      3  * Copyright 2019 Gateworks Corporation
      4  */
      5 
      6 #include <dt-bindings/gpio/gpio.h>
      7 #include <dt-bindings/input/linux-event-codes.h>
      8 #include <dt-bindings/interrupt-controller/irq.h>
      9 
     10 / {
     11 	/* these are used by bootloader for disabling nodes */
     12 	aliases {
     13 		led0 = &led0;
     14 		led1 = &led1;
     15 		nand = &gpmi;
     16 		usb0 = &usbh1;
     17 		usb1 = &usbotg;
     18 	};
     19 
     20 	chosen {
     21 		stdout-path = &uart2;
     22 	};
     23 
     24 	gpio-keys {
     25 		compatible = "gpio-keys";
     26 
     27 		user-pb {
     28 			label = "user_pb";
     29 			gpios = <&gsc_gpio 0 GPIO_ACTIVE_LOW>;
     30 			linux,code = <BTN_0>;
     31 		};
     32 
     33 		user-pb1x {
     34 			label = "user_pb1x";
     35 			linux,code = <BTN_1>;
     36 			interrupt-parent = <&gsc>;
     37 			interrupts = <0>;
     38 		};
     39 
     40 		key-erased {
     41 			label = "key-erased";
     42 			linux,code = <BTN_2>;
     43 			interrupt-parent = <&gsc>;
     44 			interrupts = <1>;
     45 		};
     46 
     47 		eeprom-wp {
     48 			label = "eeprom_wp";
     49 			linux,code = <BTN_3>;
     50 			interrupt-parent = <&gsc>;
     51 			interrupts = <2>;
     52 		};
     53 
     54 		tamper {
     55 			label = "tamper";
     56 			linux,code = <BTN_4>;
     57 			interrupt-parent = <&gsc>;
     58 			interrupts = <5>;
     59 		};
     60 
     61 		switch-hold {
     62 			label = "switch_hold";
     63 			linux,code = <BTN_5>;
     64 			interrupt-parent = <&gsc>;
     65 			interrupts = <7>;
     66 		};
     67 	};
     68 
     69 	leds {
     70 		compatible = "gpio-leds";
     71 		pinctrl-names = "default";
     72 		pinctrl-0 = <&pinctrl_gpio_leds>;
     73 
     74 		led0: user1 {
     75 			label = "user1";
     76 			gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
     77 			default-state = "on";
     78 			linux,default-trigger = "heartbeat";
     79 		};
     80 
     81 		led1: user2 {
     82 			label = "user2";
     83 			gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
     84 			default-state = "off";
     85 		};
     86 	};
     87 
     88 	memory@10000000 {
     89 		device_type = "memory";
     90 		reg = <0x10000000 0x20000000>;
     91 	};
     92 
     93 	pps {
     94 		compatible = "pps-gpio";
     95 		pinctrl-names = "default";
     96 		pinctrl-0 = <&pinctrl_pps>;
     97 		gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
     98 		status = "okay";
     99 	};
    100 
    101 	reg_3p3v: regulator-3p3v {
    102 		compatible = "regulator-fixed";
    103 		regulator-name = "3P3V";
    104 		regulator-min-microvolt = <3300000>;
    105 		regulator-max-microvolt = <3300000>;
    106 		regulator-always-on;
    107 	};
    108 
    109 	reg_5p0v: regulator-5p0v {
    110 		compatible = "regulator-fixed";
    111 		regulator-name = "5P0V";
    112 		regulator-min-microvolt = <5000000>;
    113 		regulator-max-microvolt = <5000000>;
    114 		regulator-always-on;
    115 	};
    116 };
    117 
    118 &fec {
    119 	pinctrl-names = "default";
    120 	pinctrl-0 = <&pinctrl_enet>;
    121 	phy-mode = "rgmii-id";
    122 	status = "okay";
    123 };
    124 
    125 &gpmi {
    126 	pinctrl-names = "default";
    127 	pinctrl-0 = <&pinctrl_gpmi_nand>;
    128 	status = "okay";
    129 };
    130 
    131 &i2c1 {
    132 	clock-frequency = <100000>;
    133 	pinctrl-names = "default";
    134 	pinctrl-0 = <&pinctrl_i2c1>;
    135 	status = "okay";
    136 
    137 	gsc: gsc@20 {
    138 		compatible = "gw,gsc";
    139 		reg = <0x20>;
    140 		interrupt-parent = <&gpio1>;
    141 		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
    142 		interrupt-controller;
    143 		#interrupt-cells = <1>;
    144 		#size-cells = <0>;
    145 
    146 		adc {
    147 			compatible = "gw,gsc-adc";
    148 			#address-cells = <1>;
    149 			#size-cells = <0>;
    150 
    151 			channel@6 {
    152 				gw,mode = <0>;
    153 				reg = <0x06>;
    154 				label = "temp";
    155 			};
    156 
    157 			channel@8 {
    158 				gw,mode = <3>;
    159 				reg = <0x08>;
    160 				label = "vdd_bat";
    161 			};
    162 
    163 			channel@82 {
    164 				gw,mode = <2>;
    165 				reg = <0x82>;
    166 				label = "vdd_vin";
    167 				gw,voltage-divider-ohms = <22100 1000>;
    168 				gw,voltage-offset-microvolt = <800000>;
    169 			};
    170 
    171 			channel@84 {
    172 				gw,mode = <2>;
    173 				reg = <0x84>;
    174 				label = "vdd_5p0";
    175 				gw,voltage-divider-ohms = <22100 10000>;
    176 			};
    177 
    178 			channel@86 {
    179 				gw,mode = <2>;
    180 				reg = <0x86>;
    181 				label = "vdd_3p3";
    182 				gw,voltage-divider-ohms = <10000 10000>;
    183 			};
    184 
    185 			channel@88 {
    186 				gw,mode = <2>;
    187 				reg = <0x88>;
    188 				label = "vdd_2p5";
    189 				gw,voltage-divider-ohms = <10000 10000>;
    190 			};
    191 
    192 			channel@8c {
    193 				gw,mode = <2>;
    194 				reg = <0x8c>;
    195 				label = "vdd_arm";
    196 			};
    197 
    198 			channel@8e {
    199 				gw,mode = <2>;
    200 				reg = <0x8e>;
    201 				label = "vdd_soc";
    202 			};
    203 
    204 			channel@90 {
    205 				gw,mode = <2>;
    206 				reg = <0x90>;
    207 				label = "vdd_1p5";
    208 			};
    209 
    210 			channel@92 {
    211 				gw,mode = <2>;
    212 				reg = <0x92>;
    213 				label = "vdd_1p0";
    214 			};
    215 
    216 			channel@98 {
    217 				gw,mode = <2>;
    218 				reg = <0x98>;
    219 				label = "vdd_3p0";
    220 			};
    221 
    222 			channel@9a {
    223 				gw,mode = <2>;
    224 				reg = <0x9a>;
    225 				label = "vdd_an1";
    226 				gw,voltage-divider-ohms = <10000 10000>;
    227 			};
    228 
    229 			channel@a2 {
    230 				gw,mode = <2>;
    231 				reg = <0xa2>;
    232 				label = "vdd_gsc";
    233 				gw,voltage-divider-ohms = <10000 10000>;
    234 			};
    235 		};
    236 	};
    237 
    238 	gsc_gpio: gpio@23 {
    239 		compatible = "nxp,pca9555";
    240 		reg = <0x23>;
    241 		gpio-controller;
    242 		#gpio-cells = <2>;
    243 		interrupt-parent = <&gsc>;
    244 		interrupts = <4>;
    245 	};
    246 
    247 	eeprom@50 {
    248 		compatible = "atmel,24c02";
    249 		reg = <0x50>;
    250 		pagesize = <16>;
    251 	};
    252 
    253 	eeprom@51 {
    254 		compatible = "atmel,24c02";
    255 		reg = <0x51>;
    256 		pagesize = <16>;
    257 	};
    258 
    259 	eeprom@52 {
    260 		compatible = "atmel,24c02";
    261 		reg = <0x52>;
    262 		pagesize = <16>;
    263 	};
    264 
    265 	eeprom@53 {
    266 		compatible = "atmel,24c02";
    267 		reg = <0x53>;
    268 		pagesize = <16>;
    269 	};
    270 
    271 	rtc@68 {
    272 		compatible = "dallas,ds1672";
    273 		reg = <0x68>;
    274 	};
    275 };
    276 
    277 &i2c2 {
    278 	clock-frequency = <100000>;
    279 	pinctrl-names = "default";
    280 	pinctrl-0 = <&pinctrl_i2c2>;
    281 	status = "okay";
    282 };
    283 
    284 &i2c3 {
    285 	clock-frequency = <100000>;
    286 	pinctrl-names = "default";
    287 	pinctrl-0 = <&pinctrl_i2c3>;
    288 	status = "okay";
    289 };
    290 
    291 &pcie {
    292 	pinctrl-names = "default";
    293 	pinctrl-0 = <&pinctrl_pcie>;
    294 	reset-gpio = <&gpio1 0 GPIO_ACTIVE_LOW>;
    295 	status = "okay";
    296 };
    297 
    298 &pwm2 {
    299 	pinctrl-names = "default";
    300 	pinctrl-0 = <&pinctrl_pwm2>; /* MX6_DIO1 */
    301 	status = "disabled";
    302 };
    303 
    304 &pwm3 {
    305 	pinctrl-names = "default";
    306 	pinctrl-0 = <&pinctrl_pwm3>; /* MX6_DIO2 */
    307 	status = "disabled";
    308 };
    309 
    310 &pwm4 {
    311 	pinctrl-names = "default";
    312 	pinctrl-0 = <&pinctrl_pwm4>; /* MX6_DIO3 */
    313 	status = "disabled";
    314 };
    315 
    316 &uart1 {
    317 	pinctrl-names = "default";
    318 	pinctrl-0 = <&pinctrl_uart1>;
    319 	status = "okay";
    320 };
    321 
    322 &uart2 {
    323 	pinctrl-names = "default";
    324 	pinctrl-0 = <&pinctrl_uart2>;
    325 	status = "okay";
    326 };
    327 
    328 &uart3 {
    329 	pinctrl-names = "default";
    330 	pinctrl-0 = <&pinctrl_uart3>;
    331 	status = "okay";
    332 };
    333 
    334 &uart5 {
    335 	pinctrl-names = "default";
    336 	pinctrl-0 = <&pinctrl_uart5>;
    337 	status = "okay";
    338 };
    339 
    340 &usbotg {
    341 	pinctrl-names = "default";
    342 	pinctrl-0 = <&pinctrl_usbotg>;
    343 	disable-over-current;
    344 	status = "okay";
    345 };
    346 
    347 &usbh1 {
    348 	status = "okay";
    349 };
    350 
    351 &wdog1 {
    352 	pinctrl-names = "default";
    353 	pinctrl-0 = <&pinctrl_wdog>;
    354 	fsl,ext-reset-output;
    355 };
    356 
    357 &iomuxc {
    358 	pinctrl_enet: enetgrp {
    359 		fsl,pins = <
    360 			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
    361 			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
    362 			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
    363 			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
    364 			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
    365 			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
    366 			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
    367 			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
    368 			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
    369 			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
    370 			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
    371 			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
    372 			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
    373 			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
    374 			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
    375 			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
    376 			MX6QDL_PAD_ENET_TXD0__GPIO1_IO30	0x1b0b0
    377 		>;
    378 	};
    379 
    380 	pinctrl_gpio_leds: gpioledsgrp {
    381 		fsl,pins = <
    382 			MX6QDL_PAD_KEY_COL0__GPIO4_IO06		0x1b0b0
    383 			MX6QDL_PAD_KEY_ROW0__GPIO4_IO07		0x1b0b0
    384 		>;
    385 	};
    386 
    387 	pinctrl_gpmi_nand: gpminandgrp {
    388 		fsl,pins = <
    389 			MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1
    390 			MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1
    391 			MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1
    392 			MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000
    393 			MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1
    394 			MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1
    395 			MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1
    396 			MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1
    397 			MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1
    398 			MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1
    399 			MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1
    400 			MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1
    401 			MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1
    402 			MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1
    403 			MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1
    404 		>;
    405 	};
    406 
    407 	pinctrl_i2c1: i2c1grp {
    408 		fsl,pins = <
    409 			MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
    410 			MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
    411 			MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x0001b0b0
    412 		>;
    413 	};
    414 
    415 	pinctrl_i2c2: i2c2grp {
    416 		fsl,pins = <
    417 			MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
    418 			MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
    419 		>;
    420 	};
    421 
    422 	pinctrl_i2c3: i2c3grp {
    423 		fsl,pins = <
    424 			MX6QDL_PAD_GPIO_3__I2C3_SCL		0x4001b8b1
    425 			MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
    426 		>;
    427 	};
    428 
    429 	pinctrl_pcie: pciegrp {
    430 		fsl,pins = <
    431 			MX6QDL_PAD_GPIO_0__GPIO1_IO00		0x1b0b0
    432 		>;
    433 	};
    434 
    435 	pinctrl_pps: ppsgrp {
    436 		fsl,pins = <
    437 			MX6QDL_PAD_SD3_DAT5__GPIO7_IO00		0x1b0b1
    438 		>;
    439 	};
    440 
    441 	pinctrl_pwm2: pwm2grp {
    442 		fsl,pins = <
    443 			MX6QDL_PAD_SD1_DAT2__PWM2_OUT		0x1b0b1
    444 		>;
    445 	};
    446 
    447 	pinctrl_pwm3: pwm3grp {
    448 		fsl,pins = <
    449 			MX6QDL_PAD_SD1_DAT1__PWM3_OUT		0x1b0b1
    450 		>;
    451 	};
    452 
    453 	pinctrl_pwm4: pwm4grp {
    454 		fsl,pins = <
    455 			MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
    456 		>;
    457 	};
    458 
    459 	pinctrl_uart1: uart1grp {
    460 		fsl,pins = <
    461 			MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
    462 			MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA	0x1b0b1
    463 		>;
    464 	};
    465 
    466 	pinctrl_uart2: uart2grp {
    467 		fsl,pins = <
    468 			MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA	0x1b0b1
    469 			MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA	0x1b0b1
    470 		>;
    471 	};
    472 
    473 	pinctrl_uart3: uart3grp {
    474 		fsl,pins = <
    475 			MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
    476 			MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
    477 		>;
    478 	};
    479 
    480 	pinctrl_uart5: uart5grp {
    481 		fsl,pins = <
    482 			MX6QDL_PAD_KEY_COL1__UART5_TX_DATA	0x1b0b1
    483 			MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA	0x1b0b1
    484 		>;
    485 	};
    486 
    487 	pinctrl_usbotg: usbotggrp {
    488 		fsl,pins = <
    489 			MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059
    490 		>;
    491 	};
    492 
    493 	pinctrl_wdog: wdoggrp {
    494 		fsl,pins = <
    495 			MX6QDL_PAD_DISP0_DAT8__WDOG1_B		0x1b0b0
    496 		>;
    497 	};
    498 };
    499