How does one determine the power domain of a pin on the i.MX6ULL?

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

How does one determine the power domain of a pin on the i.MX6ULL?

Jump to solution
1,187 Views
JohnKlug
Senior Contributor I

For instance the pin:

MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT

 

If one is using GPIO_IO05 as the VSelect pin, what voltage is it using?

For instance in the description of IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO05, it gives differing R0 values depending on voltage, but does not mention which pin is the source of the voltage.  Does the voltage source depend on whether the pin is used as a GPIO, or a VSELECT on an SD card?

0 Kudos
1 Solution
1,109 Views
Mestkim
Contributor III

Here is my experience.

The power main of i.MX6ULL can be found in i.MX6ULL datasheet. 

For example: 

NXP Semiconductors
Data Sheet: Technical Data
Document Number: IMX6ULLIEC
Rev. 1.2, 11/2017

 

You question about the pad/pin GPIO_IO05 power domain can be found following the NVCC_GPIO.

I usually use pins tool/ config tool to help me. 

The tool can show lots of information, you do not have to search the document. 

 

 

Untitled1.png

Untitled2.png

pins tool/config tool

Untitled3.png

 

suggest you give the real power voltage like below. If has power domain conflict, the tool will give you warning. 

Untitled4.png

View solution in original post

0 Kudos
11 Replies
1,110 Views
Mestkim
Contributor III

Here is my experience.

The power main of i.MX6ULL can be found in i.MX6ULL datasheet. 

For example: 

NXP Semiconductors
Data Sheet: Technical Data
Document Number: IMX6ULLIEC
Rev. 1.2, 11/2017

 

You question about the pad/pin GPIO_IO05 power domain can be found following the NVCC_GPIO.

I usually use pins tool/ config tool to help me. 

The tool can show lots of information, you do not have to search the document. 

 

 

Untitled1.png

Untitled2.png

pins tool/config tool

Untitled3.png

 

suggest you give the real power voltage like below. If has power domain conflict, the tool will give you warning. 

Untitled4.png

0 Kudos
1,085 Views
JohnKlug
Senior Contributor I
If I configure the tool for USDHC2 DATA0-3 using LCD_DATA20-LCD_DATA23 pins, it says that the power domain for these pins is NVCC_LCD. So that implies that USDHC2 VSELECT should control the NVCC LCD pin when mapped this way.

Also, GPIO1_IO8 pad is controlled by NVCC_GPIO when this pad is used as USDHC2 VSELECT.

So this implies that the power group for pads is fixed, and does not depend on the function of the pin.

The power domain pin mapping in table 91 of IMX6ULLIEC is fixed, and changing mux register values makes no difference to the power domain.
0 Kudos
1,057 Views
Mestkim
Contributor III

Yes.

You still can use pads/pins for one here is usdhc1 in different power domain. 

You need to write download dts like following. 

pinctrl-0 = <&pinctrl_data  &pinctrl_vselect>;

There is an example for using pins in difference power domain. 

All those depend on the hardware design.

linux-imx\arch\arm\boot\dts\imx6sx-sdb.dtsi
&iomuxc {
imx6x-sdb {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog &pinctrl_can_gpios>;
 
pinctrl_hog: hoggrp {
fsl,pins = <
MX6SX_PAD_SD1_DATA0__GPIO6_IO_2 0x17059
MX6SX_PAD_SD1_DATA3__GPIO6_IO_5 0xb000
MX6SX_PAD_CSI_DATA03__GPIO1_IO_17 0x17059
>;
};
 
pinctrl_can_gpios: can-gpios {
fsl,pins = <
MX6SX_PAD_QSPI1B_DATA1__GPIO4_IO_25 0x17059
MX6SX_PAD_QSPI1B_DATA3__GPIO4_IO_27 0x17059
>;
};
 
linux-imx\arch\arm64\boot\dts\freescale\imx8mm-evk.dtsi
&ecspi2 {
#address-cells = <1>;
#size-cells = <0>;
fsl,spi-num-chipselects = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>;
cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
status = "okay";
 
spidev0: spi@0 {
reg = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <500000>;
};
};

 

 

0 Kudos
1,030 Views
JohnKlug
Senior Contributor I

Sometimes you are free to select alternate pins.

However, the pin chosen determines the power domain. Changing the purpose of the pin through the mux cannot change the domain is my understanding.

In the case of VSELECT, it must be known to the hardware and cannot be any GPIO. For USDHC1, VSELECT is one of only three pins:

GPIO1_IO5: NVCC_GPIO
ENET1_RX_EN: NVCC_ENET
CSI_DATA07: NVCC_CSI

For USDHC2, VSELECT is one of only two pins:
ENET1_TX_DATA0: NVCC_ENET
GPIO1_IO08: NVCC_GPIO

0 Kudos
1,015 Views
Mestkim
Contributor III

Yes, it is. 

 

Just one little issue on your reply. 

You have two USDHC1-s.

0 Kudos
1,009 Views
JohnKlug
Senior Contributor I
Thanks. I fixed that.
0 Kudos
1,146 Views
JohnKlug
Senior Contributor I

My question still remains.  What is the output voltage of pad GPIO1_IO05?

 

Does it depend on the mux setting? For instance, if it is set in the mux to USDHC1_VSELECT, is the output voltage of the pad determined by the voltage of NVCC_SD1?  In general, how do I know for a give pad what its voltage will be?  Is it influenced by the MUX setting of the pin or not?

 

Or is a give pad not influenced by the mux setting, and the same pad is always assigned to the same power domain.

0 Kudos
1,141 Views
brian14
NXP TechSupport
NXP TechSupport

Hi @JohnKlug

Sorry, for the misunderstanding your reply helps me to clarify my answer.

In my example, if we use the pad as a GPIO1_IO05 the source will be NVCC_GPIO (3.3v for the EVK schematic), in the other case the source will be the source configured by the module. For your configuration as USDHC1_VSELECT the source will be NVCC_SD and based on our EVK this source could be 1.8v or 3.3v.

Best regards, Brian.

0 Kudos
1,128 Views
JohnKlug
Senior Contributor I

Is there any specific documentation that calls out each function pin individually and its power supply domain?

If you were to use SD1 for eMMC instead, would data pins 4-7 also be connected to NVCC_SD power domain?  The documentation mentions data 0-3, but does not mention 4-7.

In the documentation it states that the I/O pins for the SDIO are controlled by NVCC_SD.

Normally I think off the I/O pins as being Clock, Command, and data, but you are saying that any pin tied to the SDIO interface is powered by NVCC_SD?

So the mux setting for the pad is important in determining which voltage is used by a particular pin of the CPU.

In the case of the MCIMX6ULL-EVK reference design, with SD1_VSELECT at 0V, the output of NVCC_SD will be 3V.  With the output of SD1_VSELECT at high state, NVCC_SD will be 1.8V, so that means that SD1_VSELECT will swing from 0 to 1.8V.

0 Kudos
1,148 Views
brian14
NXP TechSupport
NXP TechSupport

Hi @JohnKlug

Based on the Reference Manual for the iMX6ULL the VSELECT pin is an output signal used to change the voltage of the external power supplier.
Regarding, the voltage this pad is using, depends on your design and the device tree, for example in our EVK design for iMX6ULL have two sources that can be connected to this pad and is a designer decision.

Brian_Ibarra_5-1685045019385.png

Brian_Ibarra_6-1685045019386.png

As we can see in for NVCC_SD you can use 1.8v or 3.3v.

In addition to that, in the datasheet you can review the voltage ranges for both NVCC_GPIO and NVCC_SD.

Brian_Ibarra_7-1685045050077.png

About your second question the voltage source for this example will be NVCC_SD1 and you can decide whether use 1.8v or 3.3v.

I hope this information will be helpful.

Have a great day!

0 Kudos
1,107 Views
Mestkim
Contributor III

The NVCC_SD should be the usdhc data IO pins. Not for VSELECT pin. 

Untitled6.png

 

The VSELECT pin be configured by 

CSI_DATA07, ENET_RX_EN, GPIO1_IO05

and its power domains are  NVCC_CSI, NVCC_ENET and NVCC_GPIO

 

Because I want put all of those pads/pins information together , so the pins tool/config tool found conflict and give strong red error. 

 

Untitled5.png

 

0 Kudos