AnsweredAssumed Answered

Error in code generated by IOMUX tool for iMX6SDL using USDHC

Question asked by Marco Contenti on Jul 25, 2014
Latest reply on Jul 31, 2014 by Marco Contenti

I was trying to generate pin-muxing code for a custom board capable to use both iMX6DQ and iMX6SDL CPU flavors.

I had no problems building the code for iMX6DQ, but got a few undefined symbols when trying to compile for iMX6SDL, namely:

HW_IOMUXC_USDHC1_CARD_CLK_IN_SELECT_INPUT_WR

HW_IOMUXC_USDHC2_CARD_CLK_IN_SELECT_INPUT_WR

HW_IOMUXC_USDHC4_CARD_CLK_IN_SELECT_INPUT_WR

(this happen because I am only using USDHC interfaces 1, 2 and 4)

These symbols are not defined in the headers generated, however the register is listed in the iMX6SDL manual, with just one valid setting (the other is reserved), which is not the default, so it seems that setting it would be required. Interestingly, these registers aren't there in the iMX6DQ manual. Actually, I was a bit surprised to find a daisy-chain setting for SD clock signals that are output-only,

So, one of the following must be true:

1. Setting these registers is not required, then the lines of code referencing them shouldn't have been generated, nor should the input selection be available in the relevant "registers" page

2. Setting these registers is required, then the relevant definitions should be present in the generated headers

In either case, this is a bug to be fixed in the IOMUX tool. I think it may be rather simple to fix, and was wondering why isn't it possible to access the source code, so that users may submit patches themselves when they find a bug or create an enhancement (I have some in mind that could make the tool more powerful and easier to use...).

For now, I chose option 1 and commented out the extra lines in order to compile the code. Please tell me if I'm wrong.

 

Thanks and regards,

 

Marco

Outcomes