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