IOMUX in Uboot 2017.03

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IOMUX in Uboot 2017.03

1,386 Views
yashavanthashet
Contributor V

Hi,

In all old u-boot versions, we used to do IOMUX pin configuration only in board file.

But it looks like, in u-boot version 2017.03 supported by i.MX8 4.9.51 release, IOMUX is done both in dts file and bard file.

Kindly let me know what is the need of IOMUX configuration in 2 places.

Thanks in advance.

Regards,

Yashavantha

5 Replies

985 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Yashavantha,

You would need to describe the hardware available first to the bootloader and then to the kernel. Before Kernel 3.10 the hardware description was compiled within the kernel itself but now it’s handled through the device tree, which allows for more flexibility since you can have one kernel on several boards changing only the device tree.

In a way this double configuration (bootloader and kernel) has been there before, only in a different way.

I hope this information helps!

Regards,

0 Kudos
Reply

985 Views
yashavanthashet
Contributor V

Hi Gusarmbula.

Thank you for your reply.

I am not asking about device tree files in kernel, I am asking about the device tree files which are there in uboot itself.

Regards,

Yashavantha

0 Kudos
Reply

985 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Yashavantha,

My apologies. Yes, the IOMUX is configured first for uboot and then for the kernel. You need to setup the IOMUX configuration for both the bootloader and the kernel independently (although it’s mostly redundant so they are pretty much the same declarations).

There is not really a reason for it besides that the bootloader and the kernel are independent projects, so each need their own copy of the hardware information to work.

I hope this answers your question!

Regards,

0 Kudos
Reply

985 Views
yashavanthashet
Contributor V

Hi Gusarmbula,

Thank you for your reply.

Please note that, I'm not asking about IOMUX which is there in uboot source code and linux source code separately. I have understood that iomux in uboot source code is for uboot and linux kerenl is for kernel.

But inside uboot source code itself there are iomux done in 2 files mentioned below.

uboot-imx/arch/arm/dts/fsl-imx8mq-evk.dts

uboot-imx/board/freescale/imx8mq_evk/imx8m_evk.c

why this both are required is my quesion?

Regards,

Yashavantha

0 Kudos
Reply

985 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Yashavantha,

My apologies and thank you for the additional information.

Yes, there is an on-going migration of hardware information from the usual .c to the device tree format for U-boot. The information is not completely redundant as some of the hardware information is now only on the device tree file and the .c files tend to be smaller. I don’t have the specifics on how the decision is made on what information to keep in each format though, as it’s a fairy new feature in our BSPs.

I hope this helps!

Regards,