// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2015-2017 I2SE GmbH <info@i2se.com>
 * Copyright (C) 2016 Michael Heimpold <mhei@heimpold.de>
 */

/dts-v1/;
#include <dt-bindings/input/input.h>
#include "imx28-duckbill-2.dts"

/ {
	model = "I2SE Duckbill 2 EnOcean";
	compatible = "i2se,duckbill-2-enocean", "i2se,duckbill-2", "fsl,imx28";

	leds {
		enocean-blue {
			label = "duckbill:blue:enocean";
			gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
		};

		enocean-red {
			label = "duckbill:red:enocean";
			gpios = <&gpio3 25 GPIO_ACTIVE_LOW>;
		};

		enocean-green {
			label = "duckbill:green:enocean";
			gpios = <&gpio3 2 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&enocean_button>;

		key-enocean {
			label = "EnOcean";
			linux,code = <KEY_NEW>;
			gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
		};
	};
};

&i2c0 {
	status = "disabled";
};

&led_pins {
	fsl,pinmux-ids = <
		MX28_PAD_SAIF0_MCLK__GPIO_3_20
		MX28_PAD_SAIF0_LRCLK__GPIO_3_21
		MX28_PAD_AUART0_CTS__GPIO_3_2
		MX28_PAD_I2C0_SCL__GPIO_3_24
		MX28_PAD_I2C0_SDA__GPIO_3_25
	>;
};

&pinctrl {
	enocean_button: enocean-button@0 {
		reg = <0>;
		fsl,pinmux-ids = <
			MX28_PAD_AUART0_RTS__GPIO_3_3
		>;
		fsl,drive-strength = <MXS_DRIVE_4mA>;
		fsl,voltage = <MXS_VOLTAGE_HIGH>;
		fsl,pull-up = <MXS_PULL_DISABLE>;
	};
};
