Device tree pinctrl 32-bit or 16-bit?

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

Device tree pinctrl 32-bit or 16-bit?

Jump to solution
1,677 Views
dluberger
Contributor V

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).

Labels (3)
0 Kudos
1 Solution
1,406 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
5 Replies
1,407 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,406 Views
dluberger
Contributor V

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?

0 Kudos
1,406 Views
igorpadykov
NXP Employee
NXP Employee

recommended to use nxp official linux repository

linux-imx - i.MX Linux kernel 

nxp official linux documentation

i.MX Software|NXP 

reference manual SION is register description, while linux dts is interpreting it in own manner.

~igor

0 Kudos
1,406 Views
dluberger
Contributor V

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.

0 Kudos
1,406 Views
igorpadykov
NXP Employee
NXP Employee

Hi David

please create separate threads for new questions.

Best regards
igor

0 Kudos