ok,thank you.
dmesg.txt (91.9 KB)
Hi, from hardware side, since your design is different to reference, you should handle the circuit design by yourself or with vendor, we canāt guarantee it is definitely correct. We can only suggest your design should refer to below example in Design Guide or that in P2822. But as the PD is different, not sure if it is correct in your schematic.
Yes, our design is the same as the schematic you sent, so we replaced the USB PD Controller, and the other pins were unchanged.
As shown in the figure below, our USB now works normally, but HDMI_DP0 these DP functions do not work.
Hello,According to the schematic you sent, we only have the USB PD controller is different, everything else is the same, how should I modify it to make the dp function work.Thank you.
Could you recover the one that get disabled by you first?
Hello,Ok, now this is my configurationļ¼thank you
/*
* Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* Common include DTS file for CVM:P2888-0001 and CVB:P2822-0000 variants.
*/
#include "dt-bindings/extcon-ids.h"
#include "tegra194-p2888-0000-a00.dtsi"
#include <t19x-common-platforms/tegra194-platforms-eqos.dtsi>
#include "tegra194-p2822-0000-a00.dtsi"
#include "tegra194-power-tree-p2888-0001-p2822-1000.dtsi"
#include <t19x-common-platforms/tegra194-comms.dtsi>
#include "tegra194-thermal-p2888.dtsi"
#include "tegra194-plugin-manager-p2888-0000.dtsi"
#include "tegra194-plugin-manager-p2822-0000.dtsi"
#include "tegra194-super-module-e2614-p2888-0000.dtsi"
#include <t19x-common-platforms/tegra194-no-pll-aon-clock.dtsi>
#include "dt-bindings/usb/pd.h"
/ {
nvidia,dtsfilename = __FILE__;
nvidia,dtbbuildtime = __DATE__, __TIME__;
nvidia,fastboot-usb-vid = <0x0955>;
nvidia,fastboot-usb-pid = <0xee1e>;
compatible = "nvidia,galen", "nvidia,jetson-xavier", "nvidia,p2822-0000+p2888-0001", "nvidia,tegra194";
chosen {
bootargs ="console=ttyTCU0,115200 mem=62G@2G";
board-has-eeprom;
};
firmware {
android {
compatible = "android,firmware";
hardware = "galen";
vbmeta {
compatible = "android,vbmeta";
parts = "vbmeta,kernel,kernel-dtb,APP,vendor,SOS";
};
fstab {
compatible = "android,fstab";
vendor {
compatible = "android,vendor";
dev = "/dev/block/platform/3460000.sdhci/by-name/vendor";
type = "ext4";
mnt_flags = "ro";
fsmgr_flags = "wait,avb";
};
odm {
compatible = "android,odm";
dev = "/dev/block/platform/3460000.sdhci/by-name/odm";
type = "ext4";
mnt_flags = "ro";
fsmgr_flags = "wait,avb";
};
};
};
};
bluedroid_pm {
compatible = "nvidia,tegra-bluedroid_pm";
bluedroid_pm,reset-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(M, 6) 0>;
bluedroid_pm,host-wake-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Y, 0) 0>;
bluedroid_pm,ext-wake-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(M, 7) 0>;
interrupt-parent = <&tegra_main_gpio>;
interrupts = <TEGRA194_MAIN_GPIO(Y, 0) IRQ_TYPE_EDGE_FALLING>;
};
spi@c260000 {
status = "disabled";
};
spi@3210000 {
status = "okay";
spi@0 {
compatible = "tegra-spidev";
reg = <0x0>;
spi-max-frequency = <33000000>;
controller-data {
nvidia,enable-hw-based-cs;
nvidia,rx-clk-tap-delay = <0x11>;
};
};
spi@1 {
compatible = "tegra-spidev";
reg = <0x1>;
spi-max-frequency = <33000000>;
controller-data {
nvidia,enable-hw-based-cs;
nvidia,rx-clk-tap-delay = <0x11>;
};
};
};
spi@3270000 {
status = "disabled";
};
spi@3300000 {
status = "disabled";
};
#if TEGRA_PMC_VERSION >= DT_VERSION_2
pmc@c360000 {
nvidia,invert-interrupt;
};
#else
pmc@c370000 {
nvidia,invert-interrupt;
};
#endif
hdr40_i2c0: i2c@c240000 {
husb311: husb311@4e {
compatible = "hynetek,husb311";
reg = <0x4e>;
status = "okay";
interrupt-parent = <&tegra_main_gpio>;
interrupts = <TEGRA194_MAIN_GPIO(B, 2) IRQ_TYPE_LEVEL_LOW>;
// vbus-supply = <&vcc5v0_typec>;
// vbus-supply = <&battery_reg>;
usb_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
data-role = "dual";
power-role = "dual";
try-power-role = "sink";
source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)
PDO_VAR(5000, 5000, 1000)>;
op-sink-microwatt = <10000000>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
husb311_ep: endpoint {
remote-endpoint = <&usb_role_switch1>;
};
};
};
};
};
bmi160@69 {
compatible = "bmi,bmi160";
reg = <0x69>;
interrupt-parent = <&tegra_aon_gpio>;
interrupts = <TEGRA194_AON_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
accelerometer_matrix = [01 00 00 00 01 00 00 00 01];
gyroscope_matrix = [01 00 00 00 01 00 00 00 01];
accelerometer_delay_us_min = <1250>;
gyroscope_delay_us_min = <1250>;
status = "disabled";
};
ucsi_ccg: ucsi_ccg@8 {
status = "okay";
#if TEGRA_XUSB_DT_VERSION == DT_VERSION_2
typec-extcon {
typec_port0: port-0 {
status = "okay";
#extcon-cells = <1>;
};
typec_port1: port-1 {
status = "okay";
#extcon-cells = <1>;
};
};
typec-pd {
typec_pd: pd {
status = "okay";
#extcon-cells = <1>;
};
};
#endif
#if TEGRA_XUSB_DT_VERSION >= DT_VERSION_3
ccgx,firmware-build = "gn";
ccg_typec_con0: connector@0 {
compatible = "usb-c-connector";
label = "USB-C";
data-role = "dual";
port {
ucsi_ccg_p0: endpoint {
remote-endpoint = <&usb_role_switch0>;
};
};
};
#endif
};
};
xusb_padctl: xusb_padctl@3520000 {
status = "okay";
pads {
usb2 {
lanes {
usb2-0 {
nvidia,function = "xusb";
status = "okay";
};
usb2-1 {
nvidia,function = "xusb";
status = "okay";
};
usb2-2 {
nvidia,function = "xusb";
status = "okay";
};
usb2-3 {
nvidia,function = "xusb";
status = "okay";
};
};
};
usb3 {
lanes {
usb3-0 {
nvidia,function = "xusb";
status = "okay";
};
usb3-2 {
nvidia,function = "xusb";
status = "okay";
};
usb3-3 {
nvidia,function = "xusb";
status = "okay";
};
};
};
};
ports {
usb2-0 {
// mode = "otg";
mode = "host";
usb-role-switch;
vbus-supply = <&battery_reg>;
status = "okay";
#if TEGRA_XUSB_DT_VERSION >= DT_VERSION_3
port {
#address-cells = <1>;
#size-cells = <0>;
usb_role_switch0: endpoint@0 {
reg = <0>;
remote-endpoint = <&ucsi_ccg_p0>;
};
usb_role_switch1: endpoint@1 {
reg = <1>;
remote-endpoint = <&husb311_ep>;
};
};
#endif
};
usb2-1 {
mode = "host";
status = "okay";
};
usb2-2 {
mode = "host";
status = "okay";
};
usb2-3 {
mode = "host";
status = "okay";
};
usb3-0 {
nvidia,usb2-companion = <1>;
status = "okay";
};
usb3-2 {
nvidia,usb2-companion = <0>;
status = "okay";
};
usb3-3 {
nvidia,usb2-companion = <3>;
nvidia,usb3-gen1-only= <1>;
status = "okay";
};
};
};
tegra_xudc: xudc@3550000 {
#if TEGRA_XUSB_DT_VERSION == DT_VERSION_2
extcon-cables = <&typec_port0 0>;
extcon-cable-names = "vbus";
#extcon-cells = <1>;
#endif
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>;
#if defined(LINUX_VERSION) && LINUX_VERSION > 414
phy-names = "usb2-0", "usb3-2";
#else
phy-names = "usb2", "usb3";
#endif
nvidia,xusb-padctl = <&xusb_padctl>;
nvidia,boost_cpu_freq = <1200>;
status = "okay";
};
tegra_xhci: xhci@3610000 {
#if TEGRA_XUSB_DT_VERSION == DT_VERSION_2
extcon-cables = <&typec_port0 1>;
extcon-cable-names = "id";
#extcon-cells = <1>;
#endif
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-3}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-3}>;
phy-names = "usb2-0", "usb2-1", "usb2-3", "usb2-2",
"usb3-2", "usb3-0", "usb3-3";
nvidia,xusb-padctl = <&xusb_padctl>;
nvidia,boost_emc_freq = <500>;
status = "okay";
};
arm-pmu {
status = "okay";
};
power-domain {
status = "disabled";
};
interrupt-controller {
status = "disabled";
};
mods-simple-bus {
status = "disabled";
};
eeprom-manager {
status = "disabled";
};
cpuidle {
compatible = "nvidia,tegra19x-cpuidle";
status = "okay";
};
thermal-zones {
status = "disabled";
};
reserved-memory {
ramoops_carveout {
status = "okay";
};
};
mttcan@c310000 {
status = "okay";
};
mttcan@c320000 {
status = "okay";
};
serial@3110000 {
status = "okay";
};
pwm@3280000 {
status = "okay";
};
pwm@32c0000 {
status = "okay";
};
pwm@32f0000 {
status = "okay";
};
hdr40_i2c1: i2c@31e0000 {
pinctrl-names = "default";
pinctrl-0 = <&dpaux_default>;
bmi160@69 {
compatible = "bmi,bmi160";
reg = <0x69>;
accelerometer_matrix = [01 00 00 00 01 00 00 00 01];
gyroscope_matrix = [01 00 00 00 01 00 00 00 01];
status = "disabled";
};
};
host1x@13e00000 {
dpaux@155F0000 {
status = "okay";
compatible = "nvidia,tegra194-dpaux3-padctl";
#if LINUX_VERSION <= 419
/delete-property/ power-domains;
#endif
dpaux_default: pinmux@0 {
dpaux3_pins {
pins = "dpaux3-3";
function = "i2c";
};
};
};
};
ufshci@2450000 {
status = "disabled";
nvidia,enable-hs-mode;
nvidia,cd-gpios = <&tegra_aon_gpio TEGRA194_AON_GPIO(EE, 0) GPIO_ACTIVE_HIGH>;
nvidia,cd-wakeup-capable;
};
pfsd {
pwm_polarity= <PWM_POLARITY_NORMAL>;
suspend_state = <0>;
};
efuse@3820000 {
#if LINUX_VERSION < 419
efuse-burn {
nvidia,tz = <&pllx>;
nvidia,temp-range = <(-19000) 117000>;
thermal-zone = <5>;
};
#endif
};
#if LINUX_VERSION >= 419
efuse-burn {
nvidia,tz = <&pllx>;
nvidia,temp-range = <(-19000) 117000>;
};
#endif
tegra_udrm: tegra_udrm {
compatible = "nvidia,tegra-udrm";
status = "okay";
};
nvsciipc-kernel {
compatible = "nvidia,nvsciipc";
status = "okay";
};
clocks-init {
compatible = "nvidia,clocks-config";
status = "okay";
disable {
clocks = <&aon_clks TEGRA194_CLK_PLLAON>,
<&bpmp_clks TEGRA194_CLK_CAN1>,
<&bpmp_clks TEGRA194_CLK_CAN2>;
};
};
};
#if TEGRA_XUSB_DT_VERSION == DT_VERSION_2
&head0 {
extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
#extcon-cells = <1>;
};
&head1 {
extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
#extcon-cells = <1>;
};
&head2 {
extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
#extcon-cells = <1>;
};
&sor0 {
nvidia,typec-port = /bits/ 8 <0>;
};
&sor1 {
nvidia,typec-port = /bits/ 8 <1>;
};
#endif
#if LINUX_VERSION >= 414
#include <tegra194-linux-4.14.dtsi>
#endif
Have you checked whether the power supply node for display is configured correctly in your device tree?
Hello, I replied late, itās my problem, the device address of THUSB1046 has been changed to 0x0c, because THUSB1046 controls USB and dp switching, but I donāt know that is the node of TUSB1046, I need to modify it to 0x0c, can you tell me that is the device tree node of TUSB1046? I need to change his address, thanks for the help.
It seems not a component we are using. So I donāt know the answer to your question.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.