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.

AM625: how to interface SRAM using GPMC.

Part Number: AM625


Tool/software:

gpmc0-pins:-

	gpmc0_pins_default: gpmc0-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x00b8, PIN_OUTPUT, 1) /* (U22) VOUT0_DATA0.GPMC0_A0 */
			AM62X_IOPAD(0x00bc, PIN_OUTPUT, 1) /* (V24) VOUT0_DATA1.GPMC0_A1 */
			AM62X_IOPAD(0x00e0, PIN_OUTPUT, 1) /* (V20) VOUT0_DATA10.GPMC0_A10 */
			AM62X_IOPAD(0x00e4, PIN_OUTPUT, 1) /* (AA23) VOUT0_DATA11.GPMC0_A11 */
			AM62X_IOPAD(0x00c0, PIN_OUTPUT, 1) /* (W25) VOUT0_DATA2.GPMC0_A2 */
			AM62X_IOPAD(0x00c4, PIN_OUTPUT, 1) /* (W24) VOUT0_DATA3.GPMC0_A3 */
			AM62X_IOPAD(0x00c8, PIN_OUTPUT, 1) /* (Y25) VOUT0_DATA4.GPMC0_A4 */
			AM62X_IOPAD(0x00cc, PIN_OUTPUT, 1) /* (Y24) VOUT0_DATA5.GPMC0_A5 */
			AM62X_IOPAD(0x00d0, PIN_OUTPUT, 1) /* (Y23) VOUT0_DATA6.GPMC0_A6 */
			AM62X_IOPAD(0x00d4, PIN_OUTPUT, 1) /* (AA25) VOUT0_DATA7.GPMC0_A7 */
			AM62X_IOPAD(0x00d8, PIN_OUTPUT, 1) /* (V21) VOUT0_DATA8.GPMC0_A8 */
			AM62X_IOPAD(0x00dc, PIN_OUTPUT, 1) /* (W21) VOUT0_DATA9.GPMC0_A9 */
			AM62X_IOPAD(0x003c, PIN_INPUT, 0) /* (M25) GPMC0_AD0 */
			AM62X_IOPAD(0x0040, PIN_INPUT, 0) /* (N23) GPMC0_AD1 */
			AM62X_IOPAD(0x0064, PIN_INPUT, 0) /* (T25) GPMC0_AD10 */
			AM62X_IOPAD(0x0068, PIN_INPUT, 0) /* (R21) GPMC0_AD11 */
			AM62X_IOPAD(0x006c, PIN_INPUT, 0) /* (T22) GPMC0_AD12 */
			AM62X_IOPAD(0x0070, PIN_INPUT, 0) /* (T24) GPMC0_AD13 */
			AM62X_IOPAD(0x0074, PIN_INPUT, 0) /* (U25) GPMC0_AD14 */
			AM62X_IOPAD(0x0078, PIN_INPUT, 0) /* (U24) GPMC0_AD15 */
			AM62X_IOPAD(0x0044, PIN_INPUT, 0) /* (N24) GPMC0_AD2 */
			AM62X_IOPAD(0x0048, PIN_INPUT, 0) /* (N25) GPMC0_AD3 */
			AM62X_IOPAD(0x004c, PIN_INPUT, 0) /* (P24) GPMC0_AD4 */
			AM62X_IOPAD(0x0050, PIN_INPUT, 0) /* (P22) GPMC0_AD5 */
			AM62X_IOPAD(0x0054, PIN_INPUT, 0) /* (P21) GPMC0_AD6 */
			AM62X_IOPAD(0x0058, PIN_INPUT, 0) /* (R23) GPMC0_AD7 */
			AM62X_IOPAD(0x005c, PIN_INPUT, 0) /* (R24) GPMC0_AD8 */
			AM62X_IOPAD(0x0060, PIN_INPUT, 0) /* (R25) GPMC0_AD9 */
			AM62X_IOPAD(0x0098, PIN_INPUT, 0) /* (U23) GPMC0_WAIT0 */
			AM62X_IOPAD(0x00b0, PIN_OUTPUT, 0) /* (K22) GPMC0_CSn2 */
			AM62X_IOPAD(0x0088, PIN_OUTPUT, 0) /* (L24) GPMC0_OEn_REn */
			AM62X_IOPAD(0x008c, PIN_OUTPUT, 0) /* (L25) GPMC0_WEn */
		>;
	};

GPMC0 node:-

&gpmc0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&gpmc0_pins_default>;
        ranges = <2 0 0x0 0x51000000 0x00800000>; /* 8MB */

	#address-cells = <2>;
	#size-cells = <1>;


	
 sram@08000000 {
        compatible = "cypress,cy7c02av";
        reg = <2 0 64>;
        #address-cells = <1>;
        #size-cells = <1>;

        gpmc,cs = <2>;
        gpmc,device-width = <2>; /* 16-bit DPRAM */
        gpmc,mux-add-data = <0>; /* No address/data mux */
        gpmc,wait-pin = <0>; /* No wait pin required */

        /* Corrected Timing Parameters for 25 ns cycle */
        gpmc,cs-on-ns      = <10>;
        gpmc,cs-rd-off-ns  = <30>;
        gpmc,cs-wr-off-ns  = <30>;

        gpmc,adv-on-ns     = <0>;
        gpmc,adv-rd-off-ns = <30>;
        gpmc,adv-wr-off-ns = <30>;

        gpmc,we-on-ns      = <10>;
        gpmc,we-off-ns     = <30>;
        gpmc,oe-on-ns      = <10>;
        gpmc,oe-off-ns     = <30>;

        gpmc,rd-cycle-ns   = <25>;
        gpmc,wr-cycle-ns   = <25>;
        gpmc,access-ns     = <20>;
        gpmc,wr-access-ns  = <20>;

        gpmc,cycle2cycle-delay-ns = <10>;
        gpmc,wr-data-mux-bus-ns   = <10>;
        gpmc,bus-turnaround-ns    = <10>;

        /* Removed unsupported burst settings */
    };

};

issue:memory is not mapped /proc/iomem

root@phyboard-lyra-am62xx-3:~# cat /proc/iomem
000f4000-000f42ab : pinctrl-single
00600000-006000ff : 600000.gpio gpio@600000
00601000-006010ff : 601000.gpio gpio@601000
00b00000-00b003ff : b00000.temperature-sensor temperature-sensor@b00000
00b01000-00b013ff : b00000.temperature-sensor temperature-sensor@b00000
01800000-0180ffff : GICD
01880000-0193ffff : GICR
02400000-024003ff : 2400000.timer timer@2400000
02410000-024103ff : 2410000.timer timer@2410000
02420000-024203ff : 2420000.timer timer@2420000
02430000-024303ff : 2430000.timer timer@2430000
02440000-024403ff : 2440000.timer timer@2440000
02450000-024503ff : 2450000.timer timer@2450000
02460000-024603ff : 2460000.timer timer@2460000
02470000-024703ff : 2470000.timer timer@2470000
02800000-0280001f : serial
02810000-0281001f : serial
04084000-04084087 : pinctrl-single
05000000-0502ffff : 5000000.m4fss
05040000-0504ffff : 5000000.m4fss
08000000-081fffff : 8000000.ethernet cpsw_nuss
0e000000-0e0000ff : e000000.watchdog watchdog@e000000
0e010000-0e0100ff : e010000.watchdog watchdog@e010000
0f900000-0f9007ff : f900000.dwc3-usb dwc3-usb@f900000
0f908000-0f9083ff : f900000.dwc3-usb dwc3-usb@f900000
0f910000-0f9107ff : f910000.dwc3-usb dwc3-usb@f910000
0f918000-0f9183ff : f910000.dwc3-usb dwc3-usb@f910000
0fa00000-0fa00fff : fa00000.mmc mmc@fa00000
0fa08000-0fa083ff : fa00000.mmc mmc@fa00000
0fa10000-0fa10fff : fa10000.mmc mmc@fa10000
0fa18000-0fa183ff : fa10000.mmc mmc@fa10000
0fc40000-0fc400ff : fc40000.spi spi@fc40000
20000000-200000ff : 20000000.i2c i2c@20000000
20010000-200100ff : 20010000.i2c i2c@20010000
29000000-290001ff : 29000000.mailbox mailbox@29000000
2a000000-2a000fff : 2a000000.spinlock spinlock@2a000000
2b1f0000-2b1f00ff : 2b1f0000.rtc rtc@2b1f0000
30060000-30061fff : 30060000.interrupt-controller interrupt-controller@20000
30062000-300620ff : 30074000.pru control
30062400-300624ff : 30074000.pru debug
30064000-300640ff : 30078000.pru control
30064400-300644ff : 30078000.pru debug
30074000-30076fff : 30074000.pru iram
30078000-3007afff : 30078000.pru iram
30300000-30300fff : 30300000.mcrc mcrc@30300000
31100000-31107fff : usb@31100000
  31100000-31107fff : xhci-hcd.4.auto usb@31100000
3110c100-3114ffff : 31100000.usb usb@31100000
3b000000-3b0003ff : 3b000000.memory-controller cfg
40900000-409011ff : 40900000.crypto crypto@40900000
44043000-44043fdf : 44043000.system-controller debug_messages
48000000-480fffff : 48000000.interrupt-controller interrupt-controller@48000000
485c0000-485c00ff : 485c0000.dma-controller gcfg
485c0100-485c01ff : 485c0100.dma-controller gcfg
4a400000-4a47ffff : 4d000000.mailbox scfg
4a600000-4a67ffff : 4d000000.mailbox rt
4a800000-4a81ffff : 485c0000.dma-controller rchanrt
4a820000-4a83ffff : 485c0100.dma-controller rchanrt
4aa00000-4aa3ffff : 485c0000.dma-controller tchanrt
4aa40000-4aa5ffff : 485c0100.dma-controller tchanrt
4b800000-4bbfffff : 485c0000.dma-controller ringrt
4bc00000-4bcfffff : 485c0100.dma-controller ringrt
4c000000-4c01ffff : 485c0100.dma-controller bchanrt
4d000000-4d07ffff : 4d000000.mailbox target_data
70000000-7000ffff : 70000000.sram sram@70000000
80000000-9c7fffff : System RAM
  82010000-8311ffff : Kernel code
  83120000-8334ffff : reserved
  83350000-8351ffff : Kernel data
  87fff000-87ffffff : reserved
  8ffed000-8fffbfff : reserved
  9c700000-9c7fffff : reserved
9c800000-9e6fffff : reserved
9e700000-9e77ffff : System RAM
9e780000-9fffffff : reserved
a0000000-bfffffff : System RAM
  b6c00000-b7bfffff : reserved
  b7c14000-b7d94fff : reserved
  b7d95000-b7dbafff : reserved
  b7dbd000-b7dbffff : reserved
  b7dc0000-b7dd0fff : reserved
  b7dd1000-bfffffff : reserved
500000000-5ffffffff : fc40000.spi spi@fc40000

  • Hi,

    Please attach the kernel boot log.

  • please find attached kernel boot log file.

    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.1.69-bsp-yocto-ampliphy-am62x-pd23.2.1 (oe-user@oe-host) (aarch64-phytec-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Wed Mar 13 08:34:14 UTC 2024
    [    0.000000] Machine model: PHYTEC phyBOARD-Lyra AM625
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000b8000000, size 128 MiB
    [    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB
    [    0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000bfffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000009c7fffff]
    [    0.000000]   node   0: [mem 0x000000009c800000-0x000000009e6fffff]
    [    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e77ffff]
    [    0.000000]   node   0: [mem 0x000000009e780000-0x000000009fffffff]
    [    0.000000]   node   0: [mem 0x00000000a0000000-0x00000000bfffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
    [    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.4
    [    0.000000] percpu: Embedded 19 pages/cpu s37416 r8192 d32216 u77824
    [    0.000000] pcpu-alloc: s37416 r8192 d32216 u77824 alloc=19*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1 
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 817644K/1048576K available (12864K kernel code, 1326K rwdata, 4528K rodata, 2240K init, 446K bss, 99860K reserved, 131072K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, 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=2.
    [    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=2
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] Root IRQ handler: gic_handle_irq
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000080030000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080040000
    [    0.000000] 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.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.008642] Console: colour dummy device 80x25
    [    0.013240] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.023924] pid_max: default: 32768 minimum: 301
    [    0.028696] LSM: Security Framework initializing
    [    0.033544] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.041122] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.050931] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.058379] cblist_init_generic: Setting shift to 1 and lim to 1.
    [    0.064679] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.072078] cblist_init_generic: Setting shift to 1 and lim to 1.
    [    0.078473] rcu: Hierarchical SRCU implementation.
    [    0.083382] rcu: 	Max phase no-delay instances is 1000.
    [    0.088992] Platform MSI: msi-controller@1820000 domain created
    [    0.095317] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.104749] EFI services will not be available.
    [    0.109630] smp: Bringing up secondary CPUs ...
    [    0.114963] Detected VIPT I-cache on CPU1
    [    0.115080] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.115098] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000
    [    0.115156] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.115276] smp: Brought up 1 node, 2 CPUs
    [    0.144679] SMP: Total of 2 processors activated.
    [    0.149493] CPU features: detected: 32-bit EL0 Support
    [    0.154768] CPU features: detected: CRC32 instructions
    [    0.160089] CPU: All CPU(s) started at EL2
    [    0.164275] alternatives: applying system-wide alternatives
    [    0.171522] devtmpfs: initialized
    [    0.183107] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.193110] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
    [    0.204569] pinctrl core: initialized pinctrl subsystem
    [    0.210634] DMI not present or invalid.
    [    0.215243] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.222424] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
    [    0.229754] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.237758] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.246411] thermal_sys: Registered thermal governor 'step_wise'
    [    0.246419] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.252767] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.266448] ASID allocator initialised with 65536 entries
    [    0.285211] KASLR disabled due to lack of seed
    [    0.297001] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.303978] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.310391] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.317330] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.323738] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.330677] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.337083] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.344022] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.352380] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
    [    0.362786] iommu: Default domain type: Translated 
    [    0.367785] iommu: DMA domain TLB invalidation policy: strict mode 
    [    0.374514] SCSI subsystem initialized
    [    0.378531] usbcore: registered new interface driver usbfs
    [    0.384170] usbcore: registered new interface driver hub
    [    0.389628] usbcore: registered new device driver usb
    [    0.395080] mc: Linux media interface: v0.10
    [    0.399482] videodev: Linux video capture interface: v2.00
    [    0.405156] pps_core: LinuxPPS API ver. 1 registered
    [    0.410232] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.419581] PTP clock support registered
    [    0.423630] EDAC MC: Ver: 3.0.0
    [    0.427546] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
    [    0.434743] FPGA manager framework
    [    0.438304] Advanced Linux Sound Architecture Driver Initialized.
    [    0.445785] clocksource: Switched to clocksource arch_sys_counter
    [    0.452288] VFS: Disk quotas dquot_6.6.0
    [    0.456344] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.469534] NET: Registered PF_INET protocol family
    [    0.474769] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.483454] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
    [    0.492078] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.500019] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.507998] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
    [    0.515640] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.522316] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.529119] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.536503] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.542811] RPC: Registered named UNIX socket transport module.
    [    0.548898] RPC: Registered udp transport module.
    [    0.553709] RPC: Registered tcp transport module.
    [    0.558518] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.565110] NET: Registered PF_XDP protocol family
    [    0.570043] PCI: CLS 0 bytes, default 64
    [    0.574852] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [    0.584852] Initialise system trusted keyrings
    [    0.589693] workingset: timestamp_bits=46 max_order=18 bucket_order=0
    [    0.600777] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.607424] NFS: Registering the id_resolver key type
    [    0.612652] Key type id_resolver registered
    [    0.616931] Key type id_legacy registered
    [    0.621088] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.627946] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.635774] 9p: Installing v9fs 9p2000 file system support
    [    0.678223] Key type asymmetric registered
    [    0.682415] Asymmetric key parser 'x509' registered
    [    0.687456] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [    0.695202] io scheduler mq-deadline registered
    [    0.699843] io scheduler kyber registered
    [    0.707716] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [    0.714278] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [    0.729068] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.749160] brd: module loaded
    [    0.757132] loop: module loaded
    [    0.761557] megasas: 07.719.03.00-rc1
    [    0.768897] tun: Universal TUN/TAP device driver, 1.6
    [    0.774783] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [    0.781211] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [    0.787338] sky2: driver version 1.30
    [    0.791815] VFIO - User Level meta-driver version: 0.3
    [    0.798137] i2c_dev: i2c /dev entries driver
    [    0.804616] sdhci: Secure Digital Host Controller Interface driver
    [    0.810970] sdhci: Copyright(c) Pierre Ossman
    [    0.815920] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.823115] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.829403] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.837528] optee: probing for conduit method.
    [    0.842133] optee: revision 4.1 (18b424c2)
    [    0.842504] optee: dynamic shared memory is enabled
    [    0.852138] optee: initialized driver
    [    0.857596] IPVS: Registered protocols (TCP, UDP)
    [    0.862489] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
    [    0.870113] IPVS: ipvs loaded.
    [    0.873465] NET: Registered PF_PACKET protocol family
    [    0.878736] 9pnet: Installing 9P2000 support
    [    0.883172] Key type dns_resolver registered
    [    0.888007] registered taskstats version 1
    [    0.892227] Loading compiled-in X.509 certificates
    [    0.908563] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.2.1--v09.02.01 (Kool Koala)')
    [    0.961000] ti-sci-clk 44043000.system-controller:clock-controller: recalc-rate failed for dev=81, clk=20, ret=-19
    [    0.987656] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0
    [    0.994131] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.000878] gpmc cs2 before gpmc_cs_program_settings:
    [    1.006059] cs2 GPMC_CS_CONFIG1: 0x00001000
    [    1.010338] cs2 GPMC_CS_CONFIG2: 0x00101001
    [    1.014614] cs2 GPMC_CS_CONFIG3: 0x22060514
    [    1.018892] cs2 GPMC_CS_CONFIG4: 0x10057016
    [    1.023168] cs2 GPMC_CS_CONFIG5: 0x010f1111
    [    1.027445] cs2 GPMC_CS_CONFIG6: 0x8f070000
    [    1.031721] gpmc cs2 access configuration:
    [    1.035909] gpmc,mux-add-data = <0>;
    [    1.039563] gpmc,device-width = <2>;
    [    1.043217] gpmc,wait-pin = <0>;
    [    1.046525] gpmc,burst-length = <4>;
    [    1.050183] gpmc cs2 timings configuration:
    [    1.054461] gpmc,cs-on-ns = <7>; /* 1 ns - 7 ns; 1 ticks */
    [    1.060162] gpmc,cs-rd-off-ns = <120>; /* 113 ns - 120 ns; 16 ticks */
    [    1.066839] gpmc,cs-wr-off-ns = <120>; /* 113 ns - 120 ns; 16 ticks */
    [    1.073517] gpmc,adv-on-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.079571] gpmc,adv-rd-off-ns = <37>; /* 31 ns - 37 ns; 5 ticks */
    [    1.085982] gpmc,adv-wr-off-ns = <45>; /* 38 ns - 45 ns; 6 ticks */
    [    1.092394] gpmc,adv-aad-mux-on-ns = <7>; /* 1 ns - 7 ns; 1 ticks */
    [    1.098893] gpmc,adv-aad-mux-rd-off-ns = <15>; /* 8 ns - 15 ns; 2 ticks */
    [    1.105929] gpmc,adv-aad-mux-wr-off-ns = <15>; /* 8 ns - 15 ns; 2 ticks */
    [    1.112962] gpmc,oe-on-ns = <45>; /* 38 ns - 45 ns; 6 ticks */
    [    1.118931] gpmc,oe-off-ns = <120>; /* 113 ns - 120 ns; 16 ticks */
    [    1.125342] gpmc,oe-aad-mux-on-ns = <7>; /* 1 ns - 7 ns; 1 ticks */
    [    1.131753] gpmc,oe-aad-mux-off-ns = <22>; /* 16 ns - 22 ns; 3 ticks */
    [    1.138520] gpmc,we-on-ns = <37>; /* 31 ns - 37 ns; 5 ticks */
    [    1.144485] gpmc,we-off-ns = <120>; /* 113 ns - 120 ns; 16 ticks */
    [    1.150896] gpmc,rd-cycle-ns = <127>; /* 121 ns - 127 ns; 17 ticks */
    [    1.157484] gpmc,wr-cycle-ns = <127>; /* 121 ns - 127 ns; 17 ticks */
    [    1.164072] gpmc,access-ns = <112>; /* 106 ns - 112 ns; 15 ticks */
    [    1.170487] gpmc,page-burst-access-ns = <7>; /* 1 ns - 7 ns; 1 ticks */
    [    1.177254] gpmc,bus-turnaround-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.183753] gpmc,cycle2cycle-delay-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.190518] gpmc,wait-monitoring-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.197106] gpmc,clk-activation-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.203606] gpmc,wr-data-mux-bus-ns = <52>; /* 46 ns - 52 ns; 7 ticks */
    [    1.210461] gpmc,wr-access-ns = <112>; /* 106 ns - 112 ns; 15 ticks */
    [    1.217142] GPMC CS2: cs_on            :   2 ticks,  15 ns (was   1 ticks)  10 ns
    [    1.224798] GPMC CS2: cs_rd_off        :   4 ticks,  30 ns (was  16 ticks)  30 ns
    [    1.232457] GPMC CS2: cs_wr_off        :   4 ticks,  30 ns (was  16 ticks)  30 ns
    [    1.240112] GPMC CS2: adv_on           :   0 ticks,   0 ns (was   4 ticks)   0 ns
    [    1.247767] GPMC CS2: adv_rd_off       :   4 ticks,  30 ns (was   5 ticks)  30 ns
    [    1.255422] GPMC CS2: adv_wr_off       :   4 ticks,  30 ns (was   6 ticks)  30 ns
    [    1.263077] GPMC CS2: adv_aad_mux_on   :   0 ticks,   0 ns (was   1 ticks)   0 ns
    [    1.270732] GPMC CS2: adv_aad_mux_rd_off:   0 ticks,   0 ns (was   2 ticks)   0 ns
    [    1.278475] GPMC CS2: adv_aad_mux_wr_off:   0 ticks,   0 ns (was   2 ticks)   0 ns
    [    1.286220] GPMC CS2: oe_on            :   2 ticks,  15 ns (was   6 ticks)  10 ns
    [    1.293878] GPMC CS2: oe_off           :   4 ticks,  30 ns (was  16 ticks)  30 ns
    [    1.301534] GPMC CS2: oe_aad_mux_on    :   0 ticks,   0 ns (was   1 ticks)   0 ns
    [    1.309188] GPMC CS2: oe_aad_mux_off   :   0 ticks,   0 ns (was   3 ticks)   0 ns
    [    1.316843] GPMC CS2: we_on            :   2 ticks,  15 ns (was   5 ticks)  10 ns
    [    1.324497] GPMC CS2: we_off           :   4 ticks,  30 ns (was  16 ticks)  30 ns
    [    1.332153] GPMC CS2: rd_cycle         :   4 ticks,  30 ns (was  17 ticks)  25 ns
    [    1.339818] GPMC CS2: wr_cycle         :   4 ticks,  30 ns (was  17 ticks)  25 ns
    [    1.347474] GPMC CS2: access           :   3 ticks,  22 ns (was  15 ticks)  20 ns
    [    1.355133] GPMC CS2: page_burst_access:   0 ticks,   0 ns (was   1 ticks)   0 ns
    [    1.362789] GPMC CS2: bus_turnaround   :   2 ticks,  15 ns (was   0 ticks)  10 ns
    [    1.370444] GPMC CS2: cycle2cycle_delay:   2 ticks,  15 ns (was   0 ticks)  10 ns
    [    1.378099] GPMC CS2: wr_data_mux_bus  :   2 ticks,  15 ns (was   7 ticks)  10 ns
    [    1.385754] GPMC CS2: wr_access        :   3 ticks,  22 ns (was  15 ticks)  20 ns
    [    1.393409] GPMC CS2: wait_monitoring  :   0 ticks,   0 ns (was   0 ticks)   0 ns
    [    1.401064] GPMC CS2: clk_activation   :   0 ticks,   0 ns (was   0 ticks)   0 ns
    [    1.408718] GPMC CS2 CLK period is 7 ns (div 1)
    [    1.413353] gpmc cs2 after gpmc_cs_set_timings:
    [    1.417987] cs2 GPMC_CS_CONFIG1: 0x00001000
    [    1.422264] cs2 GPMC_CS_CONFIG2: 0x00040402
    [    1.426540] cs2 GPMC_CS_CONFIG3: 0x00040400
    [    1.430817] cs2 GPMC_CS_CONFIG4: 0x04020402
    [    1.435092] cs2 GPMC_CS_CONFIG5: 0x00030404
    [    1.439368] cs2 GPMC_CS_CONFIG6: 0x83020202
    [    1.443644] gpmc cs2 access configuration:
    [    1.447831] gpmc,mux-add-data = <0>;
    [    1.451485] gpmc,device-width = <2>;
    [    1.455139] gpmc,wait-pin = <0>;
    [    1.458438] gpmc,burst-length = <4>;
    [    1.462095] gpmc cs2 timings configuration:
    [    1.466370] gpmc,cs-on-ns = <15>; /* 8 ns - 15 ns; 2 ticks */
    [    1.472247] gpmc,cs-rd-off-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.478572] gpmc,cs-wr-off-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.484895] gpmc,adv-on-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.490683] gpmc,adv-rd-off-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.497094] gpmc,adv-wr-off-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.503504] gpmc,adv-aad-mux-on-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.510002] gpmc,adv-aad-mux-rd-off-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.516856] gpmc,adv-aad-mux-wr-off-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.523710] gpmc,oe-on-ns = <15>; /* 8 ns - 15 ns; 2 ticks */
    [    1.529588] gpmc,oe-off-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.535643] gpmc,oe-aad-mux-on-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.542056] gpmc,oe-aad-mux-off-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.548555] gpmc,we-on-ns = <15>; /* 8 ns - 15 ns; 2 ticks */
    [    1.554432] gpmc,we-off-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.560487] gpmc,rd-cycle-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.566720] gpmc,wr-cycle-ns = <30>; /* 23 ns - 30 ns; 4 ticks */
    [    1.572953] gpmc,access-ns = <22>; /* 16 ns - 22 ns; 3 ticks */
    [    1.579008] gpmc,page-burst-access-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.585773] gpmc,bus-turnaround-ns = <15>; /* 8 ns - 15 ns; 2 ticks */
    [    1.592450] gpmc,cycle2cycle-delay-ns = <15>; /* 8 ns - 15 ns; 2 ticks */
    [    1.599393] gpmc,wait-monitoring-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.605984] gpmc,clk-activation-ns = <0>; /* 0 ns - 0 ns; 0 ticks */
    [    1.612483] gpmc,wr-data-mux-bus-ns = <15>; /* 8 ns - 15 ns; 2 ticks */
    [    1.619249] gpmc,wr-access-ns = <22>; /* 16 ns - 22 ns; 3 ticks */
    [    1.627533] i2c 0-0030: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/pmic@30/regulators/buck2
    [    1.663399] VDD_CORE: Bringing 750000uV into 850000-850000uV
    [    1.676062] input: tps65219-pwrbutton as /devices/platform/bus@f0000/20000000.i2c/i2c-0/0-0030/tps65219-pwrbutton.2.auto/input/input0
    [    1.690620] rtc-rv3028 0-0052: registered as rtc0
    [    1.695598] rtc-rv3028 0-0052: hctosys: unable to read the hardware clock
    [    1.703276] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [    1.733930] tlv320aic3x 1-0018: Failed to init class D: -121
    [    1.740295] i2c 1-0039: Fixed dependency cycle(s) with /connector-hdmi/port/endpoint
    [    1.748246] i2c 1-0039: Fixed dependency cycle(s) with /bus@f0000/dss@30200000/ports/port@1/endpoint
    [    1.758053] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
    [    1.764384] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [    1.772751] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    1.782034] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.795591] ti-udma 485c0100.dma-controller: Number of rings: 82
    [    1.803910] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [    1.815155] ti-udma 485c0000.dma-controller: Number of rings: 150
    [    1.825319] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [    1.835687] printk: console [ttyS2] disabled
    [    1.840146] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 290, base_baud = 3000000) is a 8250
    [    1.849029] printk: console [ttyS2] enabled
    [    1.857491] printk: bootconsole [ns16550a0] disabled
    [    1.868794] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 291, base_baud = 3000000) is a 8250
    [    1.882424] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
    [    1.925788] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    1.935514] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
    [    1.943671] davinci_mdio 8000f00.mdio: phy[3]: device 8000f00.mdio:03, driver TI DP83867
    [    1.951807] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
    [    1.964778] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
    [    1.971049] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [    1.978177] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    1.984854] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [    1.995256] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [    2.106128] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 1200000 KHz, changing to: 1250000 KHz
    [    2.119480] mmc0: CQHCI version 5.10
    [    2.125093] mmc1: CQHCI version 5.10
    [    2.128863] pcf857x: probe of 1-0021 failed with error -121
    [    2.134963] sii902x 1-0039: supply iovcc not found, using dummy regulator
    [    2.141886] sii902x 1-0039: supply cvcc12 not found, using dummy regulator
    [    2.149317] sii902x: probe of 1-0039 failed with error -121
    [    2.160155] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    2.171455] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [    2.184843] ti-sci-clk 44043000.system-controller:clock-controller: is_prepared failed for dev=81, clk=20, ret=-19
    [    2.200378] ALSA device list:
    [    2.203362]   No soundcards found.
    [    2.240174] mmc0: Command Queue Engine enabled
    [    2.244665] mmc0: new HS200 MMC card at address 0001
    [    2.250668] mmcblk0: mmc0:0001 DG4008 7.28 GiB 
    [    2.257187]  mmcblk0: p1 p2
    [    2.260705] mmcblk0boot0: mmc0:0001 DG4008 4.00 MiB 
    [    2.266756] mmcblk0boot1: mmc0:0001 DG4008 4.00 MiB 
    [    2.272810] mmcblk0rpmb: mmc0:0001 DG4008 4.00 MiB, chardev (237:0)
    [    3.653675] sdhci-am654 fa00000.mmc: Power on failed
    [    3.691418] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    3.707974] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
    [    3.716909] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    3.723728] devtmpfs: mounted
    [    3.728167] Freeing unused kernel memory: 2240K
    [    3.732930] Run /sbin/init as init process
    [    3.737042]   with arguments:
    [    3.737046]     /sbin/init
    [    3.737050]   with environment:
    [    3.737053]     HOME=/
    [    3.737057]     TERM=linux
    [    3.815077] systemd[1]: System time before build time, advancing clock.
    [    3.858993] NET: Registered PF_INET6 protocol family
    [    3.865422] Segment Routing with IPv6
    [    3.869172] In-situ OAM (IOAM) with IPv6
    [    3.890982] systemd[1]: systemd 250.5+ running in system mode (-PAM -AUDIT -SELINUX -APPARMOR -IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL -ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 +LZ4 -XZ -ZLIB -ZSTD -BPF_FRAMEWORK -XKBCOMMON -UTMP -SYSVINIT default-hierarchy=hybrid)
    [    3.923067] systemd[1]: Detected architecture arm64.
    [    3.990804] systemd[1]: Hostname set to <phyboard-lyra-am62xx-3>.
    [    4.374093] systemd[1]: Queued start job for default target Multi-User System.
    [    4.428468] systemd[1]: Created slice Slice /system/getty.
    [    4.452000] systemd[1]: Created slice Slice /system/modprobe.
    [    4.476231] systemd[1]: Created slice Slice /system/serial-getty.
    [    4.500122] systemd[1]: Created slice User and Session Slice.
    [    4.522562] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    4.546386] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    4.570692] systemd[1]: Reached target Path Units.
    [    4.586180] systemd[1]: Reached target Remote File Systems.
    [    4.606090] systemd[1]: Reached target Slice Units.
    [    4.622094] systemd[1]: Reached target Swaps.
    [    4.645995] systemd[1]: Journal Audit Socket was skipped because of a failed condition check (ConditionSecurity=audit).
    [    4.658375] systemd[1]: Listening on Journal Socket (/dev/log).
    [    4.683564] systemd[1]: Listening on Journal Socket.
    [    4.707943] systemd[1]: Listening on Network Service Netlink Socket.
    [    4.731655] systemd[1]: Listening on udev Control Socket.
    [    4.756109] systemd[1]: Listening on udev Kernel Socket.
    [    4.802513] systemd[1]: Mounting Huge Pages File System...
    [    4.827528] systemd[1]: Mounting POSIX Message Queue File System...
    [    4.859618] systemd[1]: Mounting Kernel Debug File System...
    [    4.879310] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
    [    4.914515] systemd[1]: Mounting Temporary Directory /tmp...
    [    4.936513] systemd[1]: Starting Create List of Static Device Nodes...
    [    4.968884] systemd[1]: Starting Load Kernel Module configfs...
    [    4.997646] systemd[1]: Starting Load Kernel Module drm...
    [    5.025437] systemd[1]: Starting Load Kernel Module fuse...
    [    5.040354] fuse: init (API version 7.37)
    [    5.044783] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
    [    5.086989] systemd[1]: Starting Journal Service...
    [    5.104934] systemd[1]: Load Kernel Modules was skipped because all trigger condition checks failed.
    [    5.120093] systemd[1]: Starting Generate network units from Kernel command line...
    [    5.170812] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    5.210291] systemd[1]: Starting Apply Kernel Variables...
    [    5.211695] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none.
    [    5.247667] systemd[1]: Starting Coldplug All udev Devices...
    [    5.274520] systemd[1]: Mounted Huge Pages File System.
    [    5.298857] systemd[1]: Started Journal Service.
    [    5.680074] systemd-journald[145]: Received client request to flush runtime journal.
    [    6.237653] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [    6.279793] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [    6.288740] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [    6.300960] cfg80211: failed to load regulatory.db
    [    6.538177] random: crng init done
    [    6.593722] at24 0-0050: supply vcc not found, using dummy regulator
    [    6.610876] at24 0-0050: 4096 byte 24c32 EEPROM, writable, 32 bytes/write
    [    6.631011] at24 1-0051: supply vcc not found, using dummy regulator
    [    6.716989] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POLL)
    [    6.730222] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [    6.766249] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@9cb00000
    [    6.790072] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    6.799074] rtc-ti-k3 2b1f0000.rtc: registered as rtc1
    [    6.822630] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    6.827103] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:03] driver [TI DP83867] (irq=POLL)
    [    6.844439] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
    [    6.864261] remoteproc remoteproc0: 5000000.m4fss is available
    [    6.872824] remoteproc remoteproc0: Direct firmware load for am62-mcu-m4f0_0-fw failed with error -2
    [    6.884340] remoteproc remoteproc0: powering up 5000000.m4fss
    [    6.895031] remoteproc remoteproc0: Direct firmware load for am62-mcu-m4f0_0-fw failed with error -2
    [    6.904297] remoteproc remoteproc0: request_firmware failed: -2
    [    7.115275] OF: /sound/simple-audio-card,cpu: could not get #sound-dai-cells for /bus@f0000/audio-controller@2b20000
    [    7.155101] asoc-simple-card sound: error -EINVAL: parse error
    [    7.162850] asoc-simple-card: probe of sound failed with error -22
    [    7.358717] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    7.426350] remoteproc remoteproc1: 30074000.pru is available
    [    7.459413] remoteproc remoteproc2: 30078000.pru is available
    [    7.711618] xhci-hcd xhci-hcd.4.auto: xHCI Host Controller
    [    7.731527] xhci-hcd xhci-hcd.4.auto: new USB bus registered, assigned bus number 1
    [    7.771980] xhci-hcd xhci-hcd.4.auto: USB3 root hub has no ports
    [    7.802732] xhci-hcd xhci-hcd.4.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
    [    7.827912] xhci-hcd xhci-hcd.4.auto: irq 464, io mem 0x31100000
    [    7.838403] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
    [    7.858241] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    7.882280] usb usb1: Product: xHCI Host Controller
    [    7.888062] usb usb1: Manufacturer: Linux 6.1.69-bsp-yocto-ampliphy-am62x-pd23.2.1 xhci-hcd
    [    7.910228] usb usb1: SerialNumber: xhci-hcd.4.auto
    [    7.927968] hub 1-0:1.0: USB hub found
    [    7.942295] hub 1-0:1.0: 1 port detected
    [    8.791684] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [    8.800785] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   18.047020] platform 31000000.usb: deferred probe pending
    [   18.052682] platform 30200000.dss: deferred probe pending
    [   18.058269] platform keys: deferred probe pending
    [   18.063103] platform can-phy0: deferred probe pending
    [   18.068573] platform leds: deferred probe pending
    

  • Hi Shrihant,

    I ran SDK9.2 prebuilt SD card WIC image with k3-am62-lp-sk-nand.dtbo devicetree to enable GPMC NAND, and don't see the address 0x51000000 is mapped in /proc/iomem either. So I don't think it is expected to be mapped.

  • Thanks for checking. I understand that 0x51000000 is not mapped in /proc/iomem with the SDK9.2 prebuilt image and k3-am62-lp-sk-nand.dtbo. However, I am able to read valid data using devmem2 0x51000000 w, which indicates that the memory is accessible but it is not SRAM which is i am trying to implement.

    Could you clarify why this behavior occurs? Is there a different way to verify the mapping, or should I check specific GPMC configurations to confirm proper setup?

  • but it is not SRAM which is i am trying to implement.

    Can you please explain how did you check it is not SRAM?

  • Thanks for your response.

    The DPRAM is connected between the AM62 SOM and the TMS320F28355 DSP as follows:

    • The DPRAM has two ports: one connected to the AM62 SOM via the GPMC interface and the other connected to the DSP.
    • The DSP can successfully read and write data to the DPRAM at the expected addresses.
    • However, when trying to read the same memory locations from the SOM side, I do not see the expected data written by the DSP. 

    This suggests that the GPMC interface on the AM62 SOM is not correctly configured for proper SRAM (DPRAM) operation. Could you suggest any specific registers or debugging methods to verify if the GPMC is correctly handling DPRAM transactions?

  • If you use devmem2 command writes a word to address 0x51000000, do you read back the same value?

    # devmem2 0x51000000 w 0x12345678
    # devmem2 0x51000000 w

  • root@phyboard-lyra-am62xx-3:~# devmem2 0x51000000 w 0x12345678
    /dev/mem opened.
    Memory mapped at address 0xffffa3410000.
    Read at address  0x51000000 (0xffffa3410000): 0x374B374B
    Write at address 0x51000000 (0xffffa3410000): 0x12345678, readback 0x12345678
    
    
    
    root@phyboard-lyra-am62xx-3:~# devmem2 0x51000000
    /dev/mem opened.
    Memory mapped at address 0xffff823d7000.
    Read at address  0x51000000 (0xffff823d7000): 0x12341234
    
    
    
    root@phyboard-lyra-am62xx-3:~# devmem2 0x51000000 h 0x1234
    /dev/mem opened.
    Memory mapped at address 0xffff8da38000.
    Read at address  0x51000000 (0xffff8da38000): 0x1234
    Write at address 0x51000000 (0xffff8da38000): 0x1234, readback 0x1234
    

  • Hi Shrikant,

    It seems you can only access half of the word.

    Have you validate the GPMC bus waveforms with the SRAM device datasheet to see if the GPMC config parameters in the DTS meet the datasheet?

  • I briefly ran your DTS config with our GPMC hardware expert, it seems the timing is configured too fast, but you need to compare the bus waveforms with the SRAM device datasheet.

  • As per datasheet of  CY7C024AV DPRAM 

    • Read Cycle Parameters:

      • Total Read Cycle:

        • tRC (Read Cycle Time) = 25 ns
        • gpmc,rd-cycle-ns = <25>;
      • Chip Select Timing:

        • tACE (CE LOW to Data Valid) = 25 ns
        • tHZCE (CE HIGH to High Z) = 15 ns
        • gpmc,cs-on-ns = <10>;
        • gpmc,cs-rd-off-ns = <30>;
      • Address to Data Valid:

        • tAA (Address to Data Valid) = 25 ns
        • gpmc,access-ns = <20>;
      • Output Enable Timing:

        • tDOE (OE LOW to Data Valid) = 13 ns
        • tHZOE (OE HIGH to High Z) = 15 ns
        • gpmc,oe-on-ns = <10>;
        • gpmc,oe-off-ns = <30>;
    • Write Cycle Parameters:

      • Total Write Cycle:

        • tWC (Write Cycle Time) = 25 ns
        • gpmc,wr-cycle-ns = <25>;
      • Chip Select Timing:

        • tSCE (CE LOW to Write End) = 20 ns
        • gpmc,cs-wr-off-ns = <30>;
      • Write Enable Timing:

        • tPWE (Write Pulse Width) = 20 ns
        • tSD (Data Setup to Write End) = 15 ns
        • gpmc,we-on-ns = <10>;
        • gpmc,we-off-ns = <30>;
        • gpmc,wr-access-ns = <20>;
      • Address Setup & Hold:

        • tSA (Address Setup to Write Start) = 0 ns
        • tHA (Address Hold from Write End) = 0 ns
        • gpmc,adv-on-ns = <0>;
    • Cycle-to-Cycle Delays:

      • tWDD (Write Pulse to Data Delay) = 50 ns
      • tBDD (BUSY HIGH to Data Valid) = 25 ns
      • gpmc,cycle2cycle-delay-ns = <10>;
      • gpmc,bus-turnaround-ns = <10>;
  • One example:

    Chip Select Timing:

    • tACE (CE LOW to Data Valid) = 25 ns
    • tHZCE (CE HIGH to High Z) = 15 ns
    • gpmc,cs-on-ns = <10>;

    The setting 10ns doesn't meet the datasheet requirement - 25ns. Please verify all the GPMC configuration with the device datasheet.

  • but in some AM335x  e2e discussions i can see gpmc is mapped in /proc/iomem .

  • Bin is OoO this week. Please expect delayed response till next week.

  • but in some AM335x  e2e discussions i can see gpmc is mapped in /proc/iomem .

    Please provide the links to those e2e threads.

  • 1 .  I can see gpmc in cat /proc/iomem  

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1164995/am5749-am5749-gpmc-setting-for-connect-fpga-is-not-correct-on-am5749-custom-board/4382028#4382028

    root@am57xx-evm:~# cat /proc/iomem
    40300000-4037ffff : 40300000.ocmcram ocmcram@40300000
    40d01000-40d010ff : 40d01000.mmu mmu@0
    40d02000-40d020ff : 40d02000.mmu mmu@0
    41501000-415010ff : 41501000.mmu mmu@0
    41502000-415020ff : 41502000.mmu mmu@0
    43300000-433fffff : 43300000.dma edma3_cc
    44000000-44ffffff : 44000000.ocp ocp
    45000000-45000fff : 44000000.ocp ocp
    48020000-4802001f : serial
    48034000-4803407f : 48034000.timer timer@0
    48036000-4803607f : 48036000.timer timer@0
    4803e000-4803e07f : 4803e000.timer timer@0
    48051000-480511ff : 48051000.gpio gpio@0
    48053000-480531ff : 48053000.gpio gpio@0
    48055000-480551ff : 48055000.gpio gpio@0
    48057000-480571ff : 48057000.gpio gpio@0
    48059000-480591ff : 48059000.gpio gpio@0
    4805b000-4805b1ff : 4805b000.gpio gpio@0
    4805d000-4805d1ff : 4805d000.gpio gpio@0
    48070000-480700ff : 48070000.i2c i2c@0
    48086000-4808607f : 48086000.timer timer@0
    
    ...
    
    4ae07e34-4ae07e37 : 4ae07e34.regulator-abb-ivahd setup-address
    4ae0c154-4ae0c157 : 4ae07de4.regulator-abb-gpu ldo-address
    4ae0c158-4ae0c15b : 4ae07ddc.regulator-abb-mpu ldo-address
    4ae10000-4ae101ff : 4ae10000.gpio gpio@0
    4ae20000-4ae2007f : 4ae20000.timer timer@0
    50000000-5000037b : 50000000.gpmc gpmc@50000000
    55082000-550820ff : 55082000.mmu mmu@0
    58000000-5800007f : 58000000.dss dss
    58001000-58001fff : 58001000.dispc dispc@0
    58004054-58004057 : 58000000.dss pll1_clkctrl
    58004300-5800431f : 58000000.dss pll1
    58009054-58009057 : 58000000.dss pll2_clkctrl
    58009300-5800931f : 58000000.dss pll2
    58882000-588820ff : 58882000.mmu mmu@0
    80000000-afcfffff : System RAM
    80008000-80ffffff : Kernel code
    81200000-812fc00f : Kernel data
    b0000000-ffffffff : System RAM
    root@am57xx-evm:~#
                                                                                                                   

    2. CS2 is not toggling while accessing devmem2 0x51000000 w 0x12345678, but it toggles correctly when set as GPIO (mux mode 7). I believe it should toggle even if GPMC timing is incorrect. 

  • Let me check on this on my AM64x EVM and get back to you.