i.MX53 System Development User’s Guide GPIO Chapter Outdated

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

i.MX53 System Development User’s Guide GPIO Chapter Outdated

691 Views
TomE
Specialist II

This problem came up in this post:

https://community.freescale.com/thread/384191

Igorpadycov wrote:

Guidelines for code modifications are given in Chapter 12 Configuring the IOMUX

Controller (IOMUXC) i.MX53 System Development User’s Guide (rev.1, 3/2011)

http://www.freescale.com/files/32bit/doc/user_guide/MX53UG.pdf

The link above now point to "(Rev. 2, 06/2015)" of the document, but Chapter 12 hasn't change at all.

Which is a problem because it doesn't match Freescale's code releases for this chip.

The 2011 version got outdated about a month after its release, and the 2015 version didn't fix that problem.

MX53UG.pdf says that the "arch/arm/plat-mxc/include/mach/iomux-mx53.h" file should contain lines like:

#define MX53_PAD_ATA_CS_1__UART3_RXD IOMUX_PAD (0x620, 0x2A0, 4, 0x888, 3, MX53_UART_PAD_CTRL)

That was correct up to and including the "imx_2.6.35_10.12.01" version of Freescale's code, which is here:

http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/arch/arm/plat-mxc/include/mach/iomu...

In the very next version (11.04.01), this changed from a 746 line file configured specifically to the board in use to a 2,433 line file that includes every possible pin configuration, where the above single line has changed to this:

http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/arch/arm/plat-mxc/include/mach/iomu...

#define _MX53_PAD_PATA_CS_1__PATA_CS_1          IOMUX_PAD(0x620, 0x2A0, 0, 0x0, 0, 0)
#define _MX53_PAD_PATA_CS_1__GPIO7_10           IOMUX_PAD(0x620, 0x2A0, 1, 0x0, 0, 0)
#define _MX53_PAD_PATA_CS_1__UART3_RXD_MUX      IOMUX_PAD(0x620, 0x2A0, 4, 0x888, 3, 0)
#define _MX53_PAD_PATA_CS_1__USBPHY1_DATAOUT_6  IOMUX_PAD(0x620, 0x2A0, 7, 0x0, 0, 0

#define MX53_PAD_PATA_CS_1__PATA_CS_1           (_MX53_PAD_PATA_CS_1__PATA_CS_1 | MUX_PAD_CTRL(NO_PAD_CTRL))
#define MX53_PAD_PATA_CS_1__GPIO7_10            (_MX53_PAD_PATA_CS_1__GPIO7_10 | MUX_PAD_CTRL(NO_PAD_CTRL))
#define MX53_PAD_PATA_CS_1__UART3_RXD_MUX       (_MX53_PAD_PATA_CS_1__UART3_RXD_MUX | MUX_PAD_CTRL(MX53_UART_PAD_CTRL))
#define MX53_PAD_PATA_CS_1__USBPHY1_DATAOUT_6   (_MX53_PAD_PATA_CS_1__USBPHY1_DATAOUT_6 | MUX_PAD_CTRL(NO_PAD_CTRL))

This means that the "iomux-mx53.h" file doesn't needs to be edited like the instructions say it does, as only the appropriate pin name in this file needs to be entered into the "machine layer file".

That change was made to the code in February 2011, but apparently released in April 2011, only one month after the User Guide was released in March 2011. But this wasn't picked up in the nearly 5 years since, and has missed making it into the next version.

According to this page, the currently supported versions of Linux for the i.MX53 products are as listed:

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

QSB: Linux 2.6.35 Source Code Files and documentation 11.09
Sabre Tablet: Linux 2.6.35 Source Code Files and documentation 11.05
Sabre Automotive: Linux 2.6.35 Source Code Files and documentation 11.03

All of those with the possible exception of the latter (11.03 and 11.04 dates don't match between package and kernel) aren't covered by the documentation.

As a separate problem, the last version matching the documentation was the last version that actually WORKED. All of the following ones seem to corrupt the pin configuration, disabling the pullups and changing the Drive Strength. That's what the other post is about. This was fixed in the Android releases and the code used for i.MX6 though.

Tom

Labels (3)
Tags (1)
0 Kudos
1 Reply

423 Views
igorpadykov
NXP Employee
NXP Employee

Hi Tom

I believe you are right, seems problem arised due to

combining hardware guide with software porting guide in one

document, since linux is fast developing, some chapters become

outdated. However this was fixed in i.MX6 documentation: there is

separate Hardware Development Guide and software i.MX BSP Porting Guide

which is updated according to each linux kernel release.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos