Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.10.11.
   1/*
   2 * Copyright (C) 2016-2017 Zodiac Inflight Innovations
   3 *
   4 * This file is dual-licensed: you can use it either under the terms
   5 * of the GPL or the X11 license, at your option. Note that this dual
   6 * licensing only applies to this file, and not this project as a
   7 * whole.
   8 *
   9 *  a) This file is free software; you can redistribute it and/or
  10 *     modify it under the terms of the GNU General Public License
  11 *     version 2 as published by the Free Software Foundation.
  12 *
  13 *     This file is distributed in the hope that it will be useful,
  14 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16 *     GNU General Public License for more details.
  17 *
  18 * Or, alternatively,
  19 *
  20 *  b) Permission is hereby granted, free of charge, to any person
  21 *     obtaining a copy of this software and associated documentation
  22 *     files (the "Software"), to deal in the Software without
  23 *     restriction, including without limitation the rights to use,
  24 *     copy, modify, merge, publish, distribute, sublicense, and/or
  25 *     sell copies of the Software, and to permit persons to whom the
  26 *     Software is furnished to do so, subject to the following
  27 *     conditions:
  28 *
  29 *     The above copyright notice and this permission notice shall be
  30 *     included in all copies or substantial portions of the Software.
  31 *
  32 *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND,
  33 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  34 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  35 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  36 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  37 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  38 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  39 *     OTHER DEALINGS IN THE SOFTWARE.
  40 */
  41
  42#include <dt-bindings/gpio/gpio.h>
  43#include <dt-bindings/sound/fsl-imx-audmux.h>
  44
  45/ {
  46	chosen {
  47		stdout-path = &uart1;
  48	};
  49
  50	aliases {
  51		mdio-gpio0 = &mdio1;
  52		rtc0 = &ds1341;
  53	};
  54
  55	mdio1: mdio {
  56		compatible = "virtual,mdio-gpio";
  57		#address-cells = <1>;
  58		#size-cells = <0>;
  59		pinctrl-names = "default";
  60		pinctrl-0 = <&pinctrl_mdio1>;
  61		gpios = <&gpio6 5 GPIO_ACTIVE_HIGH
  62		         &gpio6 4 GPIO_ACTIVE_HIGH>;
  63
  64		phy: ethernet-phy@0 {
  65			pinctrl-0 = <&pinctrl_rmii_phy_irq>;
  66			pinctrl-names = "default";
  67			reg = <0>;
  68			interrupt-parent = <&gpio3>;
  69			interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
  70		};
  71	};
  72
  73	reg_28p0v: regulator-28p0v {
  74		compatible = "regulator-fixed";
  75		regulator-name = "28V_IN";
  76		regulator-min-microvolt = <28000000>;
  77		regulator-max-microvolt = <28000000>;
  78		regulator-always-on;
  79	};
  80
  81	reg_12p0v: regulator-12p0v {
  82		compatible = "regulator-fixed";
  83		vin-supply = <&reg_28p0v>;
  84		regulator-name = "12V_MAIN";
  85		regulator-min-microvolt = <12000000>;
  86		regulator-max-microvolt = <12000000>;
  87		regulator-always-on;
  88	};
  89
  90	reg_5p0v_main: regulator-5p0v-main {
  91		compatible = "regulator-fixed";
  92		vin-supply = <&reg_12p0v>;
  93		regulator-name = "5V_MAIN";
  94		regulator-min-microvolt = <5000000>;
  95		regulator-max-microvolt = <5000000>;
  96		regulator-always-on;
  97	};
  98
  99	reg_5p0v_user_usb: regulator-5p0v-user-usb {
 100		compatible = "regulator-fixed";
 101		pinctrl-names = "default";
 102		pinctrl-0 = <&pinctrl_reg_user_usb>;
 103		vin-supply = <&reg_5p0v_main>;
 104		regulator-name = "5V_USER_USB";
 105		regulator-min-microvolt = <5000000>;
 106		regulator-max-microvolt = <5000000>;
 107		gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
 108		startup-delay-us = <1000>;
 109	};
 110
 111	reg_3p3v_pmic: regulator-3p3v-pmic {
 112		compatible = "regulator-fixed";
 113		vin-supply = <&reg_12p0v>;
 114		regulator-name = "PMIC_3V3";
 115		regulator-min-microvolt = <3300000>;
 116		regulator-max-microvolt = <3300000>;
 117		regulator-always-on;
 118	};
 119
 120	reg_3p3v: regulator-3p3v {
 121		compatible = "regulator-fixed";
 122		vin-supply = <&reg_3p3v_pmic>;
 123		regulator-name = "GEN_3V3";
 124		regulator-min-microvolt = <3300000>;
 125		regulator-max-microvolt = <3300000>;
 126		regulator-always-on;
 127	};
 128
 129	reg_3p3v_sd: regulator-3p3v-sd {
 130		compatible = "regulator-fixed";
 131		pinctrl-names = "default";
 132		pinctrl-0 = <&pinctrl_reg_3p3v_sd>;
 133		vin-supply = <&reg_3p3v>;
 134		regulator-name = "3V3_SD";
 135		regulator-min-microvolt = <3300000>;
 136		regulator-max-microvolt = <3300000>;
 137		gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
 138		startup-delay-us = <1000>;
 139		enable-active-high;
 140		regulator-always-on;
 141	};
 142
 143	reg_3p3v_display: regulator-3p3v-display {
 144		compatible = "regulator-fixed";
 145		vin-supply = <&reg_12p0v>;
 146		regulator-name = "3V3_DISPLAY";
 147		regulator-min-microvolt = <3300000>;
 148		regulator-max-microvolt = <3300000>;
 149		regulator-always-on;
 150	};
 151
 152	reg_3p3v_ssd: regulator-3p3v-ssd {
 153		compatible = "regulator-fixed";
 154		vin-supply = <&reg_12p0v>;
 155		regulator-name = "3V3_SSD";
 156		regulator-min-microvolt = <3300000>;
 157		regulator-max-microvolt = <3300000>;
 158		regulator-always-on;
 159	};
 160
 161	sound1 {
 162		compatible = "simple-audio-card";
 163		simple-audio-card,name = "Front";
 164		simple-audio-card,format = "i2s";
 165		simple-audio-card,bitclock-master = <&sound1_codec>;
 166		simple-audio-card,frame-master = <&sound1_codec>;
 167		simple-audio-card,widgets =
 168			"Headphone", "Headphone Jack";
 169		simple-audio-card,routing =
 170			"Headphone Jack", "HPLEFT",
 171			"Headphone Jack", "HPRIGHT",
 172			"LEFTIN", "HPL",
 173			"RIGHTIN", "HPR";
 174		simple-audio-card,aux-devs = <&hpa1>;
 175
 176		sound1_cpu: simple-audio-card,cpu {
 177			sound-dai = <&ssi2>;
 178		};
 179
 180		sound1_codec: simple-audio-card,codec {
 181			sound-dai = <&codec1>;
 182			clocks = <&cs2000>;
 183		};
 184	};
 185
 186	sound2 {
 187		compatible = "simple-audio-card";
 188		simple-audio-card,name = "Back";
 189		simple-audio-card,format = "i2s";
 190		simple-audio-card,bitclock-master = <&sound2_codec>;
 191		simple-audio-card,frame-master = <&sound2_codec>;
 192		simple-audio-card,widgets =
 193			"Headphone", "Headphone Jack";
 194		simple-audio-card,routing =
 195			"Headphone Jack", "HPLEFT",
 196			"Headphone Jack", "HPRIGHT",
 197			"LEFTIN", "HPL",
 198			"RIGHTIN", "HPR";
 199		simple-audio-card,aux-devs = <&hpa2>;
 200
 201		sound2_cpu: simple-audio-card,cpu {
 202			sound-dai = <&ssi1>;
 203		};
 204
 205		sound2_codec: simple-audio-card,codec {
 206			sound-dai = <&codec2>;
 207			clocks = <&cs2000>;
 208		};
 209	};
 210
 211	panel {
 212		power-supply = <&reg_3p3v_display>;
 213		status = "disabled";
 214
 215		port {
 216			panel_in: endpoint {
 217				remote-endpoint = <&lvds0_out>;
 218			};
 219		};
 220	};
 221
 222	disp0: disp0 {
 223		#address-cells = <1>;
 224		#size-cells = <0>;
 225		compatible = "fsl,imx-parallel-display";
 226		pinctrl-names = "default";
 227		pinctrl-0 = <&pinctrl_disp0>;
 228		status = "disabled";
 229
 230		port@0 {
 231			reg = <0>;
 232
 233			disp0_in_0: endpoint {
 234				remote-endpoint = <&ipu1_di0_disp0>;
 235			};
 236		};
 237
 238		port@1 {
 239			reg = <1>;
 240
 241			disp0_out: endpoint {
 242				remote-endpoint = <&tc358767_in>;
 243			};
 244		};
 245	};
 246
 247	cs2000_ref: cs2000-ref {
 248		compatible = "fixed-clock";
 249		#clock-cells = <0>;
 250		clock-frequency = <24576000>;
 251	};
 252
 253	cs2000_in_dummy: cs2000-in-dummy {
 254		compatible = "fixed-clock";
 255		#clock-cells = <0>;
 256		clock-frequency = <0>;
 257	};
 258
 259	edp_refclk: edp-refclk {
 260		compatible = "fixed-clock";
 261		#clock-cells = <0>;
 262		clock-frequency = <19200000>;
 263	};
 264};
 265
 266&reg_arm {
 267	vin-supply = <&sw1a_reg>;
 268};
 269
 270&reg_pu {
 271	vin-supply = <&sw1c_reg>;
 272};
 273
 274&reg_soc {
 275	vin-supply = <&sw1c_reg>;
 276};
 277
 278&ldb {
 279	lvds-channel@0 {
 280		port@4 {
 281			reg = <4>;
 282
 283			lvds0_out: endpoint {
 284				remote-endpoint = <&panel_in>;
 285			};
 286		};
 287	};
 288};
 289
 290&uart1 {
 291	pinctrl-names = "default";
 292	pinctrl-0 = <&pinctrl_uart1>;
 293	status = "okay";
 294};
 295
 296&uart3 {
 297	pinctrl-names = "default";
 298	pinctrl-0 = <&pinctrl_uart3>;
 299	uart-has-rtscts;
 300	linux,rs485-enabled-at-boot-time;
 301	status = "okay";
 302};
 303
 304&uart4 {
 305	pinctrl-names = "default";
 306	pinctrl-0 = <&pinctrl_uart4>;
 307	status = "okay";
 308
 309	rave-sp {
 310		compatible = "zii,rave-sp-rdu2";
 311		current-speed = <1000000>;
 312
 313		watchdog {
 314			compatible = "zii,rave-sp-watchdog";
 315		};
 316	};
 317};
 318
 319&ecspi1 {
 320	pinctrl-names = "default";
 321	pinctrl-0 = <&pinctrl_ecspi1>;
 322	cs-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
 323	status = "okay";
 324
 325	flash@0 {
 326		compatible = "st,m25p128", "jedec,spi-nor";
 327		spi-max-frequency = <20000000>;
 328		reg = <0>;
 329	};
 330};
 331
 332&i2c1 {
 333	pinctrl-names = "default";
 334	pinctrl-0 = <&pinctrl_i2c1>;
 335	clock-frequency = <100000>;
 336	status = "okay";
 337
 338	codec2: codec@18 {
 339		compatible = "ti,tlv320dac3100";
 340		pinctrl-names = "default";
 341		pinctrl-0 = <&pinctrl_codec2>;
 342		reg = <0x18>;
 343		#sound-dai-cells = <0>;
 344		HPVDD-supply = <&reg_3p3v>;
 345		SPRVDD-supply = <&reg_3p3v>;
 346		SPLVDD-supply = <&reg_3p3v>;
 347		AVDD-supply = <&reg_3p3v>;
 348		IOVDD-supply = <&reg_3p3v>;
 349		DVDD-supply = <&vgen4_reg>;
 350		gpio-reset = <&gpio1 2 GPIO_ACTIVE_HIGH>;
 351	};
 352
 353	accel@1c {
 354		pinctrl-names = "default";
 355		pinctrl-0 = <&pinctrl_accel>;
 356		compatible = "fsl,mma8451";
 357		reg = <0x1c>;
 358		interrupt-parent = <&gpio1>;
 359		interrupt-names = "int1", "int2";
 360		interrupts = <18 IRQ_TYPE_LEVEL_LOW>, <20 IRQ_TYPE_LEVEL_LOW>;
 361	};
 362
 363	hpa2: amp@60 {
 364		compatible = "ti,tpa6130a2";
 365		pinctrl-names = "default";
 366		pinctrl-0 = <&pinctrl_tpa2>;
 367		reg = <0x60>;
 368		power-gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
 369		Vdd-supply = <&reg_5p0v_main>;
 370	};
 371
 372	edp-bridge@68 {
 373		compatible = "toshiba,tc358767";
 374		pinctrl-names = "default";
 375		pinctrl-0 = <&pinctrl_tc358767>;
 376		reg = <0x68>;
 377		shutdown-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
 378		clock-names = "ref";
 379		clocks = <&edp_refclk>;
 380		status = "disabled";
 381
 382		ports {
 383			#address-cells = <1>;
 384			#size-cells = <0>;
 385
 386			port@1 {
 387				reg = <1>;
 388
 389				tc358767_in: endpoint {
 390					remote-endpoint = <&disp0_out>;
 391				};
 392			};
 393		};
 394	};
 395};
 396
 397&i2c2 {
 398	pinctrl-names = "default";
 399	pinctrl-0 = <&pinctrl_i2c2>;
 400	clock-frequency = <100000>;
 401	status = "okay";
 402
 403	pmic@8 {
 404		compatible = "fsl,pfuze100";
 405		pinctrl-names = "default";
 406		pinctrl-0 = <&pinctrl_pfuze100_irq>;
 407		reg = <0x08>;
 408		interrupt-parent = <&gpio7>;
 409		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
 410
 411		regulators {
 412			sw1a_reg: sw1ab {
 413				regulator-min-microvolt = <300000>;
 414				regulator-max-microvolt = <1875000>;
 415				regulator-boot-on;
 416				regulator-always-on;
 417				regulator-ramp-delay = <6250>;
 418			};
 419
 420			sw1c_reg: sw1c {
 421				regulator-min-microvolt = <300000>;
 422				regulator-max-microvolt = <1875000>;
 423				regulator-boot-on;
 424				regulator-always-on;
 425				regulator-ramp-delay = <6250>;
 426			};
 427
 428			sw2_reg: sw2 {
 429				regulator-min-microvolt = <800000>;
 430				regulator-max-microvolt = <3000000>;
 431				regulator-boot-on;
 432				regulator-always-on;
 433			};
 434
 435			sw3a_reg: sw3a {
 436				regulator-min-microvolt = <400000>;
 437				regulator-max-microvolt = <1500000>;
 438				regulator-boot-on;
 439				regulator-always-on;
 440			};
 441
 442			sw3b_reg: sw3b {
 443				regulator-min-microvolt = <400000>;
 444				regulator-max-microvolt = <1500000>;
 445				regulator-boot-on;
 446				regulator-always-on;
 447			};
 448
 449			sw4_reg: sw4 {
 450				regulator-min-microvolt = <800000>;
 451				regulator-max-microvolt = <1800000>;
 452				regulator-boot-on;
 453				regulator-always-on;
 454			};
 455
 456			snvs_reg: vsnvs {
 457				regulator-min-microvolt = <1000000>;
 458				regulator-max-microvolt = <3000000>;
 459				regulator-boot-on;
 460				regulator-always-on;
 461			};
 462
 463			vref_reg: vrefddr {
 464				regulator-boot-on;
 465				regulator-always-on;
 466			};
 467
 468			vgen2_reg: vgen2 {
 469				regulator-min-microvolt = <1000000>;
 470				regulator-max-microvolt = <1500000>;
 471				regulator-always-on;
 472			};
 473
 474			vgen4_reg: vgen4 {
 475				regulator-min-microvolt = <1200000>;
 476				regulator-max-microvolt = <1800000>;
 477				regulator-always-on;
 478			};
 479
 480			vgen5_reg: vgen5 {
 481				regulator-min-microvolt = <1800000>;
 482				regulator-max-microvolt = <2500000>;
 483				regulator-always-on;
 484			};
 485
 486			vgen6_reg: vgen6 {
 487				regulator-min-microvolt = <1800000>;
 488				regulator-max-microvolt = <2800000>;
 489				regulator-always-on;
 490			};
 491		};
 492	};
 493
 494	temp-sense@48 {
 495		compatible = "national,lm75";
 496		reg = <0x48>;
 497	};
 498
 499	cs2000: clkgen@4e {
 500		compatible = "cirrus,cs2000-cp";
 501		reg = <0x4e>;
 502		#clock-cells = <0>;
 503		clock-names = "clk_in", "ref_clk";
 504		clocks = <&cs2000_in_dummy>, <&cs2000_ref>;
 505		assigned-clocks = <&cs2000>;
 506		assigned-clock-rates = <24000000>;
 507	};
 508
 509	eeprom@54 {
 510		compatible = "atmel,24c128";
 511		reg = <0x54>;
 512	};
 513
 514	ds1341: rtc@68 {
 515		compatible = "dallas,ds1341";
 516		reg = <0x68>;
 517	};
 518};
 519
 520&i2c3 {
 521	pinctrl-names = "default";
 522	pinctrl-0 = <&pinctrl_i2c3>;
 523	clock-frequency = <400000>;
 524	status = "okay";
 525
 526	codec1: codec@18 {
 527		compatible = "ti,tlv320dac3100";
 528		pinctrl-names = "default";
 529		pinctrl-0 = <&pinctrl_codec1>;
 530		reg = <0x18>;
 531		#sound-dai-cells = <0>;
 532		HPVDD-supply = <&reg_3p3v>;
 533		SPRVDD-supply = <&reg_3p3v>;
 534		SPLVDD-supply = <&reg_3p3v>;
 535		AVDD-supply = <&reg_3p3v>;
 536		IOVDD-supply = <&reg_3p3v>;
 537		DVDD-supply = <&vgen4_reg>;
 538		gpio-reset = <&gpio1 0 GPIO_ACTIVE_HIGH>;
 539	};
 540
 541	touchscreen@20 {
 542		compatible = "syna,rmi4-i2c";
 543		pinctrl-names = "default";
 544		pinctrl-0 = <&pinctrl_ts>;
 545		reg = <0x20>;
 546		interrupt-parent = <&gpio1>;
 547		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
 548		vdd-supply = <&reg_5p0v_main>;
 549		vio-supply = <&reg_3p3v>;
 550
 551		#address-cells = <1>;
 552		#size-cells = <0>;
 553
 554		rmi4-f01@1 {
 555			reg = <0x1>;
 556			syna,nosleep-mode = <2>;
 557		};
 558
 559		rmi4-f11@11 {
 560			reg = <0x11>;
 561			touchscreen-inverted-y;
 562			touchscreen-swapped-x-y;
 563			syna,sensor-type = <1>;
 564		};
 565
 566		rmi4-f12@12 {
 567			reg = <0x12>;
 568			touchscreen-inverted-y;
 569			touchscreen-swapped-x-y;
 570			syna,sensor-type = <1>;
 571		};
 572	};
 573
 574	hpa1: amp@60 {
 575		compatible = "ti,tpa6130a2";
 576		pinctrl-names = "default";
 577		pinctrl-0 = <&pinctrl_tpa1>;
 578		reg = <0x60>;
 579		power-gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
 580		Vdd-supply = <&reg_5p0v_main>;
 581	};
 582};
 583
 584&ipu1_di0_disp0 {
 585	remote-endpoint = <&disp0_in_0>;
 586};
 587
 588&pcie {
 589	pinctrl-names = "default";
 590	pinctrl-0 = <&pinctrl_pcie>;
 591	reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
 592	status = "okay";
 593
 594	host@0 {
 595		reg = <0 0 0 0 0>;
 596
 597		#address-cells = <3>;
 598		#size-cells = <2>;
 599
 600		i210: i210@0 {
 601			reg = <0 0 0 0 0>;
 602		};
 603	};
 604};
 605
 606&usdhc2 {
 607	pinctrl-names = "default";
 608	pinctrl-0 = <&pinctrl_usdhc2>;
 609	bus-width = <4>;
 610	cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
 611	wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
 612	vmmc-supply = <&reg_3p3v_sd>;
 613	vqmmc-supply = <&reg_3p3v>;
 614	no-1-8-v;
 615	no-sdio;
 616	status = "okay";
 617};
 618
 619&usdhc3 {
 620	pinctrl-names = "default";
 621	pinctrl-0 = <&pinctrl_usdhc3>;
 622	bus-width = <4>;
 623	cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
 624	wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
 625	vmmc-supply = <&reg_3p3v_sd>;
 626	vqmmc-supply = <&reg_3p3v>;
 627	no-1-8-v;
 628	no-sdio;
 629	status = "okay";
 630};
 631
 632&usdhc4 {
 633	pinctrl-names = "default";
 634	pinctrl-0 = <&pinctrl_usdhc4>;
 635	bus-width = <8>;
 636	vmmc-supply = <&reg_3p3v>;
 637	vqmmc-supply = <&reg_3p3v>;
 638	no-1-8-v;
 639	non-removable;
 640	no-sdio;
 641	no-sd;
 642	status = "okay";
 643};
 644
 645&sata {
 646	target-supply = <&reg_3p3v_ssd>;
 647	status = "okay";
 648};
 649
 650&fec {
 651	pinctrl-names = "default";
 652	pinctrl-0 = <&pinctrl_enet>;
 653	phy-mode = "rmii";
 654	phy-handle = <&phy>;
 655	phy-reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
 656	phy-reset-duration = <100>;
 657	phy-supply = <&reg_3p3v>;
 658	status = "okay";
 659
 660	mdio {
 661		#address-cells = <1>;
 662		#size-cells = <0>;
 663		status = "okay";
 664
 665		switch: switch@0 {
 666			compatible = "marvell,mv88e6085";
 667			pinctrl-0 = <&pinctrl_switch_irq>;
 668			pinctrl-names = "default";
 669			#address-cells = <1>;
 670			#size-cells = <0>;
 671			reg = <0>;
 672			dsa,member = <0 0>;
 673			eeprom-length = <512>;
 674			interrupt-parent = <&gpio6>;
 675			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
 676			interrupt-controller;
 677			#interrupt-cells = <2>;
 678
 679			ports {
 680				#address-cells = <1>;
 681				#size-cells = <0>;
 682
 683				port@0 {
 684					reg = <0>;
 685					label = "gigabit_proc";
 686					phy-handle = <&switchphy0>;
 687				};
 688
 689				port@1 {
 690					reg = <1>;
 691					label = "netaux";
 692					phy-handle = <&switchphy1>;
 693				};
 694
 695				port@2 {
 696					reg = <2>;
 697					label = "cpu";
 698					ethernet = <&fec>;
 699
 700					fixed-link {
 701						speed = <100>;
 702						full-duplex;
 703					};
 704				};
 705
 706				port@3 {
 707					reg = <3>;
 708					label = "netright";
 709					phy-handle = <&switchphy3>;
 710				};
 711
 712				port@4 {
 713					reg = <4>;
 714					label = "netleft";
 715					phy-handle = <&switchphy4>;
 716				};
 717			};
 718
 719			mdio {
 720				#address-cells = <1>;
 721				#size-cells = <0>;
 722
 723				switchphy0: switchphy@0 {
 724					reg = <0>;
 725					interrupt-parent = <&switch>;
 726					interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
 727				};
 728
 729				switchphy1: switchphy@1 {
 730					reg = <1>;
 731					interrupt-parent = <&switch>;
 732					interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
 733				};
 734
 735				switchphy2: switchphy@2 {
 736					reg = <2>;
 737					interrupt-parent = <&switch>;
 738					interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
 739				};
 740
 741				switchphy3: switchphy@3 {
 742					reg = <3>;
 743					interrupt-parent = <&switch>;
 744					interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
 745				};
 746
 747				switchphy4: switchphy@4 {
 748					reg = <4>;
 749					interrupt-parent = <&switch>;
 750					interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
 751				};
 752			};
 753		};
 754	};
 755};
 756
 757&usbh1 {
 758	vbus-supply = <&reg_5p0v_main>;
 759	disable-over-current;
 760	status = "okay";
 761};
 762
 763&usbotg {
 764	vbus-supply = <&reg_5p0v_user_usb>;
 765	disable-over-current;
 766	dr_mode = "host";
 767	status = "okay";
 768};
 769
 770&ssi1 {
 771	status = "okay";
 772};
 773
 774&ssi2 {
 775	status = "okay";
 776};
 777
 778&audmux {
 779	pinctrl-names = "default";
 780	pinctrl-0 = <&pinctrl_audmux>;
 781	status = "okay";
 782
 783	ssi1 {
 784		fsl,audmux-port = <0>;
 785		fsl,port-config = <
 786			(IMX_AUDMUX_V2_PTCR_SYN |
 787			 IMX_AUDMUX_V2_PTCR_TFSEL(2) |
 788			 IMX_AUDMUX_V2_PTCR_TCSEL(2) |
 789			 IMX_AUDMUX_V2_PTCR_TFSDIR |
 790			 IMX_AUDMUX_V2_PTCR_TCLKDIR)
 791			IMX_AUDMUX_V2_PDCR_RXDSEL(2)
 792		>;
 793	};
 794
 795	aud3 {
 796		fsl,audmux-port = <2>;
 797		fsl,port-config = <
 798			IMX_AUDMUX_V2_PTCR_SYN
 799			IMX_AUDMUX_V2_PDCR_RXDSEL(0)
 800		>;
 801	};
 802
 803	ssi2 {
 804		fsl,audmux-port = <1>;
 805		fsl,port-config = <
 806			(IMX_AUDMUX_V2_PTCR_SYN |
 807			 IMX_AUDMUX_V2_PTCR_TFSEL(4) |
 808			 IMX_AUDMUX_V2_PTCR_TCSEL(4) |
 809			 IMX_AUDMUX_V2_PTCR_TFSDIR |
 810			 IMX_AUDMUX_V2_PTCR_TCLKDIR)
 811			IMX_AUDMUX_V2_PDCR_RXDSEL(4)
 812		>;
 813	};
 814
 815	aud5 {
 816		fsl,audmux-port = <4>;
 817		fsl,port-config = <
 818			IMX_AUDMUX_V2_PTCR_SYN
 819			IMX_AUDMUX_V2_PDCR_RXDSEL(1)
 820		>;
 821	};
 822};
 823
 824&wdog1 {
 825	status = "disabled";
 826};
 827
 828&iomuxc {
 829	pinctrl_accel: accelgrp {
 830		fsl,pins = <
 831			MX6QDL_PAD_SD1_CMD__GPIO1_IO18		0x4001b000
 832			MX6QDL_PAD_SD1_CLK__GPIO1_IO20		0x4001b000
 833		>;
 834	};
 835
 836	pinctrl_audmux: audmuxgrp {
 837		fsl,pins = <
 838			MX6QDL_PAD_KEY_COL0__AUD5_TXC		0x130b0
 839			MX6QDL_PAD_KEY_ROW0__AUD5_TXD		0x130b0
 840			MX6QDL_PAD_KEY_COL1__AUD5_TXFS		0x130b0
 841			MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
 842			MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x130b0
 843			MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
 844		>;
 845	};
 846
 847	pinctrl_codec1: dac1grp {
 848		fsl,pins = <
 849			MX6QDL_PAD_GPIO_0__GPIO1_IO00		0x40000038
 850		>;
 851	};
 852
 853	pinctrl_codec2: dac2grp {
 854		fsl,pins = <
 855			MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x40000038
 856		>;
 857	};
 858
 859	pinctrl_disp0: disp0grp {
 860		fsl,pins = <
 861			MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x100f9
 862			MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x100f9
 863			MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x100f9
 864			MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x100f9
 865			MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x100f9
 866			MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x100f9
 867			MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x100f9
 868			MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x100f9
 869			MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x100f9
 870			MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x100f9
 871			MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x100f9
 872			MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x100f9
 873			MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x100f9
 874			MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x100f9
 875			MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x100f9
 876			MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x100f9
 877			MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x100f9
 878			MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x100f9
 879			MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x100f9
 880			MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x100f9
 881			MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x100f9
 882			MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x100f9
 883			MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x100f9
 884			MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x100f9
 885			MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x100f9
 886			MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x100f9
 887			MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x100f9
 888			MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x100f9
 889		>;
 890	};
 891
 892	pinctrl_ecspi1: ecspi1grp {
 893		fsl,pins = <
 894			MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
 895			MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
 896			MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
 897			MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x1b0b1
 898		>;
 899	};
 900
 901	pinctrl_enet: enetgrp {
 902		fsl,pins = <
 903			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x000b1
 904			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x100b1
 905			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x100f5
 906			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x100f5
 907			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x100c0
 908			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x100c0
 909			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x100f5
 910			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x100f5
 911			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x40010040
 912			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER	0x100b0
 913			MX6QDL_PAD_ENET_REF_CLK__GPIO1_IO23	0x1b0b0
 914		>;
 915	};
 916
 917	pinctrl_i2c1: i2c1grp {
 918		fsl,pins = <
 919			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA		0x4001b8b1
 920			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL		0x4001b8b1
 921		>;
 922	};
 923
 924	pinctrl_i2c2: i2c2grp {
 925		fsl,pins = <
 926			MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
 927			MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
 928		>;
 929	};
 930
 931	pinctrl_i2c3: i2c3grp {
 932		fsl,pins = <
 933			MX6QDL_PAD_GPIO_3__I2C3_SCL		0x4001b8b1
 934			MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
 935		>;
 936	};
 937
 938	pinctrl_mdio1: bitbangmdiogrp {
 939		fsl,pins = <
 940			/* Bitbang MDIO for DEB Switch */
 941			MX6QDL_PAD_CSI0_DAT19__GPIO6_IO05	0x4001b030
 942			MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04	0x40018830
 943		>;
 944	};
 945
 946	pinctrl_pcie: pciegrp {
 947		fsl,pins = <
 948			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x10038
 949		>;
 950	};
 951
 952	pinctrl_pfuze100_irq: pfuze100grp {
 953		fsl,pins = <
 954			MX6QDL_PAD_GPIO_18__GPIO7_IO13		0x40010000
 955		>;
 956	};
 957
 958	pinctrl_reg_3p3v_sd: mmcsupply1grp {
 959		fsl,pins = <
 960			MX6QDL_PAD_SD3_RST__GPIO7_IO08		0x858
 961		>;
 962	};
 963
 964	pinctrl_reg_user_usb: usbotggrp {
 965		fsl,pins = <
 966			MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x40000038
 967		>;
 968	};
 969
 970	pinctrl_rmii_phy_irq: phygrp {
 971		fsl,pins = <
 972			MX6QDL_PAD_EIM_D30__GPIO3_IO30		0x40010000
 973		>;
 974	};
 975
 976	pinctrl_switch_irq: switchgrp {
 977		fsl,pins = <
 978			MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03	0x4001b000
 979		>;
 980	};
 981
 982	pinctrl_tc358767: tc358767grp {
 983		fsl,pins = <
 984			MX6QDL_PAD_GPIO_9__GPIO1_IO09		0x10
 985		>;
 986	};
 987
 988	pinctrl_tpa1: tpa6130-1grp {
 989		fsl,pins = <
 990			MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x40000038
 991		>;
 992	};
 993
 994	pinctrl_tpa2: tpa6130-2grp {
 995		fsl,pins = <
 996			MX6QDL_PAD_GPIO_5__GPIO1_IO05		0x40000038
 997		>;
 998	};
 999
1000	pinctrl_ts: tsgrp {
1001		fsl,pins = <
1002			MX6QDL_PAD_GPIO_8__GPIO1_IO08		0x1b0b0
1003			MX6QDL_PAD_GPIO_7__GPIO1_IO07		0x1b0b0
1004		>;
1005	};
1006
1007	pinctrl_uart1: uart1grp {
1008		fsl,pins = <
1009			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
1010			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
1011		>;
1012	};
1013
1014	pinctrl_uart3: uart3grp {
1015		fsl,pins = <
1016			MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
1017			MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
1018			MX6QDL_PAD_EIM_D31__UART3_RTS_B		0x1b0b1
1019		>;
1020	};
1021
1022	pinctrl_uart4: uart4grp {
1023		fsl,pins = <
1024			MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA	0x1b0b1
1025			MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA	0x1b0b1
1026		>;
1027	};
1028
1029	pinctrl_usdhc2: usdhc2grp {
1030		fsl,pins = <
1031			MX6QDL_PAD_SD2_CMD__SD2_CMD		0x10059
1032			MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10069
1033			MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
1034			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
1035			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
1036			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
1037			MX6QDL_PAD_NANDF_D3__GPIO2_IO03		0x40010040
1038			MX6QDL_PAD_NANDF_D2__GPIO2_IO02		0x40010040
1039		>;
1040	};
1041
1042	pinctrl_usdhc3: usdhc3grp {
1043		fsl,pins = <
1044			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x10059
1045			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10069
1046			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
1047			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
1048			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
1049			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
1050			MX6QDL_PAD_NANDF_D1__GPIO2_IO01		0x40010040
1051			MX6QDL_PAD_NANDF_D0__GPIO2_IO00		0x40010040
1052
1053		>;
1054	};
1055
1056	pinctrl_usdhc4: usdhc4grp {
1057		fsl,pins = <
1058			MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
1059			MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
1060			MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
1061			MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
1062			MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
1063			MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
1064			MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059
1065			MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059
1066			MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059
1067			MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059
1068			MX6QDL_PAD_NANDF_ALE__SD4_RESET		0x1b0b1
1069		>;
1070	};
1071};