Newer
Older
barebox / arch / arm / dts / imx6dl-plybas.dts
@Oleksij Rempel Oleksij Rempel on 18 Jun 2020 4 KB ARM: dts: imx6: add Protonic boards
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (c) 2014 Protonic Holland
 */

/dts-v1/;
#include <arm/imx6dl.dtsi>
#include "imx6qdl-vicut1.dtsi"

/ {
	model = "Plymovent BAS board";
	compatible = "ply,plybas", "fsl,imx6dl";

	memory {
		reg = <0x10000000 0x10000000>;
	};

	backlight_lcd {
		status = "disabled";
	};

	gpio_keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;
		autorepeat;
		button@20 {
			label = "START";
			linux,code = <31>;
			gpios = <&gpio5 8 1>;
		};
		button@21 {
			label = "CLEAN";
			linux,code = <46>;
			gpios = <&gpio5 9 1>;
		};
	};

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

		debug0 {
			label = "debug0";
			gpios = <&gpio1 8 0>;
		};

		debug1 {
			label = "debug1";
			gpios = <&gpio1 9 0>;
		};

		light_tower1 {
			label = "light_tower1";
			gpios = <&gpio4 22 0>;
			linux,default-trigger = "heartbeat";
		};

		light_tower2 {
			label = "light_tower2";
			gpios = <&gpio4 23 0>;
		};

		light_tower3 {
			label = "light_tower3";
			gpios = <&gpio4 24 0>;
		};

		light_tower4 {
			label = "light_tower4";
			gpios = <&gpio4 25 0>;
		};
	};
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet>;
	phy-mode = "rmii";
	phy-reset-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
	clocks = <&clks IMX6QDL_CLK_ENET>,
		 <&clks IMX6QDL_CLK_ENET>;
	clock-names = "ipg", "ahb";
	status = "okay";
};

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	fsl,uart-has-rtscts;
	linux,rs485-enabled-at-boot-time;
	rs485-rts-delay = <0 20>;
	status = "okay";
};

&iomuxc {
	pinctrl_hog: hoggrp {
		fsl,pins = <
			/* CAN1_SR + CAN2_SR GPIO outputs */
			MX6QDL_PAD_KEY_COL3__GPIO4_IO12	0x13070
			MX6QDL_PAD_KEY_ROW3__GPIO4_IO13	0x13070

			MX6QDL_PAD_EIM_D23__GPIO3_IO23	0x1b0b0 /* YACO_nIRQ */
			MX6QDL_PAD_EIM_D30__GPIO3_IO30	0x130b0 /* YACO_BOOT0 */
			MX6QDL_PAD_EIM_D31__GPIO3_IO31	0x1b0b0 /* YACO_nRESET */

			MX6QDL_PAD_DISP0_DAT0__GPIO4_IO21	0x13070 /* BUZZER */
			MX6QDL_PAD_DISP0_DAT6__GPIO4_IO27	0x13070 /* ANA_OUT_SD */
			MX6QDL_PAD_DISP0_DAT7__GPIO4_IO28	0x1b0b0 /* ANA_OUT_ERR */

			MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05	0x13070 /* RELAY1 */
			MX6QDL_PAD_DISP0_DAT12__GPIO5_IO06	0x13070 /* RELAY2 */

			MX6QDL_PAD_DISP0_DAT14__GPIO5_IO08	0x1b0b0 /* IN1 */
			MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09	0x1b0b0 /* IN2 */
			MX6QDL_PAD_DISP0_DAT16__GPIO5_IO10	0x1b0b0 /* IN3 */
			MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11	0x1b0b0 /* IN4 */
			MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12	0x1b0b0 /* IN5 */
			MX6QDL_PAD_DISP0_DAT19__GPIO5_IO13	0x1b0b0 /* IN6 */
			MX6QDL_PAD_DISP0_DAT20__GPIO5_IO14	0x1b0b0 /* IN7 */
			MX6QDL_PAD_DISP0_DAT21__GPIO5_IO15	0x1b0b0 /* IN8 */
			MX6QDL_PAD_DISP0_DAT22__GPIO5_IO16	0x1b0b0 /* IN9 */
			MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17	0x1b0b0 /* IN10 */
			MX6QDL_PAD_DI0_PIN4__GPIO4_IO20	0x1b0b0 /* IN11 */
			MX6QDL_PAD_DI0_PIN2__GPIO4_IO18	0x1b0b0 /* IN12 */

			MX6QDL_PAD_DI0_PIN3__GPIO4_IO19	0x1a0b0 /* HMI */

			/* HW revision detect */
			MX6QDL_PAD_SD4_DAT0__GPIO2_IO08 0x1b0b0 /* REV_ID0 */
			MX6QDL_PAD_SD4_DAT1__GPIO2_IO09 0x1b0b0 /* REV_ID1 */
			MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x1b0b0 /* REV_ID2 */
			MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b0 /* REV_ID3 */
			MX6QDL_PAD_SD4_DAT4__GPIO2_IO12 0x1b0b0 /* REV_ID4 */
		>;
	};

	pinctrl_leds: ledsgrp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_8__GPIO1_IO08	0x1b0b0 /* DEBUG0 */
			MX6QDL_PAD_GPIO_9__GPIO1_IO09	0x1b0b0 /* DEBUG1 */

			MX6QDL_PAD_DISP0_DAT1__GPIO4_IO22	0x13070 /* LED1 (lighttower) */
			MX6QDL_PAD_DISP0_DAT2__GPIO4_IO23	0x13070 /* LED2 (lighttower) */
			MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24	0x13070 /* LED3 (lighttower) */
			MX6QDL_PAD_DISP0_DAT4__GPIO4_IO25	0x13070 /* LED4 (lighttower) */
		>;
	};

	/* RS485 UART */
	pinctrl_uart2: uart2grp {
		fsl,pins = <
			MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
			MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
			MX6QDL_PAD_EIM_D28__UART2_DTE_CTS_B	0x130b1
		>;
	};

	pinctrl_pwm1: pwm1grp {
		fsl,pins = <
			MX6QDL_PAD_DISP0_DAT8__PWM1_OUT		0x1b0b0
		>;
	};

	pinctrl_enet: enetgrp {
		fsl,pins = <
			/* MX6QDL_ENET_PINGRP4 */
			MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
			MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0     0x1b0b0
			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1     0x1b0b0
			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER       0x1b0b0
			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN       0x1b0b0
			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0     0x1b0b0
			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1     0x1b0b0
			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN      0x1b0b0

			MX6QDL_PAD_GPIO_16__ENET_REF_CLK   0x1b0b0
			/* Phy reset */
			MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26	0x1b0b0
			/* nINTRP */
			MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30	0x1b0b0
		>;
	};
};