/*
 * Copyright 2012-2014 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

#include "imx6q-sabresd.dts"

&gpc {
	/* use ldo-enable, u-boot will check it and configure */
	fsl,ldo-bypass = <0>;
};

&hdmi_video {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hdmi_hdcp>;
	fsl,hdcp;
};

&i2c2 {
	status = "disable";
};

&reg_arm {
	/delete-property/ vin-supply;
};

&reg_pu {
	/delete-property/ vin-supply;
};

&reg_soc {
	/delete-property/ vin-supply;
};
