Changing AO_HV pad voltage on AGX Orin

There are some pins in the AGX Orin AO_HV IO block that I need to use at 1.8V but this block is 3.3V by default in the Orin. I know there is a setting in the pinmux spreadsheet for changing the voltage between off/1.8V/3.3V. However, I noticed that the developer guide mentions that

If pad voltage is lower than the I/O power rail, then it can damage the SoC pads. Consequently, configuring the correct pad voltage is required based on the power tree.

I am not sure which I/O power rail this refers to and I have the following questions:

  1. Is it possible to change the IO voltage of the AO_HV block from 3.3V to 1.8V?
  2. If it is possible, is the only required step to change the pinmux spreadsheet and to take the generated padvoltage dtsi into use or are there other steps that need to be done (changing some power rail settings somewhere?)

hello rvkraft,

may I have more details.
there’re couple of regulators with 1v8, why don’t you using them directly.
for instance,

                p3737_vdd_1v8_sys: regulator@103 {
                        regulator-name = "vdd-1v8-sys";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;

                dsi_vdd_1v8_bl_en: regulator@116 {
                        regulator-name = "dsi-vdd-1v8-bl-en";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;

Hello JerryChang,

may I have more details.

I am trying to use the following AO_HV block pins as output GPIO pins with 1.8V I/O to interface with a chip that has 1.8V I/O:

  • CAN0_STB (PAA.04)
  • SOC_GPIO50 (PBB.02)
  • CAN0_ERR (PAA.07)

The reason why I would like to use these pins specifically is because they are routed through the camera connector on the Orin developer kit.

there’re couple of regulators with 1v8, why don’t you using them directly.

Do you mean I should somehow configure the AO_HV I/O power rail to use one of these regulators?

hello rvkraft,

is it camera use-case?
if yes, please check reference driver for using 1v8 power-supply directly.
for instance,
$public_sources/kernel_src/hardware/nvidia/platform/t23x/concord/kernel-dts/cvb/tegra234-p3737-0000-camera-imx274-dual.dtsi

Hello JerryChang,

Thanks for the reference. I checked the tegra234-p3737-0000-camera-imx274-dual.dtsi device tree file. I’m not sure if I understood it correctly, but it looks to me like the power supplies (e.g. vana-supply, vif-supply) are for the camera, not for the Orin pin I/O?

I have no issues powering the camera system. The problem I am having is that some of the Orin pins that are connected to the camera system are at 3.3V I/O level and the camera system I am using has 1.8V I/O. I am trying to lower the Orin side GPIO I/O from 3.3V to 1.8V so that the GPIO voltages on both sides would match.

This is why I want to know if the Orin AO_HV block pad voltage can be changed? And if it can be changed, how can it be changed correctly so that the SoC pads are not damaged?

hello rvkraft,

yes, that’s correct. they’re power supplies for camera function usage.

yes, you may update the voltage via pinmux update.
however, for this block, there’s no option for individual GPIO voltage configuration. any change to voltage level will apply to the whole block.
for instance,
there’re are CAN at 3.3V, please double confirmed there is no risk of damage on Orin I/O pins in this case where we change the VDDIO_C I/O block voltage to be 1.8V but drive 3.3V signal into the input.

Hello JerryChang,

any change to voltage level will apply to the whole block.
please double confirmed there is no risk of damage on Orin I/O pins in this case where we change the VDDIO_C I/O block voltage to be 1.8V but drive 3.3V signal into the input.

I have checked the connections to the VDDIO_C pins and there are no 3.3V signals connected to pins of that block in my setup. All of the I/O connected to that block from outside of the SoM is 1.8V.

However, there is this CAN1_ERR (GPIO3_PBB.03) pin in the VDDIO_C block in the pinmux sheet that is only within the Orin SoM (not routed outside of the module) and it is marked for “PWR_SAVE_MODE_N” use. I could not find any reference to this PWR_SAVE_MODE_N function in the documentation or the L4T sources.

Could you clarify if it is OK to have the CAN1_ERR PWR_SAVE_MODE_N Orin-internal pin operate at 1.8V I/O level?

That is OK to use 1.8V at it.

Hello Trumany & JerryChang,

Thanks for the help. I was now able to change the VDDIO_C pad voltage with the pinmux sheet and the pins measured 1.8V when driven high by the Orin, which is good.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.