How to config GPIO EE0 to SPE side ?

I want access GPIO EE0 from the Cortex-R5 SPE/AON for Jetson AGX and set it as output pin.
I made the following modifications:
(1)tegra194-mb1-bct-scr-cbb-mini.cfg
scr.56.6 = 0x18001010; # GPIO_EE_SCR_00_0

(2)tegra194-mb1-bct-gpioint-p2888-0000-p2822-0000.cfg
gpio-intmap.port.EE.pin.0 = 2; # GPIO EE0 to INT2

(3)tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg
pinmux.0x0c301010 = 0x00000405; # safe_state_pee0: rsvd1, pull-down, tristate-disable, input-disable, io_high_voltage-disable, lpdr-disable

(4)Disable SD card driver
tegra194-plugin-manager-p2888-0000.dtsi
fragment-tegra-ufs-lane10 {
odm-data = “enable-ufs-uphy-l10”;
override@0 {
target = <&tegra_ufs>;
overlay {
status = “disabled”;
};
}

(5)modify gpio-aon.h (rt-aux-cpu-demo\soc\t19x\include)
#define GPIO_APP_OUT TEGRA_AON_GPIO_ID(EE, 0)

After the system is running, I can see the following log from the serial port:
“gpio_app_task - Setting GPIO_APP_OUT to 1 - IRQ should trigger”

But the corresponding pin level has not changed.

Hello, yinghua.ma:

(3)tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg
pinmux.0x0c301010 = 0x00000405; # safe_state_pee0: rsvd1, pull-down, tristate-disable, input-disable, io_high_voltage-disable, lpdr-disable

Try to set this value as:
pinmux.0x0c301010 = 0x0

br
Chenjian

It works.

Thanks.

Hi jachen,
After changing pimux, can I only flash a certain partition without flashing all the partitions?
I found that if I just updated the bootloader as follows, pimux didn’t work.

(1)sudo ./build_l4t_bup.sh jetson-xavier mmcblk0p1
(2)copy bl_only_payload to /opt/ota_package/bl_update_payload in the Xavier
(3)ssh login
sudo nv_update_engine --enable-ab
(4)sudo nv_update_engine --install

Hello, yinghua.ma:
If you want a quick flash for device, you can comment out APP partition, which is the most time consuming part, in corresponding xml, and re-flash the device with -r option.
It may save a lot of flash time.

br
ChenJian

Hi jachen,
The -r option just skips generating system.img, but it still flash system.img.

Thanks.

Hello, yinghua.ma:
you have to comment out the APP partition in corresponding xml file and then use -r option.

br
ChenJian

I have commented out the APP partition as follows.

<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
APPSIZE
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 0x8 </allocation_attribute>
<align_boundary> 4096 </align_boundary>
<percent_reserved> 0 </percent_reserved>
<unique_guid> APPUUID </unique_guid>

sudo ./flash.sh -r jetson-xavier mmcblk0p1

The system can’t boot up. Error log:
[ 8.375888] Root device found: mmcblk0p1
[ 8.376946] Found dev node: /dev/mmcblk0p1
[ 8.389652] hpd: switching from state 1 (Check Plug) to state 3 (Disabled)
[ 8.416047] ERROR: mmcblk0p1 mount fail…

hello, yinghua:
What’s the SDK version you are using?

br
Chenjian

Hi jachen,
JetPack_4.2.2 and L4T32.2

Hello, yinghua:
Please try following patch:

--- ./bootloader/t186ref/cfg/flash_t194_sdmmc.xml	2019-12-04 13:51:01.831940272 +0800
+++ ./bootloader/t186ref/cfg/flash_t194_sdmmc.ignore-app.xml	2019-12-04 13:50:57.523863127 +0800
@@ -144,7 +144,7 @@
         </partition>
     </device>
 
-    <device type="sdmmc_user" instance="3">
+    <device type="sdmmc_user" instance="3" erase="false">
         <partition name="master_boot_record" type="protective_master_boot_record">
             <allocation_policy> sequential </allocation_policy>
             <filesystem_type> basic </filesystem_type>
@@ -170,7 +170,7 @@
             <align_boundary> 4096 </align_boundary>
             <percent_reserved> 0 </percent_reserved>
             <unique_guid> APPUUID </unique_guid>
-            <filename> APPFILE </filename>
+            <!--<filename> APPFILE </filename>-->
         </partition>
         <partition name="mts-mce" type="mts_mce" oem_sign="true">
             <allocation_policy> sequential </allocation_policy>

br
ChenJian

Hi jachen,
It works. Thank you very much.