Disable LCD for GPIO

I would like to use some more gpios (107, 131, 130, 113, 112), which are occupied by dcu/LCD normally

So I disabled all framebuffer code in the kernel


created my own upper layer dtsi and dts as described in Device Tree Customization | Toradex Developer Center

Here I set the dcu0 to

&dcu0 {
	status = "disabled";

This seems not to work, as I still see strange things on the outputs.

Is there something more to do?

BTW: I do not have a SD-Card slot available on my board, so I just replaced the kernel on the file system (without invoking the bootloader). I wonder if there is something else to do.


You’re taking the correct approach. You’ll also need to add GPIO iomuxc settings to the device tree for the pins which you are repurposing. These LCD pins are initialized for the RGB interface by the bootloader, so you’ll need to explicitly mux them back to GPIOs in Linux. Refer to the ‘additionalgpios’ entry in ‘vf-colibri.dtsi’. 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.

In sounds like you are installing the kernel correctly, but be sure to also replace the device tree files as well. Additionally, be sure that you do a safe shutdown/reboot after replacing these files to ensure that the files are completely written to the flash.

After booting back up, enter uname -a to check that the correct kernel is loaded and that its creation date looks correct. Also enter ls -l /boot to check that the device tree files have a new modified date on the filesystem. You can check dmesg to see that the DCU is no longer being initialized.

Thanks for the answer!

I am on setting up the additional gpio from understanding the specification in vf-colibri.dtsi.

Can you hint me to the control specification of the bits (0x22ed)? I can not really find them:

&iomuxc {
	vf610-colibri {
		pinctrl_additionalgpio: additionalgpios {
			fsl,pins = <
				VF610_PAD_PTA12__GPIO_5		0x22ed
				VF610_PAD_PTA17__GPIO_7		0x22ed
				VF610_PAD_PTA20__GPIO_10	0x22ed
				VF610_PAD_PTA21__GPIO_11	0x22ed

Edit: I found the specification here:

@Tom, you can also find this (and other) information at our developer website.