How to set xiaver nx gpio07 and gpio09 output mode?

Hi

一. 环境
硬件环境:xaiver nx
软件环境:jetpak 5.0.2

二. 问题
怎么将gpio07 和gpio09设置成输出模式,从《Jetson_Xavier_NX_Pinmux_Configuration_Template_v1.06.xlsm》这两个io默认为输入模式。

GPIO09 211 AUD_MCLK GPIO3_PS.04 AUD_MCLK 100k pd GPIO3_PS.04 Output Drive 0 Disable GPIO09 (AUD_MCLK) Baseboard 40 Pin Header CLK

GPIO07 206 SOC_GPIO44 GPIO3_PR.00 VGP5 GP_PWM8 100k pd GPIO3_PR.00 Output Drive 0 Disable Disable GPIO07 (PWM) Baseboard 40 Pin GPIO

从文件系统也可以看到为输入模式。

cat /sys/kernel/debug/gpio
gpio-443 (PR.00               |bottom_cam_reset_gpi) in  lo
gpio-444 (PR.01               )
gpio-445 (PR.02               )
gpio-446 (PR.03               )
gpio-447 (PR.04               )
gpio-448 (PR.05               )
gpio-449 (PS.00               )
gpio-450 (PS.01               )
gpio-451 (PS.02               )
gpio-452 (PS.03               )
gpio-453 (PS.04               |lr_cam_reset_gpio   ) in  lo
三. 尝试修改

尝试做如下修改,并通过sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1,并进行烧录。结果通过
查看io调试信息,发现还是输入状态

cat /sys/kernel/debug/gpio
 gpio-443 (PR.00               |bottom_cam_reset_gpi) in  lo
 gpio-444 (PR.01               )
 gpio-445 (PR.02               )
 gpio-446 (PR.03               )
 gpio-447 (PR.04               )
 gpio-448 (PR.05               )
 gpio-449 (PS.00               )
 gpio-450 (PS.01               )
 gpio-451 (PS.02               )
 gpio-452 (PS.03               )
 gpio-453 (PS.04               |lr_cam_reset_gpio   ) in  lo
git diff bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p3668-a01.cfg
diff --git a/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p3668-a01.cfg b/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p3668-a01.cfg
index c3ca92986..f68188fd7 100644
--- a/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p3668-a01.cfg
+++ b/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p3668-a01.cfg
@@ -9,8 +9,8 @@
 pinmux.major = 1;
 pinmux.minor = 0;
 #### Pinmux for gpio-input pins ####
-pinmux.0x02213680 = 0x00000001; # CONFIG S4
-pinmux.0x02431020 = 0x00000000; # GPIO aud_mclk_ps4
+#pinmux.0x02213680 = 0x00000001; # CONFIG S4
+#pinmux.0x02431020 = 0x00000000; # GPIO aud_mclk_ps4
 pinmux.0x022136e0 = 0x00000001; # CONFIG S7
 pinmux.0x02431008 = 0x00000000; # GPIO soc_gpio32_ps7
 pinmux.0x022138a0 = 0x00000001; # CONFIG T5
@@ -69,8 +69,8 @@ pinmux.0x02212ca0 = 0x00000001; # CONFIG Q5
 pinmux.0x02430028 = 0x00000000; # GPIO soc_gpio41_pq5
 pinmux.0x02212cc0 = 0x00000001; # CONFIG Q6
 pinmux.0x02430030 = 0x00000000; # GPIO soc_gpio42_pq6
-pinmux.0x02212e00 = 0x00000001; # CONFIG R0
-pinmux.0x02430040 = 0x00000000; # GPIO soc_gpio44_pr0
+#pinmux.0x02212e00 = 0x00000001; # CONFIG R0
+#pinmux.0x02430040 = 0x00000000; # GPIO soc_gpio44_pr0
 pinmux.0x02212e80 = 0x00000001; # CONFIG R4
 pinmux.0x02430098 = 0x00000000; # GPIO uart1_rts_pr4
 pinmux.0x02212ea0 = 0x00000001; # CONFIG R5
@@ -207,7 +207,7 @@ pinmux.0x02437048 = 0x00000560; # pex_l4_clkreq_n_pl0: pe4, tristate-disable, in
 pinmux.0x02437050 = 0x00000520; # pex_l4_rst_n_pl1: pe4, tristate-disable, input-disable, io_high_voltage-enable, lpdr-enable
 pinmux.0x02440030 = 0x00000450; # dp_aux_ch0_hpd_pm0: dp, tristate-enable, input-enable, io_high_voltage-disable, lpdr-disable
 pinmux.0x02440050 = 0x00000460; # hdmi_cec_pm4: hdmi, tristate-disable, input-enable, io_high_voltage-enable, lpdr-disable
-pinmux.0x02431020 = 0x00000059; # aud_mclk_ps4: rsvd1, pull-up, tristate-enable, input-enable, lpdr-disable
+pinmux.0x02431020 = 0x00000409; # aud_mclk_ps4: rsvd1, pull-up, tristate-enable, input-enable, lpdr-disable
 pinmux.0x02431008 = 0x00000058; # soc_gpio32_ps7: rsvd0, pull-up, tristate-enable, input-enable, lpdr-disable
 pinmux.0x02431080 = 0x00000056; # dap5_sclk_pt5: rsvd2, pull-down, tristate-enable, input-enable, lpdr-disable
 pinmux.0x02431078 = 0x00000056; # dap5_dout_pt6: rsvd2, pull-down, tristate-enable, input-enable, lpdr-disable
@@ -248,7 +248,7 @@ pinmux.0x02430020 = 0x00000426; # soc_gpio40_pq4: rsvd2, pull-down, tristate-dis
 pinmux.0x02430028 = 0x0000005a; # soc_gpio41_pq5: rsvd2, pull-up, tristate-enable, input-enable, io_high_voltage-disable, lpdr-disable
 pinmux.0x02430030 = 0x0000005a; # soc_gpio42_pq6: rsvd2, pull-up, tristate-enable, input-enable, io_high_voltage-disable, lpdr-disable
 pinmux.0x02430038 = 0x00000426; # soc_gpio43_pq7: rsvd2, pull-down, tristate-disable, input-disable, io_high_voltage-enable, lpdr-disable
-pinmux.0x02430040 = 0x00000056; # soc_gpio44_pr0: rsvd2, pull-down, tristate-enable, input-enable, io_high_voltage-disable, lpdr-disable
+pinmux.0x02430040 = 0x00000406; # soc_gpio44_pr0: rsvd2, pull-down, tristate-enable, input-enable, io_high_voltage-disable, lpdr-disable
 pinmux.0x02430048 = 0x00000431; # soc_gpio45_pr1: rsvd1, tristate-enable, input-disable, io_high_voltage-enable, lpdr-disable
 pinmux.0x02430098 = 0x00000055; # uart1_rts_pr4: rsvd1, pull-down, tristate-enable, input-enable, lpdr-disable
 pinmux.0x02430090 = 0x00000055; # uart1_cts_pr5: rsvd1, pull-down, tristate-enable, input-enable, lpdr-disable

hello 542270618,

please check developer guide, Pinmux Changes for the steps to change the pinmux configuration applied by the software.

已经解决,谢谢!

表里边还需要把上下拉等属性配置好才行,方法没错。

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