DTS File for GPIOs, UART, SPI and JTAG for imx6ull module

I am using the Toradex system-on-module colibri imx6ULL with a custom board.
I am trying to disable the LCD and use it’s GPIOs for my sensors. I have followed the answer in this link. I got stuck with one of the suggestion in the answer.

In addition to assigning these pings to an iomuxc pinctrl group, you’ll also need to assign the pinctrl group to an enabled node for them to get initialized. You can create a new node specifically for this purpose if you’d like.

  1. What does that line mean? Do I need to create a dummy node with status property set to okay?

  2. Can I change of the name appearing in /dev/ for uart port?

  3. How can I enable JTAG in my custom board?

  4. How can I enable SPI for my board?

My device tree source file is below:

/dts-v1/;

#include "imx6ull-colibri-nonwifi.dtsi"
#include "imx6ull-colibri-eval-v3.dtsi"

/ {
	model = "Toradex Colibri iMX6ULL 256MB on Colibri Evaluation Board V3";
	compatible = "toradex,colibri_imx6ull-eval", "fsl,imx6ull";

	&uart1 {
		status = "okay";
	};

	&uart2 {
		status = "okay";
	};

	&uart3 {
		status = "okay";
	};

	&uart4 {
		status = "disabled";
	};

	&uart5 {
		status = "disabled";
	};


	&ecspi1 {
		status = "okay";
	};

	&i2c1 {
		status = "okay";

		/* M41T0M6 real time clock on carrier board */
		rtc: m41t0m6@68 {
			status = "disabled";
		};
	};



	&pwm1 {
		status = "okay";
	};

	&pwm2 {
		status = "okay";
	};



	&lcdif {
		status = "disabled";
	};

	gpio_additional {
		pinctrl-name = "default";
		pinctrl-0 = <&pinctrl_additionalgpio>;
		status = "okay";
	};

	&ecspi1 {
		status = "okay";

	};

	&iomux {
		imx6ull-colibri {
			pinctrl_additionalgpio: additionalgpios {
				fsl,pins = <
					MX6UL_PAD_UART2_RTS_B__GPIO1_IO23 0x14 		// Pin 34 => GPS SafeBoot
					MX6UL_PAD_CSI_DATA00__GPIO4_IO21  0x14 		// Pin 101 => 1V8 Power Supply Enable
					MX6UL_PAD_LCD_ENABLE__GPIO3_IO01  0x14 		// Pin 44 => GPS EXINT
					MX6UL_PAD_LCD_DATA07__GPIO3_IO12  0x14 		// Pin 46 => GPS RST
					MX6UL_PAD_LCD_DATA09__GPIO3_IO14  0x14 		// Pin 48 => UNUSED
					MX6UL_PAD_LCD_DATA06__GPIO3_IO11  0x14 		// Pin 80 => SX1301 RST
				>;
			};
		};
	};
};

The device tree imx6ull-colibri-nonwifi.dtsi can be found over here.

The device tree imx6ull-colibri-eval-v3.dtsi can be found over here.

HI @abhiarora

Could you provide the version of the hardware and software of your module? Which carrier Board are you using?

What does that line mean? Do I need to create a dummy node with status property set to okay?
Or you can add these gpios to an existing gpio node.

Can I change of the name appearing in /dev/ for uart port?
Which name do you want?

How can I enable JTAG in my custom board?
Which pins did you connect to JTAG on your custom carrier board?

How can I enable SPI for my board?

Please have a look here.

Hi,
We have a custom board based on viola board.

I want name like /dev/ttyACM0 … It is not required but i was just curious to know if it is possible from device tree.

Can you verify my device tree and make changes if required? This will be very helpful. Regarding JTAG, let me ask my team which pins they have used.

Hardware: Colibri iMX6ULL 256MB V1.0A Non-Wifi version
Software: Toradex Yocto Project Embedded Linux
Carrier Board: Custom Board based on Viola Board

JTAG Pins are:

JTAG Interface Pins:

  1. JTAG_TMS: Pin 71 <> Display
  2. JTAG_TDO: Pin 23 <> CommunicationPeripheral
  3. JTAG_TDI: Pin 31 <> CommunicationPeripheral
  4. JTAG_DBGRQ: Pin 32 <> CommunicationPeripheral
  5. JTAG_TRST: Pin 102 <> DigitalPeripheral
  6. JTAG_TCK: Pin 99 <> DigitalPeripheral

The changes look ok. Could you provide the git diff output?

I want name like /dev/ttyACM0 … It is not required but i was just curious to know if it is possible from device tree.

It is not possible to change the name from device tree, but using udev. Please have a look here.

These pins are fine. Usually if these are not defined in device tree, they will act as JTAG Pins. So when the SOC starts up, you will have JTAG working at the beginning, till uboot or Linux takes over. If you want to use JTAG also during running uboot and Linux, then you need to take care that these JTAG Pins are not assigned to any other functionality.

@jaski.tx Can you help me with issues. I have asked another question: https://www.toradex.com/community/questions/27640/device-tree-for-uart-in-dce-mode-for-imx6ull-modul.html

Ok, you will get the answer in the new issue. Are the issues addressed in this question solved/answered?

Hi @chandrashekar
Could you ask a new question with all the necessary Information to reproduce the issue?

Thanks and best regards,
Jaski

I want to interface ds3234 SPI base rtc in imx6ull,
i have adedd ds3234/ds3234 in kernel config
please suggest how to proceed for it with clearlink text