I'm confused about the iomux settings on some pads. I've noticed that sometimes, there will be a bit set in the upper word of the pad setting. What exactly is the hex value next to the pad designation controlling? I'm finding a lot of conflicting information.
For example:
&iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_hog>;pinctrl_i2c1: i2c1grp { fsl,pins = < MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0 MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0 >; }; };
This shows a 32-bit number, but when I look in the reference manual for either pad setting under iomuxc, for example section 30.5.41, it shows all but the lower 5 bits as reserved. Is that not what the value for the fsl,pins array is used for? I thought maybe it was related to the config bits definition in fsl,imx6ul-pinctrl.txt, but that list only seems to show valid settings in the lower 17 bits. But in the example above, and in many other pinctrl settings, there are sometimes bits set in positions 30 and 31. What am I missing?
I'm having problems with my I2C bus (both of them) where u-boot probe shows no addresses appearing. I'm using the evk device tree settings for these pads, but since I can't make heads or tails of the pinctrl setting number (0x4001b8b0, in particular, the leading "4") since my understanding is that the pinctrl number should be at most 17 bits, I can't tell if it's the device tree setting causing the problem (though I realize the device tree doesn't affect u-boot).
Solved! Go to Solution.
Hi David
leading "4" is SION (1 << 30): Software Input On Field.
fsl,imx-pinctrl.txt\pinctrl\bindings\devicetree\Documentation - linux-imx - i.MX Linux kernel
as described in linux documentation in linux/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt
hex value next to the pad is pad IOMUXC_SW_PAD_CTL_PAD_x register setting described in
Chapter 30 IOMUX Controller (IOMUXC) i.MX6UL Reference Manual.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi David
leading "4" is SION (1 << 30): Software Input On Field.
fsl,imx-pinctrl.txt\pinctrl\bindings\devicetree\Documentation - linux-imx - i.MX Linux kernel
as described in linux documentation in linux/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt
hex value next to the pad is pad IOMUXC_SW_PAD_CTL_PAD_x register setting described in
Chapter 30 IOMUX Controller (IOMUXC) i.MX6UL Reference Manual.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Am I maybe using the wrong kernel version? The copy of fsl,imx-pinctrl.txt that i have in the kernel i downloaded does not mention bits 30 and 31. Also in the reference manual SION is shown as bit 5. why is there a discrepancy? is the left-shifting purely interpreted by the pinctrl driver?
recommended to use nxp official linux repository
nxp official linux documentation
reference manual SION is register description, while linux dts is interpreting it in own manner.
~igor
Can you tell me where/how I can download the desktop environment that loads after the kernel (i think that's called the root filesystem)? I've tried linaro debian jessie but it takes a really long time to get the graphical desktop to show up on my lcd. in all the files i can find in the links you gave me, i can only find sd card images, but not a tar or zip file of the embedded os itself. i have a good working kernel and bootloader, so i don't want to have to overwrite those on my sd card if i can avoid it.
Hi David
please create separate threads for new questions.
Best regards
igor