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.

TDA4VM-Q1: libgpiod 1.6.3 compatibilty with ti-kernel

Part Number: TDA4VM-Q1
Other Parts Discussed in Thread: TCA9539

my Application is compiled with libgpiod 1.6.3 with ti-kernel 6.1.X.

For the case of pin where pad is modified to work as GPIO . Libgpiod api are working fine.

gpioget and gpioset.

 

For the case of IO expander libgpiod api (gpioset and gpioget)are not working. Eventhough DTS are changed to list Gpio as extra chip .

Attaching log for more clarity.

------------------------------------------------------------------------------------------------------------

root@j784s4-ospas120:~# gpiodetect
gpiochip0 [42110000.gpio] (89 lines)
gpiochip1 [600000.gpio] (66 lines)
gpiochip2 [0-0075] (16 lines) <expander>

-------------------------------------------------------------------------------------------------

root@j784s4-ospas120:~# ls /sys/class/i2c-dev/i2c-0/device/0-0075/
driver                          name                            subsystem                       uevent
gpiochip2                       of_node                         supplier:platform:600000.gpio
modalias                        power                           supplier:regulator:regulator.0

---------------------------------------------------------------------------------------------------

root@j784s4-ospas120:~# gpioget gpiochip2 0
gpioget: error reading GPIO values: Invalid argument

---------------------------------------------------------------------------------------------------

root@j784s4-ospas120:~# gpioinfo gpiochip2
gpiochip2 - 16 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

-----------------------------------------------------------------------------------------------------------

  • Hi Ankit,

    Can you share two things:

    • Logs from "dmesg"
    • DTS file that has the IO expander node?

    Regards,

    Takuma

  • Hi Takuma,

    Attaching log and dts file for your reference.

    root@j784s4-ospas120:~# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
    [    0.000000] Linux version 6.6.44-ti-01478-g541c20281af7-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.202407234
    [    0.000000] KASLR disabled due to lack of seed
    [    0.000000] Machine model: Aptiv OSPAS-120 TDA4VP
    [    0.000000] efi: UEFI not found.
    [    0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a0000000..0x00000000a00fffff (1024 KiB) nomap non-reusable vision-apps-r5f-dma-memory@a0000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a0100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a0100000..0x00000000a0ffffff (15360 KiB) nomap non-reusable vision-apps-r5f-memory@a0100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a1000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a1000000..0x00000000a10fffff (1024 KiB) nomap non-reusable vision-apps-r5f-dma-memory@a1000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a1100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a1100000..0x00000000a1ffffff (15360 KiB) nomap non-reusable vision-apps-r5f-memory@a1100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a2000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a2000000..0x00000000a20fffff (1024 KiB) nomap non-reusable vision-apps-r5f-dma-memory@a2000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 31 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a2100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a2100000..0x00000000a3ffffff (31744 KiB) nomap non-reusable vision-apps-r5f-memory@a2100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a4000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a4000000..0x00000000a40fffff (1024 KiB) nomap non-reusable vision-apps-r5f-dma-memory@a4000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a4100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a4100000..0x00000000a4ffffff (15360 KiB) nomap non-reusable vision-apps-r5f-memory@a4100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a5000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a5000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a5000000..0x00000000a50fffff (1024 KiB) nomap non-reusable vision-apps-r5f-dma-memory@a5000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a5100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a5100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a5100000..0x00000000a5ffffff (15360 KiB) nomap non-reusable vision-apps-r5f-memory@a5100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a6000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a6000000..0x00000000a60fffff (1024 KiB) nomap non-reusable vision-apps-r5f-dma-memory@a6000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a6100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a6100000..0x00000000a6ffffff (15360 KiB) nomap non-reusable vision-apps-r5f-memory@a6100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a7000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a7000000..0x00000000a70fffff (1024 KiB) nomap non-reusable vision-apps-r5f-dma-memory@a7000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a7100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a7100000..0x00000000a7ffffff (15360 KiB) nomap non-reusable vision-apps-r5f-memory@a7100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a8000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a8000000..0x00000000a80fffff (1024 KiB) nomap non-reusable vision-apps-r5f-dma-memory@a8000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a8100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a8100000..0x00000000a8ffffff (15360 KiB) nomap non-reusable vision-apps-r5f-memory@a8100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000ac000000, size 48 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-rtos-ipc-memory-region@ac000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000ac000000..0x00000000aeffffff (49152 KiB) nomap non-reusable vision-apps-rtos-ipc-memory-region@ac000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000af000000, size 48 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-dma-memory@af000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000af000000..0x00000000b1ffffff (49152 KiB) nomap non-reusable vision-apps-dma-memory@af000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000b2000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-c71-dma-memory@b2000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b2000000..0x00000000b20fffff (1024 KiB) nomap non-reusable vision-apps-c71-dma-memory@b2000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000b2100000, size 5 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-c71_0-memory@b2100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b2100000..0x00000000b2603fff (5136 KiB) nomap non-reusable vision-apps-c71_0-memory@b2100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000b4000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-c71_1-dma-memory@b4000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b4000000..0x00000000b40fffff (1024 KiB) nomap non-reusable vision-apps-c71_1-dma-memory@b4000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000b4100000, size 5 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-c71_1-memory@b4100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b4100000..0x00000000b4603fff (5136 KiB) nomap non-reusable vision-apps-c71_1-memory@b4100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000b6000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-c71_2-dma-memory@b6000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b6000000..0x00000000b60fffff (1024 KiB) nomap non-reusable vision-apps-c71_2-dma-memory@b6000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000b6100000, size 5 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-c71_2-memory@b6100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b6100000..0x00000000b6603fff (5136 KiB) nomap non-reusable vision-apps-c71_2-memory@b6100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000b8000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-c71_3-dma-memory@b8000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b8000000..0x00000000b80fffff (1024 KiB) nomap non-reusable vision-apps-c71_3-dma-memory@b8000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000b8100000, size 5 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-c71_3-memory@b8100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000b8100000..0x00000000b8603fff (5136 KiB) nomap non-reusable vision-apps-c71_3-memory@b8100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000ba000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-core-heap-memory-lo@ba000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000ba000000..0x00000000bdffffff (65536 KiB) nomap non-reusable vision-apps-core-heap-memory-lo@ba000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000be000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-virtual-eth-queues@be000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000be000000..0x00000000be7fffff (8192 KiB) nomap non-reusable vision-apps-r5f-virtual-eth-queues@be000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000be800000, size 24 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-r5f-virtual-eth-buffers@be800000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000be800000..0x00000000bfffffff (24576 KiB) nomap non-reusable vision-apps-r5f-virtual-eth-buffers@be800000
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-request, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0000000..0x00000000c0000fff (4 KiB) nomap non-reusable apps-shared-memory-uds-request
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-response, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0001000..0x00000000c0001fff (4 KiB) nomap non-reusable apps-shared-memory-uds-response
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-request-mcu3_0, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0002000..0x00000000c0002fff (4 KiB) nomap non-reusable apps-shared-memory-uds-request-mcu3_0
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-response-mcu3_0, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0003000..0x00000000c0003fff (4 KiB) nomap non-reusable apps-shared-memory-uds-response-mcu3_0
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-request-mcu3_1, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0004000..0x00000000c0004fff (4 KiB) nomap non-reusable apps-shared-memory-uds-request-mcu3_1
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-response-mcu3_1, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0005000..0x00000000c0005fff (4 KiB) nomap non-reusable apps-shared-memory-uds-response-mcu3_1
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-request-mcu4_0, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0006000..0x00000000c0006fff (4 KiB) nomap non-reusable apps-shared-memory-uds-request-mcu4_0
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-response-mcu4_0, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0007000..0x00000000c0007fff (4 KiB) nomap non-reusable apps-shared-memory-uds-response-mcu4_0
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-request-mcu4_1, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0008000..0x00000000c0008fff (4 KiB) nomap non-reusable apps-shared-memory-uds-request-mcu4_1
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory-uds-response-mcu4_1, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000c0009000..0x00000000c0009fff (4 KiB) nomap non-reusable apps-shared-memory-uds-response-mcu4_1
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000880000000, size 2048 MiB
    [    0.000000] OF: reserved mem: initialized node vision-apps-core-heap-memory-hi@880000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x0000000880000000..0x00000008ffffffff (2097152 KiB) nomap non-reusable vision-apps-core-heap-memory-hi@880000000
    [    0.000000] Not enough slots for DMA-Heap reserved regions!
    [    0.000000] OF: reserved mem: node vision_apps_shared-memories compatible matching fail
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000980000000, size 1792 MiB
    [    0.000000] OF: reserved mem: initialized node linux-cma-buffers@980000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x0000000980000000..0x00000009efffffff (1835008 KiB) map reusable linux-cma-buffers@980000000
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   [mem 0x0000000100000000-0x0000000fffffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a8ffffff]
    [    0.000000]   node   0: [mem 0x00000000a9000000-0x00000000abffffff]
    [    0.000000]   node   0: [mem 0x00000000ac000000-0x00000000b2603fff]
    [    0.000000]   node   0: [mem 0x00000000b2604000-0x00000000b3ffffff]
    [    0.000000]   node   0: [mem 0x00000000b4000000-0x00000000b4603fff]
    [    0.000000]   node   0: [mem 0x00000000b4604000-0x00000000b5ffffff]
    [    0.000000]   node   0: [mem 0x00000000b6000000-0x00000000b6603fff]
    [    0.000000]   node   0: [mem 0x00000000b6604000-0x00000000b7ffffff]
    [    0.000000]   node   0: [mem 0x00000000b8000000-0x00000000b8603fff]
    [    0.000000]   node   0: [mem 0x00000000b8604000-0x00000000b9ffffff]
    [    0.000000]   node   0: [mem 0x00000000ba000000-0x00000000c0009fff]
    [    0.000000]   node   0: [mem 0x00000000c000a000-0x00000000ffffffff]
    [    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffffff]
    [    0.000000]   node   0: [mem 0x0000000900000000-0x0000000fffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x0000000fffffffff]
    [    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.5
    [    0.000000] percpu: Embedded 20 pages/cpu s43176 r8192 d30552 u81920
    [    0.000000] pcpu-alloc: s43176 r8192 d30552 u81920 alloc=20*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7
    [    0.000000] Detected PIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: detected: Spectre-v3a
    [    0.000000] CPU features: detected: Spectre-BHB
    [    0.000000] CPU features: detected: ARM erratum 1742098
    [    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=/dev/mmcblk0p15 rootwait rw rootfstype=ext4
    [    0.000000] Dentry cache hash table entries: 4194304 (order: 13, 33554432 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear)
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8257536
    [    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    [    0.000000] software IO TLB: area num 8.
    [    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
    [    0.000000] Memory: 28505924K/33554432K available (12480K kernel code, 1272K rwdata, 4184K rodata, 2496K init, 523K bss, 3213500K reserved, 1835008K cma-)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, 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=8.
    [    0.000000]  Trampoline variant of Tasks RCU enabled.
    [    0.000000]  Tracing 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=8
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: [Firmware Bug]: GICR region 0x0000000001900000 has overlapping address
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 960 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] Root IRQ handler: gic_handle_irq
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001900000
    [    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 @900800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000900060000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000900070000
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000000] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.000223] Console: colour dummy device 80x25
    [    0.000252] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.000257] pid_max: default: 32768 minimum: 301
    [    0.000300] LSM: initializing lsm=capability,selinux,integrity
    [    0.000315] SELinux:  Initializing.
    [    0.000458] Mount-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.000535] Mountpoint-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.001506] RCU Tasks: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1.
    [    0.001548] RCU Tasks Trace: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1.
    [    0.001646] rcu: Hierarchical SRCU implementation.
    [    0.001649] rcu:     Max phase no-delay instances is 1000.
    [    0.001793] Platform MSI: msi-controller@1820000 domain created
    [    0.001917] PCI/MSI: /bus@100000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.002107] EFI services will not be available.
    [    0.002309] smp: Bringing up secondary CPUs ...
    [    0.010753] Detected PIPT I-cache on CPU1
    [    0.010787] GICv3: CPU1: found redistributor 1 region 0:0x0000000001920000
    [    0.010800] GICv3: CPU1: using allocated LPI pending table @0x0000000900080000
    [    0.010827] CPU1: Booted secondary processor 0x0000000001 [0x411fd080]
    [    0.019266] Detected PIPT I-cache on CPU2
    [    0.019292] GICv3: CPU2: found redistributor 2 region 0:0x0000000001940000
    [    0.019304] GICv3: CPU2: using allocated LPI pending table @0x0000000900090000
    [    0.019328] CPU2: Booted secondary processor 0x0000000002 [0x411fd080]
    [    0.027753] Detected PIPT I-cache on CPU3
    [    0.027782] GICv3: CPU3: found redistributor 3 region 0:0x0000000001960000
    [    0.027795] GICv3: CPU3: using allocated LPI pending table @0x00000009000a0000
    [    0.027818] CPU3: Booted secondary processor 0x0000000003 [0x411fd080]
    [    0.036299] Detected PIPT I-cache on CPU4
    [    0.036350] GICv3: CPU4: found redistributor 100 region 0:0x0000000001980000
    [    0.036364] GICv3: CPU4: using allocated LPI pending table @0x00000009000b0000
    [    0.036393] CPU4: Booted secondary processor 0x0000000100 [0x411fd080]
    [    0.044856] Detected PIPT I-cache on CPU5
    [    0.044889] GICv3: CPU5: found redistributor 101 region 0:0x00000000019a0000
    [    0.044902] GICv3: CPU5: using allocated LPI pending table @0x00000009000c0000
    [    0.044926] CPU5: Booted secondary processor 0x0000000101 [0x411fd080]
    [    0.053360] Detected PIPT I-cache on CPU6
    [    0.053395] GICv3: CPU6: found redistributor 102 region 0:0x00000000019c0000
    [    0.053408] GICv3: CPU6: using allocated LPI pending table @0x00000009000d0000
    [    0.053431] CPU6: Booted secondary processor 0x0000000102 [0x411fd080]
    [    0.061870] Detected PIPT I-cache on CPU7
    [    0.061911] GICv3: CPU7: found redistributor 103 region 0:0x00000000019e0000
    [    0.061924] GICv3: CPU7: using allocated LPI pending table @0x00000009000e0000
    [    0.061948] CPU7: Booted secondary processor 0x0000000103 [0x411fd080]
    [    0.061998] smp: Brought up 1 node, 8 CPUs
    [    0.062002] SMP: Total of 8 processors activated.
    [    0.062005] CPU features: detected: 32-bit EL0 Support
    [    0.062007] CPU features: detected: CRC32 instructions
    [    0.062046] CPU: All CPU(s) started at EL2
    [    0.062048] alternatives: applying system-wide alternatives
    [    0.062926] devtmpfs: initialized
    [    0.074032] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.074041] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
    [    0.099465] pinctrl core: initialized pinctrl subsystem
    [    0.099693] DMI not present or invalid.
    [    0.100020] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.101163] DMA: preallocated 4096 KiB GFP_KERNEL pool for atomic allocations
    [    0.101868] DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.102571] DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.102597] audit: initializing netlink subsys (disabled)
    [    0.102685] audit: type=2000 audit(0.100:1): state=initialized audit_enabled=0 res=1
    [    0.102865] thermal_sys: Registered thermal governor 'step_wise'
    [    0.102868] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.102887] cpuidle: using governor menu
    [    0.102947] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.103030] ASID allocator initialised with 65536 entries
    [    0.112920] platform a40000.pinctrl: Fixed dependency cycle(s) with /bus@100000/pinctrl@a40000/mcu-cpsw-cpts
    [    0.113288] platform a000000.bridge: Fixed dependency cycle(s) with /dp0-connector
    [    0.113315] platform dp0-connector: Fixed dependency cycle(s) with /bus@100000/bridge@a000000
    [    0.113780] Modules: 27488 pages in range for non-PLT usage
    [    0.113782] Modules: 519008 pages in range for PLT usage
    [    0.114126] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.114129] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.114132] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.114134] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.114136] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.114138] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.114140] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.114142] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.114828] k3-chipinfo 43000014.chipid: Family:J784S4 rev:SR1.0 JTAGID[0x0bb8002f] Detected
    [    0.115167] iommu: Default domain type: Translated
    [    0.115170] iommu: DMA domain TLB invalidation policy: strict mode
    [    0.115325] SCSI subsystem initialized
    [    0.115397] libata version 3.00 loaded.
    [    0.115470] usbcore: registered new interface driver usbfs
    [    0.115482] usbcore: registered new interface driver hub
    [    0.115497] usbcore: registered new device driver usb
    [    0.115699] pps_core: LinuxPPS API ver. 1 registered
    [    0.115701] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.115706] PTP clock support registered
    [    0.115803] EDAC MC: Ver: 3.0.0
    [    0.116009] scmi_core: SCMI protocol bus registered
    [    0.116148] FPGA manager framework
    [    0.116185] Advanced Linux Sound Architecture Driver Initialized.
    [    0.116579] vgaarb: loaded
    [    0.116708] clocksource: Switched to clocksource arch_sys_counter
    [    0.116805] VFS: Disk quotas dquot_6.6.0
    [    0.116818] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.119963] Carveout Heap: Exported 0 MiB at 0x00000000c0000000
    [    0.120012] Carveout Heap: Exported 0 MiB at 0x00000000c0001000
    [    0.120057] Carveout Heap: Exported 0 MiB at 0x00000000c0002000
    [    0.120123] Carveout Heap: Exported 0 MiB at 0x00000000c0003000
    [    0.120174] Carveout Heap: Exported 0 MiB at 0x00000000c0004000
    [    0.120220] Carveout Heap: Exported 0 MiB at 0x00000000c0005000
    [    0.120274] Carveout Heap: Exported 0 MiB at 0x00000000c0006000
    [    0.120320] Carveout Heap: Exported 0 MiB at 0x00000000c0007000
    [    0.120367] Carveout Heap: Exported 0 MiB at 0x00000000c0008000
    [    0.120412] Carveout Heap: Exported 0 MiB at 0x00000000c0009000
    [    0.120453] NET: Registered PF_INET protocol family
    [    0.120856] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.125949] tcp_listen_portaddr_hash hash table entries: 16384 (order: 6, 262144 bytes, linear)
    [    0.126080] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.126098] TCP established hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.126906] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear)
    [    0.127784] TCP: Hash tables configured (established 262144 bind 65536)
    [    0.127876] UDP hash table entries: 16384 (order: 7, 524288 bytes, linear)
    [    0.128184] UDP-Lite hash table entries: 16384 (order: 7, 524288 bytes, linear)
    [    0.128570] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.128838] RPC: Registered named UNIX socket transport module.
    [    0.128841] RPC: Registered udp transport module.
    [    0.128843] RPC: Registered tcp transport module.
    [    0.128844] RPC: Registered tcp-with-tls transport module.
    [    0.128846] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.128850] NET: Registered PF_XDP protocol family
    [    0.128861] PCI: CLS 0 bytes, default 64
    [    0.129680] Initialise system trusted keyrings
    [    0.129759] workingset: timestamp_bits=46 max_order=23 bucket_order=0
    [    0.129899] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.130010] NFS: Registering the id_resolver key type
    [    0.130026] Key type id_resolver registered
    [    0.130028] Key type id_legacy registered
    [    0.130038] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.130042] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.143802] Key type asymmetric registered
    [    0.143806] Asymmetric key parser 'x509' registered
    [    0.143830] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
    [    0.143905] io scheduler mq-deadline registered
    [    0.143908] io scheduler kyber registered
    [    0.143922] io scheduler bfq registered
    [    0.145964] pinctrl-single 4301c000.pinctrl: 13 pins, size 52
    [    0.146058] pinctrl-single 4301c038.pinctrl: 11 pins, size 44
    [    0.146152] pinctrl-single 4301c068.pinctrl: 72 pins, size 288
    [    0.146274] pinctrl-single 4301c190.pinctrl: 1 pins, size 4
    [    0.146405] pinctrl-single 11c000.pinctrl: 72 pins, size 288
    [    0.146631] pinctrl-single 104200.pinctrl: 20 pins, size 80
    [    0.146689] pinctrl-single 104280.pinctrl: 8 pins, size 32
    [    0.147083] pinctrl-single a40000.pinctrl: 512 pins, size 2048
    [    0.150655] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
    [    0.155861] loop: module loaded
    [    0.156349] megasas: 07.725.01.00-rc1
    [    0.158107] tun: Universal TUN/TAP device driver, 1.6
    [    0.158563] VFIO - User Level meta-driver version: 0.3
    [    0.159170] usbcore: registered new interface driver usb-storage
    [    0.159492] i2c_dev: i2c /dev entries driver
    [    0.160099] sdhci: Secure Digital Host Controller Interface driver
    [    0.160101] sdhci: Copyright(c) Pierre Ossman
    [    0.160223] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.160633] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.160830] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.161205] usbcore: registered new interface driver usbhid
    [    0.161207] usbhid: USB HID core driver
    [    0.161922] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
    [    0.162165] optee: probing for conduit method.
    [    0.162180] optee: revision 4.4 (8f645256efc0dc66)
    [    0.178585] optee: dynamic shared memory is enabled
    [    0.178953] random: crng init done
    [    0.179008] optee: initialized driver
    [    0.180009] Initializing XFRM netlink socket
    [    0.180024] NET: Registered PF_PACKET protocol family
    [    0.180060] Key type dns_resolver registered
    [    0.183633] registered taskstats version 1
    [    0.183757] Loading compiled-in X.509 certificates
    [    0.189903] ti-sci 44083000.system-controller: ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    [    0.224556] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
    [    0.224634] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
    [    0.224745] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
    [    0.240438] omap_i2c 2040000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.240581] ti-sci-intr 42200000.interrupt-controller: Interrupt Router 177 domain created
    [    0.240718] ti-sci-intr bus@100000:interrupt-controller@a00000: Interrupt Router 10 domain created
    [    0.240812] ti-sci-intr 310e0000.interrupt-controller: Interrupt Router 283 domain created
    [    0.241014] ti-sci-inta 33d00000.msi-controller: Interrupt Aggregator domain 321 created
    [    0.241391] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    0.242193] ti-udma 311a0000.dma-controller: Number of rings: 48
    [    0.242955] ti-udma 311a0000.dma-controller: Channels: 24 (bchan: 0, tchan: 8, rchan: 16)
    [    0.243860] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:328
    [    0.243865] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled
    [    0.243867] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66349100, num_proxies:64
    [    0.245760] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:1024, gp-rings[878,128] sci-dev-id:315
    [    0.245765] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled
    [    0.245768] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66349100, num_proxies:64
    [    0.246268] 2800000.serial: ttyS0 at MMIO 0x2800000 (irq = 223, base_baud = 3000000) is a 8250
    [    0.246770] 2840000.serial: ttyS2 at MMIO 0x2840000 (irq = 224, base_baud = 3000000) is a 8250
    [    0.246798] printk: console [ttyS2] enabled
    [    3.051089] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010c, freq:250000000, add_val:3 pps:0
    [    3.059818] mmc0: CQHCI version 5.10
    [    3.062846] pca953x 0-0075: supply vcc not found, using dummy regulator
    [    3.070048] pca953x 0-0075: using no AI
    [    3.097450] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    3.103281] mmc0: SDHCI controller on 4f80000.mmc [4f80000.mmc] using ADMA 64-bit
    [    3.104512] ti-udma 285c0000.dma-controller: Channels: 22 (tchan: 11, rchan: 11, gp-rflow: 8)
    [    3.121510] ti-udma 31150000.dma-controller: Channels: 66 (tchan: 33, rchan: 33, gp-rflow: 16)
    [    3.133717] spi-nor spi0.0: is25lx256 (32768 Kbytes)
    [    3.138731] 7 fixed-partitions partitions found on MTD device 47040000.spi.0
    [    3.145776] Creating 7 MTD partitions on "47040000.spi.0":
    [    3.151255] 0x000000000000-0x000000100000 : "ospi.tiboot3"
    [    3.157398] 0x000000100000-0x000000300000 : "ospi.tispl"
    [    3.163244] 0x000000300000-0x000000700000 : "ospi.u-boot"
    [    3.169173] 0x000000700000-0x000000740000 : "ospi.env"
    [    3.174840] 0x000000740000-0x000000780000 : "ospi.env.backup"
    [    3.181117] 0x000000800000-0x000000a00000 : "ospi.rootfs"
    [    3.186671] mmc0: Command Queue Engine enabled
    [    3.187081] 0x000000a00000-0x000000a40000 : "ospi.phypattern"
    [    3.191116] mmc0: new HS200 MMC card at address 0001
    [    3.197404] cadence-qspi 47040000.spi: Pattern not found. Skipping calibration.
    [    3.202117] mmcblk0: mmc0:0001 IS032G 29.1 GiB
    [    3.209400] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    3.217945]  mmcblk0: p1 p2 p3 p4 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 >
    [    3.220210] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    3.228499] mmcblk0boot0: mmc0:0001 IS032G 4.00 MiB
    [    3.236997] clk: Disabling unused clocks
    [    3.239291] mmcblk0boot1: mmc0:0001 IS032G 4.00 MiB
    [    3.247966] mmcblk0rpmb: mmc0:0001 IS032G 4.00 MiB, chardev (239:0)
    [    3.251988] ALSA device list:
    [    3.254488] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    3.257182]   No soundcards found.
    [    3.280098] EXT4-fs (mmcblk0p15): mounted filesystem 69fa68c5-c819-469f-940c-aa49ec282f54 r/w with ordered data mode. Quota mode: none.
    [    3.292284] VFS: Mounted root (ext4 filesystem) on device 179:15.
    [    3.298918] devtmpfs: mounted
    [    3.302818] Freeing unused kernel memory: 2496K
    [    3.307433] Run /sbin/init as init process
    [    3.311521]   with arguments:
    [    3.311523]     /sbin/init
    [    3.311525]   with environment:
    [    3.311526]     HOME=/
    [    3.311529]     TERM=linux
    [    3.404715] systemd[1]: System time before build time, advancing clock.
    [    3.430807] NET: Registered PF_INET6 protocol family
    [    3.436249] Segment Routing with IPv6
    [    3.439918] In-situ OAM (IOAM) with IPv6
    [    3.458539] systemd[1]: systemd 255.13^ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID )
    [    3.490462] systemd[1]: Detected architecture arm64.
    [    3.505344] systemd[1]: Hostname set to <j784s4-ospas120>.
    [    3.513692] systemd[1]: Initializing machine ID from random generator.
    [    3.686132] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please up.
    [    3.728981] systemd[1]: Queued start job for default target Multi-User System.
    [    3.774535] systemd[1]: Created slice Slice /system/getty.
    [    3.797419] systemd[1]: Created slice Slice /system/modprobe.
    [    3.821338] systemd[1]: Created slice Slice /system/serial-getty.
    [    3.845215] systemd[1]: Created slice User and Session Slice.
    [    3.864853] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    3.888829] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    3.912773] systemd[1]: Expecting device /dev/ttyS2...
    [    3.928802] systemd[1]: Reached target Path Units.
    [    3.944766] systemd[1]: Reached target Remote File Systems.
    [    3.964749] systemd[1]: Reached target Slice Units.
    [    3.980759] systemd[1]: Reached target Swaps.
    [    4.002279] systemd[1]: Listening on Process Core Dump Socket.
    [    4.024867] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [    4.049146] systemd[1]: Listening on Journal Audit Socket.
    [    4.068943] systemd[1]: Listening on Journal Socket (/dev/log).
    [    4.088965] systemd[1]: Listening on Journal Socket.
    [    4.105011] systemd[1]: Listening on Network Service Netlink Socket.
    [    4.129007] systemd[1]: Listening on udev Control Socket.
    [    4.148907] systemd[1]: Listening on udev Kernel Socket.
    [    4.168943] systemd[1]: Listening on User Database Manager Socket.
    [    4.216860] systemd[1]: Mounting Huge Pages File System...
    [    4.234203] systemd[1]: Mounting POSIX Message Queue File System...
    [    4.258226] systemd[1]: Mounting Kernel Debug File System...
    [    4.272917] systemd[1]: Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
    [    4.290249] systemd[1]: Mounting Temporary Directory /tmp...
    [    4.306529] systemd[1]: Starting Create List of Static Device Nodes...
    [    4.330566] systemd[1]: Starting Load Kernel Module configfs...
    [    4.346503] systemd[1]: Starting Load Kernel Module drm...
    [    4.362456] systemd[1]: Starting Load Kernel Module fuse...
    [    4.376948] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/).
    [    4.392327] systemd[1]: Starting Journal Service...
    [    4.397899] fuse: init (API version 7.39)
    [    4.411515] systemd[1]: Starting Load Kernel Modules...
    [    4.430472] systemd[1]: Starting Generate network units from Kernel command line...
    [    4.439992] cryptodev: loading out-of-tree module taints kernel.
    [    4.440027] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    4.457217] cryptodev: driver 1.14 loaded.
    [    4.464828] systemd-journald[135]: Collecting audit messages is enabled.
    [    4.490657] systemd[1]: Starting Coldplug All udev Devices...
    [    4.507752] systemd[1]: Started Journal Service.
    [    4.517280] EXT4-fs (mmcblk0p15): re-mounted 69fa68c5-c819-469f-940c-aa49ec282f54 r/w. Quota mode: none.
    [    4.846243] systemd-journald[135]: Received client request to flush runtime journal.
    [    5.032995] audit: type=1334 audit(1728487093.628:2): prog-id=6 op=LOAD
    [    5.039626] audit: type=1334 audit(1728487093.632:3): prog-id=7 op=LOAD
    [    5.046243] audit: type=1334 audit(1728487093.640:4): prog-id=8 op=LOAD
    [    5.269669] audit: type=1334 audit(1728487093.864:5): prog-id=9 op=LOAD
    [    5.276355] audit: type=1334 audit(1728487093.868:6): prog-id=10 op=LOAD
    [    5.496597] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.509217] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.522223] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.530294] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.536137] mc: Linux media interface: v0.10
    [    5.541880] PVR_K:  213: Device: 4e20000000.gpu
    [    5.554088] videodev: Linux video capture interface: v2.00
    [    5.555335] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.555785] omap_rng 4e10000.rng: Random Number Generator ver. 241b34c
    [    5.560091] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    5.568067] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.572739] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    5.579270] PVR_K:  213: Read BVNC 36.53.104.796 from HW device registers
    [    5.584909] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    5.593673] PVR_K:  213: RGX Device registered BVNC 36.53.104.796 with 1 core in the system
    [    5.615119] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.632567] [drm] Initialized pvr 24.1.6554834 20170530 for 4e20000000.gpu on minor 0
    [    5.632749] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fca100
    [    5.633945] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    5.633952] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    5.633960] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    5.638773] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.643243] platform 41000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [    5.653199] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    5.662157] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fca100
    [    5.667565] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    5.673996] platform 41000000.r5f: configured R5F for IPC-only mode
    [    5.685930] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    5.686086] omap-mailbox 31f82000.mailbox: omap mailbox rev 0x66fca100
    [    5.691982] platform 41000000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a0000000
    [    5.692292] omap-mailbox 31f83000.mailbox: omap mailbox rev 0x66fca100
    [    5.698738] omap-mailbox 31f84000.mailbox: omap mailbox rev 0x66fca100
    [    5.699351] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.700716] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    5.700897] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    5.700906] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    5.707642] remoteproc remoteproc0: 41000000.r5f is available
    [    5.714328] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.717175] omap-mailbox 31f85000.mailbox: omap mailbox rev 0x66fca100
    [    5.718881] remoteproc remoteproc0: attaching to 41000000.r5f
    [    5.728847] k3-dsp-rproc 64800000.dsp: assigned reserved memory node vision-apps-c71-dma-memory@b2000000
    [    5.734740] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node vision-apps-r5f-dma-memory@a0000000
    [    5.741970] k3-dsp-rproc 64800000.dsp: configured DSP for remoteproc mode
    [    5.755041] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    5.760789] remoteproc remoteproc1: 64800000.dsp is available
    [    5.763747] SPI driver spidev has no spi_device_id for rohm,bh2228fv
    [    5.769005] rproc-virtio rproc-virtio.2.auto: registered virtio0 (type 7)
    [    5.774841] vdec 4210000.video-codec: OPP table not found in device tree
    [    5.774841] remoteproc remoteproc1: Direct firmware load for j784s4-c71_0-fw failed with error -2
    [    5.780044] remoteproc remoteproc0: remote processor 41000000.r5f is now attached
    [    5.780085] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [    5.780661] vdec 4210000.video-codec: Added wave5 driver with caps: 'ENCODE' 'DECODE'
    [    5.780666] vdec 4210000.video-codec: Product Code:      0x521c
    [    5.780670] vdec 4210000.video-codec: Firmware Revision: 334314
    [    5.786530] remoteproc remoteproc1: powering up 64800000.dsp
    [    5.793072] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [    5.798688] remoteproc remoteproc1: Direct firmware load for j784s4-c71_0-fw failed with error -2
    [    5.798695] remoteproc remoteproc1: request_firmware failed: -2
    [    5.808296] k3-dsp-rproc 65800000.dsp: assigned reserved memory node vision-apps-c71_1-dma-memory@b4000000
    [    5.819030] platform 5c00000.r5f: configured R5F for remoteproc mode
    [    5.825382] k3-dsp-rproc 65800000.dsp: configured DSP for remoteproc mode
    [    5.831750] vdec 4220000.video-codec: OPP table not found in device tree
    [    5.836451] platform 5c00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a2000000
    [    5.837057] remoteproc remoteproc2: 65800000.dsp is available
    [    5.837138] remoteproc remoteproc2: Direct firmware load for j784s4-c71_1-fw failed with error -2
    [    5.837146] remoteproc remoteproc2: powering up 65800000.dsp
    [    5.837163] remoteproc remoteproc2: Direct firmware load for j784s4-c71_1-fw failed with error -2
    [    5.837168] remoteproc remoteproc2: request_firmware failed: -2
    [    5.837764] k3-dsp-rproc 66800000.dsp: error -EINVAL: reserved memory init failed
    [    5.837770] k3-dsp-rproc: probe of 66800000.dsp failed with error -22
    [    5.837847] remoteproc remoteproc4: releasing 66800000.dsp
    [    5.838199] k3-dsp-rproc 67800000.dsp: assigned reserved memory node vision-apps-c71_3-dma-memory@b8000000
    [    5.838336] k3-dsp-rproc 67800000.dsp: configured DSP for remoteproc mode
    [    5.838436] remoteproc remoteproc4: 67800000.dsp is available
    [    5.838499] remoteproc remoteproc4: Direct firmware load for j784s4-c71_3-fw failed with error -2
    [    5.838505] remoteproc remoteproc4: powering up 67800000.dsp
    [    5.838520] remoteproc remoteproc4: Direct firmware load for j784s4-c71_3-fw failed with error -2
    [    5.838523] remoteproc remoteproc4: request_firmware failed: -2
    [    5.838825] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    5.838832] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    5.838840] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    5.839146] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.844425] vdec 4220000.video-codec: Added wave5 driver with caps: 'ENCODE' 'DECODE'
    [    5.850253] remoteproc remoteproc3: 5c00000.r5f is available
    [    5.850822] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    5.850837] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    5.850846] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    5.856093] vdec 4220000.video-codec: Product Code:      0x521c
    [    5.856266] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.873753] remoteproc remoteproc3: powering up 5c00000.r5f
    [    5.880101] vdec 4220000.video-codec: Firmware Revision: 334314
    [    5.887754] remoteproc remoteproc3: Booting fw image j784s4-main-r5f0_0-fw, size 896508
    [    5.888157] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    5.888174] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    5.888183] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    5.888664] wiz bus@100000:wiz@5060000: Failed to initialize clocks
    [    5.894475] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    5.966165] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node vision-apps-r5f-dma-memory@a2000000
    [    5.971567] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    5.971804] ti-udma 311a0000.dma-controller: get channel fail in udma_of_xlate.
    [    5.972015] cdns-csi2rx 4504000.csi-bridge: Couldn't get external D-PHY
    [    5.972016] platform 5d00000.r5f: configured R5F for remoteproc mode
    [    5.972431] platform 5d00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a4000000
    [    5.972923] remoteproc remoteproc5: 5d00000.r5f is available
    [    5.975687] remoteproc remoteproc5: powering up 5d00000.r5f
    [    5.975693] remoteproc remoteproc5: Booting fw image j784s4-main-r5f0_1-fw, size 284784
    [    5.976844] rproc-virtio rproc-virtio.4.auto: assigned reserved memory node vision-apps-r5f-dma-memory@a4000000
    [    5.977167] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    5.977182] rproc-virtio rproc-virtio.4.auto: registered virtio1 (type 7)
    [    5.977186] remoteproc remoteproc5: remote processor 5d00000.r5f is now up
    [    5.978690] platform 5e00000.r5f: configured R5F for remoteproc mode
    [    5.979233] platform 5e00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a5000000
    [    5.979675] remoteproc remoteproc6: 5e00000.r5f is available
    [    5.979763] remoteproc remoteproc6: Direct firmware load for j784s4-main-r5f1_0-fw failed with error -2
    [    5.979770] remoteproc remoteproc6: powering up 5e00000.r5f
    [    5.979785] remoteproc remoteproc6: Direct firmware load for j784s4-main-r5f1_0-fw failed with error -2
    [    5.979789] remoteproc remoteproc6: request_firmware failed: -2
    [    5.980145] cdns-csi2rx 4514000.csi-bridge: Couldn't get external D-PHY
    [    5.980753] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    5.986063] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    5.994922] rproc-virtio rproc-virtio.3.auto: registered virtio2 (type 7)
    [    5.995757] cdns-csi2rx 4524000.csi-bridge: Couldn't get external D-PHY
    [    6.001473] cdns-csi2rx 4504000.csi-bridge: Couldn't get external D-PHY
    [    6.001862] remoteproc remoteproc3: remote processor 5c00000.r5f is now up
    [    6.007843] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0x15
    [    6.008547] cdns-csi2rx 4514000.csi-bridge: Couldn't get external D-PHY
    [    6.123763] virtio_rpmsg_bus virtio2: creating channel ti.ethfw.ethdevice addr 0x22
    [    6.403635] virtio_rpmsg_bus virtio2: creating channel ti.ethfw.notifyservice addr 0x18
    [    6.411696] virtio_rpmsg_bus virtio2: creating channel ti.ethfw.ethdevice addr 0x22
    [    6.419409] virtio_rpmsg_bus virtio2: channel ti.ethfw.ethdevice:ffffffff:22 already exist
    [    6.432646] virtio_rpmsg_bus virtio2: rpmsg_create_channel failed
    [    6.438909] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0x15
    [    6.446099] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0x15
    [    6.453235] virtio_rpmsg_bus virtio2: channel rpmsg_chrdev:ffffffff:15 already exist
    [    6.460968] virtio_rpmsg_bus virtio2: rpmsg_create_channel failed
    [    6.469693] cdns-csi2rx 4524000.csi-bridge: Couldn't get external D-PHY
    [    6.476814] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    6.482913] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    6.491727] cdns-mhdp8546 a000000.bridge: no PHY configured
    [    6.491753] audit: type=1334 audit(1728487095.084:7): prog-id=11 op=LOAD
    [    6.505867] audit: type=1334 audit(1728487095.100:8): prog-id=12 op=LOAD
    [    6.526474] audit: type=1334 audit(1728487095.120:9): prog-id=13 op=LOAD
    [    6.683602] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [    6.698053] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [    6.709236] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [    6.717151] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [    6.731314] cfg80211: failed to load regulatory.db
    [    7.159952] audit: type=1334 audit(1728487095.752:10): prog-id=14 op=LOAD
    [    7.166981] audit: type=1334 audit(1728487095.760:11): prog-id=15 op=LOAD
    [    7.168087] EXT4-fs (mmcblk0p15): resizing filesystem from 159469 to 196608 blocks
    [    7.173796] audit: type=1334 audit(1728487095.768:12): prog-id=16 op=LOAD
    [    7.190046] EXT4-fs (mmcblk0p15): resized filesystem to 196608
    [    7.996721] k3_r5_rproc bus@100000:r5fss@5e00000: Timed out waiting for 5e00000.r5f core to power up!
    [    8.006804] cdns-csi2rx 4504000.csi-bridge: Couldn't get external D-PHY
    [    8.007519] platform 5900000.r5f: configured R5F for remoteproc mode
    [    8.013591] cdns-csi2rx 4514000.csi-bridge: Couldn't get external D-PHY
    [    8.020047] platform 5900000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a7000000
    [    8.035810] remoteproc remoteproc7: 5900000.r5f is available
    [    8.041608] remoteproc remoteproc7: Direct firmware load for j784s4-main-r5f2_0-fw failed with error -2
    [    8.051008] remoteproc remoteproc7: powering up 5900000.r5f
    [    8.056603] remoteproc remoteproc7: Direct firmware load for j784s4-main-r5f2_0-fw failed with error -2
    [    8.066019] remoteproc remoteproc7: request_firmware failed: -2
    [    8.078264] cdns-csi2rx 4524000.csi-bridge: Couldn't get external D-PHY
    [    8.085289] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [    8.091413] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [    8.100236] cdns-mhdp8546 a000000.bridge: no PHY configured
    [   10.044722] k3_r5_rproc bus@100000:r5fss@5900000: Timed out waiting for 5900000.r5f core to power up!
    [   10.054624] cdns-csi2rx 4504000.csi-bridge: Couldn't get external D-PHY
    [   10.061509] cdns-csi2rx 4514000.csi-bridge: Couldn't get external D-PHY
    [   10.075909] cdns-csi2rx 4524000.csi-bridge: Couldn't get external D-PHY
    [   10.082971] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [   10.089086] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [   10.097904] cdns-mhdp8546 a000000.bridge: no PHY configured
    [   10.104210] cdns-csi2rx 4504000.csi-bridge: Couldn't get external D-PHY
    [   10.110975] cdns-csi2rx 4514000.csi-bridge: Couldn't get external D-PHY
    [   10.119964] ti_cpsw_proxy_client virtio2.ti.ethfw.ethdevice.-1.34: 1 Virtual Switch Port(s), 0 Virtual MAC Only Port(s)
    [   10.130737] ti_cpsw_proxy_client virtio2.ti.ethfw.ethdevice.-1.34: Virt Port: 0, Type: Switch Port, Iface: eth0, Num TX: 2, Num RX: 1, Token: 0
    [   10.150803] cdns-csi2rx 4524000.csi-bridge: Couldn't get external D-PHY
    [   10.157747] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [   10.163876] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [   10.172762] cdns-mhdp8546 a000000.bridge: no PHY configured
    [   10.178936] cdns-csi2rx 4504000.csi-bridge: Couldn't get external D-PHY
    [   10.185763] ti_cpsw_proxy_client virtio2.ti.ethfw.ethdevice.-1.34: started port 0 on interface eth0
    [   10.185796] cdns-csi2rx 4514000.csi-bridge: Couldn't get external D-PHY
    [   10.208490] ti_cpsw_proxy_client virtio2.ti.ethfw.ethdevice.-1.34: 01:80:c2:00:00:0e is reserved for EthFw
    [   20.196120] cdns-csi2rx 4524000.csi-bridge: Couldn't get external D-PHY
    [   20.202991] cdns-mhdp8546 a000000.bridge: invalid resource (null)
    [   20.209096] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
    [   20.217891] cdns-mhdp8546 a000000.bridge: no PHY configured
    [   20.224011] cdns-csi2rx 4504000.csi-bridge: Couldn't get external D-PHY
    [   20.230823] cdns-csi2rx 4514000.csi-bridge: Couldn't get external D-PHY
    [   20.237496] platform 4524000.csi-bridge: deferred probe pending
    [   20.243420] platform a000000.bridge: deferred probe pending
    [   20.248988] platform bus@100000:wiz@5060000: deferred probe pending
    [   20.255251] platform 4504000.csi-bridge: deferred probe pending
    [   20.261166] platform 4514000.csi-bridge: deferred probe pending
    [   73.573890] audit: type=1006 audit(1728487162.168:13): pid=388 uid=0 subj=kernel old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
    [   73.587294] audit: type=1300 audit(1728487162.168:13): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=fffff7f5c0d8 a2=1 a3=1 items=0 ppid=1 pid=388 )
    [   73.614808] audit: type=1327 audit(1728487162.168:13): proctitle="(systemd)"
    [   73.621862] audit: type=1334 audit(1728487162.180:14): prog-id=17 op=LOAD
    [   73.628659] audit: type=1300 audit(1728487162.180:14): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffd2e2e1c8 a2=90 a3=0 items=0 ppid=1 pid=38)
    [   73.655389] audit: type=1327 audit(1728487162.180:14): proctitle="(systemd)"
    [   73.662435] audit: type=1334 audit(1728487162.208:15): prog-id=17 op=UNLOAD
    [   73.669405] audit: type=1300 audit(1728487162.208:15): arch=c00000b7 syscall=57 success=yes exit=0 a0=8 a1=1 a2=0 a3=ffff92c1ac60 items=0 ppid=1 pid=388 )
    [   73.695948] audit: type=1327 audit(1728487162.208:15): proctitle="(systemd)"
    [   73.702994] audit: type=1334 audit(1728487162.208:16): prog-id=18 op=LOAD
    

    Dts File:

    // SPDX-License-Identifier: GPL-2.0
    /*
     * APTIV OSPAS kernel device-tree based on EVM TDA4 board
     * EVM Board Schematics: https://www.ti.com/lit/zip/sprr458
     */
    
    /dts-v1/;
    
    #include <dt-bindings/net/ti-dp83867.h>
    #include <dt-bindings/gpio/gpio.h>
    #include "k3-j784s4.dtsi"
    
    / {
    	compatible = "ti,j784s4-evm", "ti,j784s4";
    	model = "Aptiv OSPAS-120 TDA4VP";
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    	};
    
    	aliases {
    		serial0 = &main_uart0;
    		serial2 = &main_uart4;
    		mmc0 = &main_sdhci0;
    	};
    	
    	memory@80000000 {
    		device_type = "memory";
    		/* 24GB RAM OSPAS */
    		reg = <0x00 0x80000000 0x00 0x80000000>,
    		      <0x08 0x80000000 0x02 0x80000000>;
    	};
    
    	reserved_memory: reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		 /* global cma region */
    		linux,cma {
    			compatible = "shared-dma-pool";
    			reusable;
    			size = <0x00 0x70000000>;
    			linux,cma-default;
    		};
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1100000 0x00 0xf00000>;
    			no-map;
    		};
    		
                    apps-shared-memory-uds-request {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0000000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-response {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0001000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-request-mcu3_0 {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0002000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-response-mcu3_0 {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0003000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-request-mcu3_1 {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0004000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-response-mcu3_1 {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0005000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-request-mcu4_0 {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0006000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-response-mcu4_0 {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0007000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-request-mcu4_1 {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0008000 0x00 0x1000>;
                            no-map;
                    };
    
                    apps-shared-memory-uds-response-mcu4_1 {
                            compatible = "dma-heap-carveout";
                            reg = <0x00 0xC0009000 0x00 0x1000>;
                            no-map;
                    };
    
    
    		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a2000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_memory_region: r5f-memory@a2100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a3000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_memory_region: r5f-memory@a3100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a4000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_memory_region: r5f-memory@a4100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a5000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa5000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_memory_region: r5f-memory@a5100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa5100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss2_core0_dma_memory_region: r5f-dma-memory@a6000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa6000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss2_core0_memory_region: r5f-memory@a6100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa6100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss2_core1_dma_memory_region: r5f-dma-memory@a7000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa7000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss2_core1_memory_region: r5f-memory@a7100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa7100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_0_dma_memory_region: c71-dma-memory@a8000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa8000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_0_memory_region: c71-memory@a8100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa8100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_1_dma_memory_region: c71-dma-memory@a9000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa9000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_1_memory_region: c71-memory@a9100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa9100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_2_dma_memory_region: c71-dma-memory@aa000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xaa000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_2_memory_region: c71-memory@aa100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xaa100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_3_dma_memory_region: c71-dma-memory@ab000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xab000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_3_memory_region: c71-memory@ab100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xab100000 0x00 0xf00000>;
    			no-map;
    		};
    	};
    
    	evm_12v0: regulator-evm12v0 {
    		/* main supply */
    		compatible = "regulator-fixed";
    		regulator-name = "evm_12v0";
    		regulator-min-microvolt = <12000000>;
    		regulator-max-microvolt = <12000000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_3v3: regulator-vsys3v3 {
    		/* Output of LM5140 */
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_3v3";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&evm_12v0>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_5v0: regulator-vsys5v0 {
    		/* Output of LM5140 */
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_5v0";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		vin-supply = <&evm_12v0>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	dp0_pwr_3v3: regulator-dp0-prw {
    		compatible = "regulator-fixed";
    		regulator-name = "dp0-pwr";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    	};
    
    	dp0: dp0-connector {
    		compatible = "dp-connector";
    		label = "DP0";
    		type = "full-size";
    		dp-pwr-supply = <&dp0_pwr_3v3>;
    
    		port {
    			dp0_connector_in: endpoint {
    				remote-endpoint = <&dp0_out>;
    			};
    		};
    	};
    
    	vsys_io_1v8: regulator-vsys-io-1v8 {
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_io_1v8";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <1800000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_io_1v2: regulator-vsys-io-1v2 {
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_io_1v2";
    		regulator-min-microvolt = <1200000>;
    		regulator-max-microvolt = <1200000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	edp1_refclk: clock-edp1-refclk {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <19200000>;
    	};
    
    	dp1_pwr_3v3: regulator-dp1-prw {
    		compatible = "regulator-fixed";
    		regulator-name = "dp1-pwr";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-always-on;
    	};
    
    };
    
    &wkup_pmx1 {
    	pmic_irq_pins_default: pmic-irq-pins-default {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x028, PIN_INPUT, 7) /* (G33) MCU_OSPI1_CSn1.WKUP_GPIO0_39 */ /* C0 - ~LEO_INT */
    		>;
    	};
    };
    
    &wkup_pmx2 {
    	status = "okay";
    
    	wkup_gpio_ospas_pins_default: wkup_gpio_ospas-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x068, PIN_OUTPUT, 7) /* (H35) WKUP_GPIO0_4 */ /* C0 - PC_HSD_SEL */
    			J784S4_WKUP_IOPAD(0x06c, PIN_OUTPUT, 7) /* (K36) WKUP_GPIO0_5 */ /* C0 - PC_HSD_IN1 */
    			J784S4_WKUP_IOPAD(0x070, PIN_OUTPUT, 7) /* (L37) WKUP_GPIO0_6 */ /* C0 - PC_HSD_IN2 */
    			J784S4_WKUP_IOPAD(0x074, PIN_OUTPUT, 7) /* (L36) WKUP_GPIO0_7 */ /* C0 - PC_HSD_IN3 */
    			J784S4_WKUP_IOPAD(0x080, PIN_OUTPUT, 7) /* (L33) WKUP_GPIO0_10 */ /* C0 - PC_HSD_DIAG_EN */
    			J784S4_WKUP_IOPAD(0x084, PIN_OUTPUT, 7) /* (M38) WKUP_GPIO0_11 */ /* C0 - PC_HSD_THER */
    			J784S4_WKUP_IOPAD(0x088, PIN_INPUT, 7) /* (J37) WKUP_GPIO0_12 */ /* C0 - ~PC_HSD_FAULT */
    			J784S4_WKUP_IOPAD(0x08c, PIN_INPUT, 7) /* (K38) WKUP_GPIO0_13 */ /* C0 - MCU_BOOTMODE08 */
    			J784S4_WKUP_IOPAD(0x090, PIN_INPUT, 7) /* (H37) WKUP_GPIO0_14 */ /* C0 - MCU_BOOTMODE09 */
    			J784S4_WKUP_IOPAD(0x094, PIN_INPUT, 7) /* (K37) WKUP_GPIO0_15 */ /* C0 - MCU_BOOTMODE06 */
    			J784S4_WKUP_IOPAD(0x0b8, PIN_INPUT, 7) /* (M37) WKUP_GPIO0_56 */ /* C0 - BOOTMODE04 */
    			J784S4_WKUP_IOPAD(0x114, PIN_INPUT, 7) /* (M36) WKUP_GPIO0_57 */ /* C0 - BOOTMODE05 */
    			J784S4_WKUP_IOPAD(0x048, PIN_INPUT, 7) /* (K35) WKUP_UART0_RXD.WKUP_GPIO0_58 */ /* C0 - NOR_OSPI_ERR */
    			J784S4_WKUP_IOPAD(0x04c, PIN_INPUT, 7) /* (K34) WKUP_UART0_TXD.WKUP_GPIO0_59 */ /* C0 - SC_RESET_OUT */
    			J784S4_WKUP_IOPAD(0x050, PIN_OUTPUT, 7) /* (K33) MCU_MCAN0_TX.WKUP_GPIO0_60 */ /* C0 - SC_WDI */
    			J784S4_WKUP_IOPAD(0x054, PIN_INPUT_PULLDOWN, 7) /* (F38) MCU_MCAN0_RX.WKUP_GPIO0_61 */ /* C0 - SC_WDO */
    			J784S4_WKUP_IOPAD(0x118, PIN_INPUT, 7) /* (N34) WKUP_GPIO0_66 */ /* C0 - BOOTMODE06 */
    			J784S4_WKUP_IOPAD(0x11c, PIN_OUTPUT, 7) /* (M34) WKUP_GPIO0_67 */ /* C0 - SC_RESET_IN */
    			/* Power Control Lines */
    			J784S4_WKUP_IOPAD(0x000, PIN_INPUT, 7) /* (C38) MCU_RGMII1_TX_CTL.WKUP_GPIO0_40 */ /* C0 - SERDES_PG_1V8 */
    			J784S4_WKUP_IOPAD(0x004, PIN_OUTPUT, 7) /* (C37) MCU_RGMII1_RX_CTL.WKUP_GPIO0_41 */ /* C0 - POCSW_TDA4_FVC_EN */
    			J784S4_WKUP_IOPAD(0x008, PIN_INPUT, 7) /* (E38) MCU_RGMII1_TD3.WKUP_GPIO0_42 */ /* C0 - SERDES_PG_1V2 */
    			J784S4_WKUP_IOPAD(0x00c, PIN_OUTPUT, 7) /* (E37) MCU_RGMII1_TD2.WKUP_GPIO0_43 */ /* C0 - SERDES_EN_1V8 */
    			J784S4_WKUP_IOPAD(0x010, PIN_OUTPUT, 7) /* (D38) MCU_RGMII1_TD1.WKUP_GPIO0_44 */ /* C0 - SERDES_EN_1V2 */
    			J784S4_WKUP_IOPAD(0x014, PIN_INPUT, 7) /* (D37) MCU_RGMII1_TD0.WKUP_GPIO0_45 */ /* C0 - SERDES_POC_CC */
    			J784S4_WKUP_IOPAD(0x018, PIN_OUTPUT, 7) /* (E36) MCU_RGMII1_TXC.WKUP_GPIO0_46 */ /* C0 - EN_IR_LED */
    			J784S4_WKUP_IOPAD(0x01c, PIN_INPUT, 7) /* (B37) MCU_RGMII1_RXC.WKUP_GPIO0_47 */ /* C0 - SERDES_POC_PG */
    			J784S4_WKUP_IOPAD(0x020, PIN_OUTPUT, 7) /* (D36) MCU_RGMII1_RD3.WKUP_GPIO0_48 */ /* C0 - POCSW_TDA4_SV_1_EN */
    			J784S4_WKUP_IOPAD(0x028, PIN_INPUT, 7) /* (B36) MCU_RGMII1_RD1.WKUP_GPIO0_50 */ /* C0 - POCSW_TDA4_SV_FAULT */
    			J784S4_WKUP_IOPAD(0x02c, PIN_OUTPUT, 7) /* (A35) MCU_RGMII1_RD0.WKUP_GPIO0_51 */ /* C0 - EN_SERDES_POC */
    			J784S4_WKUP_IOPAD(0x030, PIN_OUTPUT, 7) /* (B35) MCU_MDIO0_MDIO.WKUP_GPIO0_52 */ /* C0 - POCSW_TDA4_SV_3_EN */
    			J784S4_WKUP_IOPAD(0x034, PIN_OUTPUT, 7) /* (A36) MCU_MDIO0_MDC.WKUP_GPIO0_53 */ /* C0 - POCSW_TDA4_SV_4_EN */
    			J784S4_WKUP_IOPAD(0x024, PIN_OUTPUT, 7) /* (C36) MCU_RGMII1_RD2.WKUP_GPIO0_62 */ /* C0 - POCSW_TDA4_SV_2_EN */
    		>;
    	};
    
    	wkup_i2c0_pins_default: wkup-i2c0-pins-default {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x098, PIN_INPUT, 0) /* (N33) WKUP_I2C0_SCL */ /* C0 - I2C0_TDA4_WKUP_PS_SCL */
    			J784S4_WKUP_IOPAD(0x09C, PIN_INPUT, 0) /* (N35) WKUP_I2C0_SDA */ /* C0 - I2C0_TDA4_WKUP_PS_SDA */
    		>;
    	};
    
    	mcu_i2c1_pins_default: wkup-i2c1-pins-default {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x078, PIN_INPUT, 0) /* (L35) WKUP_GPIO0_8.MCU_I2C1_SCL */ /* C0 - TDA4_POCSW_I2C_SCL */
    			J784S4_WKUP_IOPAD(0x07c, PIN_INPUT, 0) /* (L34) WKUP_GPIO0_9.MCU_I2C1_SDA */ /* C0 - TDA4_POCSW_I2C_SDA */
    		>;
    	};
    
    	mcu_i2c0_pins_default: mcu_i2c0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x0a0, PIN_INPUT, 0) /* (M35) MCU_I2C0_SCL */ /* C0 - TDA4_I2C_MCU_PMIC_SCL */
    			J784S4_WKUP_IOPAD(0x0a4, PIN_INPUT, 0) /* (G34) MCU_I2C0_SDA */ /* C0 - TDA4_I2C_MCU_PMIC_SDA */
    		>;
    	};
    
    	mcu_adc0_pins_default: mcu-adc0-pins-default {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x0cc, PIN_INPUT, 0) /* (P36) MCU_ADC0_AIN0 */ /* C0 - GND */
    			J784S4_WKUP_IOPAD(0x0d0, PIN_INPUT, 0) /* (V36) MCU_ADC0_AIN1 */ /* C0 - GND */
    			J784S4_WKUP_IOPAD(0x0d4, PIN_INPUT, 0) /* (T34) MCU_ADC0_AIN2 */ /* C0 - 1V8_DES_MON */
    			J784S4_WKUP_IOPAD(0x0d8, PIN_INPUT, 0) /* (T36) MCU_ADC0_AIN3 */ /* C0 - 1V2_DES_MON */
    			J784S4_WKUP_IOPAD(0x0dc, PIN_INPUT, 0) /* (P34) MCU_ADC0_AIN4 */ /* C0 - POCSW_TDA4_FVC_SENSE */
    			J784S4_WKUP_IOPAD(0x0e0, PIN_INPUT, 0) /* (R37) MCU_ADC0_AIN5 */ /* C0 - POCSW_TDA4_DMS_SENSE */
    			J784S4_WKUP_IOPAD(0x0e4, PIN_INPUT, 0) /* (R33) MCU_ADC0_AIN6 */ /* C0 - POCSW_TDA4_SV_SENSE */
    			J784S4_WKUP_IOPAD(0x0e8, PIN_INPUT, 0) /* (V38) MCU_ADC0_AIN7 */ /* C0 - VDA_MCU_1V8 */
    		>;
    	};
    
    	mcu_adc1_pins_default: mcu-adc1-pins-default {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x0ec, PIN_INPUT, 0) /* (Y38) MCU_ADC1_AIN0 */ /* C0 - PC_HSD_CS12 */
    			J784S4_WKUP_IOPAD(0x0f0, PIN_INPUT, 0) /* (Y34) MCU_ADC1_AIN1 */ /* C0 - PC_HSD_CS3 */
    			J784S4_WKUP_IOPAD(0x0f4, PIN_INPUT, 0) /* (V34) MCU_ADC1_AIN2 */ /* C0 - EMMC_NTC */
    			J784S4_WKUP_IOPAD(0x0f8, PIN_INPUT, 0) /* (W37) MCU_ADC1_AIN3 */ /* C0 - SERDES_NTC */
    			J784S4_WKUP_IOPAD(0x0fc, PIN_INPUT, 0) /* (AA37) MCU_ADC1_AIN4 */ /* C0 - AI_IR_LED_CURRENT */
    			J784S4_WKUP_IOPAD(0x100, PIN_INPUT, 0) /* (W33) MCU_ADC1_AIN5 */ /* C0 - AI_TDA4_POC_PWR_SV */
    			J784S4_WKUP_IOPAD(0x104, PIN_INPUT, 0) /* (U33) MCU_ADC1_AIN6 */ /* C0 - AI_TDA4_5V0_PRE */
    			J784S4_WKUP_IOPAD(0x108, PIN_INPUT, 0) /* (Y36) MCU_ADC1_AIN7 */ /* C0 - GND */
    		>;
    	};
    };
    
    &wkup_gpio0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&wkup_gpio_ospas_pins_default>;
    };
    
    &wkup_gpio_intr {
    	status = "okay";
    };
    
    &wkup_i2c0 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&wkup_i2c0_pins_default>;
    	clock-frequency = <400000>;
    	tps659413: pmic@48 {
    		compatible = "ti,tps6594-q1";
    		reg = <0x48>;
    		system-power-controller;
    		pinctrl-names = "default";
    		pinctrl-0 = <&pmic_irq_pins_default>;
    		interrupt-parent = <&wkup_gpio0>;
    		interrupts = <39 IRQ_TYPE_EDGE_FALLING>;
    		ti,primary-pmic;
    
    		gpio-controller;
    		#gpio-cells = <2>;
    
    		buck12-supply = <&vsys_3v3>;
    		buck3-supply = <&vsys_3v3>;
    		buck4-supply = <&vsys_3v3>;
    		buck5-supply = <&vsys_3v3>;
    		ldo1-supply = <&vsys_3v3>;
    		ldo2-supply = <&vsys_3v3>;
    		ldo3-supply = <&vsys_3v3>;
    		ldo4-supply = <&vsys_3v3>;
    
    		regulators {
    			bucka12: buck12 {
    				regulator-name = "vdd_ddr_1v1";
    				regulator-min-microvolt = <1100000>;
    				regulator-max-microvolt = <1100000>;
    				regulator-boot-on;
    				regulator-always-on;
    			};
    
    			bucka3: buck3 {
    				regulator-name = "vdd_ram_0v85";
    				regulator-min-microvolt = <850000>;
    				regulator-max-microvolt = <850000>;
    				regulator-boot-on;
    				regulator-always-on;
    			};
    
    			bucka4: buck4 {
    				regulator-name = "vdd_io_1v8";
    				regulator-min-microvolt = <1800000>;
    				regulator-max-microvolt = <1800000>;
    				regulator-boot-on;
    				regulator-always-on;
    			};
    
    			bucka5: buck5 {
    				regulator-name = "vdd_mcu_0v85";
    				regulator-min-microvolt = <850000>;
    				regulator-max-microvolt = <850000>;
    				regulator-boot-on;
    				regulator-always-on;
    			};
    
    			ldoa1: ldo1 {
    				regulator-name = "vdd_mcuio_1v8";
    				regulator-min-microvolt = <1800000>;
    				regulator-max-microvolt = <1800000>;
    				regulator-boot-on;
    				regulator-always-on;
    			};
    
    			ldoa2: ldo2 {
    				regulator-name = "vdd_mcuio_3v3";
    				regulator-min-microvolt = <3300000>;
    				regulator-max-microvolt = <3300000>;
    				regulator-boot-on;
    				regulator-always-on;
    			};
    
    			ldoa3: ldo3 {
    				regulator-name = "vds_dll_0v8";
    				regulator-min-microvolt = <800000>;
    				regulator-max-microvolt = <800000>;
    				regulator-boot-on;
    				regulator-always-on;
    			};
    
    			ldoa4: ldo4 {
    				regulator-name = "vda_mcu_1v8";
    				regulator-min-microvolt = <1800000>;
    				regulator-max-microvolt = <1800000>;
    				regulator-boot-on;
    				regulator-always-on;
    			};
    		};
    	};
    };
    
    &mcu_i2c0 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_i2c0_pins_default>;
    	clock-frequency = <400000>;
    	tps6594_watchdog: dummy-watchdog-disabler@12 {
    		compatible = "ti,tps6594-q1-watchdog";
    		reg = <0x12>;
    	};
    };
    
    &mcu_i2c1 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_i2c1_pins_default>;
    	clock-frequency = <400000>;
    };
    
    &main_pmx0 {
    
    	main_gpios0_ospas_pins_default: main_gpios0_ospas-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x000, PIN_INPUT, 7) /* (AN35) EXTINTn.GPIO0_0 */ /* C0 - VDD_IO_3V3 */
    			J784S4_IOPAD(0x004, PIN_OUTPUT, 7) /* (AG36) MCAN12_TX.GPIO0_1 */ /* C0 - TDA4_DES724_EN */
    			J784S4_IOPAD(0x008, PIN_INPUT, 7) /* (AJ33) MCAN12_RX.GPIO0_2 */ /* C0 - SER717_TDA4_GPIO4 */
    			J784S4_IOPAD(0x00c, PIN_INPUT, 7) /* (AF33) MCAN13_TX.GPIO0_3 */ /* C0 - ~SER717_TDA4_ERR */
    			J784S4_IOPAD(0x020, PIN_INPUT, 7) /* (AJ35) MCAN15_RX.GPIO0_8 */ /* C0 - DES724_TDA4_GPIO1 */
                J784S4_IOPAD(0x024, PIN_INPUT, 7) /* (AH34) MCAN16_TX.GPIO0_9 */ /* C0 - DES724_TDA4_GPIO2 */
    			J784S4_IOPAD(0x028, PIN_INPUT, 7) /* (AE33) MCAN16_RX.GPIO0_10 */ /* C0 - DESFVC_TDA4_GPIO7 */
    			J784S4_IOPAD(0x02c, PIN_OUTPUT, 7) /* (AL32) GPIO0_11 */ /* C0 - TDA4_DESDMS_EN */
    			J784S4_IOPAD(0x030, PIN_INPUT, 7) /* (AK37) GPIO0_12 */ /* C0 - DESDMS_TDA4_GPIO7 */
    			J784S4_IOPAD(0x038, PIN_INPUT, 7) /* (AK35) MCASP0_ACLKX.GPIO0_14 */ /* C0 - DES724_TDA4_GPIO3 */
    			J784S4_IOPAD(0x03c, PIN_INPUT, 7) /* (AK38) MCASP0_AFSX.GPIO0_15 */ /* C0 - DES724_TDA4_GPIO6 */
    			J784S4_IOPAD(0x040, PIN_OUTPUT, 7) /* (AF37) MCASP0_AXR0.GPIO0_16 */ /* C0 - ~GPIO_EXPANDER_RESET */
    			J784S4_IOPAD(0x044, PIN_OUTPUT, 7) /* (AG37) MCASP0_AXR1.GPIO0_17 */ /* C0 - TDA4_DESFVC_EN */
    			J784S4_IOPAD(0x048, PIN_INPUT_PULLUP, 7) /* (AK33) MCASP0_AXR2.GPIO0_18 */ /* C0 - ~GPIO_EXPANDER2_INT */
    			J784S4_IOPAD(0x054, PIN_INPUT, 7) /* (AD37) MCASP2_ACLKX.GPIO0_21 */ /* C0 - SER717_TDA4_GPI5 */
    			J784S4_IOPAD(0x058, PIN_INPUT, 7) /* (AE37) MCASP2_AFSX.GPIO0_22 */ /* C0 - SER717_TDA4_GPI6 */
    			J784S4_IOPAD(0x05c, PIN_OUTPUT, 7) /* (AC36) MCASP2_AXR0.GPIO0_23 */ /* C0 - TDA4_DES717_EN */
    			J784S4_IOPAD(0x060, PIN_INPUT, 7) /* (AE36) MCASP2_AXR1.GPIO0_24 */ /* C0 - POCSW_TDA4_SV_SEL */
    			J784S4_IOPAD(0x064, PIN_INPUT, 7) /* (AF38) MCAN0_TX.GPIO0_25 */ /* C0 - ~DES724_TDA4_ERR */
                J784S4_IOPAD(0x068, PIN_INPUT, 7) /* (AE38) MCAN0_RX.GPIO0_26 */ /* C0 - ~DES724_TDA4_LOCK */
    			J784S4_IOPAD(0x06c, PIN_INPUT_PULLDOWN, 7) /* (AJ37) MCAN1_TX.GPIO0_27 */ /* C0 - DESDMS_TDA4_GPIO0 */
    			J784S4_IOPAD(0x070, PIN_INPUT, 7) /* (AH38) MCAN1_RX.GPIO0_28 */ /* C0 - ~DESDMS_TDA4_ERR */
    			J784S4_IOPAD(0x074, PIN_INPUT, 7) /* (AC33) MCAN2_TX.GPIO0_29 */ /* C0 - ~DESDMS_TDA4_LOCK */
    			J784S4_IOPAD(0x078, PIN_INPUT, 7) /* (AH37) MCAN2_RX.GPIO0_30 */ /* C0 - ~DESFVC_TDA4_ERR */
    			J784S4_IOPAD(0x07c, PIN_INPUT, 7) /* (AJ38) MCASP0_AXR3.GPIO0_31 */ /* C0 - DESFVC_TDA4_LOCK */
    			J784S4_IOPAD(0x080, PIN_INPUT_PULLDOWN, 7) /* (AK34) MCASP0_AXR4.GPIO0_32 */ /* C0 - SC_ETH_PPS */
    			J784S4_IOPAD(0x084, PIN_INPUT_PULLUP, 7) /* (AG38) MCASP0_AXR5.GPIO0_33 */ /* C0 - ~PC_USS1_INT */
    			J784S4_IOPAD(0x088, PIN_INPUT_PULLUP, 7) /* (AF36) MCASP0_AXR6.GPIO0_34 */ /* C0 - ~PC_USS2_INT */
    			J784S4_IOPAD(0x08c, PIN_INPUT, 7) /* (AE35) MCASP0_AXR7.GPIO0_35 */ /* C0 - ~MAX_IR_FAULT */
    			J784S4_IOPAD(0x094, PIN_INPUT_PULLDOWN, 7) /* (AG35) MCASP0_AXR9.GPIO0_37 */ /* C0 - DES724_TDA4_GPIO0 */
    			J784S4_IOPAD(0x098, PIN_INPUT_PULLDOWN, 7) /* (AH36) MCASP0_AXR10.GPIO0_38 */ /* C0 - DESFVC_TDA4_GPIO0 */
    			J784S4_IOPAD(0x09c, PIN_INPUT_PULLDOWN, 7) /* (AF35) MCASP0_AXR11.GPIO0_39 */ /* C0 - SER717_TDA4_GPIO0 */
    			/* B0 configuration */
    			J784S4_IOPAD(0x0b0, PIN_OUTPUT, 7) /* (AL33) MCASP1_AXR3.GPIO0_44 */ /* C0 - IR2_DIS */
    			J784S4_IOPAD(0x0d0, PIN_OUTPUT, 7) /* (AP38) SPI0_CS1.GPIO0_52 */ /* C0 - IR1_DIS */
    			J784S4_IOPAD(0x0e8, PIN_INPUT, 0) /* (AR38) TIMER_IO0.ECAP1_IN_APWM_OUT */ /* C0- ECAP */
    			J784S4_IOPAD(0x0f8, PIN_OUTPUT, 7) /* (AB34) MMC1_DAT1.GPIO0_62 */ /* C0 - POCSW_TDA4_SV_SEH */
    			J784S4_IOPAD(0x0fc, PIN_OUTPUT, 7) /* (AA33) MMC1_DAT0.GPIO0_63 */ /* C0 - POCSW_TDA4_DMS_EN */
    		>;
    	};
    
    	main_ecap2_pins_default: main-ecap2-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0ec, PIN_OUTPUT, 1) /* (AN37) TIMER_IO1.ECAP2_IN_APWM_OUT */ /* C0 - PC_USS_CLK_500K_R_REF_50R */
    		>;
        };
    
    	main_uart0_pins_default: main-uart0-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0bc, PIN_INPUT_PULLUP, 11) /* (AD33) MCASP1_AFSX.UART0_RXD */ /* C0 - SC_TX_PC_RX_UART */
    			J784S4_IOPAD(0x0c0, PIN_OUTPUT, 11) /* (AD38) MCASP1_AXR0.UART0_TXD */ /* C0 - SC_RX_PC_TX_UART */
    		>;
    	};
    
    	main_uart4_pins_default: main-uart4-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0b4, PIN_INPUT_PULLUP, 11) /* (AL34) MCASP1_AXR4.UART4_RXD */ /* C0 - DEBUG_UART_RX */
    			J784S4_IOPAD(0x090, PIN_OUTPUT, 11) /* (AC35) MCASP0_AXR8.UART4_TXD */ /* C0 - DEBUG_UART_TX */
    		>;
    	};
    
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0e0, PIN_INPUT, 0) /* (AN36) I2C0_SCL */ /* C0 - DES724_TDA4_I2CCFG_SCL */
    			J784S4_IOPAD(0x0e4, PIN_INPUT, 0) /* (AP37) I2C0_SDA */ /* C0 - DES724_TDA4_I2CCFG_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0c4, PIN_INPUT, 13) /* (AD36) ECAP0_IN_APWM_OUT.I2C1_SCL */ /* C0 - SER717_TDA4_I2CPT_SCL */
    			J784S4_IOPAD(0x0c8, PIN_INPUT, 13) /* (AJ32) EXT_REFCLK1.I2C1_SDA */ /* C0 - SER717_TDA4_I2CPT_SDA */
    		>;
    	};
    
    	main_i2c2_pins_default: main-i2c2-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x04c, PIN_INPUT, 13) /* (AC32) MCASP1_AXR1.I2C2_SCL */ /* C0 - SER717_TDA4_R_I2CCFG_FM_SCL */
    			J784S4_IOPAD(0x050, PIN_INPUT, 13) /* (AC37) MCASP1_AXR2.I2C2_SDA */ /* C0 - SER717_TDA4_I2CCFG_SDA */
    		>;
    	};
    
    	main_i2c3_pins_default: main-i2c3-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0f0, PIN_INPUT, 10) /* (AC38) MMC1_DAT3.I2C3_SCL */ /* C0 - DES716_TDA4_I2CPT_SCL, I2C_CSIDBG_SCL */
    			J784S4_IOPAD(0x0f4, PIN_INPUT, 10) /* (AA32) MMC1_DAT2.I2C3_SDA */ /* C0 - DESFVC_TDA4_I2CCFG_SDA, I2C_CSIDBG_SDA */
    		>;
    	};
    
    	main_i2c4_pins_default: main-i2c4-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x014, PIN_INPUT, 8) /* (AG33) MCAN14_TX.I2C4_SCL */ /* C0 - GPIO_EXP_I2C_SCL */
    			J784S4_IOPAD(0x010, PIN_INPUT, 8) /* (AH33) MCAN13_RX.I2C4_SDA */ /* C0 - GPIO_EXP_I2C_SDA */
    		>;
    	};
    
    	main_i2c5_pins_default: main-i2c5-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x01c, PIN_INPUT, 8) /* (AG34) MCAN15_TX.I2C5_SCL */ /* C0 - DESDMS_I2CCFG_SCL */
    			J784S4_IOPAD(0x018, PIN_INPUT, 8) /* (AK36) MCAN14_RX.I2C5_SDA */ /* C0 - DESDMS_I2CCFG_SDA */
    		>;
    	};
    
    	main_i2c6_pins_default: main-i2c6-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x108, PIN_INPUT, 10) /* (AB36) MMC1_CMD.I2C6_SCL */ /* C0 - DES724_TDA4_I2CPT_SCL */
    			J784S4_IOPAD(0x104, PIN_INPUT, 10) /* (AB38) MMC1_CLK.I2C6_SDA */ /* C0 - DES724_TDA4_I2CPT_SDA */
    		>;
    	};
    
    	main_spi0_pins_default: main-spi0-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0d4, PIN_INPUT, 0) /* (AN38) SPI0_CLK */  /* C0 - PC_USS1_SPI_CLK_2M */
    			J784S4_IOPAD(0x0cc, PIN_INPUT, 0) /* (AM37) SPI0_CS0 */  /* C0 - ~PC_USS1_SPI_CS_R */
    			J784S4_IOPAD(0x0d8, PIN_INPUT, 0) /* (AM35) SPI0_D0 */  /* C0 - PC_USS1_SPI_MOSI_R */
    			J784S4_IOPAD(0x0dc, PIN_INPUT_PULLDOWN, 0) /* (AM36) SPI0_D1 */  /* C0 - PC_USS1_SPI_MISO */
    		>;
    	};
    
    	main_spi2_pins_default: main-spi2-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0a0, PIN_INPUT, 10) /* (AD34) MCASP0_AXR12.SPI2_CLK */ /* C0 - PC_USS2_SPI_CLK_2M */
    			J784S4_IOPAD(0x0a4, PIN_INPUT, 10) /* (AJ36) MCASP0_AXR13.SPI2_CS0 */ /* C0 - ~PC_USS2_SPI_CS_R */
    			J784S4_IOPAD(0x0a8, PIN_INPUT, 10) /* (AF34) MCASP0_AXR14.SPI2_D0 */ /* C0 - PC_USS2_SPI_MOSI_R */
    			J784S4_IOPAD(0x0ac, PIN_INPUT_PULLDOWN, 10) /* (AE34) MCASP0_AXR15.SPI2_D1 */ /* C0 - PC_USS2_SPI_MISO */
    		>;
    	};
    
    	dp0_pins_default: dp0-pins-default {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0b8, PIN_INPUT_PULLDOWN, 3) /* (AC34) MCASP1_ACLKX.DP0_HPD */ /* C0 - DP0_HPD */
    		>;
    	};
    
    	mysystem_vddshv01_pins_default: mysystem_vddshv01-default-pins {
            	pinctrl-single,pins = <
    			J784S4_IOPAD(0x10c, PIN_OUTPUT, 0) /* (AL38) RESETSTATz */ /* C0 - SIP_TDA4_RESETSTATZ */
    			J784S4_IOPAD(0x110, PIN_OUTPUT, 0) /* (AM34) SOC_SAFETY_ERRORn */  /* C0 - SOC_SAFETY_ERRZ_SC */
            	>;
    	};
    };
    
    &wkup_pmx0 {
    	mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-pins-default {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x000, PIN_OUTPUT, 0) /* (E32) MCU_OSPI0_CLK */ /* C0 - NOR_OSPI_50RS_133M_CLK */
    			J784S4_WKUP_IOPAD(0x02c, PIN_OUTPUT, 0) /* (A32) MCU_OSPI0_CSn0 */ /* C0 - NOR_OSPI_50RS_CS */
    			J784S4_WKUP_IOPAD(0x00c, PIN_INPUT, 0) /* (B33) MCU_OSPI0_D0 */ /* C0 - NOR_OSPI_50RS_D0 */
    			J784S4_WKUP_IOPAD(0x010, PIN_INPUT, 0) /* (B32) MCU_OSPI0_D1 */ /* C0 - NOR_OSPI_50RS_D1 */
    			J784S4_WKUP_IOPAD(0x014, PIN_INPUT, 0) /* (C33) MCU_OSPI0_D2 */ /* C0 - NOR_OSPI_50RS_D2 */
    			J784S4_WKUP_IOPAD(0x018, PIN_INPUT, 0) /* (C35) MCU_OSPI0_D3 */ /* C0 - NOR_OSPI_50RS_D3 */
    			J784S4_WKUP_IOPAD(0x01c, PIN_INPUT, 0) /* (D33) MCU_OSPI0_D4 */ /* C0 - NOR_OSPI_50RS_D4 */
    			J784S4_WKUP_IOPAD(0x020, PIN_INPUT, 0) /* (D34) MCU_OSPI0_D5 */ /* C0 - NOR_OSPI_50RS_D5 */
    			J784S4_WKUP_IOPAD(0x024, PIN_INPUT, 0) /* (E34) MCU_OSPI0_D6 */ /* C0 - NOR_OSPI_50RS_D6 */
    			J784S4_WKUP_IOPAD(0x028, PIN_INPUT, 0) /* (E33) MCU_OSPI0_D7 */ /* C0 - NOR_OSPI_50RS_D7 */
    			J784S4_WKUP_IOPAD(0x008, PIN_INPUT, 0) /* (C34) MCU_OSPI0_DQS */ /* C0 - NOR_OSPI_50RS_DQS */
    		>;
    	};
    
    	mcuwkup_system_vdda_wkup1_pins_default: mcuwkup_system_vdda_wkup1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x0ac, PIN_OUTPUT, 0) /* (N36) MCU_SAFETY_ERRORn */ /*  C0 - MCU_SAFETY_ERRZ_SC */
    			J784S4_WKUP_IOPAD(0x110, PIN_INPUT, 0) /* (P33) PORz */
    			J784S4_WKUP_IOPAD(0x0b4, PIN_OUTPUT, 0) /* (F36) MCU_RESETSTATz */ /* C0 - TDA4_MCU_RESET_OUT */
    			J784S4_WKUP_IOPAD(0x0b0, PIN_INPUT, 0) /* (G36) MCU_RESETz */ /* C0 - SC_PC_MCU_RST */
    			J784S4_WKUP_IOPAD(0x10c, PIN_INPUT, 0) /* (F34) RESET_REQz */ /* C0 - SC_PC_MAIN_RST */
    		>;
    	};
    };
    
    /* SPI between Safety Controller and Performance SoC, Performance SoC is master. Moved to R5 core */
    &mcu_spi0 {
    	status = "disabled";
    };
    
    /* SPI between Safety Controller and Performance SoC, Performance SoC is slave. Moved to R5 core */
    &mcu_spi1 {
    	status = "disabled";
    };
    
    /* UART between Safety Controller and Performance SoC */
    /* Since R5F CoreIO is not yet ready */
    &main_uart0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    };
    
    /* DEBUG UART */
    &main_uart4 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart4_pins_default>;
    };
    
    /* GNSS UART */
    &main_uart5 {
    	status = "disabled";
    };
    
    /* UART GNSS Correct */
    &main_uart8 {
    	status = "disabled";
    };
    
    &fss {
    	status = "okay";
    };
    
    &ospi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
    
    	ospi0_nor: flash@0 {
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;
    		spi-max-frequency = <25000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <0>;
    
    		partitions {
    			compatible = "fixed-partitions";
    			#address-cells = <1>;
    			#size-cells = <1>;
    
    			partition@0 {
    				label = "ospi.tiboot3";
    				reg = <0x0 0x100000>;
    			};
    
    			partition@100000 {
    				label = "ospi.tispl";
    				reg = <0x100000 0x200000>;
    			};
    
    			partition@300000 {
    				label = "ospi.u-boot";
    				reg = <0x300000 0x400000>;
    			};
    
    			partition@700000 {
    				label = "ospi.env";
    				reg = <0x700000 0x40000>;
    			};
    
    			partition@740000 {
    				label = "ospi.env.backup";
    				reg = <0x740000 0x40000>;
    			};
    
    			partition@800000 {
    				label = "ospi.rootfs";
    				reg = <0x800000 0x200000>;
    			};
    
    			partition@a00000 {
    				label = "ospi.phypattern";
    				reg = <0xa00000 0x40000>;
    			};
    		};
    	};
    };
    
    &main_sdhci0 {
    	/* eMMC */
    	status = "okay";
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    	no-mmc-hs400;
    };
    
    &serdes0 {
    	status = "okay";
    	serdes0_pcie_link: phy@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz0 1>, <&serdes_wiz0 2>;
    	};
    
    	serdes0_usb_link: phy@3 {
    		reg = <3>;
    		cdns,num-lanes = <1>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_USB3>;
    		resets = <&serdes_wiz0 4>;
    	};
    };
    
    &serdes_wiz0 {
    	status = "okay";
    };
    
    &usb_serdes_mux {
    	idle-states = <0>; /* USB0 to SERDES lane 3 */
    };
    
    &usbss0 {
    	status = "okay";
    	pinctrl-names = "default";
    	ti,vbus-divider;
    };
    
    &usb0 {
    	dr_mode = "otg";
    	maximum-speed = "super-speed";
    	phys = <&serdes0_usb_link>;
    	phy-names = "cdns3,usb3-phy";
    };
    
    &serdes1 {
    	status = "disabled";
    	serdes1_pcie_link: phy@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz1 1>, <&serdes_wiz1 2>;
    	};
    };
    
    &serdes_wiz1 {
    	status = "disabled";
    };
    
    &pcie0_rc {
    	status = "disabled";
    	phys = <&serdes1_pcie_link>;
    	phy-names = "pcie-phy";
    };
    
    /*&pcie0_ep {
    	status = "disabled";
    	phys = <&serdes1_pcie_link>;
    	phy-names = "pcie-phy";
    };*/
    
    &pcie1_rc {
    	status = "disabled";
    	num-lanes = <2>;
    	reset-gpios = <&main_gpio0 57 GPIO_ACTIVE_HIGH>;
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie-phy";
    };
    
    /*&pcie1_ep {
    	status = "disabled";
    	num-lanes = <2>;
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie-phy";
    };*/
    
    &serdes_ln_ctrl {
    	idle-states = <J784S4_SERDES0_LANE0_PCIE1_LANE0>, <J784S4_SERDES0_LANE1_PCIE1_LANE1>,
    		<J784S4_SERDES0_LANE2_IP3_UNUSED>, <J784S4_SERDES0_LANE3_USB>,
    		<J784S4_SERDES2_LANE2_QSGMII_LANE1>, <J784S4_SERDES2_LANE3_QSGMII_LANE2>;
    };
    
    &main_gpio0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_gpios0_ospas_pins_default>;
    
     	/* OSPAS120 - ~GPIO_EXPANDER_RESET */
    	gpio_hog_gpio0_16 {
    		gpio-hog;
    		gpios = <16 0>;
    		output-high;
    	};
    };
    
    &mcu_cpsw_port1 {
    	status = "okay";
    	phy-mode = "rgmii-rxid";
    	fixed-link {
    		speed = <1000>;
    		full-duplex;
    	};
    };
    
    &serdes_refclk {
    	clock-frequency = <100000000>;
    };
    
    &dss {
    	status = "disable";
    	assigned-clocks = <&k3_clks 218 2>,
    			  <&k3_clks 218 5>,
    			  <&k3_clks 218 14>,
    			  <&k3_clks 218 18>;
    	assigned-clock-parents = <&k3_clks 218 3>,
    				 <&k3_clks 218 7>,
    				 <&k3_clks 218 16>,
    				 <&k3_clks 218 22>;
    };
    
    &serdes_wiz4 {
    	status = "disable";
    };
    
    &serdes4 {
    	status = "okay";
    	serdes4_dp_link: phy@0 {
    		reg = <0>;
    		cdns,num-lanes = <4>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_DP>;
    		cdns,max-bit-rate = <2700>;
    		resets = <&serdes_wiz4 1>, <&serdes_wiz4 2>,
    			 <&serdes_wiz4 3>, <&serdes_wiz4 4>;
    	};
    };
    
    &mhdp {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&dp0_pins_default>;
    	phys = <&serdes4_dp_link>;
    	phy-names = "dpphy";
    };
    
    &dss_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	port@0 {
    		reg = <0>;
    		dpi0_out: endpoint {
    			remote-endpoint = <&dp0_in>;
    		};
    	};
    };
    
    
    /* MAX96724 config */
    &main_i2c0 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    
    	gmsl96724: gmsl-deserializer@2e {
    		compatible = "maxim,max96724";
    		reg = <0x2e>;
    		enable-gpios = <&main_gpio0 1 GPIO_ACTIVE_HIGH>;
    		ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			port@4 {
    				reg = <4>;
    				max96712_out0: endpoint {
    					clock-lanes = <0>;
    					data-lanes = <1 2 3 4>;
    					remote-endpoint = <&ti_csi2rx0>;
    				};
    			};
    		};
    	};
    };
    
    /* MAX96717 passthrough */
    &main_i2c1 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <400000>;
    };
    
    /* MAX96717 config */
    &main_i2c2 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c2_pins_default>;
    	clock-frequency = <400000>;
    
    /*
    	gmsl96717: gmsl-deserializer@2d {
    		compatible = "maxim,max96717";
    		reg = <0x2d>;
    		enable-gpios = <&main_gpio0 1 GPIO_ACTIVE_HIGH>;
    		ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			port@4 {
    				reg = <4>;
    				max96717_out0: endpoint {
    					clock-lanes = <0>;
    					data-lanes = <1 2 3 4>;
    					remote-endpoint = <&ti_csi2rx2>;
    				};
    			};
    		};
    	};
    */
    };
    
    /* MAX96714 (FVC-Desierializer) config */
    &main_i2c3 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c3_pins_default>;
    	clock-frequency = <400000>;
    
    	gmsl96714_FVC: gmsl-deserializer@28 {
    		compatible = "maxim,max96714";
    		reg = <0x28>;
    		enable-gpios = <&main_gpio0 17 GPIO_ACTIVE_HIGH>;
    		ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			port@4 {
    				reg = <4>;
    				gmsl96714_FVC_out0: endpoint {
    					clock-lanes = <0>;
    					data-lanes = <1 2 3 4>;
    					remote-endpoint = <&ti_csi2rx1>;
    				};
    			};
    		};
    	};
    };
    
    /* MAX96714 config */
    &main_i2c5 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c5_pins_default>;
    	clock-frequency = <400000>;
    
    	gmsl96714_DMS: gmsl-deserializer@2a {
    		compatible = "maxim,max96714";
    		reg = <0x2a>;
    		enable-gpios = <&main_gpio0 11 GPIO_ACTIVE_HIGH>;
    		ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			port@4 {
    				reg = <4>;
    				gmsl96714_DMS_out0: endpoint {
    					clock-lanes = <0>;
    					data-lanes = <1 2 3 4>;
    					remote-endpoint = <&ti_csi2rx2>;
    				};
    			};
    		};
    	};
    };
    
    /* GPIO Expanders */
    &main_i2c4 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c4_pins_default>;
    	clock-frequency = <400000>;
    
    	exp2: gpio@75 {
    			compatible = "ti,tca9539";
    			reg = <0x75>;
    			gpio-controller;
    			#gpio-cells = <2>;
    			enable-gpios = <&main_gpio0 16 GPIO_ACTIVE_HIGH>;
    	};
    };
    
    /* MAX96724 passthrough */
    &main_i2c6 {
    	status = "disabled";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c6_pins_default>;
    	clock-frequency = <400000>;
    };
    
    /* USS HSD CTRL config */
    &main_spi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	ti,pindir-d0-out-d1-in;
    	pinctrl-0 = <&main_spi0_pins_default>;
    	spidev@0 {
                    status = "okay";
                    compatible = "rohm,dh2228fv";
                    spi-max-frequency = <1000000>;
                    reg = <0>;
                    };
    };
    
    /* USS HSD CTRL Config */
    &main_spi2 {
    	status = "okay";
    	pinctrl-names = "default";
    	ti,pindir-d0-out-d1-in;
    	pinctrl-0 = <&main_spi2_pins_default>;
    	spidev@0 {
                    status = "okay";
                    compatible = "rohm,dh2228fv";
                    spi-max-frequency = <1000000>;
                    reg = <0>;
                    };
    };
    
    &mailbox0_cluster0 {
    	status = "okay";
    	interrupts = <436>;
    
    	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster1 {
    	status = "okay";
    	interrupts = <432>;
    
    	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster2 {
    	status = "okay";
    	interrupts = <428>;
    
    	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster3 {
    	status = "okay";
    	interrupts = <424>;
    
    	mbox_main_r5fss2_core0: mbox-main-r5fss2-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss2_core1: mbox-main-r5fss2-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster4 {
    	status = "okay";
    	interrupts = <420>;
    
    	mbox_c71_0: mbox-c71-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_c71_1: mbox-c71-1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster5 {
    	status = "okay";
    	interrupts = <416>;
    
    	mbox_c71_2: mbox-c71-2 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_c71_3: mbox-c71-3 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    #include <dt-bindings/mux/ti-serdes.h>
    
    
    #include "k3-j784s4-rtos-memory-map.dtsi"
    
    
    
    &mcu_r5fss0_core0 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
    	memory-region = <&vision_apps_mcu_r5fss0_core0_dma_memory_region>,
    			<&vision_apps_mcu_r5fss0_core0_memory_region>;
    };
    
    &mcu_r5fss0_core1 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
    	memory-region = <&vision_apps_mcu_r5fss0_core1_dma_memory_region>,
    			<&vision_apps_mcu_r5fss0_core1_memory_region>;
    };
    
    &main_r5fss0_core0 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
    	memory-region = <&vision_apps_main_r5fss0_core0_dma_memory_region>,
    			<&vision_apps_main_r5fss0_core0_memory_region>,
    			<&vision_apps_main_r5fss0_core0_shared_memory_queue_region>,
    			<&vision_apps_main_r5fss0_core0_shared_memory_bufpool_region>;
    };
    
    &main_r5fss0_core1 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
    	memory-region = <&vision_apps_main_r5fss0_core1_dma_memory_region>,
    			<&vision_apps_main_r5fss0_core1_memory_region>;
    };
    
    &main_r5fss1_core0 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
    	memory-region = <&vision_apps_main_r5fss1_core0_dma_memory_region>,
    			<&vision_apps_main_r5fss1_core0_memory_region>;
    };
    
    &main_r5fss1_core1 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
    	memory-region = <&vision_apps_main_r5fss1_core1_dma_memory_region>,
    			<&vision_apps_main_r5fss1_core1_memory_region>;
    };
    
    &main_r5fss2_core0 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster3 &mbox_main_r5fss2_core0>;
    	memory-region = <&vision_apps_main_r5fss2_core0_dma_memory_region>,
    			<&vision_apps_main_r5fss2_core0_memory_region>;
    };
    
    &main_r5fss2_core1 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster3 &mbox_main_r5fss2_core1>;
    	memory-region = <&vision_apps_main_r5fss2_core1_dma_memory_region>,
    			<&vision_apps_main_r5fss2_core1_memory_region>;
    };
    
    &c71_0 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster4 &mbox_c71_0>;
    	memory-region =	<&vision_apps_c71_0_dma_memory_region>,
    			<&vision_apps_c71_0_memory_region>;
    };
    
    &c71_1 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster4 &mbox_c71_1>;
    	memory-region = <&vision_apps_c71_1_dma_memory_region>,
    			<&vision_apps_c71_1_memory_region>;
    };
    
    &c71_2 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster5 &mbox_c71_2>;
    	memory-region = <&c71_2_dma_memory_region>,
    			<&c71_2_memory_region>,
    			<&vision_apps_c71_2_dma_memory_region>,
    			<&vision_apps_c71_2_memory_region>;
    };
    
    &c71_3 {
    	status = "okay";
    	mboxes = <&mailbox0_cluster5 &mbox_c71_3>;
    	memory-region = <&vision_apps_c71_3_dma_memory_region>,
    			<&vision_apps_c71_3_memory_region>;
    };
    
    &dp0_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	port@0 {
    		reg = <0>;
    		dp0_in: endpoint {
    			remote-endpoint = <&dpi0_out>;
    		};
    	};
    
    	port@4 {
    		reg = <4>;
    		dp0_out: endpoint {
    			remote-endpoint = <&dp0_connector_in>;
    		};
    	};
    };
    
    &ti_csi2rx0 {
    	status = "okay";
    	/* MIPI-CSI Connector 0 */
    };
    
    &ti_csi2rx1 {
    	status = "okay";
    	/* MIPI-CSI Connector 0 */
    };
    
    &ti_csi2rx2 {
    	status = "okay";
    	/* MIPI-CSI Connector 1 */
    };
    
    /*&dphy_rx0 {
    	status = "okay";
    };
    
    &dphy_rx1 {
    	status = "okay";
    };
    
    &dphy_rx2 {
    	status = "okay";
    };*/
    
    &tscadc0 {
    	pinctrl-0 = <&mcu_adc0_pins_default>;
    	pinctrl-names = "default";
    	status = "okay";
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &tscadc1 {
    	pinctrl-0 = <&mcu_adc1_pins_default>;
    	pinctrl-names = "default";
    	status = "okay";
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &dphy_tx0 {
    	status = "okay";
    };
    
    &dsi0 {
    	status = "okay";
    };
    
    #define K3_TS_OFFSET(pa, val)  (0x4+(pa)*4) (0x10000 | val)
    
    &timesync_router {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_cpsw_cpts>;
    
    	/* Use Time Sync Router to map GENF1 input to HW4_TS_PUSH output */
    	mcu_cpsw_cpts: mcu-cpsw-cpts {
    		pinctrl-single,pins = <
    			/* pps [mcu cpsw cpts genf1] in17 -> out25 [mcu cpsw cpts hw4_push] */
    			K3_TS_OFFSET(25, 17)
    			>;
    	};
    };
    
    
    &csi0_port0 {
    	status = "disabled";
    
    	csi2rx0_in_sensor: endpoint {
    		remote-endpoint = <&gmsl96724>;
    		bus-type = <4>; /* CSI2 DPHY */
    		clock-lanes = <0>;
    		data-lanes = <1 2 3 4>;
    	};
    };
    
    
    &csi1_port0 {
    	status = "disabled";
    
    	csi2rx1_in_sensor: endpoint {
    		remote-endpoint = <&gmsl96714_FVC>;
    		bus-type = <4>;/* CSI2 DPHY */
    		clock-lanes = <0>;
    		data-lanes = <1 2 3 4>;
            };
    };
    
    
    &csi2_port0 {
    	status = "disabled";
    
    	csi2rx2_in_sensor: endpoint {
    		remote-endpoint = <&gmsl96714_DMS>;
    		bus-type = <4>;/* CSI2 DPHY */
    		clock-lanes = <0>;
    		data-lanes = <1 2 3 4>;
            };
    };
    
    &ecap0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_ecap2_pins_default>;
    };
    

  • Hi Ankit,

    The dmesg logs and dts files look good. I do not see anything that points to an issue.

    Now, could you run:

    • readlink /sys/bus/i2c/devices/0-0075/driver

    And share what it prints out?

    Regards,

    Takuma

  • Sure,
    root@j784s4-ospas120:~# ls -l /sys/bus/i2c/devices/0-0075/driver
    lrwxrwxrwx 1 root root 0 Oct 10 11:48 /sys/bus/i2c/devices/0-0075/driver -> ../../../../../../bus/i2c/drivers/pca953x

    root@j784s4-ospas120:~# ls -l /sys/bus/i2c/devices/0-0075/driver/
    lrwxrwxrwx 1 root root 0 Oct 10 11:49 0-0075 -> ../../../../devices/platform/bus@100000/2040000.i2c/i2c-0/0-0075
    --w------- 1 root root 4096 Oct 10 11:49 bind
    --w------- 1 root root 4096 Oct 9 15:18 uevent
    --w------- 1 root root 4096 Oct 10 11:49 unbind

    Please review above log

  • Hi Ankit,

    That also looks good as well. So far, it seems like from Linux-kernel perspective everything is working as intended.

    As a next step in troubleshooting, could you try unbinding from Linux driver and then accessing the IO expander using i2c commandline tools to check if device is accessible? Something like:

    1. echo 0-0075 > /sys/bus/i2c/drivers/pca953x/unbind
    2. i2cget -y 0 0x75 0x0

    Regards,

    Takuma

  • Hi Takuma,
    Attaching log for same.

    root@j784s4-ospas120:~# echo 0-0075 > /sys/bus/i2c/drivers/pca953x/unbind
    root@j784s4-ospas120:~# i2cdetect -l
    i2c-0 i2c OMAP I2C adapter I2C adapter
    root@j784s4-ospas120:~# i2cdetect -y 0
    Warning: Can't use SMBus Quick Write command, will skip some addresses
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00:
    10:
    20:
    30: -- -- -- -- -- -- -- --
    40:
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60:
    70:
    root@j784s4-ospas120:~# i2cget -y 0 0x75 0x0
    Error: Read failed

  • Hi Ankit,

    That is an interesting result. Looks like the device is not detected on the I2C bus, even though Linux kernel driver thinks that it is initialized successfully.

    1. Can you run "i2cdetect -r -y 0" before unbinding, and then run the same command after unbinding? Expected output before unbinding is UU at address 0x75, while after unbinding it should just say 0x75 at address 0x75
    2. Additionally, could you check the hardware with a scope or multimeter and probe the voltage level of following signals?
      1. Vcc
      2. Reset
      3. A0
      4. A1
      5. INT

    Regards,

    Takuma

  • Hi Takuma,

    Attaching log for reference.

    root@j784s4-ospas120:~# i2cdetect -y 0
    Warning: Can't use SMBus Quick Write command, will skip some addresses
          0 1 2 3 4 5 6 7 8 9 a b c d e f
    00:
    10:
    20:
    30: -- -- -- -- -- -- -- --
    40:
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60:
    70:
    root@j784s4-ospas120:~#
    CoreIO-R5F is starting at Cluster: 1 and Core: 1
    i2cdetect -r -y 0
          0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- UU -- --
    root@j784s4-ospas120:~# echo 0-0075 > /sys/bus/i2c/drivers/pca953x/unbind
    root@j784s4-ospas120:~# i2cdetect -r -y 0
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --
    root@j784s4-ospas120:~#

    Voltage level:

    1. Vcc : 3.3V
    2. Reset: 3.3V
    3. A0: 3.3V
    4. A1 - 0.0.
    5. INT - 3.3V

    Thanks

    Ankit

  • Hi Ankit,

    Voltage levels look correct. However, a bit unexpected that the device disappears after unbinding. You should still see a device on the I2C bus as long as the device is powered up.

    Is the voltage level also measured after unbinding in software?

    Regards,

    Takuma

  • yes , No Change in Voltage level after unbinding also.

  • Hi Ankit,

    Can you do two experiments? 

    • Can you change active high to active low for enable-gpios in dts? Below line under tca9539 driver:
      • enable-gpios = <&main_gpio0 16 GPIO_ACTIVE_HIGH>;
    • If above does not fix, can you remove the entire exp2 node from the main_i2c4, and then do the i2cdetect -r -y 0?
      • The I2C device should be detected on the I2C bus, even without driver, as long as the expander is power on.

    Regards,

    Takuma

  • Hi Takuma,

    Attaching log for reference with experiment 1

    root@j784s4-ospas120:~# gpioinfo -c 2
    gpiochip2 - 16 lines:
    line 0: unnamed input
    line 1: unnamed input
    line 2: unnamed input
    line 3: unnamed input
    line 4: unnamed input
    line 5: unnamed input
    line 6: unnamed input
    line 7: unnamed input
    line 8: unnamed input
    line 9: unnamed input
    line 10: unnamed input
    line 11: unnamed input
    line 12: unnamed input
    line 13: unnamed input
    line 14: unnamed input
    line 15: unnamed input
    root@j784s4-ospas120:~# gpioinfo -c 2
    CoreIO-R5F is starting at Clusset -c 2 11=1d Core: 1
    get -c 2 11
    gpioget: unable to request lines: No such device
    root@j784s4-ospas120:~# gpioset -c 2 11=1
    gpioset: unable to request lines on chip '/dev/gpiochip2': Invalid argument
    root@j784s4-ospas120:~# gpioinfo -c 2
    gpiochip2 - 16 lines:
    line 0: unnamed input
    line 1: unnamed input
    line 2: unnamed input
    line 3: unnamed input
    line 4: unnamed input
    line 5: unnamed input
    line 6: unnamed input
    line 7: unnamed input
    line 8: unnamed input
    line 9: unnamed input
    line 10: unnamed input
    line 11: unnamed output
    line 12: unnamed input
    line 13: unnamed input
    line 14: unnamed input
    line 15: unnamed input
    root@j784s4-ospas120:~# gpioget -c 2 11
    gpioget: unable to request lines: Invalid argument

    No change in status:

    With Active high also Same output , seems issue with line request api of libgpiod for case of expander.

  • Hi Ankit,

    I have suspicion that the device is not detectable/accessible on the I2C bus. That would explain why expander is not controllable from libgpiod. 

    • Can you try experiment 2 where the IO expander is removed from dts? This should allow userspace to gain control of the IO expander, and you should see a device on bus 0, address 75 that you can detect with i2cdetect, and access using i2cget. 

    To clarify, the IO expanders on TI EVM are all accessible with libgpiod. gpioget, and gpioset all work as expected. The EVM uses a different device model for the IO expander, but it shares the same software driver as tca9539.

    Regards,

    Takuma

  • Hi Takuma,

    It is not listing 75 on disabling expander;

    i2cdetect -y -r 0
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

  • Hi Ankit,

    Thanks for trying out. So it seems like the device is not found at all on the I2C bus.

    Can you confirm if there is a pull up resistor on SCL and SDA? I think those are the only two pins we have not checked yet.

    Regards,

    Takuma

  • ​Additionally, can you try running the following and share output: k3conf dump devices | grep -i i2c

    I2C4 should give back ​that the device state is on. If it does not, do a k3conf enable device <device ID obtained from dump devices>, and then re-run the dump devices and the i2cdetect.

    Regards,

    Takuma

  • hi Takuma,

    k3conf is not installed in my board, please let me know recipe to download this on  board. 

  • Hi Ankit,

    Here is the source for k3conf: https://git.ti.com/cgit/k3conf/k3conf/tree/README.md

    On the other hand, were you able to confirm if there is a pull up resistor on SCL and SDA?

    Regards,

    Takuma

  • Hi Takuma,

    here is k3conf log.

    # k3conf dump devices | grep -i i2c
    | 270 | J784S4_DEV_I2C0 | DEVICE_STATE_ON |
    | 271 | J784S4_DEV_I2C1 | DEVICE_STATE_ON |
    | 272 | J784S4_DEV_I2C2 | DEVICE_STATE_ON |
    | 273 | J784S4_DEV_I2C3 | DEVICE_STATE_ON |
    | 274 | J784S4_DEV_I2C4 | DEVICE_STATE_ON |
    | 275 | J784S4_DEV_I2C5 | DEVICE_STATE_ON |
    | 276 | J784S4_DEV_I2C6 | DEVICE_STATE_ON |
    | 277 | J784S4_DEV_MCU_I2C0 | DEVICE_STATE_ON |
    | 278 | J784S4_DEV_MCU_I2C1 | DEVICE_STATE_ON |
    | 279 | J784S4_DEV_WKUP_I2C0 | DEVICE_STATE_ON |

    Also SCL and SDA have pull up register confirmed.

    Also I checked libgpiod version I am using is 2.2 and ti-linux kernel version is now 6.6.44

  • Hi Ankit,

    Thanks for checking. Looks like everything on Linux-side looks good so far, although, perhaps there is compatibility issue with the libgpiod version, linux kernel version, and the expander kernel driver...

    But before we expand to other theories, could you try one last test for the I2C issue suspicion by trying to get I2C register value directly? Something like the following:

    • i2cget -f -y 0 0x75 0x0

    Regards,

    Takuma

  • Hi Takuma,

    it fails to read i2c attaching log:

    ~# i2cdetect -y -r 0
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- UU -- --
    root@j784s4-ospas120:~# i2cget -f -y 0 0x75 0x0
    Error: Read failed

    A small experiment I have done by disabling R5f firmware loading then it works fine. I want to understand if configuration is same across r5f and A72. 

    Why it is not working in A72 side.

  • Hi Ankit,

    A small experiment I have done by disabling R5f firmware loading then it works fine. I want to understand if configuration is same across r5f and A72. 

    Good experiment. Looks to be resource conflict between RTOS and Linux then. If I2C bus and/or the GPIO expander are controlled from both R5F and A72 core running RTOS and Linux, then both sides will be unable to track the state of the I2C controller. Please remove the dependency for the I2C bus from either R5F or A72 core.

    Regards,

    Takuma