162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Digi International's ConnectCore6UL SBC Express board device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2018 Digi International, Inc.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/dts-v1/;
1062306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
1162306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
1262306a36Sopenharmony_ci#include "imx6ul.dtsi"
1362306a36Sopenharmony_ci#include "imx6ul-ccimx6ulsom.dtsi"
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/ {
1662306a36Sopenharmony_ci	model = "Digi International ConnectCore 6UL SBC Express.";
1762306a36Sopenharmony_ci	compatible = "digi,ccimx6ulsbcexpress", "digi,ccimx6ulsom",
1862306a36Sopenharmony_ci		     "fsl,imx6ul";
1962306a36Sopenharmony_ci};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci&adc1 {
2262306a36Sopenharmony_ci	pinctrl-names = "default";
2362306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_adc1>;
2462306a36Sopenharmony_ci	status = "okay";
2562306a36Sopenharmony_ci};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci&can1 {
2862306a36Sopenharmony_ci	pinctrl-names = "default";
2962306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_flexcan1>;
3062306a36Sopenharmony_ci	xceiver-supply = <&ext_3v3>;
3162306a36Sopenharmony_ci	status = "okay";
3262306a36Sopenharmony_ci};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci&ecspi3 {
3562306a36Sopenharmony_ci	cs-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
3662306a36Sopenharmony_ci	pinctrl-names = "default";
3762306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_ecspi3_master>;
3862306a36Sopenharmony_ci	status = "okay";
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci&fec1 {
4262306a36Sopenharmony_ci	pinctrl-names = "default";
4362306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_enet1>;
4462306a36Sopenharmony_ci	phy-mode = "rmii";
4562306a36Sopenharmony_ci	phy-handle = <&ethphy0>;
4662306a36Sopenharmony_ci	status = "okay";
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	mdio {
4962306a36Sopenharmony_ci		#address-cells = <1>;
5062306a36Sopenharmony_ci		#size-cells = <0>;
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci		ethphy0: ethernet-phy@0 {
5362306a36Sopenharmony_ci			compatible = "ethernet-phy-ieee802.3-c22";
5462306a36Sopenharmony_ci			smsc,disable-energy-detect;
5562306a36Sopenharmony_ci			reg = <0>;
5662306a36Sopenharmony_ci		};
5762306a36Sopenharmony_ci	};
5862306a36Sopenharmony_ci};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci&i2c2 {
6162306a36Sopenharmony_ci	pinctrl-names = "default";
6262306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c2>;
6362306a36Sopenharmony_ci	status = "okay";
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci&pwm1 {
6762306a36Sopenharmony_ci	pinctrl-names = "default";
6862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_pwm1>;
6962306a36Sopenharmony_ci	status = "okay";
7062306a36Sopenharmony_ci};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci&uart4 {
7362306a36Sopenharmony_ci	pinctrl-names = "default";
7462306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart4>;
7562306a36Sopenharmony_ci	status = "okay";
7662306a36Sopenharmony_ci};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci&uart5 {
7962306a36Sopenharmony_ci	pinctrl-names = "default";
8062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart5>;
8162306a36Sopenharmony_ci	status = "okay";
8262306a36Sopenharmony_ci};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci&usbotg1 {
8562306a36Sopenharmony_ci	dr_mode = "host";
8662306a36Sopenharmony_ci	disable-over-current;
8762306a36Sopenharmony_ci	status = "okay";
8862306a36Sopenharmony_ci};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci&usbotg2 {
9162306a36Sopenharmony_ci	dr_mode = "host";
9262306a36Sopenharmony_ci	disable-over-current;
9362306a36Sopenharmony_ci	status = "okay";
9462306a36Sopenharmony_ci};
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci&usdhc2 {
9762306a36Sopenharmony_ci	pinctrl-names = "default";
9862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc2>;
9962306a36Sopenharmony_ci	broken-cd;      /* no carrier detect line (use polling) */
10062306a36Sopenharmony_ci	no-1-8-v;
10162306a36Sopenharmony_ci	status = "okay";
10262306a36Sopenharmony_ci};
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci&iomuxc {
10562306a36Sopenharmony_ci	pinctrl-names = "default";
10662306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_hog>;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci	pinctrl_adc1: adc1grp {
10962306a36Sopenharmony_ci		fsl,pins = <
11062306a36Sopenharmony_ci			/* GPIO1_4/ADC1_IN4 (pin 7 of the expansion header) */
11162306a36Sopenharmony_ci			MX6UL_PAD_GPIO1_IO04__GPIO1_IO04        0xb0
11262306a36Sopenharmony_ci		>;
11362306a36Sopenharmony_ci	};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	pinctrl_ecspi3_master: ecspi3grp1 {
11662306a36Sopenharmony_ci		fsl,pins = <
11762306a36Sopenharmony_ci			MX6UL_PAD_UART2_RX_DATA__ECSPI3_SCLK	0x10b0
11862306a36Sopenharmony_ci			MX6UL_PAD_UART2_CTS_B__ECSPI3_MOSI	0x10b0
11962306a36Sopenharmony_ci			MX6UL_PAD_UART2_RTS_B__ECSPI3_MISO	0x10b0
12062306a36Sopenharmony_ci			MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20	0x10b0 /* Chip Select */
12162306a36Sopenharmony_ci		>;
12262306a36Sopenharmony_ci	};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci	pinctrl_ecspi3_slave: ecspi3grp2 {
12562306a36Sopenharmony_ci		fsl,pins = <
12662306a36Sopenharmony_ci			MX6UL_PAD_UART2_RX_DATA__ECSPI3_SCLK	0x10b0
12762306a36Sopenharmony_ci			MX6UL_PAD_UART2_CTS_B__ECSPI3_MOSI	0x10b0
12862306a36Sopenharmony_ci			MX6UL_PAD_UART2_RTS_B__ECSPI3_MISO	0x10b0
12962306a36Sopenharmony_ci			MX6UL_PAD_UART2_TX_DATA__ECSPI3_SS0	0x10b0 /* Chip Select */
13062306a36Sopenharmony_ci		>;
13162306a36Sopenharmony_ci	};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci	pinctrl_enet1: enet1grp {
13462306a36Sopenharmony_ci		fsl,pins = <
13562306a36Sopenharmony_ci			MX6UL_PAD_GPIO1_IO07__ENET1_MDC		0x1b0b0
13662306a36Sopenharmony_ci			MX6UL_PAD_GPIO1_IO06__ENET1_MDIO	0x1b0b0
13762306a36Sopenharmony_ci			MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN	0x1b0b0
13862306a36Sopenharmony_ci			MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER	0x1b0b0
13962306a36Sopenharmony_ci			MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00	0x1b0b0
14062306a36Sopenharmony_ci			MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01	0x1b0b0
14162306a36Sopenharmony_ci			MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN	0x1b0b0
14262306a36Sopenharmony_ci			MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00	0x1b0b0
14362306a36Sopenharmony_ci			MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01	0x1b0b0
14462306a36Sopenharmony_ci			MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1	0x40017051
14562306a36Sopenharmony_ci		>;
14662306a36Sopenharmony_ci	};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci	pinctrl_flexcan1: flexcan1grp {
14962306a36Sopenharmony_ci		fsl,pins = <
15062306a36Sopenharmony_ci			MX6UL_PAD_LCD_DATA08__FLEXCAN1_TX	0x1b020
15162306a36Sopenharmony_ci			MX6UL_PAD_LCD_DATA09__FLEXCAN1_RX	0x1b020
15262306a36Sopenharmony_ci		>;
15362306a36Sopenharmony_ci	};
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci	pinctrl_i2c2: i2c2grp {
15662306a36Sopenharmony_ci		fsl,pins = <
15762306a36Sopenharmony_ci			MX6UL_PAD_GPIO1_IO00__I2C2_SCL 0x4001b8b0
15862306a36Sopenharmony_ci			MX6UL_PAD_GPIO1_IO01__I2C2_SDA 0x4001b8b0
15962306a36Sopenharmony_ci		>;
16062306a36Sopenharmony_ci	};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	pinctrl_pwm1: pwm1grp {
16362306a36Sopenharmony_ci		fsl,pins = <
16462306a36Sopenharmony_ci			MX6UL_PAD_LCD_DATA00__PWM1_OUT		0x10b0
16562306a36Sopenharmony_ci		>;
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci	pinctrl_uart4: uart4grp {
16962306a36Sopenharmony_ci		fsl,pins = <
17062306a36Sopenharmony_ci			MX6UL_PAD_LCD_CLK__UART4_DCE_TX		0x1b0b1
17162306a36Sopenharmony_ci			MX6UL_PAD_LCD_ENABLE__UART4_DCE_RX	0x1b0b1
17262306a36Sopenharmony_ci		>;
17362306a36Sopenharmony_ci	};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci	pinctrl_uart5: uart5grp {
17662306a36Sopenharmony_ci		fsl,pins = <
17762306a36Sopenharmony_ci			MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX	0x1b0b1
17862306a36Sopenharmony_ci			MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX	0x1b0b1
17962306a36Sopenharmony_ci		>;
18062306a36Sopenharmony_ci	};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci	pinctrl_usdhc2: usdhc2grp {
18362306a36Sopenharmony_ci		fsl,pins = <
18462306a36Sopenharmony_ci			MX6UL_PAD_CSI_HSYNC__USDHC2_CMD		0x17059
18562306a36Sopenharmony_ci			MX6UL_PAD_CSI_VSYNC__USDHC2_CLK		0x10071
18662306a36Sopenharmony_ci			MX6UL_PAD_CSI_DATA00__USDHC2_DATA0	0x17059
18762306a36Sopenharmony_ci			MX6UL_PAD_CSI_DATA01__USDHC2_DATA1	0x17059
18862306a36Sopenharmony_ci			MX6UL_PAD_CSI_DATA02__USDHC2_DATA2	0x17059
18962306a36Sopenharmony_ci			MX6UL_PAD_CSI_DATA03__USDHC2_DATA3	0x17059
19062306a36Sopenharmony_ci		>;
19162306a36Sopenharmony_ci	};
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci	/* General purpose pinctrl */
19462306a36Sopenharmony_ci	pinctrl_hog: hoggrp {
19562306a36Sopenharmony_ci		fsl,pins = <
19662306a36Sopenharmony_ci			/* GPIOs BANK 3 */
19762306a36Sopenharmony_ci			MX6UL_PAD_LCD_RESET__GPIO3_IO04		0xf030
19862306a36Sopenharmony_ci		>;
19962306a36Sopenharmony_ci	};
20062306a36Sopenharmony_ci};
201