/*
 * Copyright (C) 2016 Stefan Wahren <stefan.wahren@i2se.com>
 *
 * 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
 */

/dts-v1/;
#include "bcm2835.dtsi"
#include "bcm2835-rpi.dtsi"
#include "bcm283x-rpi-usb-host.dtsi"

/ {
	compatible = "raspberrypi,model-zero", "brcm,bcm2835";
	model = "Raspberry Pi Zero";

	leds {
		act {
			gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
		};
	};
};

&gpio {
	pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;

	/* I2S interface */
	i2s_alt0: i2s_alt0 {
		brcm,pins = <18 19 20 21>;
		brcm,function = <BCM2835_FSEL_ALT0>;
	};
};

&hdmi {
	hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
};
