/*
 * Copyright (C) 2017 NXP
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

&bcmdhd_wlan_0 {
	/* Need to define WL_HOST_WAKE for OOB IRQ: ENET2_RX_ER (gpio2_15) */
	/* Hardware modification is needed on imx6ul evk for using OOB. */
	gpios = <&gpio2 15 0>;  /* WL_HOST_WAKE */
};

&pinctrl_wifi {
	fsl,pins = <
		/* MUXing for WL_HOST_WAKE */
		MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15  0x13041
	>;
};

/*
 * For WL_HOST_WAKE (OOB_IRQ) to function correctly, we must disable
 * the secondary ethernet port (FEC2). Hardware re-work is to remove
 * R1633 and populate R1704 with 0 Ohm resistor.
 * Refer to Murata Hardware Reference Manual for more details.
 */
&fec2 {
	status="disabled";
};
