// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright (c) 2014 Protonic Holland
 */

/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6qdl-prti6q.dtsi"
#include <dt-bindings/leds/common.h>

/ {
	model = "Protonic RVT board";
	compatible = "prt,prtrvt", "fsl,imx6dl";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x10000000>;
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_leds>;

		led-debug0 {
			function = LED_FUNCTION_STATUS;
			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
		};
	};
};

&can1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_can1 &pinctrl_can1phy>;
	status = "okay";
};

&ecspi1 {
	cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi1>;
	status = "okay";

	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <20000000>;
		#address-cells = <1>;
		#size-cells = <1>;
	};
};

&ecspi3 {
	cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi3>;
	status = "okay";

	nfc@0 {
		compatible = "ti,trf7970a";
		reg = <0>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_nfc>;
		spi-max-frequency = <2000000>;
		interrupts-extended = <&gpio5 14 IRQ_TYPE_LEVEL_LOW>;
		ti,enable-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>,
				  <&gpio5 11 GPIO_ACTIVE_LOW>;
		vin-supply = <&reg_3v3>;
		vin-voltage-override = <3100000>;
		autosuspend-delay = <30000>;
		irq-status-read-quirk;
		en2-rf-quirk;
		t5t-rmb-extra-byte-quirk;
		status = "okay";
	};
};

&i2c3 {
	adc@49 {
		compatible = "ti,ads1015";
		reg = <0x49>;
		#address-cells = <1>;
		#size-cells = <0>;

		/* nc */
		channel@4 {
			reg = <4>;
			ti,gain = <3>;
			ti,datarate = <3>;
		};

		/* nc */
		channel@5 {
			reg = <5>;
			ti,gain = <3>;
			ti,datarate = <3>;
		};

		/* can1_l */
		channel@6 {
			reg = <6>;
			ti,gain = <3>;
			ti,datarate = <3>;
		};

		/* can1_h */
		channel@7 {
			reg = <7>;
			ti,gain = <3>;
			ti,datarate = <3>;
		};
	};

	rtc@51 {
		compatible = "nxp,pcf8563";
		reg = <0x51>;
	};
};

&pcie {
	status = "okay";
};

&usbh1 {
	status = "disabled";
};

&usbotg {
	disable-over-current;
};

&vpu {
	status = "disabled";
};

&iomuxc {
	pinctrl_can1phy: can1phy {
		fsl,pins = <
			/* CAN1_SR */
			MX6QDL_PAD_KEY_COL3__GPIO4_IO12	0x13070
			/* CAN1_TERM */
			MX6QDL_PAD_GPIO_0__GPIO1_IO00	0x1b0b0
		>;
	};

	pinctrl_ecspi1: ecspi1grp {
		fsl,pins = <
			MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
			MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
			MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
			/* CS */
			MX6QDL_PAD_EIM_D19__GPIO3_IO19		0x000b1
		>;
	};

	pinctrl_ecspi3: ecspi3grp {
		fsl,pins = <
			MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK	0x100b1
			MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI	0x100b1
			MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO	0x100b1
			MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24	0x000b1
		>;
	};

	pinctrl_leds: ledsgrp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_8__GPIO1_IO08		0x1b0b0
		>;
	};

	pinctrl_nfc: nfcgrp {
		fsl,pins = <
			/* NFC_ASK_OOK */
			MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09	0x100b1
			/* NFC_PWR_EN */
			MX6QDL_PAD_DISP0_DAT16__GPIO5_IO10	0x100b1
			/* NFC_EN2 */
			MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11	0x100b1
			/* NFC_EN */
			MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12	0x100b1
			/* NFC_MOD */
			MX6QDL_PAD_DISP0_DAT19__GPIO5_IO13	0x100b1
			/* NFC_IRQ */
			MX6QDL_PAD_DISP0_DAT20__GPIO5_IO14	0x100b1
		>;
	};
};
