This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM62X: How to modify GPIO pins

Part Number: PROCESSOR-SDK-AM62X
Other Parts Discussed in Thread: SK-AM62

Hi, I am facing problems after modifying the common.dtsi file in both u-boot and linux. After adding the gpio pinmux inside the device tree nothing happens, but when I delete or change the gpio pins available, it fails to boot. Is there any other files that needs to be modify before booting in order to make the gpio pins high and low?

  • Hello,
    Do we have additional data points on "when I delete or change the gpio pins available, it fails to boot."
    - Any boot log?
    - Linux SDK version?
    - HW board under testing?
    Best,
    -Hong

  • Hi,

    For the k3-am62x-sk-common.dtsi file, at first, I have added and removed some GPIO pins according to the forum in https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1175750/processor-sdk-am62x-gpio-test.

    '+' are the ones added and '//' are the ones removed.

    +leds {
    +compatible = "gpio-leds";
    +pinctrl-names = "default";
    +pinctrl-0 = <&usr_led_pins_test>;
    
    +led-0 {
    +label = "test";
    +gpios = <&main_gpio0 42 GPIO_ACTIVE_HIGH>;
    +linux,default-trigger = "heartbeat";
    +function = LED_FUNCTION_HEARTBEAT;
    +default-state = "on";
    +};
    +};
    
    // leds {
    // compatible = "gpio-leds";
    // pinctrl-names = "default";
    // pinctrl-0 = <&usr_led_pins_default>;
    
    // led-0 {
    // label = "am62-sk:green:heartbeat";
    // gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
    // linux,default-trigger = "heartbeat";
    // function = LED_FUNCTION_HEARTBEAT;
    // default-state = "off";
    // };
    // };

    &main_pmx0 {
    +usr_led_pins_test: usr-led-pins-test {
    +pinctrl-single,pins = <
    +AM62X_IOPAD(0x00ac, PIN_OUTPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */
    +>;
    +};
    };

    Then I got this error while booting eMMC U-Boot and kernel using https://confluence.it.keysight.com/pages/viewpage.action?pageId=652542550.

    [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [ 0.000000] Linux version 5.10.140-g5e63ae91b2 (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT Tue Sep 27 16:50:05 UTC 2022
    [ 0.000000] Machine model: Texas Instruments AM625 SK
    [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [ 0.000000] printk: bootconsole [ns16550a0] enabled
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB
    [ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 13 MiB
    [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009d900000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9d900000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 13 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-memory@9da00000, compatible id shared-dma-pool
    [ 0.000000] Zone ranges:
    [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
    [ 0.000000] DMA32 empty
    [ 0.000000] Normal empty
    [ 0.000000] Movable zone start for each node
    [ 0.000000] Early memory node ranges
    [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff]
    [ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff]
    [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff]
    [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff]
    [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff]
    [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000
    [ 0.000000] psci: probing for conduit method from DT.
    [ 0.000000] psci: PSCIv1.1 detected in firmware.
    [ 0.000000] psci: Using standard PSCI v0.2 function IDs
    [ 0.000000] psci: Trusted OS migration not required
    [ 0.000000] psci: SMC Calling Convention v1.2
    [ 0.000000] percpu: Embedded 22 pages/cpu s50008 r8192 d31912 u90112
    [ 0.000000] Detected VIPT I-cache on CPU0
    [ 0.000000] CPU features: detected: ARM erratum 845719
    [ 0.000000] CPU features: detected: GIC system register CPU interface
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096
    [ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 earlycon=ns16550a,mmio32,0x02800000 earlycon=ns16550a,mmio32,0x02800000 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=22ea939f-9d76-4f70-8c28-8768913a190e rw rootfstype=ext4 rootwait
    [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [ 0.000000] Memory: 1456508K/2097152K available (10880K kernel code, 1142K rwdata, 4196K rodata, 1792K init, 430K bss, 116356K reserved, 524288K cma-reserved)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [ 0.000000] rcu: Preemptible hierarchical RCU implementation.
    [ 0.000000] rcu: RCU event tracing is enabled.
    [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
    [ 0.000000] Trampoline variant of Tasks RCU enabled.
    [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [ 0.000000] GICv3: 256 SPIs implemented
    [ 0.000000] GICv3: 0 Extended SPIs implemented
    [ 0.000000] GICv3: Distributor has no Range Selector support
    [ 0.000000] GICv3: 16 PPIs implemented
    [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [ 0.000000] ITS [mem 0x01820000-0x0182ffff]
    [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [ 0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [ 0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
    [ 0.000000] ITS: using cache flushing for cmd queue
    [ 0.000000] GICv3: using LPI property table @0x0000000080030000
    [ 0.000000] GIC: using cache flushing for LPI property table
    [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080040000
    [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [ 0.000004] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [ 0.008521] Console: colour dummy device 80x25
    [ 0.013112] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [ 0.023794] pid_max: default: 32768 minimum: 301
    [ 0.028600] LSM: Security Framework initializing
    [ 0.033386] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [ 0.040966] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [ 0.050726] rcu: Hierarchical SRCU implementation.
    [ 0.055906] Platform MSI: msi-controller@1820000 domain created
    [ 0.062200] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [ 0.071446] EFI services will not be available.
    [ 0.076356] smp: Bringing up secondary CPUs ...
    [ 0.081642] Detected VIPT I-cache on CPU1
    [ 0.081679] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [ 0.081694] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000
    [ 0.081758] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [ 0.082424] Detected VIPT I-cache on CPU2
    [ 0.082451] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [ 0.082462] GICv3: CPU2: using allocated LPI pending table @0x0000000080060000
    [ 0.082498] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [ 0.083108] Detected VIPT I-cache on CPU3
    [ 0.083131] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [ 0.083141] GICv3: CPU3: using allocated LPI pending table @0x0000000080070000
    [ 0.083174] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [ 0.083241] smp: Brought up 1 node, 4 CPUs
    [ 0.162976] SMP: Total of 4 processors activated.
    [ 0.167789] CPU features: detected: 32-bit EL0 Support
    [ 0.173060] CPU features: detected: CRC32 instructions
    [ 0.186018] CPU: All CPU(s) started at EL2
    [ 0.190228] alternatives: patching kernel code
    [ 0.196020] devtmpfs: initialized
    [ 0.205780] KASLR disabled due to lack of seed
    [ 0.210534] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [ 0.220511] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [ 0.242011] pinctrl core: initialized pinctrl subsystem
    [ 0.248036] DMI not present or invalid.
    [ 0.252657] NET: Registered protocol family 16
    [ 0.258903] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [ 0.266247] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [ 0.274315] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [ 0.283034] thermal_sys: Registered thermal governor 'step_wise'
    [ 0.283040] thermal_sys: Registered thermal governor 'power_allocator'
    [ 0.289784] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [ 0.303508] ASID allocator initialised with 65536 entries
    [ 0.331811] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
    [ 0.338686] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
    [ 0.345539] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [ 0.352391] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
    [ 0.360309] cryptd: max_cpu_qlen set to 1000
    [ 0.367539] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
    [ 0.376581] vcc_5v0: supplied by vmain_pd
    [ 0.381087] vcc_3v3_sys: supplied by vmain_pd
    [ 0.386054] vcc_1v8: supplied by vcc_3v3_sys
    [ 0.391326] iommu: Default domain type: Translated
    [ 0.396647] SCSI subsystem initialized
    [ 0.400867] mc: Linux media interface: v0.10
    [ 0.405260] videodev: Linux video capture interface: v2.00
    [ 0.410931] pps_core: LinuxPPS API ver. 1 registered
    [ 0.416006] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.425360] PTP clock support registered
    [ 0.429397] EDAC MC: Ver: 3.0.0
    [ 0.433244] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
    [ 0.440380] FPGA manager framework
    [ 0.443951] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.451144] clocksource: Switched to clocksource arch_sys_counter
    [ 0.457596] VFS: Disk quotas dquot_6.6.0
    [ 0.461662] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [ 0.474066] NET: Registered protocol family 2
    [ 0.478823] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [ 0.487557] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
    [ 0.496338] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [ 0.504550] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
    [ 0.512278] TCP: Hash tables configured (established 16384 bind 16384)
    [ 0.519186] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
    [ 0.526077] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
    [ 0.533556] NET: Registered protocol family 1
    [ 0.538470] RPC: Registered named UNIX socket transport module.
    [ 0.544546] RPC: Registered udp transport module.
    [ 0.549384] RPC: Registered tcp transport module.
    [ 0.554198] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.560794] PCI: CLS 0 bytes, default 64
    [ 0.565707] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [ 0.577756] Initialise system trusted keyrings
    [ 0.582541] workingset: timestamp_bits=46 max_order=19 bucket_order=0
    [ 0.592869] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.599457] NFS: Registering the id_resolver key type
    [ 0.604667] Key type id_resolver registered
    [ 0.608944] Key type id_legacy registered
    [ 0.613105] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 0.619961] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [ 0.627715] 9p: Installing v9fs 9p2000 file system support
    [ 0.668399] Key type asymmetric registered
    [ 0.672599] Asymmetric key parser 'x509' registered
    [ 0.677622] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [ 0.685188] io scheduler mq-deadline registered
    [ 0.689819] io scheduler kyber registered
    [ 0.695883] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [ 0.702229] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [ 0.714905] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.734459] brd: module loaded
    [ 0.744677] loop: module loaded
    [ 0.748814] megasas: 07.714.04.00-rc1
    [ 0.756071] tun: Universal TUN/TAP device driver, 1.6
    [ 0.761763] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [ 0.768180] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [ 0.774293] sky2: driver version 1.30
    [ 0.778905] VFIO - User Level meta-driver version: 0.3
    [ 0.785159] i2c /dev entries driver
    [ 0.790289] sdhci: Secure Digital Host Controller Interface driver
    [ 0.796629] sdhci: Copyright(c) Pierre Ossman
    [ 0.801387] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 0.808218] ledtrig-cpu: registered to indicate activity on CPUs
    [ 0.814705] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [ 0.822335] optee: probing for conduit method.
    [ 0.826943] optee: revision 3.18 (8e155bae)
    [ 0.827253] optee: dynamic shared memory is enabled
    [ 0.836751] optee: initialized driver
    [ 0.842319] NET: Registered protocol family 17
    [ 0.847044] 9pnet: Installing 9P2000 support
    [ 0.851500] Key type dns_resolver registered
    [ 0.856117] Loading compiled-in X.509 certificates
    [ 0.870881] ti-sci 44043000.system-controller: ti,ctx-memory-region is required for suspend but not provided.
    [ 0.881058] ti-sci 44043000.system-controller: ti_sci_init_suspend failed, mem suspend will be non-functional.
    [ 0.891293] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0008 '8.4.7--v08.04.07 (Jolly Jellyfi')
    [ 0.932324] davinci-mcasp 2b10000.mcasp: IRQ common not found
    [ 0.942410] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [ 0.950133] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
    [ 0.956384] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [ 0.964805] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [ 0.974188] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [ 0.983267] ti-bcdma 485c0100.dma-controller: Number of rings: 82
    [ 0.991453] ti-bcdma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [ 1.002575] ti-pktdma 485c0000.dma-controller: Number of rings: 150
    [ 1.012796] ti-pktdma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [ 1.023128] printk: console [ttyS2] disabled
    [ 1.027592] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 19, base_baud = 3000000) is a 8250
    [ 1.036361] printk: console [ttyS2] enabled
    [ 1.036361] printk: console [ttyS2] enabled
    [ 1.044803] printk: bootconsole [ns16550a0] disabled
    [ 1.044803] printk: bootconsole [ns16550a0] disabled
    [ 1.059258] spi-nor spi0.0: s28hs512t (65536 Kbytes)
    [ 1.064277] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
    [ 1.071237] Creating 7 MTD partitions on "fc40000.spi.0":
    [ 1.076631] 0x000000000000-0x000000080000 : "ospi.tiboot3"
    [ 1.083366] 0x000000080000-0x000000280000 : "ospi.tispl"
    [ 1.089748] 0x000000280000-0x000000680000 : "ospi.u-boot"
    [ 1.096181] 0x000000680000-0x0000006c0000 : "ospi.env"
    [ 1.102328] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
    [ 1.109098] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [ 1.115546] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [ 1.128447] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
    [ 1.175148] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [ 1.184806] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [ 1.192907] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
    [ 1.201090] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000002
    [ 1.213930] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [ 1.221066] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [ 1.227769] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [ 1.240207] rtc-ti-k3 2b1f0000.rtc: registered as rtc0
    [ 1.245403] rtc-ti-k3 2b1f0000.rtc: setting system clock to 1970-01-01T00:05:44 UTC (344)
    [ 1.358260] mmc0: CQHCI version 5.10
    [ 1.361934] davinci-mcasp 2b10000.mcasp: IRQ common not found
    [ 1.379688] reg-fixed-voltage regulator-6: Failed to register regulator: -517
    [ 1.387588] pca953x 1-0022: supply vcc not found, using dummy regulator
    [ 1.394301] pca953x 1-0022: using AI
    [ 1.403162] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [ 1.414561] sii902x 1-003b: supply iovcc not found, using dummy regulator
    [ 1.421528] sii902x 1-003b: supply cvcc12 not found, using dummy regulator
    [ 1.430938] i2c i2c-1: Added multiplexed i2c bus 2
    [ 1.437894] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0
    [ 1.445635] tidss 30200000.dss: [drm] Cannot find any crtc or sizes
    [ 1.455053] vdd_mmc1: supplied by vcc_3v3_sys
    [ 1.461314] wlan_lten: supplied by vcc_3v3_sys
    [ 1.466448] wlan_en: supplied by wlan_lten
    [ 1.472246] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [ 1.472481] mmc2: CQHCI version 5.10
    [ 1.472585] mmc1: CQHCI version 5.10
    [ 1.485535] ALSA device list:
    [ 1.489716] No soundcards found.
    [ 1.493456] mmc0: Command Queue Engine enabled
    [ 1.497924] mmc0: new HS200 MMC card at address 0001
    [ 1.503578] mmcblk0: mmc0:0001 S0J56X 14.8 GiB
    [ 1.508298] mmcblk0boot0: mmc0:0001 S0J56X partition 1 31.5 MiB
    [ 1.514384] mmcblk0boot1: mmc0:0001 S0J56X partition 2 31.5 MiB
    [ 1.520463] mmcblk0rpmb: mmc0:0001 S0J56X partition 3 4.00 MiB, chardev (237:0)
    [ 1.528073] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit
    [ 1.530783] mmcblk0: p1
    [ 1.542930] sdhci-am654 fa20000.mmc: card claims to support voltages below defined range
    [ 1.563109] mmc2: new high speed SDIO card at address 0001
    [ 2.989280] sdhci-am654 fa00000.mmc: Power on failed
    [ 3.024942] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [ 3.036051] EXT4-fs (mmcblk0p1): ext4_check_descriptors: Checksum for group 32 failed (38807!=40363)
    [ 3.045253] EXT4-fs (mmcblk0p1): group descriptors corrupted!
    [ 3.051087] VFS: Cannot open root device "PARTUUID=22ea939f-9d76-4f70-8c28-8768913a190e" or unknown-block(179,1): error -117
    [ 3.062305] Please append a correct "root=" boot option; here are the available partitions:
    [ 3.070652] 0100 4096 ram0
    [ 3.070654] (driver?)
    [ 3.076750] 0101 4096 ram1
    [ 3.076752] (driver?)
    [ 3.082843] 0102 4096 ram2
    [ 3.082845] (driver?)
    [ 3.088940] 0103 4096 ram3
    [ 3.088942] (driver?)
    [ 3.095030] 0104 4096 ram4
    [ 3.095033] (driver?)
    [ 3.101127] 0105 4096 ram5
    [ 3.101129] (driver?)
    [ 3.107224] 0106 4096 ram6
    [ 3.107226] (driver?)
    [ 3.113316] 0107 4096 ram7
    [ 3.113318] (driver?)
    [ 3.119412] 0108 4096 ram8
    [ 3.119414] (driver?)
    [ 3.125505] 0109 4096 ram9
    [ 3.125507] (driver?)
    [ 3.131603] 010a 4096 ram10
    [ 3.131605] (driver?)
    [ 3.137782] 010b 4096 ram11
    [ 3.137784] (driver?)
    [ 3.143965] 010c 4096 ram12
    [ 3.143967] (driver?)
    [ 3.150143] 010d 4096 ram13
    [ 3.150145] (driver?)
    [ 3.156327] 010e 4096 ram14
    [ 3.156329] (driver?)
    [ 3.162510] 010f 4096 ram15
    [ 3.162513] (driver?)
    [ 3.168706] 1f00 512 mtdblock0
    [ 3.168708] (driver?)
    [ 3.175270] 1f01 2048 mtdblock1
    [ 3.175273] (driver?)
    [ 3.181799] 1f02 4096 mtdblock2
    [ 3.181801] (driver?)
    [ 3.188329] 1f03 256 mtdblock3
    [ 3.188331] (driver?)
    [ 3.194855] 1f04 256 mtdblock4
    [ 3.194858] (driver?)
    [ 3.201385] 1f05 57088 mtdblock5
    [ 3.201388] (driver?)
    [ 3.207917] 1f06 256 mtdblock6
    [ 3.207920] (driver?)
    [ 3.214444] b300 15540224 mmcblk0
    [ 3.214447] driver: mmcblk
    [ 3.221235] b301 15540190 mmcblk0p1 22ea939f-9d76-4f70-8c28-8768913a190e
    [ 3.221237]
    [ 3.230190] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
    [ 3.238611] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.10.140-g5e63ae91b2 #1
    [ 3.245726] Hardware name: Texas Instruments AM625 SK (DT)
    [ 3.251196] Call trace:
    [ 3.253645] dump_backtrace+0x0/0x1a0
    [ 3.257298] show_stack+0x18/0x68
    [ 3.260605] dump_stack+0xd0/0x12c
    [ 3.263995] panic+0x16c/0x334
    [ 3.267042] mount_block_root+0x1c4/0x254
    [ 3.271038] mount_root+0x10c/0x140
    [ 3.274514] prepare_namespace+0x130/0x170
    [ 3.278598] kernel_init_freeable+0x25c/0x2a0
    [ 3.282943] kernel_init+0x14/0x114
    [ 3.286419] ret_from_fork+0x10/0x34
    [ 3.289988] SMP: stopping secondary CPUs
    [ 3.293905] Kernel Offset: disabled
    [ 3.297383] CPU features: 0x0040002,2000200c
    [ 3.301638] Memory Limit: none
    [ 3.304689] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1) ]---

    Then, I try to boot again but only changes the default-state, default-trigger and function in the original code that is already available. It is able to boot, but there are no changes for LD1 as it still blinks according to "heartbeat". 

    // leds {
    // compatible = "gpio-leds";
    // pinctrl-names = "default";
    // pinctrl-0 = <&usr_led_pins_default>;
    
    // led-0 {
    // label = "am62-sk:green:heartbeat";
    // gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
    // linux,default-trigger = "heartbeat";
    // function = LED_FUNCTION_HEARTBEAT;
    // default-state = "off";
    // };
    // };

    Lastly, I try to just add in additional PINMUX for GPIO pins without deleting the original code, it also turns out no changes but is able to boot into Arago Project.

    &main_pmx0 {
    +usr_led_pins_test: usr-led-pins-test {
    +pinctrl-single,pins = <
    +AM62X_IOPAD(0x00ac, PIN_OUTPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */
    +>;
    +};
    };

    Starting kernel ...
    
    [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [ 0.000000] Linux version 5.10.140-g5e63ae91b2 (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT Tue Sep 27 16:50:05 UTC 2022
    [ 0.000000] Machine model: Texas Instruments AM625 SK
    [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [ 0.000000] printk: bootconsole [ns16550a0] enabled
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB
    [ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 13 MiB
    [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009d900000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9d900000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 13 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-memory@9da00000, compatible id shared-dma-pool
    [ 0.000000] Zone ranges:
    [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
    [ 0.000000] DMA32 empty
    [ 0.000000] Normal empty
    [ 0.000000] Movable zone start for each node
    [ 0.000000] Early memory node ranges
    [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff]
    [ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff]
    [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff]
    [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff]
    [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff]
    [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000
    [ 0.000000] psci: probing for conduit method from DT.
    [ 0.000000] psci: PSCIv1.1 detected in firmware.
    [ 0.000000] psci: Using standard PSCI v0.2 function IDs
    [ 0.000000] psci: Trusted OS migration not required
    [ 0.000000] psci: SMC Calling Convention v1.2
    [ 0.000000] percpu: Embedded 22 pages/cpu s50008 r8192 d31912 u90112
    [ 0.000000] Detected VIPT I-cache on CPU0
    [ 0.000000] CPU features: detected: ARM erratum 845719
    [ 0.000000] CPU features: detected: GIC system register CPU interface
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096
    [ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 earlycon=ns16550a,mmio32,0x02800000 earlycon=ns16550a,mmio32,0x02800000 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=22ea939f-9d76-4f70-8c28-8768913a190e rw rootfstype=ext4 rootwait
    [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [ 0.000000] Memory: 1456508K/2097152K available (10880K kernel code, 1142K rwdata, 4196K rodata, 1792K init, 430K bss, 116356K reserved, 524288K cma-reserved)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [ 0.000000] rcu: Preemptible hierarchical RCU implementation.
    [ 0.000000] rcu: RCU event tracing is enabled.
    [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
    [ 0.000000] Trampoline variant of Tasks RCU enabled.
    [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [ 0.000000] GICv3: 256 SPIs implemented
    [ 0.000000] GICv3: 0 Extended SPIs implemented
    [ 0.000000] GICv3: Distributor has no Range Selector support
    [ 0.000000] GICv3: 16 PPIs implemented
    [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [ 0.000000] ITS [mem 0x01820000-0x0182ffff]
    [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [ 0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [ 0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
    [ 0.000000] ITS: using cache flushing for cmd queue
    [ 0.000000] GICv3: using LPI property table @0x0000000080030000
    [ 0.000000] GIC: using cache flushing for LPI property table
    [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080040000
    [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [ 0.000004] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [ 0.008513] Console: colour dummy device 80x25
    [ 0.013102] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [ 0.023784] pid_max: default: 32768 minimum: 301
    [ 0.028591] LSM: Security Framework initializing
    [ 0.033377] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [ 0.040957] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [ 0.050715] rcu: Hierarchical SRCU implementation.
    [ 0.055894] Platform MSI: msi-controller@1820000 domain created
    [ 0.062193] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [ 0.071443] EFI services will not be available.
    [ 0.076357] smp: Bringing up secondary CPUs ...
    [ 0.081637] Detected VIPT I-cache on CPU1
    [ 0.081674] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [ 0.081689] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000
    [ 0.081753] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [ 0.082426] Detected VIPT I-cache on CPU2
    [ 0.082451] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [ 0.082463] GICv3: CPU2: using allocated LPI pending table @0x0000000080060000
    [ 0.082499] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [ 0.083110] Detected VIPT I-cache on CPU3
    [ 0.083131] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [ 0.083143] GICv3: CPU3: using allocated LPI pending table @0x0000000080070000
    [ 0.083175] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [ 0.083243] smp: Brought up 1 node, 4 CPUs
    [ 0.162979] SMP: Total of 4 processors activated.
    [ 0.167792] CPU features: detected: 32-bit EL0 Support
    [ 0.173063] CPU features: detected: CRC32 instructions
    [ 0.186010] CPU: All CPU(s) started at EL2
    [ 0.190221] alternatives: patching kernel code
    [ 0.195940] devtmpfs: initialized
    [ 0.205725] KASLR disabled due to lack of seed
    [ 0.210484] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [ 0.220462] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [ 0.241937] pinctrl core: initialized pinctrl subsystem
    [ 0.247969] DMI not present or invalid.
    [ 0.252585] NET: Registered protocol family 16
    [ 0.258839] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [ 0.266187] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [ 0.274254] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [ 0.282977] thermal_sys: Registered thermal governor 'step_wise'
    [ 0.282983] thermal_sys: Registered thermal governor 'power_allocator'
    [ 0.289721] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [ 0.303440] ASID allocator initialised with 65536 entries
    [ 0.331737] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
    [ 0.338615] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
    [ 0.345468] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [ 0.352319] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
    [ 0.360244] cryptd: max_cpu_qlen set to 1000
    [ 0.367454] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
    [ 0.376498] vcc_5v0: supplied by vmain_pd
    [ 0.381001] vcc_3v3_sys: supplied by vmain_pd
    [ 0.385968] vcc_1v8: supplied by vcc_3v3_sys
    [ 0.391248] iommu: Default domain type: Translated
    [ 0.396571] SCSI subsystem initialized
    [ 0.400794] mc: Linux media interface: v0.10
    [ 0.405186] videodev: Linux video capture interface: v2.00
    [ 0.410860] pps_core: LinuxPPS API ver. 1 registered
    [ 0.415935] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.425289] PTP clock support registered
    [ 0.429327] EDAC MC: Ver: 3.0.0
    [ 0.433173] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
    [ 0.440307] FPGA manager framework
    [ 0.443880] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.451070] clocksource: Switched to clocksource arch_sys_counter
    [ 0.457520] VFS: Disk quotas dquot_6.6.0
    [ 0.461588] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [ 0.473990] NET: Registered protocol family 2
    [ 0.478743] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [ 0.487475] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
    [ 0.496257] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [ 0.504468] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
    [ 0.512193] TCP: Hash tables configured (established 16384 bind 16384)
    [ 0.519104] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
    [ 0.525993] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
    [ 0.533470] NET: Registered protocol family 1
    [ 0.538384] RPC: Registered named UNIX socket transport module.
    [ 0.544458] RPC: Registered udp transport module.
    [ 0.549296] RPC: Registered tcp transport module.
    [ 0.554110] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.560707] PCI: CLS 0 bytes, default 64
    [ 0.565620] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [ 0.577703] Initialise system trusted keyrings
    [ 0.582478] workingset: timestamp_bits=46 max_order=19 bucket_order=0
    [ 0.592814] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.599388] NFS: Registering the id_resolver key type
    [ 0.604602] Key type id_resolver registered
    [ 0.608880] Key type id_legacy registered
    [ 0.613042] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 0.619898] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [ 0.627656] 9p: Installing v9fs 9p2000 file system support
    [ 0.668110] Key type asymmetric registered
    [ 0.672312] Asymmetric key parser 'x509' registered
    [ 0.677338] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [ 0.684903] io scheduler mq-deadline registered
    [ 0.689535] io scheduler kyber registered
    [ 0.695605] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [ 0.701939] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [ 0.714584] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.734104] brd: module loaded
    [ 0.744362] loop: module loaded
    [ 0.748494] megasas: 07.714.04.00-rc1
    [ 0.755740] tun: Universal TUN/TAP device driver, 1.6
    [ 0.761431] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [ 0.767850] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [ 0.773964] sky2: driver version 1.30
    [ 0.778566] VFIO - User Level meta-driver version: 0.3
    [ 0.784829] i2c /dev entries driver
    [ 0.789954] sdhci: Secure Digital Host Controller Interface driver
    [ 0.796289] sdhci: Copyright(c) Pierre Ossman
    [ 0.801043] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 0.807874] ledtrig-cpu: registered to indicate activity on CPUs
    [ 0.814357] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [ 0.821989] optee: probing for conduit method.
    [ 0.826599] optee: revision 3.18 (8e155bae)
    [ 0.826884] optee: dynamic shared memory is enabled
    [ 0.836386] optee: initialized driver
    [ 0.842001] NET: Registered protocol family 17
    [ 0.846730] 9pnet: Installing 9P2000 support
    [ 0.851192] Key type dns_resolver registered
    [ 0.855812] Loading compiled-in X.509 certificates
    [ 0.870619] ti-sci 44043000.system-controller: ti,ctx-memory-region is required for suspend but not provided.
    [ 0.880797] ti-sci 44043000.system-controller: ti_sci_init_suspend failed, mem suspend will be non-functional.
    [ 0.891040] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0008 '8.4.7--v08.04.07 (Jolly Jellyfi')
    [ 0.932076] davinci-mcasp 2b10000.mcasp: IRQ common not found
    [ 0.942143] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [ 0.949856] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
    [ 0.956113] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [ 0.964541] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [ 0.973845] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [ 0.982902] ti-bcdma 485c0100.dma-controller: Number of rings: 82
    [ 0.991169] ti-bcdma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [ 1.002292] ti-pktdma 485c0000.dma-controller: Number of rings: 150
    [ 1.012537] ti-pktdma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [ 1.022856] printk: console [ttyS2] disabled
    [ 1.027306] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 19, base_baud = 3000000) is a 8250
    [ 1.036073] printk: console [ttyS2] enabled
    [ 1.036073] printk: console [ttyS2] enabled
    [ 1.044516] printk: bootconsole [ns16550a0] disabled
    [ 1.044516] printk: bootconsole [ns16550a0] disabled
    [ 1.058956] spi-nor spi0.0: s28hs512t (65536 Kbytes)
    [ 1.064001] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
    [ 1.070955] Creating 7 MTD partitions on "fc40000.spi.0":
    [ 1.076357] 0x000000000000-0x000000080000 : "ospi.tiboot3"
    [ 1.083101] 0x000000080000-0x000000280000 : "ospi.tispl"
    [ 1.089488] 0x000000280000-0x000000680000 : "ospi.u-boot"
    [ 1.095929] 0x000000680000-0x0000006c0000 : "ospi.env"
    [ 1.102075] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
    [ 1.108832] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [ 1.115275] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [ 1.128219] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
    [ 1.175076] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [ 1.184754] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [ 1.192858] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
    [ 1.201033] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000002
    [ 1.213874] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [ 1.221009] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [ 1.227713] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [ 1.240121] rtc-ti-k3 2b1f0000.rtc: registered as rtc0
    [ 1.245315] rtc-ti-k3 2b1f0000.rtc: setting system clock to 1970-01-01T00:09:18 UTC (558)
    [ 1.358127] mmc0: CQHCI version 5.10
    [ 1.358295] davinci-mcasp 2b10000.mcasp: IRQ common not found
    [ 1.379435] reg-fixed-voltage regulator-6: Failed to register regulator: -517
    [ 1.387371] pca953x 1-0022: supply vcc not found, using dummy regulator
    [ 1.394098] pca953x 1-0022: using AI
    [ 1.401755] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [ 1.422481] sii902x 1-003b: supply iovcc not found, using dummy regulator
    [ 1.429457] sii902x 1-003b: supply cvcc12 not found, using dummy regulator
    [ 1.438848] i2c i2c-1: Added multiplexed i2c bus 2
    [ 1.445803] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0
    [ 1.453547] tidss 30200000.dss: [drm] Cannot find any crtc or sizes
    [ 1.462976] vdd_mmc1: supplied by vcc_3v3_sys
    [ 1.469239] wlan_lten: supplied by vcc_3v3_sys
    [ 1.474383] wlan_en: supplied by wlan_lten
    [ 1.480165] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [ 1.480416] mmc2: CQHCI version 5.10
    [ 1.480518] mmc1: CQHCI version 5.10
    [ 1.494214] ALSA device list:
    [ 1.497742] No soundcards found.
    [ 1.497944] mmc0: Command Queue Engine enabled
    [ 1.505603] mmc0: new HS200 MMC card at address 0001
    [ 1.511218] mmcblk0: mmc0:0001 S0J56X 14.8 GiB
    [ 1.515948] mmcblk0boot0: mmc0:0001 S0J56X partition 1 31.5 MiB
    [ 1.522034] mmcblk0boot1: mmc0:0001 S0J56X partition 2 31.5 MiB
    [ 1.528122] mmcblk0rpmb: mmc0:0001 S0J56X partition 3 4.00 MiB, chardev (237:0)
    [ 1.535688] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit
    [ 1.538346] mmcblk0: p1
    [ 1.550907] sdhci-am654 fa20000.mmc: card claims to support voltages below defined range
    [ 1.571104] mmc2: new high speed SDIO card at address 0001
    [ 3.000173] sdhci-am654 fa00000.mmc: Power on failed
    [ 3.035852] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [ 3.049558] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
    [ 3.057730] VFS: Mounted root (ext4 filesystem) on device 179:1.
    [ 3.064258] devtmpfs: mounted
    [ 3.068485] Freeing unused kernel memory: 1792K
    [ 3.079135] Run /sbin/init as init process
    [ 3.149615] systemd[1]: System time before build time, advancing clock.
    [ 3.183339] NET: Registered protocol family 10
    [ 3.188878] Segment Routing with IPv6
    [ 3.201860] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
    [ 3.223916] systemd[1]: Detected architecture arm64.
    
    Welcome to Arago 2021.09!
    
    [ 3.271738] systemd[1]: Set hostname to <am62xx-evm>.
    [ 3.279591] random: systemd: uninitialized urandom read (16 bytes read)
    [ 3.286281] systemd[1]: Initializing machine ID from random generator.
    [ 3.552821] random: systemd: uninitialized urandom read (16 bytes read)
    [ 3.559766] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [ 3.572112] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [ 3.583294] systemd[1]: Created slice system-getty.slice.
    [ OK ] Created slice system-getty.slice.
    [ 3.603268] random: systemd: uninitialized urandom read (16 bytes read)
    [ 3.611132] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [ OK ] Created slice system-serial\x2dgetty.slice.
    [ 3.636183] systemd[1]: Created slice User and Session Slice.
    [ OK ] Created slice User and Session Slice.
    [ 3.659534] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ OK ] Started Dispatch Password …ts to Console Directory Watch.
    [ 3.683388] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ OK ] Started Forward Password R…uests to Wall Directory Watch.
    [ 3.707349] systemd[1]: Reached target Paths.
    [ OK ] Reached target Paths.
    [ 3.723210] systemd[1]: Reached target Remote File Systems.
    [ OK ] Reached target Remote File Systems.
    [ 3.743185] systemd[1]: Reached target Slices.
    [ OK ] Reached target Slices.
    [ 3.759198] systemd[1]: Reached target Swap.
    [ OK ] Reached target Swap.
    [ 3.779238] systemd[1]: Listening on RPCbind Server Activation Socket.
    [ OK ] Listening on RPCbind Server Activation Socket.
    [ 3.803316] systemd[1]: Reached target RPC Port Mapper.
    [ OK ] Reached target RPC Port Mapper.
    [ 3.827448] systemd[1]: Listening on Process Core Dump Socket.
    [ OK ] Listening on Process Core Dump Socket.
    [ 3.851631] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [ OK ] Listening on initctl Compatibility Named Pipe.
    [ 3.883961] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    [ 3.892809] systemd[1]: Listening on Journal Socket (/dev/log).
    [ OK ] Listening on Journal Socket (/dev/log).
    [ 3.915800] systemd[1]: Listening on Journal Socket.
    [ OK ] Listening on Journal Socket.
    [ 3.931930] systemd[1]: Listening on Network Service Netlink Socket.
    [ OK ] Listening on Network Service Netlink Socket.
    [ 3.955729] systemd[1]: Listening on udev Control Socket.
    [ OK ] Listening on udev Control Socket.
    [ 3.975544] systemd[1]: Listening on udev Kernel Socket.
    [ OK ] Listening on udev Kernel Socket.
    [ 3.999511] systemd[1]: Mounting Huge Pages File System...
    Mounting Huge Pages File System...
    [ 4.019365] systemd[1]: Mounting POSIX Message Queue File System...
    Mounting POSIX Message Queue File System...
    [ 4.047469] systemd[1]: Mounting Kernel Debug File System...
    Mounting Kernel Debug File System...
    [ 4.073440] systemd[1]: Mounting Temporary Directory (/tmp)...
    Mounting Temporary Directory (/tmp)...
    [ 4.095611] systemd[1]: Starting Create list of static device nodes for the current kernel...
    Starting Create list of st…odes for the current kernel...
    [ 4.123206] systemd[1]: Starting Start psplash boot splash screen...
    Starting Start psplash boot splash screen...
    [ 4.152114] systemd[1]: Starting RPC Bind...
    Starting RPC Bind...
    [ 4.167445] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
    [ 4.181481] systemd[1]: Starting Journal Service...
    Starting Journal Service...
    [ 4.200684] systemd[1]: Starting Load Kernel Modules...
    Starting Load Kernel Modules...
    [ 4.214747] cryptodev: loading out-of-tree module taints kernel.
    [ 4.222673] cryptodev: driver 1.10 loaded.
    [ 4.225384] systemd[1]: Starting Remount Root and Kernel File Systems...
    Starting Remount Root and Kernel File Systems...
    [ 4.242975] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
    [ 4.248847] ext4 filesystem being remounted at / supports timestamps until 2038 (0x7fffffff)
    [ 4.253741] systemd[1]: Starting udev Coldplug all Devices...
    Starting udev Coldplug all Devices...
    [ 4.281129] systemd[1]: Started RPC Bind.
    [ OK ] Started RPC Bind.
    [ 4.295988] systemd[1]: Started Journal Service.
    [ OK ] Started Journal Service.
    [ OK ] Mounted Huge Pages File System.
    [ OK ] Mounted POSIX Message Queue File System.
    [ OK ] Mounted Kernel Debug File System.
    [ OK ] Mounted Temporary Directory (/tmp).
    [ OK ] Started Create list of sta… nodes for the current kernel.
    [FAILED] Failed to start Start psplash boot splash screen.
    See 'systemctl status psplash-start.service' for details.
    [DEPEND] Dependency failed for Star…progress communication helper.
    [ OK ] Started Load Kernel Modules.
    [ OK ] Started Remount Root and Kernel File Systems.
    [ 4.495539] random: systemd-journal: uninitialized urandom read (16 bytes read)
    [ 4.496506] random: systemd: uninitialized urandom read (16 bytes read)
    Mounting Kernel Configuration File System.[ 4.515219] random: systemd-journal: uninitialized urandom read (16 bytes read)
    ..
    Starting Flush Journal to Persistent Storage...
    [ 4.555539] systemd-journald[188]: Received client request to flush runtime journal.
    Starting Apply Kernel Variables...
    Starting Create System Users...
    [ OK ] Mounted Kernel Configuration File System.
    [ OK ] Started Flush Journal to Persistent Storage.
    [ OK ] Started Apply Kernel Variables.
    [ OK ] Started Create System Users.
    Starting Create Static Device Nodes in /dev...
    [ OK ] Started Create Static Device Nodes in /dev.
    [ OK ] Started udev Coldplug all Devices.
    [ OK ] Reached target Local File Systems (Pre).
    Mounting /media/ram...
    Mounting /var/volatile...
    Starting udev Kernel Device Manager...
    [ OK ] Mounted /media/ram.
    [ OK ] Mounted /var/volatile.
    Starting Load/Save Random Seed...
    [ OK ] Reached target Local File Systems.
    Starting Rebuild Dynamic Linker Cache...
    Starting Create Volatile Files and Directories...
    [ OK ] Started udev Kernel Device Manager.
    [ OK ] Started Create Volatile Files and Directories.
    Starting Run pending postinsts...
    Starting Rebuild Journal Catalog...
    Starting Network Time Synchronization...
    Starting Update UTMP about System Boot/Shutdown...
    [ OK ] Started Update UTMP about System Boot/Shutdown.
    [ OK ] Started Rebuild Journal Catalog.
    [ OK ] Started Rebuild Dynamic Linker Cache.
    Starting Update is Completed...
    [ OK ] Started Update is Completed.
    [ OK ] Started Network Time Synchronization.
    [ OK ] Reached target System Time Set.
    [ OK ] Reached target System Time Synchronized.
    [ 5.528969] random: systemd: uninitialized urandom read (16 bytes read)
    [ 5.539674] random: systemd: uninitialized urandom read (16 bytes read)
    [ 5.570110] random: systemd-journal: uninitialized urandom read (16 bytes read)
    [ OK ] Started Run pending postinsts.
    [ OK ] Reached target System Initialization.
    [ OK ] Started Daily Cleanup of Temporary Directories.
    [ OK ] Reached target Timers.
    [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [ OK ] Listening on D-Bus System Message B[ 5.728591] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@9cb00000
    us Socket.
    [ OK ] Listening on dropbear.socket.
    [ OK ] Reached target Sockets.
    [ OK ] Reached target Basic System.
    [ 5.780046] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [ OK ] Started D-Bus System Message Bus.
    Starting Print notice about GPLv3 packages[ 5.840281] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    ...
    [ 5.858318] remoteproc remoteproc0: 5000000.m4fss is available
    [ 5.864966] remoteproc remoteproc0: Direct firmware load for am62-mcu-m4f0_0-fw failed with error -2
    [ 5.874213] remoteproc remoteproc0: powering up 5000000.m4fss
    [ 5.874258] remoteproc remoteproc0: Direct firmware load for am62-mcu-m4f0_0-fw failed with error -2
    [ 5.892167] remoteproc remoteproc0: request_firmware failed: -2
    Starting IPv6 Packet Filtering Framework...
    Starting IPv4 Packet Filtering Framework...
    Starting Login Service...
    [ OK ] Started TEE Supplicant.
    Starting telnetd.service...
    [ OK ] Started IPv6 Packet Filtering Framework.
    [ OK ] Started IPv4 Packet Filtering Framework.
    [ 6.027287] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [ OK ] Reached target Network (Pre).
    Starting Network Service...
    [ OK ] Started telnetd.service.
    [ OK ] Started Network Service.
    Starting Wait for Network to be Configured...
    Starting Network Name Resolution...
    [ 6.220249] am65-cpsw-nuss 8000000.ethernet: down msc_sl e0000000 tmo 0
    [ 6.244630] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [ 6.263031] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POLL)
    [ 6.272475] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
    [ 6.317296] am65-cpsw-nuss 8000000.ethernet: down msc_sl e0000000 tmo 0
    [ 6.335843] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [ 6.355496] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [ 6.365725] platform 78000000.r5f: configured R5F for IPC-only mode
    [ OK ] Started Login Service.
    [ 6.391440] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@9d900000
    [ 6.400068] remoteproc remoteproc1: 78000000.r5f is available
    [ 6.406280] remoteproc remoteproc1: attaching to 78000000.r5f
    [ 6.412680] platform 78000000.r5f: R5F core initialized in IPC-only mode
    [ 6.420935] remoteproc1#vdev0buffer: assigned reserved memory node r5f-dma-memory@9d900000
    [ 6.430289] virtio_rpmsg_bus virtio0: rpmsg host is online
    [ 6.436014] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [ 6.443801] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [ 6.452788] remoteproc1#vdev0buffer: registered virtio0 (type 7)
    [ 6.460513] remoteproc remoteproc1: remote processor 78000000.r5f is now attached
    [ OK ] Started Network Name Resolution.
    [ OK ] Reached target Network.
    [ OK ] Reached target Host and Network Name Lookups.
    Starting Avahi mDNS/DNS-SD Stack...
    [ OK ] Started NFS status monitor for NFSv[ 6.537160] random: systemd: uninitialized urandom read (16 bytes read)
    2/3 locking..
    Starting Permit User Sessions...
    [ OK ] Started Avahi mDNS/DNS-SD Stack.
    [ OK ] Started Permit User Sessions.
    [ OK ] Started Getty on tty1.
    [ OK ] Started Serial Getty on ttyS2.
    [ OK ] Reached target Login Prompts.
    Starting Synchronize System and HW clocks...
    [ OK ] Started Synchronize System and HW clocks.
    [ 6.758344] random: crng init done
    [ 6.762076] random: 124 urandom warning(s) missed due to ratelimiting
    [ OK ] Started Load/Save Random Seed.
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
    bash
    cifs-utils
    dosfstools
    less
    libdw1
    libelf1
    libreadline8
    parted
    
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution. This can be done using
    the opkg remove command. i.e.:
    opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
    will be notified of the dependent packages. You should
    use the --force-removal-of-dependent-packages option to
    also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [ OK ] Started Print notice about GPLv3 packages.
    [ 7.680731] remoteproc remoteproc2: 30074000.pru is available
    [ 7.702904] remoteproc remoteproc3: 30078000.pru is available
    [ 7.714751] cdns-csi2rx: probe of 30101000.csi-bridge failed with error -22
    [ 7.813953] tps6598x 0-003f: Unable to find the interrupt, switching to polling
    Starting Save/Restore Sound Card State...
    [ 7.834400] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [ OK ] Started Save/Restore Sound Card State.
    [ 7.872227] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [ 7.879338] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [ 7.891205] cfg80211: failed to load regulatory.db
    [ 7.892373] usbcore: registered new interface driver usbfs
    [ OK ] Reached target Sound Card.
    [ 7.903384] usbcore: registered new interface driver hub
    [ 7.914171] usbcore: registered new device driver usb
    [ OK ] Reached target Hardware activated USB gadget.
    [ 7.930714] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [ 7.936411] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 1
    [ 7.944512] xhci-hcd xhci-hcd.2.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
    [ 7.954033] xhci-hcd xhci-hcd.2.auto: irq 471, io mem 0x31100000
    [ 7.960399] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
    [ OK ] Listening on Load/Save RF …itch S[ 7.968701] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    tatus /dev/rfkill Watch.
    [ 7.981534] usb usb1: Product: xHCI Host Controller
    [ 7.987590] wl18xx_driver wl18xx.1.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2
    [ 7.988965] usb usb1: Manufacturer: Linux 5.10.140-g5e63ae91b2 xhci-hcd
    [ 7.999590] wl18xx_driver wl18xx.1.auto: Direct firmware load for ti-connectivity/wl18xx-conf.bin failed with error -2
    [ 8.006238] usb usb1: SerialNumber: xhci-hcd.2.auto
    [ 8.017304] wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -2
    [ 8.022554] hub 1-0:1.0: USB hub found
    [ 8.030712] wlcore: WARNING falling back to default config
    [ 8.034579] hub 1-0:1.0: 1 port detected
    [ 8.045695] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [ 8.051232] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 2
    [ 8.058935] xhci-hcd xhci-hcd.2.auto: Host supports USB 3.0 SuperSpeed
    [ 8.065561] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [ 8.073808] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
    [ 8.082076] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 8.089296] usb usb2: Product: xHCI Host Controller
    [ 8.094171] usb usb2: Manufacturer: Linux 5.10.140-g5e63ae91b2 xhci-hcd
    [ 8.100784] usb usb2: SerialNumber: xhci-hcd.2.auto
    [ 8.106286] hub 2-0:1.0: USB hub found
    [ 8.110115] hub 2-0:1.0: config failed, hub doesn't have any ports! (err -19)
    [ 8.387632] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
    [ 8.401294] wlcore: loaded
    Starting Load/Save RF Kill Switch Status...
    [ OK ] Started Load/Save RF Kill Switch Status.
    [ 8.787439] wl18xx_driver wl18xx.1.auto: Direct firmware load for ti-connectivity/wl18xx-fw-4.bin failed with error -2
    [ 8.798155] wlcore: ERROR could not get firmware ti-connectivity/wl18xx-fw-4.bin: -2
    [ 9.151429] wl18xx_driver wl18xx.1.auto: Direct firmware load for ti-connectivity/wl18xx-fw-4.bin failed with error -2
    [ 9.162143] wlcore: ERROR could not get firmware ti-connectivity/wl18xx-fw-4.bin: -2
    [ 9.515388] wl18xx_driver wl18xx.1.auto: Direct firmware load for ti-connectivity/wl18xx-fw-4.bin failed with error -2
    [ 9.526091] wlcore: ERROR could not get firmware ti-connectivity/wl18xx-fw-4.bin: -2
    [ 9.533918] wlcore: ERROR firmware boot failed despite 3 retries

    I try using gpioinfo to list out all lines of the specified gpiochips. There are a few questions here: How do we know which line controlled by which GPIO pins? Why even when I added additional PINMUX for gpio0_42, gpiochip 1, line 42 still not showing any label, which I considered as the GPIO pin is not modified yet?

    root@am62xx-evm:~# gpioinfo
    gpiochip0 - 24 lines:
    line 0: unnamed unused input active-high
    line 1: unnamed unused input active-high
    line 2: unnamed unused input active-high
    line 3: unnamed unused input active-high
    line 4: unnamed unused input active-high
    line 5: unnamed unused input active-high
    line 6: unnamed unused input active-high
    line 7: unnamed unused input active-high
    line 8: unnamed unused input active-high
    line 9: unnamed unused input active-high
    line 10: unnamed unused input active-high
    line 11: unnamed unused input active-high
    line 12: unnamed unused input active-high
    line 13: unnamed unused input active-high
    line 14: unnamed unused input active-high
    line 15: unnamed unused input active-high
    line 16: unnamed unused input active-high
    line 17: unnamed unused input active-high
    line 18: unnamed unused input active-high
    line 19: unnamed unused input active-high
    line 20: unnamed unused input active-high
    line 21: unnamed unused input active-high
    line 22: unnamed unused input active-high
    line 23: unnamed unused input active-high
    gpiochip1 - 87 lines:
    line 0: unnamed unused input active-high
    line 1: unnamed unused input active-high
    line 2: unnamed unused input active-high
    line 3: unnamed unused input active-high
    line 4: unnamed unused input active-high
    line 5: unnamed unused input active-high
    line 6: unnamed unused input active-high
    line 7: unnamed unused input active-high
    line 8: unnamed unused input active-high
    line 9: unnamed unused input active-high
    line 10: unnamed unused input active-high
    line 11: unnamed unused input active-high
    line 12: unnamed unused input active-high
    line 13: unnamed unused input active-high
    line 14: unnamed unused input active-high
    line 15: unnamed unused input active-high
    line 16: unnamed unused input active-high
    line 17: unnamed unused input active-high
    line 18: unnamed unused input active-high
    line 19: unnamed unused input active-high
    line 20: unnamed unused input active-high
    line 21: unnamed unused input active-high
    line 22: unnamed unused input active-high
    line 23: unnamed unused input active-high
    line 24: unnamed unused input active-high
    line 25: unnamed unused input active-high
    line 26: unnamed unused input active-high
    line 27: unnamed unused input active-high
    line 28: unnamed unused input active-high
    line 29: unnamed unused input active-high
    line 30: unnamed unused input active-high
    line 31: unnamed "tlv71033" output active-high [used]
    line 32: unnamed unused input active-high
    line 33: unnamed unused input active-high
    line 34: unnamed unused input active-high
    line 35: unnamed unused input active-high
    line 36: unnamed unused input active-high
    line 37: unnamed unused input active-high
    line 38: unnamed unused input active-high
    line 39: unnamed unused input active-high
    line 40: unnamed unused input active-high
    line 41: unnamed unused input active-high
    line 42: unnamed unused input active-high
    line 43: unnamed unused input active-high
    line 44: unnamed unused input active-high
    line 45: unnamed unused input active-high
    line 46: unnamed unused input active-high
    line 47: unnamed unused input active-high
    line 48: unnamed unused input active-high
    line 49: unnamed unused input active-high
    line 50: unnamed unused input active-high
    line 51: unnamed unused input active-high
    line 52: unnamed unused input active-high
    line 53: unnamed unused input active-high
    line 54: unnamed unused input active-high
    line 55: unnamed unused input active-high
    line 56: unnamed unused input active-high
    line 57: unnamed unused input active-high
    line 58: unnamed unused input active-high
    line 59: unnamed unused input active-high
    line 60: unnamed unused input active-high
    line 61: unnamed unused input active-high
    line 62: unnamed unused input active-high
    line 63: unnamed unused input active-high
    line 64: unnamed unused input active-high
    line 65: unnamed unused input active-high
    line 66: unnamed unused input active-high
    line 67: unnamed unused input active-high
    line 68: unnamed unused input active-high
    line 69: unnamed unused input active-high
    line 70: unnamed unused input active-high
    line 71: unnamed "regulator-6" output active-high [used]
    line 72: unnamed unused input active-high
    line 73: unnamed unused input active-high
    line 74: unnamed unused input active-high
    line 75: unnamed unused input active-high
    line 76: unnamed unused input active-high
    line 77: unnamed unused input active-high
    line 78: unnamed unused input active-high
    line 79: unnamed unused input active-high
    line 80: unnamed unused input active-high
    line 81: unnamed unused input active-high
    line 82: unnamed unused input active-high
    line 83: unnamed unused input active-high
    line 84: unnamed unused input active-high
    line 85: unnamed unused input active-high
    line 86: unnamed unused input active-high
    gpiochip2 - 88 lines:
    line 0: unnamed unused input active-high
    line 1: unnamed unused input active-high
    line 2: unnamed unused input active-high
    line 3: unnamed unused input active-high
    line 4: unnamed unused input active-high
    line 5: unnamed unused input active-high
    line 6: unnamed unused input active-high
    line 7: unnamed unused input active-high
    line 8: unnamed unused input active-high
    line 9: unnamed unused input active-high
    line 10: unnamed unused input active-high
    line 11: unnamed unused input active-high
    line 12: unnamed unused input active-high
    line 13: unnamed unused input active-high
    line 14: unnamed unused input active-high
    line 15: unnamed unused input active-high
    line 16: unnamed unused input active-high
    line 17: unnamed unused input active-high
    line 18: unnamed unused input active-high
    line 19: unnamed unused input active-high
    line 20: unnamed unused input active-high
    line 21: unnamed unused input active-high
    line 22: unnamed unused input active-high
    line 23: unnamed unused input active-high
    line 24: unnamed unused input active-high
    line 25: unnamed unused input active-high
    line 26: unnamed unused input active-high
    line 27: unnamed unused input active-high
    line 28: unnamed unused input active-high
    line 29: unnamed unused input active-high
    line 30: unnamed unused input active-high
    line 31: unnamed unused input active-high
    line 32: unnamed unused input active-high
    line 33: unnamed unused input active-high
    line 34: unnamed unused input active-high
    line 35: unnamed unused input active-high
    line 36: unnamed unused input active-high
    line 37: unnamed unused input active-high
    line 38: unnamed unused input active-high
    line 39: unnamed unused input active-high
    line 40: unnamed unused input active-high
    line 41: unnamed unused input active-high
    line 42: unnamed unused input active-high
    line 43: unnamed unused input active-high
    line 44: unnamed unused input active-high
    line 45: unnamed unused input active-high
    line 46: unnamed unused input active-high
    line 47: unnamed unused input active-high
    line 48: unnamed unused input active-high
    line 49: unnamed "am62-sk:green:heartbeat" output active-high [used]
    line 50: unnamed unused input active-high
    line 51: unnamed unused input active-high
    line 52: unnamed unused input active-high
    line 53: unnamed unused input active-high
    line 54: unnamed unused input active-high
    line 55: unnamed unused input active-high
    line 56: unnamed unused input active-high
    line 57: unnamed unused input active-high
    line 58: unnamed unused input active-high
    line 59: unnamed unused input active-high
    line 60: unnamed unused input active-high
    line 61: unnamed unused input active-high
    line 62: unnamed unused input active-high
    line 63: unnamed unused input active-high
    line 64: unnamed unused input active-high
    line 65: unnamed unused input active-high
    line 66: unnamed unused input active-high
    line 67: unnamed unused input active-high
    line 68: unnamed unused input active-high
    line 69: unnamed unused input active-high
    line 70: unnamed unused input active-high
    line 71: unnamed unused input active-high
    line 72: unnamed unused input active-high
    line 73: unnamed unused input active-high
    line 74: unnamed unused input active-high
    line 75: unnamed unused input active-high
    line 76: unnamed unused input active-high
    line 77: unnamed unused input active-high
    line 78: unnamed unused input active-high
    line 79: unnamed unused input active-high
    line 80: unnamed unused input active-high
    line 81: unnamed unused input active-high
    line 82: unnamed unused input active-high
    line 83: unnamed unused input active-high
    line 84: unnamed unused input active-high
    line 85: unnamed unused input active-high
    line 86: unnamed unused input active-high
    line 87: unnamed unused input active-high
    gpiochip3 - 24 lines:
    line 0: "GPIO_CPSW2_RST" unused input active-high
    line 1: "GPIO_CPSW1_RST" unused input active-high
    line 2: "PRU_DETECT" unused input active-high
    line 3: "MMC1_SD_EN" "regulator-3" output active-high [used]
    line 4: "VPP_LDO_EN" unused input active-high
    line 5: "EXP_PS_3V3_En" unused input active-high
    line 6: "EXP_PS_5V0_En" unused input active-high
    line 7: "EXP_HAT_DETECT" unused input active-high
    line 8: "GPIO_AUD_RSTn" unused input active-high
    line 9: "GPIO_eMMC_RSTn" unused input active-high
    line 10: "UART1_FET_BUF_EN" unused input active-high
    line 11: "WL_LT_EN" "regulator-5" output active-low [used]
    line 12: "GPIO_HDMI_RSTn" unused input active-high
    line 13: "CSI_GPIO1" unused input active-high
    line 14: "CSI_GPIO2" unused input active-high
    line 15: "PRU_3V3_EN" unused input active-high
    line 16: "HDMI_INTn" "interrupt" input active-high [used]
    line 17: "TEST_GPIO2" unused input active-high
    line 18: "MCASP1_FET_EN" unused input active-high
    line 19: "MCASP1_BUF_BT_EN" unused input active-high
    line 20: "MCASP1_FET_SEL" unused input active-high
    line 21: "UART1_FET_SEL" unused input active-high
    line 22: "TSINT#" unused input active-high
    line 23: "IO_EXP_TEST_LED" unused input active-high

    I not sure is this the boot log that you mention above, and if I am not wrong, I am using the Linux SDK version.

    [Bin Liu deleted the long irrelevant log of a host PC, to make this thread cleaner.]

  • Hi  Suan,

    You provided a lot information, but I am not sure I fully understand it. Can you please first explain what do you want to achieve? Is this work on the AM62x EVM or your custom board?

  • Hi, 

    I was hoping to know how to modify the device tree for AM62x EVM in order to change the state of the LD1 which is triggered by GPIO1_49 (such as turn on or off the LD1 instead of heartbeat). For additional information I was able to toggle the GPIO1_49 in userspace using the echo command, but I hope to know how to change the state of the LD1 permanently inside u-boot instead of toggled it using userspace.

    and also, I would like to know how to include and modify other GPIO pins and make it high or low (the pin that I have been trying to modify is GPIO0_42). I followed the steps in the forum https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1175750/processor-sdk-am62x-gpio-test. but it seems not working on the AM62X EVM.

  • Hi Suan,

    but I hope to know how to change the state of the LD1 permanently inside u-boot instead of toggled it using userspace.

    First of all, the LED is not controlled by U-Boot, it is the kernel.

    To change the LED default state permanently, you need to modify the "linux,default-trigger" and "default-state" properties of the LED node in the kernel device tree. Please see the kernel doc Documentation/devicetree/bindings/leds/common.yaml for details.

    I would like to know how to include and modify other GPIO pins and make it high or low (the pin that I have been trying to modify is GPIO0_42).

    Please refer to the following e2e thread:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1183388/processor-sdk-am62x-gpio-toggle-test

  • Hi, 

    Is the kernel boot from SD card or eMMC? 

    Because in previously I was trying to boot the kernel from eMMC and I did modify the "linux,default-trigger" and "default-state" properties of the LED node in the kernel device tree but it fails to boot.

    If it is boot from SD card, can you give some examples on how to do so. 

  • Hi Suan,

    Is the kernel boot from SD card or eMMC? 

    You can configure the board to boot from either SD card or eMMC.

    Because in previously I was trying to boot the kernel from eMMC and I did modify the "linux,default-trigger" and "default-state" properties of the LED node in the kernel device tree but it fails to boot.

    the LED node configuration unlikely would cause boot failure, it might be wrong in other places.

    If it is boot from SD card, can you give some examples on how to do so. 

    Please following the SK-AM62 Quick Start Guide to boot the EVM from SD card:

    https://dev.ti.com/tirex/explore/node?node=A__AHfuoVse3tNf0ejVDqHu9A__am62x-devtools__FUz-xrs__LATEST&placeholder=true

  • Hi,

    I had started trying to boot from SD card these days, where I added the pinmux in common.dtsi file for GPIO0_38 and GPIO0_39 to test pin 16 (38) and pin 18 (39) of J3.

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Common dtsi for AM62x SK and derivatives
     *
     * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    / {
    	aliases {
    		serial2 = &main_uart0;
    		mmc0 = &sdhci0;
    		mmc1 = &sdhci1;
    		mmc2 = &sdhci2;
    		spi0 = &ospi0;
    		usb0 = &usb0;
    		usb1 = &usb1;
    		ethernet0 = &cpsw_port1;
    		ethernet1 = &cpsw_port2;
    	};
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
    	};
    
    	opp-table {
    		/* Add 1.4GHz OPP for am625-sk board. Requires VDD_CORE to be at 0.85V */
    		opp-1400000000 {
    			opp-hz = /bits/ 64 <1400000000>;
    			opp-supported-hw = <0x01 0x0004>;
    			clock-latency-ns = <6000000>;
    		};
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		/* 2G RAM */
    		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
    
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		rtos_ipc_memory_region: ipc-memories@9c800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9c800000 0x00 0x00300000>;
    			no-map;
    		};
    
    		mcu_m4fss_dma_memory_region: m4f-dma-memory@9cb00000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9cb00000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_m4fss_memory_region: m4f-memory@9cc00000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9cc00000 0x00 0xd00000>;
    			no-map;
    		};
    
    		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9d900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9d900000 0x00 0x00100000>;
    			no-map;
    		};
    
    		wkup_r5fss0_core0_memory_region: r5f-memory@9da00000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9da00000 0x00 0x00d00000>;
    			no-map;
    		};
    
    		lpm_ctx_ddr: lpm-memory@9e700000 {
    			reg = <0x00 0x9e700000 0x00 0x80000>;
    			alignment = <0x1000>;
    		};
    
    		secure_tfa_ddr: tfa@9e780000 {
    			reg = <0x00 0x9e780000 0x00 0x80000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    	};
    
    	vmain_pd: regulator-0 {
    		/* TPS65988 PD CONTROLLER OUTPUT */
    		compatible = "regulator-fixed";
    		regulator-name = "vmain_pd";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vcc_5v0: regulator-1 {
    		/* Output of TPS630702 */
    		compatible = "regulator-fixed";
    		regulator-name = "vcc_5v0";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		vin-supply = <&vmain_pd>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vcc_3v3_sys: regulator-2 {
    		/* output of LM61460-Q1 */
    		compatible = "regulator-fixed";
    		regulator-name = "vcc_3v3_sys";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&vmain_pd>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vdd_mmc1: regulator-3 {
    		/* TPS22918DBVR */
    		compatible = "regulator-fixed";
    		regulator-name = "vdd_mmc1";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		enable-active-high;
    		vin-supply = <&vcc_3v3_sys>;
    		gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
    	};
    
    	vdd_sd_dv: regulator-4 {
    		/* Output of TLV71033 */
    		compatible = "regulator-gpio";
    		regulator-name = "tlv71033";
    		pinctrl-names = "default";
    		pinctrl-0 = <&vdd_sd_dv_pins_default>;
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		vin-supply = <&vcc_5v0>;
    		gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
    		states = <1800000 0x0>,
    			 <3300000 0x1>;
    	};
    
    	wlan_lten: regulator-5 {
    		compatible = "regulator-fixed";
    		regulator-name = "wlan_lten";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-always-on;
    		vin-supply = <&vcc_3v3_sys>;
    		gpios = <&exp1 11 GPIO_ACTIVE_LOW>;
    	};
    
    	wlan_en: regulator-6 {
    		/* OUTPUT of SN74AVC2T244DQMR */
    		compatible = "regulator-fixed";
    		regulator-name = "wlan_en";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <1800000>;
    		enable-active-high;
    		regulator-always-on;
    		vin-supply = <&wlan_lten>;
    		gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&wlan_en_pins_default>;
    	};
    
    	vcc_1v8: regulator-7 {
    		/* output of TPS6282518DMQ */
    		compatible = "regulator-fixed";
    		regulator-name = "vcc_1v8";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <1800000>;
    		vin-supply = <&vcc_3v3_sys>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	tlv320_mclk: clk-0 {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <12288000>;
    	};
    
    	sound {
    		compatible = "simple-audio-card";
    		simple-audio-card,name = "AM62x-SKEVM";
    		simple-audio-card,widgets =
    			"Headphone", "Headphone Jack";
    		simple-audio-card,routing =
    			"Headphone Jack",	"HPLOUT",
    			"Headphone Jack",	"HPROUT";
    		simple-audio-card,format = "dsp_b";
    		simple-audio-card,bitclock-master = <&sound_master>;
    		simple-audio-card,frame-master = <&sound_master>;
    		simple-audio-card,bitclock-inversion;
    
    		simple-audio-card,cpu {
    			sound-dai = <&mcasp1>;
    		};
    
    		sound_master: simple-audio-card,codec {
    			sound-dai = <&tlv320aic3106>;
    			clocks = <&tlv320_mclk>;
    		};
    	};
    
    	leds {
    		compatible = "gpio-leds";
    		pinctrl-names = "default";
    		pinctrl-0 = <&usr_led_pins_default>;
    
    		led-0 {
    			label = "am62-sk:green:heartbeat";
    			gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
    			linux,default-trigger = "heartbeat";
    			function = LED_FUNCTION_HEARTBEAT;
    			default-state = "off";
    		};
    	};
    
    	hdmi_mstrclk: hdmi-mstrclk {
    		compatible = "fixed-clock";
    		#clock-cells = <0>;
    		clock-frequency = <12288000>;
    	};
    
    	hdmi: connector {
    		compatible = "hdmi-connector";
    		label = "hdmi";
    		type = "a";
    		port {
    			hdmi_connector_in: endpoint {
    				remote-endpoint = <&sii9022_out>;
    			};
    		};
    	};
    };
    
    &main_pmx0 {
    +	    pinctrl-names = "default";
    +	    pinctrl-0 = <&test_gpio_default>;
        
    +	    test_gpio_default: test-gpio {
    +	        pinctrl-single,pins = <
    +	            AM62X_IOPAD(0x009c, PIN_INPUT_PULLDOWN, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */
    +	            AM62X_IOPAD(0x00a0, PIN_INPUT_PULLUP, 7) /* (K25) GPMC0_WPn.GPIO0_39 */
    +	        >;
    +	    };
    
    	main_uart0_pins_default: main-uart0-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */
    			AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */
    		>;
    	};
    
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */
    			AM62X_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */
    			AM62X_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */
    		>;
    	};
    
    	main_i2c2_pins_default: main-i2c2-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */
    			AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */
    		>;
    	};
    
    	main_mmc0_pins_default: main-mmc0-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */
    			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */
    			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
    			AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */
    			AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */
    			AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (Y4) MMC0_DAT3 */
    			AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */
    			AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */
    			AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */
    			AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */
    		>;
    	};
    
    	main_mmc1_pins_default: main-mmc1-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
    			AM62X_IOPAD(0x234, PIN_INPUT, 0) /* (B22) MMC1_CLK */
    			AM62X_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */
    			AM62X_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */
    			AM62X_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */
    			AM62X_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */
    			AM62X_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */
    		>;
    	};
    
    	wlan_en_pins_default: wlan-en-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x124, PIN_OUTPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */
    		>;
    	};
    
    	main_mmc2_pins_default: main-mmc2-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
    			AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK */
    			AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */
    			AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */
    			AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */
    			AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */
    			AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
    		>;
    	};
    
    	main_wlirq_pins_default: main-wlirq-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */
    		>;
    	};
    
    	usr_led_pins_default: usr-led-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x244, PIN_OUTPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */
    		>;
    	};
    
    	main_mdio1_pins_default: main-mdio1-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC */
    			AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */
    		>;
    	};
    
    	main_rgmii1_pins_default: main-rgmii1-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x14c, PIN_INPUT, 0) /* (AB17) RGMII1_RD0 */
    			AM62X_IOPAD(0x150, PIN_INPUT, 0) /* (AC17) RGMII1_RD1 */
    			AM62X_IOPAD(0x154, PIN_INPUT, 0) /* (AB16) RGMII1_RD2 */
    			AM62X_IOPAD(0x158, PIN_INPUT, 0) /* (AA15) RGMII1_RD3 */
    			AM62X_IOPAD(0x148, PIN_INPUT, 0) /* (AD17) RGMII1_RXC */
    			AM62X_IOPAD(0x144, PIN_INPUT, 0) /* (AE17) RGMII1_RX_CTL */
    			AM62X_IOPAD(0x134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0 */
    			AM62X_IOPAD(0x138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1 */
    			AM62X_IOPAD(0x13c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2 */
    			AM62X_IOPAD(0x140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3 */
    			AM62X_IOPAD(0x130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC */
    			AM62X_IOPAD(0x12c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */
    		>;
    	};
    
    	main_rgmii2_pins_default: main-rgmii2-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x184, PIN_INPUT, 0) /* (AE23) RGMII2_RD0 */
    			AM62X_IOPAD(0x188, PIN_INPUT, 0) /* (AB20) RGMII2_RD1 */
    			AM62X_IOPAD(0x18c, PIN_INPUT, 0) /* (AC21) RGMII2_RD2 */
    			AM62X_IOPAD(0x190, PIN_INPUT, 0) /* (AE22) RGMII2_RD3 */
    			AM62X_IOPAD(0x180, PIN_INPUT, 0) /* (AD23) RGMII2_RXC */
    			AM62X_IOPAD(0x17c, PIN_INPUT, 0) /* (AD22) RGMII2_RX_CTL */
    			AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /* (Y18) RGMII2_TD0 */
    			AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1 */
    			AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2 */
    			AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3 */
    			AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC */
    			AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */
    		>;
    	};
    
    	ospi0_pins_default: ospi0-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x000, PIN_OUTPUT, 0) /* (H24) OSPI0_CLK */
    			AM62X_IOPAD(0x02c, PIN_OUTPUT, 0) /* (F23) OSPI0_CSn0 */
    			AM62X_IOPAD(0x00c, PIN_INPUT, 0) /* (E25) OSPI0_D0 */
    			AM62X_IOPAD(0x010, PIN_INPUT, 0) /* (G24) OSPI0_D1 */
    			AM62X_IOPAD(0x014, PIN_INPUT, 0) /* (F25) OSPI0_D2 */
    			AM62X_IOPAD(0x018, PIN_INPUT, 0) /* (F24) OSPI0_D3 */
    			AM62X_IOPAD(0x01c, PIN_INPUT, 0) /* (J23) OSPI0_D4 */
    			AM62X_IOPAD(0x020, PIN_INPUT, 0) /* (J25) OSPI0_D5 */
    			AM62X_IOPAD(0x024, PIN_INPUT, 0) /* (H25) OSPI0_D6 */
    			AM62X_IOPAD(0x028, PIN_INPUT, 0) /* (J22) OSPI0_D7 */
    			AM62X_IOPAD(0x008, PIN_INPUT, 0) /* (J24) OSPI0_DQS */
    		>;
    	};
    
    	main_dss0_pins_default: main-dss0-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x0100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */
    			AM62X_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */
    			AM62X_IOPAD(0x0104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */
    			AM62X_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */
    			AM62X_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */
    			AM62X_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */
    			AM62X_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */
    			AM62X_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */
    			AM62X_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */
    			AM62X_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */
    			AM62X_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */
    			AM62X_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */
    			AM62X_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */
    			AM62X_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */
    			AM62X_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */
    			AM62X_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */
    			AM62X_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */
    			AM62X_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */
    			AM62X_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */
    			AM62X_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */
    			AM62X_IOPAD(0x005c, PIN_OUTPUT, 1) /* (R24) GPMC0_AD8.VOUT0_DATA16 */
    			AM62X_IOPAD(0x0060, PIN_OUTPUT, 1) /* (R25) GPMC0_AD9.VOUT0_DATA17 */
    			AM62X_IOPAD(0x0064, PIN_OUTPUT, 1) /* (T25) GPMC0_AD10.VOUT0_DATA18 */
    			AM62X_IOPAD(0x0068, PIN_OUTPUT, 1) /* (R21) GPMC0_AD11.VOUT0_DATA19 */
    			AM62X_IOPAD(0x006c, PIN_OUTPUT, 1) /* (T22) GPMC0_AD12.VOUT0_DATA20 */
    			AM62X_IOPAD(0x0070, PIN_OUTPUT, 1) /* (T24) GPMC0_AD13.VOUT0_DATA21 */
    			AM62X_IOPAD(0x0074, PIN_OUTPUT, 1) /* (U25) GPMC0_AD14.VOUT0_DATA22 */
    			AM62X_IOPAD(0x0078, PIN_OUTPUT, 1) /* (U24) GPMC0_AD15.VOUT0_DATA23 */
    		>;
    	};
    
    	vdd_sd_dv_pins_default: vdd-sd-dv-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (P25) GPMC0_CLK.GPIO0_31 */
    		>;
    	};
    
    	main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
    		>;
    	};
    
    	main_usb1_pins_default: main-usb1-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */
    		>;
    	};
    
    	main_mcasp1_pins_default: main-mcasp1-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x0090, PIN_INPUT, 2) /* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */
    			AM62X_IOPAD(0x0098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */
    			AM62X_IOPAD(0x008c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */
    			AM62X_IOPAD(0x0084, PIN_INPUT, 2) /* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */
    		>;
    	};
    };
    
    &wkup_uart0 {
    	/* WKUP UART0 is used by DM firmware */
    	status = "reserved";
    };
    
    &mcu_uart0 {
    	status = "disabled";
    };
    
    &main_uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    };
    
    &main_uart1 {
    	/* Main UART1 is used by TIFS firmware */
    	status = "reserved";
    };
    
    &main_uart2 {
    	status = "disabled";
    };
    
    &main_uart3 {
    	status = "disabled";
    };
    
    &main_uart4 {
    	status = "disabled";
    };
    
    &main_uart5 {
    	status = "disabled";
    };
    
    &main_uart6 {
    	status = "disabled";
    };
    
    &mcu_i2c0 {
    	status = "disabled";
    };
    
    &wkup_i2c0 {
    	status = "disabled";
    };
    
    &main_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    
    	typec_pd: usb-pd@3f {
    		compatible = "ti,tps6598x";
    		reg = <0x3f>;
    
    		connector {
    			ports {
    				#address-cells = <1>;
    				#size-cells = <0>;
    
    				port@1 {
    					reg = <1>;
    
    					usb_con_hs: endpoint {
    						remote-endpoint = <&typec_hs>;
    					};
    				};
    			};
    		};
    	};
    };
    
    &main_i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <100000>;
    
    	exp1: gpio@22 {
    		compatible = "ti,tca6424";
    		reg = <0x22>;
    		gpio-controller;
    		#gpio-cells = <2>;
    		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
    				   "PRU_DETECT", "MMC1_SD_EN",
    				   "VPP_LDO_EN", "EXP_PS_3V3_En",
    				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
    				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
    				   "UART1_FET_BUF_EN", "WL_LT_EN",
    				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
    				   "CSI_GPIO2", "PRU_3V3_EN",
    				   "HDMI_INTn", "TEST_GPIO2",
    				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
    				   "MCASP1_FET_SEL", "UART1_FET_SEL",
    				   "TSINT#", "IO_EXP_TEST_LED";
    
    		interrupt-parent = <&main_gpio1>;
    		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
    		interrupt-controller;
    		#interrupt-cells = <2>;
    
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
    	};
    
    	sii9022: sii9022@3b {
    		compatible = "sil,sii9022";
    		reg = <0x3b>;
    
    		clocks = <&hdmi_mstrclk>;
    		clock-names = "mclk";
    
    		interrupt-parent = <&exp1>;
    		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
    
    		ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    
    			port@0 {
    				reg = <0>;
    
    				sii9022_in: endpoint {
    					remote-endpoint = <&dpi1_out>;
    				};
    			};
    
    			port@1 {
    				reg = <1>;
    
    				sii9022_out: endpoint {
    					remote-endpoint = <&hdmi_connector_in>;
    				};
    			};
    		};
    	};
    
    	tlv320aic3106: audio-codec@1b {
    		#sound-dai-cells = <0>;
    		compatible = "ti,tlv320aic3106";
    		reg = <0x1b>;
    
    		/* Regulators */
    		AVDD-supply = <&vcc_3v3_sys>;
    		IOVDD-supply = <&vcc_3v3_sys>;
    		DRVDD-supply = <&vcc_3v3_sys>;
    		DVDD-supply = <&vcc_1v8>;
    	};
    };
    
    &main_i2c2 {
    	status = "disabled";
    };
    
    &main_i2c3 {
    	status = "disabled";
    };
    
    &sdhci0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc0_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &sdhci1 {
    	/* SD/MMC */
    	vmmc-supply = <&vdd_mmc1>;
    	vqmmc-supply = <&vdd_sd_dv>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    	no-1-8-v;
    };
    
    &usbss0 {
    	ti,vbus-divider;
    };
    
    &usb0 {
    	#address-cells = <1>;
    	#size-cells = <0>;
    	usb-role-switch;
    
    	port@1 {
    		reg = <1>;
    
    		typec_hs: endpoint {
    			remote-endpoint = <&usb_con_hs>;
    		};
    	};
    };
    
    &usb1 {
    	dr_mode = "host";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usb1_pins_default>;
    };
    
    &cpsw3g {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mdio1_pins_default
    		     &main_rgmii1_pins_default
    		     &main_rgmii2_pins_default>;
    };
    
    &cpsw_port1 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy0>;
    };
    
    &cpsw_port2 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy1>;
    };
    
    &cpsw3g_mdio {
    	cpsw3g_phy0: ethernet-phy@0 {
    		reg = <0>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,min-output-impedance;
    	};
    
    	cpsw3g_phy1: ethernet-phy@1 {
    		reg = <1>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,min-output-impedance;
    	};
    };
    
    &dss {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_dss0_pins_default>;
    };
    
    &dss_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	/* VP2: DPI Output */
    	port@1 {
    		reg = <1>;
    
    		dpi1_out: endpoint {
    			remote-endpoint = <&sii9022_in>;
    		};
    	};
    };
    
    &mcasp0 {
    	status = "disabled";
    };
    
    &mcasp1 {
    	status = "okay";
    	#sound-dai-cells = <0>;
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcasp1_pins_default>;
    
    	op-mode = <0>;          /* MCASP_IIS_MODE */
    	tdm-slots = <2>;
    
    	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
    	       1 0 0 0
    	       0 0 0 0
    	       0 0 0 0
    	       0 0 0 0
    	>;
    	tx-num-evt = <32>;
    	rx-num-evt = <32>;
    };
    
    &mcasp2 {
    	status = "disabled";
    };
    
    &mailbox0_cluster0 {
    	mbox_m4_0: mbox-m4-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_r5_0: mbox-r5-0 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &ospi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&ospi0_pins_default>;
    };
    
    &mcu_m4fss {
    	mboxes = <&mailbox0_cluster0 &mbox_m4_0>;
    	memory-region = <&mcu_m4fss_dma_memory_region>,
    			<&mcu_m4fss_memory_region>;
    };
    
    &wkup_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
    	memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
    			<&wkup_r5fss0_core0_memory_region>;
    };
    
    &main_mcan0 {
    	status = "disabled";
    };
    
    &mcu_rti0 {
    	/* MCU RTI0 is used by M4F firmware */
    	status = "reserved";
    };
    
    &wkup_rti0 {
    	/* WKUP RTI0 is used by DM firmware */
    	status = "reserved";
    };
    
    &epwm0 {
    	status = "disabled";
    };
    
    &epwm1 {
    	status = "disabled";
    };
    
    &epwm2 {
    	status = "disabled";
    };
    
    &ecap0 {
    	status = "disabled";
    };
    
    &ecap1 {
    	status = "disabled";
    };
    
    &ecap2 {
    	status = "disabled";
    };

    After that, I try to build it using "make linux-dtbs". I had copy these 4 dtb files below to my sd card boot folder.

    After booting into Arago Project, I had try these commands below to see if the gpio turns high or low:

    echo 439 > /sys/class/gpio/export                                               
    echo 440 > /sys/class/gpio/export                                               
    echo out > /sys/class/gpio/gpio440/direction                                    
    echo in > /sys/class/gpio/gpio439/direction  
    echo 1 > /sys/class/gpio/gpio440/value                                      
    cat /sys/class/gpio/gpio440/value                                          
    cat /sys/class/gpio/gpio439/value  

    But the result I got is that the GPIO0_39 will always remains at 0.6V, whenever I echo it 1 or 0.

    What will be the problem?

  • What is the output of 'ls -l /sys/class/gpio/' command?

    echo 439 > /sys/class/gpio/export                                               
    echo 440 > /sys/class/gpio/export

    have you checked 439 is for GPIO0_39 and 440 is for GPIO0_40?

  • Is there any way to check this? 

  • have you checked 439 is for GPIO0_39 and 440 is for GPIO0_40?

    Please follow the process described below:

    e2e.ti.com/.../4514588

  • Hi,

    Last time I had asked about how to modify GPIO and boot it from SD card, and I already solved my problem.

    Now, I had continue to work on how to modify GPIO and boot it from eMMC, is there any possible way or reference to do so?  From my information, we need to build the required files, tiboot3.bin, tispl.bin, u-boot.img and am62x-tisdk-base.ext4. 

    So, my question is, is this directory: /home/$USER/ti-processor-sdk-linux-am62xx-evm-08.04.01.03/board-support/u-boot-2021.01+gitAUTOINC+2dd2e1d366-g2dd2e1d366/arch/arm/dts where the k3-am62x-sk-common.dtsi needs to be modify?

    If is, how do we build the dtb files, as 'make dtbs' does not work for u-boot.

    After building the dtb files, where should we replace it to?

  • Hi Suan,

    For how to build uboot and ext4 image and flash to eMMC, please create a new e2e post for the query, we need to get our U-Boot expert involved to help.