Home | History | Annotate | Line # | Download | only in freescale
      1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2 /*
      3  * Copyright 2020 Gateworks Corporation
      4  */
      5 
      6 #include <dt-bindings/gpio/gpio.h>
      7 #include <dt-bindings/input/linux-event-codes.h>
      8 #include <dt-bindings/net/ti-dp83867.h>
      9 
     10 / {
     11 	memory@40000000 {
     12 		device_type = "memory";
     13 		reg = <0x0 0x40000000 0 0x80000000>;
     14 	};
     15 
     16 	gpio-keys {
     17 		compatible = "gpio-keys";
     18 
     19 		user-pb {
     20 			label = "user_pb";
     21 			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
     22 			linux,code = <BTN_0>;
     23 		};
     24 
     25 		user-pb1x {
     26 			label = "user_pb1x";
     27 			linux,code = <BTN_1>;
     28 			interrupt-parent = <&gsc>;
     29 			interrupts = <0>;
     30 		};
     31 
     32 		key-erased {
     33 			label = "key_erased";
     34 			linux,code = <BTN_2>;
     35 			interrupt-parent = <&gsc>;
     36 			interrupts = <1>;
     37 		};
     38 
     39 		eeprom-wp {
     40 			label = "eeprom_wp";
     41 			linux,code = <BTN_3>;
     42 			interrupt-parent = <&gsc>;
     43 			interrupts = <2>;
     44 		};
     45 
     46 		tamper {
     47 			label = "tamper";
     48 			linux,code = <BTN_4>;
     49 			interrupt-parent = <&gsc>;
     50 			interrupts = <5>;
     51 		};
     52 
     53 		switch-hold {
     54 			label = "switch_hold";
     55 			linux,code = <BTN_5>;
     56 			interrupt-parent = <&gsc>;
     57 			interrupts = <7>;
     58 		};
     59 	};
     60 };
     61 
     62 &A53_0 {
     63 	cpu-supply = <&buck3_reg>;
     64 };
     65 
     66 &A53_1 {
     67 	cpu-supply = <&buck3_reg>;
     68 };
     69 
     70 &A53_2 {
     71 	cpu-supply = <&buck3_reg>;
     72 };
     73 
     74 &A53_3 {
     75 	cpu-supply = <&buck3_reg>;
     76 };
     77 
     78 &ddrc {
     79 	operating-points-v2 = <&ddrc_opp_table>;
     80 
     81 	ddrc_opp_table: opp-table {
     82 		compatible = "operating-points-v2";
     83 
     84 		opp-25M {
     85 			opp-hz = /bits/ 64 <25000000>;
     86 		};
     87 
     88 		opp-100M {
     89 			opp-hz = /bits/ 64 <100000000>;
     90 		};
     91 
     92 		opp-750M {
     93 			opp-hz = /bits/ 64 <750000000>;
     94 		};
     95 	};
     96 };
     97 
     98 &fec1 {
     99 	pinctrl-names = "default";
    100 	pinctrl-0 = <&pinctrl_fec1>;
    101 	phy-mode = "rgmii-id";
    102 	phy-handle = <&ethphy0>;
    103 	status = "okay";
    104 
    105 	mdio {
    106 		#address-cells = <1>;
    107 		#size-cells = <0>;
    108 
    109 		ethphy0: ethernet-phy@0 {
    110 			compatible = "ethernet-phy-ieee802.3-c22";
    111 			reg = <0>;
    112 			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    113 			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    114 			tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    115 			rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    116 		};
    117 	};
    118 };
    119 
    120 &i2c1 {
    121 	clock-frequency = <100000>;
    122 	pinctrl-names = "default";
    123 	pinctrl-0 = <&pinctrl_i2c1>;
    124 	status = "okay";
    125 
    126 	gsc: gsc@20 {
    127 		compatible = "gw,gsc";
    128 		reg = <0x20>;
    129 		pinctrl-0 = <&pinctrl_gsc>;
    130 		interrupt-parent = <&gpio2>;
    131 		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
    132 		interrupt-controller;
    133 		#interrupt-cells = <1>;
    134 		#address-cells = <1>;
    135 		#size-cells = <0>;
    136 
    137 		adc {
    138 			compatible = "gw,gsc-adc";
    139 			#address-cells = <1>;
    140 			#size-cells = <0>;
    141 
    142 			channel@6 {
    143 				gw,mode = <0>;
    144 				reg = <0x06>;
    145 				label = "temp";
    146 			};
    147 
    148 			channel@8 {
    149 				gw,mode = <1>;
    150 				reg = <0x08>;
    151 				label = "vdd_bat";
    152 			};
    153 
    154 			channel@16 {
    155 				gw,mode = <4>;
    156 				reg = <0x16>;
    157 				label = "fan_tach";
    158 			};
    159 
    160 			channel@82 {
    161 				gw,mode = <2>;
    162 				reg = <0x82>;
    163 				label = "vdd_vin";
    164 				gw,voltage-divider-ohms = <22100 1000>;
    165 			};
    166 
    167 			channel@84 {
    168 				gw,mode = <2>;
    169 				reg = <0x84>;
    170 				label = "vdd_adc1";
    171 				gw,voltage-divider-ohms = <10000 10000>;
    172 			};
    173 
    174 			channel@86 {
    175 				gw,mode = <2>;
    176 				reg = <0x86>;
    177 				label = "vdd_adc2";
    178 				gw,voltage-divider-ohms = <10000 10000>;
    179 			};
    180 
    181 			channel@88 {
    182 				gw,mode = <2>;
    183 				reg = <0x88>;
    184 				label = "vdd_dram";
    185 			};
    186 
    187 			channel@8c {
    188 				gw,mode = <2>;
    189 				reg = <0x8c>;
    190 				label = "vdd_1p2";
    191 			};
    192 
    193 			channel@8e {
    194 				gw,mode = <2>;
    195 				reg = <0x8e>;
    196 				label = "vdd_1p0";
    197 			};
    198 
    199 			channel@90 {
    200 				gw,mode = <2>;
    201 				reg = <0x90>;
    202 				label = "vdd_2p5";
    203 				gw,voltage-divider-ohms = <10000 10000>;
    204 			};
    205 
    206 			channel@92 {
    207 				gw,mode = <2>;
    208 				reg = <0x92>;
    209 				label = "vdd_3p3";
    210 				gw,voltage-divider-ohms = <10000 10000>;
    211 			};
    212 
    213 			channel@98 {
    214 				gw,mode = <2>;
    215 				reg = <0x98>;
    216 				label = "vdd_0p95";
    217 			};
    218 
    219 			channel@9a {
    220 				gw,mode = <2>;
    221 				reg = <0x9a>;
    222 				label = "vdd_1p8";
    223 			};
    224 
    225 			channel@a2 {
    226 				gw,mode = <2>;
    227 				reg = <0xa2>;
    228 				label = "vdd_gsc";
    229 				gw,voltage-divider-ohms = <10000 10000>;
    230 			};
    231 		};
    232 
    233 		fan-controller@0 {
    234 			#address-cells = <1>;
    235 			#size-cells = <0>;
    236 			compatible = "gw,gsc-fan";
    237 			reg = <0x0a>;
    238 		};
    239 	};
    240 
    241 	gpio: gpio@23 {
    242 		compatible = "nxp,pca9555";
    243 		reg = <0x23>;
    244 		gpio-controller;
    245 		#gpio-cells = <2>;
    246 		interrupt-parent = <&gsc>;
    247 		interrupts = <4>;
    248 	};
    249 
    250 	eeprom@50 {
    251 		compatible = "atmel,24c02";
    252 		reg = <0x50>;
    253 		pagesize = <16>;
    254 	};
    255 
    256 	eeprom@51 {
    257 		compatible = "atmel,24c02";
    258 		reg = <0x51>;
    259 		pagesize = <16>;
    260 	};
    261 
    262 	eeprom@52 {
    263 		compatible = "atmel,24c02";
    264 		reg = <0x52>;
    265 		pagesize = <16>;
    266 	};
    267 
    268 	eeprom@53 {
    269 		compatible = "atmel,24c02";
    270 		reg = <0x53>;
    271 		pagesize = <16>;
    272 	};
    273 
    274 	rtc@68 {
    275 		compatible = "dallas,ds1672";
    276 		reg = <0x68>;
    277 	};
    278 
    279 	pmic@69 {
    280 		compatible = "mps,mp5416";
    281 		reg = <0x69>;
    282 
    283 		regulators {
    284 			/* vdd_0p95: DRAM/GPU/VPU */
    285 			buck1 {
    286 				regulator-name = "buck1";
    287 				regulator-min-microvolt = <800000>;
    288 				regulator-max-microvolt = <1000000>;
    289 				regulator-min-microamp  = <3800000>;
    290 				regulator-max-microamp  = <6800000>;
    291 				regulator-boot-on;
    292 				regulator-always-on;
    293 			};
    294 
    295 			/* vdd_soc */
    296 			buck2 {
    297 				regulator-name = "buck2";
    298 				regulator-min-microvolt = <800000>;
    299 				regulator-max-microvolt = <900000>;
    300 				regulator-min-microamp  = <2200000>;
    301 				regulator-max-microamp  = <5200000>;
    302 				regulator-boot-on;
    303 				regulator-always-on;
    304 			};
    305 
    306 			/* vdd_arm */
    307 			buck3_reg: buck3 {
    308 				regulator-name = "buck3";
    309 				regulator-min-microvolt = <800000>;
    310 				regulator-max-microvolt = <1000000>;
    311 				regulator-min-microamp  = <3800000>;
    312 				regulator-max-microamp  = <6800000>;
    313 				regulator-always-on;
    314 			};
    315 
    316 			/* vdd_1p8 */
    317 			buck4 {
    318 				regulator-name = "buck4";
    319 				regulator-min-microvolt = <1800000>;
    320 				regulator-max-microvolt = <1800000>;
    321 				regulator-min-microamp  = <2200000>;
    322 				regulator-max-microamp  = <5200000>;
    323 				regulator-boot-on;
    324 				regulator-always-on;
    325 			};
    326 
    327 			/* nvcc_snvs_1p8 */
    328 			ldo1 {
    329 				regulator-name = "ldo1";
    330 				regulator-min-microvolt = <1800000>;
    331 				regulator-max-microvolt = <1800000>;
    332 				regulator-boot-on;
    333 				regulator-always-on;
    334 			};
    335 
    336 			/* vdd_snvs_0p8 */
    337 			ldo2 {
    338 				regulator-name = "ldo2";
    339 				regulator-min-microvolt = <800000>;
    340 				regulator-max-microvolt = <800000>;
    341 				regulator-boot-on;
    342 				regulator-always-on;
    343 			};
    344 
    345 			/* vdd_0p9 */
    346 			ldo3 {
    347 				regulator-name = "ldo3";
    348 				regulator-min-microvolt = <900000>;
    349 				regulator-max-microvolt = <900000>;
    350 				regulator-boot-on;
    351 				regulator-always-on;
    352 			};
    353 
    354 			/* vdd_1p8 */
    355 			ldo4 {
    356 				regulator-name = "ldo4";
    357 				regulator-min-microvolt = <1800000>;
    358 				regulator-max-microvolt = <1800000>;
    359 				regulator-boot-on;
    360 				regulator-always-on;
    361 			};
    362 		};
    363 	};
    364 };
    365 
    366 &i2c2 {
    367 	clock-frequency = <400000>;
    368 	pinctrl-names = "default";
    369 	pinctrl-0 = <&pinctrl_i2c2>;
    370 	status = "okay";
    371 
    372 	eeprom@52 {
    373 		compatible = "atmel,24c32";
    374 		reg = <0x52>;
    375 		pagesize = <32>;
    376 	};
    377 };
    378 
    379 /* console */
    380 &uart2 {
    381 	pinctrl-names = "default";
    382 	pinctrl-0 = <&pinctrl_uart2>;
    383 	status = "okay";
    384 };
    385 
    386 /* eMMC */
    387 &usdhc3 {
    388 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
    389 	pinctrl-0 = <&pinctrl_usdhc3>;
    390 	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
    391 	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
    392 	bus-width = <8>;
    393 	non-removable;
    394 	status = "okay";
    395 };
    396 
    397 &wdog1 {
    398 	pinctrl-names = "default";
    399 	pinctrl-0 = <&pinctrl_wdog>;
    400 	fsl,ext-reset-output;
    401 	status = "okay";
    402 };
    403 
    404 &iomuxc {
    405 	pinctrl_fec1: fec1grp {
    406 		fsl,pins = <
    407 			MX8MM_IOMUXC_ENET_MDC_ENET1_MDC			0x3
    408 			MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO		0x3
    409 			MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x1f
    410 			MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x1f
    411 			MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x1f
    412 			MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x1f
    413 			MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x91
    414 			MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x91
    415 			MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x91
    416 			MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x91
    417 			MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1f
    418 			MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
    419 			MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
    420 			MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1f
    421 			MX8MM_IOMUXC_NAND_ALE_GPIO3_IO0			0x19
    422 		>;
    423 	};
    424 
    425 	pinctrl_gsc: gscgrp {
    426 		fsl,pins = <
    427 			MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6	0x159
    428 		>;
    429 	};
    430 
    431 	pinctrl_i2c1: i2c1grp {
    432 		fsl,pins = <
    433 			MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL		0x400001c3
    434 			MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA		0x400001c3
    435 		>;
    436 	};
    437 
    438 	pinctrl_i2c2: i2c2grp {
    439 		fsl,pins = <
    440 			MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL		0x400001c3
    441 			MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA		0x400001c3
    442 		>;
    443 	};
    444 
    445 	pinctrl_uart2: uart2grp {
    446 		fsl,pins = <
    447 			MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX	0x140
    448 			MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX	0x140
    449 		>;
    450 	};
    451 
    452 	pinctrl_usdhc3: usdhc3grp {
    453 		fsl,pins = <
    454 			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK	0x190
    455 			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD	0x1d0
    456 			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0	0x1d0
    457 			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1	0x1d0
    458 			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2	0x1d0
    459 			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3	0x1d0
    460 			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4	0x1d0
    461 			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5	0x1d0
    462 			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6	0x1d0
    463 			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7	0x1d0
    464 			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE	0x190
    465 		>;
    466 	};
    467 
    468 	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
    469 		fsl,pins = <
    470 			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK	0x194
    471 			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD	0x1d4
    472 			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0	0x1d4
    473 			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1	0x1d4
    474 			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2	0x1d4
    475 			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3	0x1d4
    476 			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4	0x1d4
    477 			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5	0x1d4
    478 			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6	0x1d4
    479 			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7	0x1d4
    480 			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE	0x194
    481 		>;
    482 	};
    483 
    484 	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
    485 		fsl,pins = <
    486 			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK	0x196
    487 			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD	0x1d6
    488 			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0	0x1d6
    489 			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1	0x1d6
    490 			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2	0x1d6
    491 			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3	0x1d6
    492 			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4	0x1d6
    493 			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5	0x1d6
    494 			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6	0x1d6
    495 			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7	0x1d6
    496 			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE	0x196
    497 		>;
    498 	};
    499 
    500 	pinctrl_wdog: wdoggrp {
    501 		fsl,pins = <
    502 			MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B	0xc6
    503 		>;
    504 	};
    505 };
    506