Change voltage on UART, SPI, GPIO

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

Change voltage on UART, SPI, GPIO

Jump to solution
1,840 Views
rajtantajtan
Contributor I

Hi

According to i.MX28 Applications Processor Reference Manual it is possible to change voltage on GPIO to 1.8V or 3.3V.

Does this mean that it is possible to change voltage on UART and SPI also or is it just when those pins are configured as GPIO?

Where and how do I configure the mux registers when I'm building the whole thing with Yocto?

Labels (2)
0 Kudos
1 Solution
1,389 Views
AnsonHuang
NXP Employee
NXP Employee

Hi, Rajtantajtan

     Based on my understanding, the voltage setting should be functioning for all pins except EMI pins, no matter what mux mode you set for this pin. As we can see that for SDHC or SPI, we set pins' voltage to 3V3. So you can do some measurement to confirm it, this is only my understanding, the pin's voltage setting is not just for GPIO. But for some modules that can NOT work at 3V3, we should be careful. The reset value of the pin already make it work at proper voltage, some pins are 1.8V, some are 3.3V, so before you change it, please make sure the devices connected in these pins can work at 3V3.

     To change a mux, please modify below file: arch/arm/mach-mx28/mx28evk_pins.c the structure in this file will set the pin's mux and voltage and drive strength etc.. Such as SPI:

1077         {

1078          .name  = "SSP2 MOSI",

1079          .id    = PINID_SSP2_MOSI,

1080          .fun   = PIN_FUN1,

1081          .strength      = PAD_4MA,

1082          .voltage       = PAD_3_3V,

1083          .drive         = 1,

1084          },

View solution in original post

0 Kudos
1 Reply
1,390 Views
AnsonHuang
NXP Employee
NXP Employee

Hi, Rajtantajtan

     Based on my understanding, the voltage setting should be functioning for all pins except EMI pins, no matter what mux mode you set for this pin. As we can see that for SDHC or SPI, we set pins' voltage to 3V3. So you can do some measurement to confirm it, this is only my understanding, the pin's voltage setting is not just for GPIO. But for some modules that can NOT work at 3V3, we should be careful. The reset value of the pin already make it work at proper voltage, some pins are 1.8V, some are 3.3V, so before you change it, please make sure the devices connected in these pins can work at 3V3.

     To change a mux, please modify below file: arch/arm/mach-mx28/mx28evk_pins.c the structure in this file will set the pin's mux and voltage and drive strength etc.. Such as SPI:

1077         {

1078          .name  = "SSP2 MOSI",

1079          .id    = PINID_SSP2_MOSI,

1080          .fun   = PIN_FUN1,

1081          .strength      = PAD_4MA,

1082          .voltage       = PAD_3_3V,

1083          .drive         = 1,

1084          },

0 Kudos