USB1_EN_OC Pin is LOW in our custom board

Hello,

We want to use USB1_EN_OC pin to HIGH, but it LOW on our custom board.
And this pin works on Dev Kit.
The device tree and pinmux are same as I known, because we flash same image.

I think It doesn’t need to modify pinmux setting for USB1_EN_OC.
So, I don’t understand. Why is this signal LOW ?

I know the consideration about INA3221 ([Jetson/TX2 USB - eLinux.org]).
But it looks not related to USB1_EN_OC.

The vbus_en1_oc is sat as follows

		vbus_en1_oc_passthrough {
			phandle = <0xab>;
			linux,phandle = <0xab>;

			usb_vbus_en1_pl5 {
				nvidia,enable-input = <0x1>;
				nvidia,pins = "usb_vbus_en1_pl5";
				nvidia,tristate = <0x0>;
				nvidia,io-high-voltage = <0x1>;
				nvidia,function = "usb";
			};
		};

		vbus_en1_default {
			phandle = <0xa7>;
			linux,phandle = <0xa7>;

			usb_vbus_en1_pl5 {
				nvidia,enable-input = <0x1>;
				nvidia,pins = "usb_vbus_en1_pl5";
				nvidia,io-high-voltage = <0x1>;
				nvidia,function = "rsvd1";
			};
		};

		vbus_en1_oc_tristate {
			phandle = <0xa9>;
			linux,phandle = <0xa9>;

			usb_vbus_en1_pl5 {
				nvidia,enable-input = <0x1>;
				nvidia,pins = "usb_vbus_en1_pl5";
				nvidia,tristate = <0x1>;
				nvidia,io-high-voltage = <0x1>;
				nvidia,function = "usb";
			};
		};

extracted_tx2.dts (499.2 KB)

Do you think it needs to modify device tree or pinmux for USB1_EN_OC?

What do you want to do here? Is it related to controlling the usb power?

This is the USB circuit.

Yes, we need it enabling for using USB.

  1. For the document, please refer to adaptation guide
    generic-no-api_r2

  2. Please check keywords “vbus-supply = <&vdd_usb1_5v>”. You need to let the driver to control the pin. Not just control it by yourself through pinmux. If want to detect the over current, also need to set nvidia,oc-pin = <1>;.

Regulators are sat in the dts file what i shared on the top as follows :

	pinctrl@3520000 {
                ...
       		vbus-1-supply = <0xad>;
                ...
		vbus-0-supply = <0xac>;
                ...
        }

		regulator@4 {
			regulator-enable-ramp-delay = <0x3b1>;
			compatible = "regulator-fixed-sync";
			gpio-open-drain;
			enable-active-high;
			gpio = <0x1b 0x5c 0x0>;
			regulator-disable-ramp-delay = <0xa5a>;
			phandle = <0xac>;
			regulator-min-microvolt = <0x4c4b40>;
			reg = <0x4>;
			regulator-max-microvolt = <0x4c4b40>;
			regulator-name = "vdd-usb0-5v";
			linux,phandle = <0xac>;
		};

		regulator@5 {
			regulator-enable-ramp-delay = <0x320>;
			compatible = "regulator-fixed-sync";
			gpio-open-drain;
			enable-active-high;
			gpio = <0x1b 0x5d 0x0>;
			regulator-disable-ramp-delay = <0x32c8>;
			phandle = <0xad>;
			regulator-min-microvolt = <0x4c4b40>;
			reg = <0x5>;
			regulator-max-microvolt = <0x4c4b40>;
			regulator-name = "vdd-usb1-5v";
			linux,phandle = <0xad>;
		};

Regulator looks OK.

And USB ports are sat as follow :

		ports {
			usb3-0 {
				status = "okay";
				nvidia,usb2-companion = <0x1>;
			};

			hsic-0 {
				status = "disabled";
			};

			usb2-2 {
				vbus-supply = <0xae>;
				mode = "host";
				status = "okay";
			};

			usb2-0 {
				vbus-supply = <0xac>;
				mode = "otg";
				status = "okay";
				nvidia,oc-pin = <0x0>;
			};

			usb3-1 {
				status = "disabled";
				nvidia,usb2-companion = <0x1>;
			};

			usb2-1 {
				vbus-supply = <0xad>;
				mode = "host";
				status = "okay";
				nvidia,oc-pin = <0x1>;
			};

			usb3-2 {
				status = "disabled";
			};
		};

We are using USB1_DN/DP.
So, ‘usb2-1’ port looks OK.

I confused, what can i change?

There are some more configuration about usb.
Does anything need to change?

		pinmux {
                        ...
			usb2-micro-AB {
				nvidia,lanes = "otg-0";
				nvidia,port-cap = <0x3>;
				nvidia,function = "xusb";
				nvidia,oc-pin = <0x0>;
			};

			usb2-std-A-port2 {
				nvidia,lanes = "otg-1";
				nvidia,port-cap = <0x1>;
				nvidia,function = "xusb";
				nvidia,oc-pin = <0x1>;
			};

			usb3-std-A-port2 {
				nvidia,lanes = "usb3-1";
				nvidia,port-cap = <0x1>;
				nvidia,oc-pin = <0x1>;
			};

			e3325-usb3-std-A-HS {
				nvidia,lanes = "otg-2";
				nvidia,port-cap = <0x1>;
				status = "disabled";
				nvidia,function = "xusb";
			};
		};

Read the document and it will tell.

1 Like

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