/*
 * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include "ipq5018-mp03.1.dts"
/ {
	model ="QCA, IPQ5018-MP03.1-C3";
	compatible = "qca,ipq5018", "qca,ipq5018-mp03.1-c3";
	machid = <0x8040201>;
	config_name = "config@mp03.1-c3";

	gmac_cfg {
		gmac2_cfg {
			/delete-property/s17c_switch_enable;
			/delete-property/switch_port_count;
			/delete-property/switch_gpio;
			/delete-property/mac_pwr;
			/delete-property/switch_phy_address;
			phy_address = <0x1c>;
			napa_gpio = <39>;
		};
	};
};
