// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright 2013 Sascha Hauer, Pengutronix
 * Copyright 2013-2017 Markus Niebel <Markus.Niebel@tq-group.com>
 */

#include <dt-bindings/gpio/gpio.h>

&fec {
	/delete-property/ interrupts;
	interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
			      <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
	fsl,err006687-workaround-present;
};

&i2c1 {
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c1>;
	pinctrl-1 = <&pinctrl_i2c1_recovery>;
	scl-gpios = <&gpio5 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	sda-gpios = <&gpio5 26 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	clock-frequency = <100000>;
	status = "okay";

	pmic: pmic@8 {
		compatible = "fsl,pfuze100";
		reg = <0x08>;
	};

	sensor@48 {
		compatible = "national,lm75";
		reg = <0x48>;
	};

	eeprom@50 {
		compatible = "st,24c64", "atmel,24c64";
		reg = <0x50>;
		pagesize = <32>;
		vcc-supply = <&reg_3p3v>;
	};
};

&iomuxc {
	/*
	 * This pinmuxing is required for the ERR006687 workaround. Board
	 * DTS files that enable the FEC controller with
	 * fsl,err006687-workaround-present must include this group.
	 */
	pinctrl_enet_fix: enetfixgrp {
		fsl,pins = <
			/* ENET ping patch */
			MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
		>;
	};
};
