Hi,
We have custom tda4 board and we plan to connect PPS signal from GPS device to GPIO0_125.
We enabled PPS support in kernel and added following changes in k3-j721e-common-proc-board.dts file:
Because the pins of uart1 are used in PPS of our board,so we have to disabled the uart1 in dts file:
After the changes are completed and compiled,we start the kernel.Log is here:
Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080] [ 0.000000] Linux version 5.4.74-g9574bba32a (hluo@CSP-test2) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.1 [ 0.000000] Machine model: Texas Instruments K3 J721E SoC [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool [ 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] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 31 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-r5f-memory@a1100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 31 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-r5f-memory@a3100000, compatible id shared-dma-pool [ 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] Reserved memory: created DMA memory pool at 0x00000000a5100000, size 7 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-r5f-memory@a5100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a5800000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-r5f-dma-memory@a5800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a5900000, size 7 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-r5f-memory@a5900000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a6000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node c66-dma-memory@a6000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a6100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node c66-memory@a6100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a7000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node c66-dma-memory@a7000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a7100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node c66-memory@a7100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a8000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node c71-dma-memory@a8000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a8100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node c71-memory@a8100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000ac000000, size 32 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-dma-memory@ac000000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: initialized node vision_apps_shared-memories, compatible id dma-heap-carveout [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000ce000000, size 720 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-core-heap-memory@ce000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000fb000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-r5f-dma-memory@fb000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000fb100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node vision_apps-r5f-memory@fb100000, compatible id shared-dma-pool [ 0.000000] cma: Failed to reserve 512 MiB [ 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.0 [ 0.000000] percpu: Embedded 2 pages/cpu s48408 r8192 d74472 u131072 [ 0.000000] Detected PIPT I-cache on CPU0 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] CPU features: detected: EL2 vector hardening [ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 35779 [ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(t [ 0.000000] Dentry cache hash table entries: 524288 (order: 6, 4194304 bytes, linear) [ 0.000000] Inode-cache hash table entries: 262144 (order: 5, 2097152 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: mapped [mem 0x9a800000-0x9e800000] (64MB) [ 0.000000] Memory: 2584000K/2293760K available (9598K kernel code, 788K rwdata, 3840K rodata, 1664K init, 683K bss, 18446744073709261376K) [ 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 restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2. [ 0.000000] 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: 960 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] GICv3: Distributor has no Range Selector support [ 0.000000] GICv3: 16 PPIs implemented [ 0.000000] GICv3: no VLPI support, no direct LPI support [ 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: allocated 1048576 Devices @8c0800000 (flat, esz 8, psz 64K, shr 0) [ 0.000000] ITS: using cache flushing for cmd queue [ 0.000000] GICv3: using LPI property table @0x00000008c00c0000 [ 0.000000] GIC: using cache flushing for LPI property table [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000008c00d0000 [ 0.000000] random: get_random_bytes called from start_kernel+0x2b8/0x43c with crng_init=0 [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns [ 0.000001] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns [ 0.008359] Console: colour dummy device 80x25 [ 0.012924] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000) [ 0.023592] pid_max: default: 32768 minimum: 301 [ 0.028345] LSM: Security Framework initializing [ 0.033100] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear) [ 0.040673] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear) [ 0.049935] ASID allocator initialised with 32768 entries [ 0.055529] rcu: Hierarchical SRCU implementation. [ 0.060595] Platform MSI: gic-its@1820000 domain created [ 0.066268] PCI/MSI: /bus@100000/interrupt-controller@1800000/gic-its@1820000 domain created [ 0.075109] smp: Bringing up secondary CPUs ... [ 0.081029] Detected PIPT I-cache on CPU1 [ 0.081052] GICv3: CPU1: found redistributor 1 region 0:0x0000000001920000 [ 0.081063] GICv3: CPU1: using allocated LPI pending table @0x00000008c00e0000 [ 0.081093] CPU1: Booted secondary processor 0x0000000001 [0x411fd080] [ 0.081152] smp: Brought up 1 node, 2 CPUs [ 0.110498] SMP: Total of 2 processors activated. [ 0.115302] CPU features: detected: 32-bit EL0 Support [ 0.120554] CPU features: detected: CRC32 instructions [ 0.132593] CPU: All CPU(s) started at EL2 [ 0.136787] alternatives: patching kernel code [ 0.141969] devtmpfs: initialized [ 0.150542] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.160513] futex hash table entries: 512 (order: -1, 32768 bytes, linear) [ 0.167946] pinctrl core: initialized pinctrl subsystem [ 0.173784] NET: Registered protocol family 16 [ 0.178539] DMA: preallocated 256 KiB pool for atomic allocations [ 0.185048] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.200321] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages [ 0.207178] HugeTLB registered 512 MiB page size, pre-allocated 0 pages [ 0.213939] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages [ 0.222098] cryptd: max_cpu_qlen set to 1000 [ 0.228610] vsys_3v3: supplied by evm_12v0 [ 0.232890] vsys_5v0: supplied by evm_12v0 [ 0.237436] iommu: Default domain type: Translated [ 0.242653] SCSI subsystem initialized [ 0.246761] mc: Linux media interface: v0.10 [ 0.251132] videodev: Linux video capture interface: v2.00 [ 0.256743] pps_core: LinuxPPS API ver. 1 registered [ 0.261812] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.271148] PTP clock support registered [ 0.275159] EDAC MC: Ver: 3.0.0 [ 0.278897] FPGA manager framework [ 0.282410] Advanced Linux Sound Architecture Driver Initialized. [ 0.289058] clocksource: Switched to clocksource arch_sys_counter [ 0.295383] VFS: Disk quotas dquot_6.6.0 [ 0.299432] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes) [ 0.309003] Carveout Heap: Exported 512 MiB at 0x00000000ae000000 [ 0.315235] thermal_sys: Registered thermal governor 'step_wise' [ 0.315237] thermal_sys: Registered thermal governor 'power_allocator' [ 0.321686] NET: Registered protocol family 2 [ 0.333088] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear) [ 0.341846] TCP established hash table entries: 32768 (order: 2, 262144 bytes, linear) [ 0.350041] TCP bind hash table entries: 32768 (order: 3, 524288 bytes, linear) [ 0.357857] TCP: Hash tables configured (established 32768 bind 32768) [ 0.364602] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear) [ 0.371495] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear) [ 0.378906] NET: Registered protocol family 1 [ 0.383662] RPC: Registered named UNIX socket transport module. [ 0.389714] RPC: Registered udp transport module. [ 0.394517] RPC: Registered tcp transport module. [ 0.399318] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.405903] PCI: CLS 0 bytes, default 64 [ 0.410272] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available [ 0.420436] Initialise system trusted keyrings [ 0.425065] workingset: timestamp_bits=46 max_order=16 bucket_order=0 [ 0.433792] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.440012] NFS: Registering the id_resolver key type [ 0.445187] Key type id_resolver registered [ 0.449457] Key type id_legacy registered [ 0.453553] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.460514] 9p: Installing v9fs 9p2000 file system support [ 0.473403] Key type asymmetric registered [ 0.477589] Asymmetric key parser 'x509' registered [ 0.482592] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244) [ 0.490151] io scheduler mq-deadline registered [ 0.494777] io scheduler kyber registered [ 0.499933] pinctrl-single 4301c000.pinmux: ###########################[debug]pinctrl probed########################## [ 0.510941] pinctrl-single 4301c000.pinmux: 94 pins, size 376 [ 0.516907] pinctrl-single 11c000.pinmux: ###########################[debug]pinctrl probed########################## [ 0.527778] pinctrl-single 11c000.pinmux: 173 pins, size 692 [ 0.535979] k3-ringacc 2b800000.ringacc: Failed to get MSI domain [ 0.542273] k3-ringacc 3c000000.ringacc: Failed to get MSI domain [ 0.548619] ti-pat 31010000.pat: Found PAT Rev 1.0 with 16384 pages [ 0.555032] debugfs: Directory '31010000.pat' with parent 'regmap' already present! [ 0.563016] ti-pat 31011000.pat: Found PAT Rev 1.0 with 16384 pages [ 0.569432] debugfs: Directory '31011000.pat' with parent 'regmap' already present! [ 0.577357] ti-pat 31012000.pat: Found PAT Rev 1.0 with 16384 pages [ 0.583773] debugfs: Directory '31012000.pat' with parent 'regmap' already present! [ 0.591702] ti-pat 31013000.pat: Found PAT Rev 1.0 with 2048 pages [ 0.598025] debugfs: Directory '31013000.pat' with parent 'regmap' already present! [ 0.605942] ti-pat 31014000.pat: Found PAT Rev 1.0 with 2048 pages [ 0.612265] debugfs: Directory '31014000.pat' with parent 'regmap' already present! [ 0.621644] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled [ 0.633670] brd: module loaded [ 0.640054] loop: module loaded [ 0.643657] sysfs: cannot create duplicate filename '/devices/platform/dma_buf_phys' [ 0.651582] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.74-g9574bba32a #83 [ 0.658780] Hardware name: Texas Instruments K3 J721E SoC (DT) [ 0.664735] Call trace: [ 0.667232] dump_backtrace+0x0/0x140 [ 0.670967] show_stack+0x14/0x20 [ 0.674349] dump_stack+0xb4/0x114 [ 0.677826] sysfs_warn_dup+0x5c/0x78 [ 0.681560] sysfs_create_dir_ns+0xd8/0xf0 [ 0.685741] kobject_add_internal+0x94/0x280 [ 0.690097] kobject_add+0x90/0xf8 [ 0.693569] device_add+0xdc/0x600 [ 0.697038] platform_device_add+0xfc/0x228 [ 0.701304] platform_device_register_full+0xc8/0x140 [ 0.706463] dma_buf_phys_init+0x68/0x94 [ 0.710465] do_one_initcall+0x50/0x1a8 [ 0.714383] kernel_init_freeable+0x194/0x23c [ 0.718831] kernel_init+0x10/0xfc [ 0.722299] ret_from_fork+0x10/0x1c [ 0.725964] kobject_add_internal failed for dma_buf_phys with -EEXIST, don't try to register things with the same name in the same directo. [ 0.740099] libphy: Fixed MDIO Bus: probed [ 0.744512] tun: Universal TUN/TAP device driver, 1.6 [ 0.749930] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k [ 0.757932] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 0.763997] sky2: driver version 1.30 [ 0.768227] VFIO - User Level meta-driver version: 0.3 [ 0.773854] i2c /dev entries driver [ 0.777537] pps pps0: new PPS source ktimer [ 0.781811] pps pps0: ktimer PPS source registered [ 0.888508] pps-gpio pps-gpio: failed to request PPS GPIO [ 0.894034] pps-gpio: probe of pps-gpio failed with error -22 [ 0.900343] sdhci: Secure Digital Host Controller Interface driver [ 0.906659] sdhci: Copyright(c) Pierre Ossman [ 0.911295] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.917548] ledtrig-cpu: registered to indicate activity on CPUs [ 0.924337] optee: probing for conduit method from DT. [ 0.929618] optee: revision 3.8 (199fca17) [ 0.929949] optee: initialized driver [ 0.938763] NET: Registered protocol family 17 [ 0.943390] 9pnet: Installing 9P2000 support [ 0.947781] Key type dns_resolver registered [ 0.952303] registered taskstats version 1 [ 0.956489] Loading compiled-in X.509 certificates [ 0.965304] k3-ringacc 2b800000.ringacc: Failed to get MSI domain [ 0.971626] k3-ringacc 3c000000.ringacc: Failed to get MSI domain [ 0.979663] ti-sci 44083000.dmsc: ABI: 3.1 (firmware rev 0x0014 '20.8.5--v2020.08b (Terrific Lla') [ 1.098539] random: fast init done [ 1.249774] davinci-mcasp 2ba0000.mcasp: IRQ common not found [ 1.256513] davinci_gpio 42110000.gpio: ###########################[debug]GPIO controller probed########################## [ 1.268435] davinci_gpio 600000.gpio: ###########################[debug]GPIO controller probed########################## [ 1.280132] davinci_gpio 601000.gpio: ###########################[debug]GPIO controller probed########################## [ 1.292270] omap_i2c 40b00000.i2c: bus 0 rev0.12 at 100 kHz [ 1.298650] omap_i2c 40b10000.i2c: bus 1 rev0.12 at 100 kHz [ 1.305097] omap_i2c 42120000.i2c: bus 2 rev0.12 at 100 kHz [ 1.311540] pca953x 3-0020: 3-0020 supply vcc not found, using dummy regulator [ 1.318960] pca953x 3-0020: using no AI [ 1.345096] pca953x 3-0020: failed writing register [ 1.350138] pca953x: probe of 3-0020 failed with error -121 [ 1.355936] pca953x 3-0022: 3-0022 supply vcc not found, using dummy regulator [ 1.363336] pca953x 3-0022: using AI [ 1.367034] pca953x 3-0022: failed writing register [ 1.372041] pca953x: probe of 3-0022 failed with error -121 [ 1.377768] omap_i2c 2000000.i2c: bus 3 rev0.12 at 400 kHz [ 1.384013] omap_i2c 2020000.i2c: bus 4 rev0.12 at 100 kHz [ 1.390278] pca953x 5-0020: 5-0020 supply vcc not found, using dummy regulator [ 1.397682] pca953x 5-0020: using no AI [ 1.425100] pca953x 5-0020: failed writing register [ 1.430124] pca953x: probe of 5-0020 failed with error -121 [ 1.435917] omap_i2c 2030000.i2c: bus 5 rev0.12 at 400 kHz [ 1.442141] omap_i2c 2040000.i2c: bus 6 rev0.12 at 100 kHz [ 1.448353] omap_i2c 2050000.i2c: bus 7 rev0.12 at 100 kHz [ 1.454955] ti-sci-intr bus@100000:bus@28380000:interrupt-controller2: Interrupt Router 137 domain created [ 1.465324] ti-sci-intr bus@100000:interrupt-controller0: Interrupt Router 131 domain created [ 1.474528] ti-sci-intr bus@100000:navss@30000000:interrupt-controller1: Interrupt Router 213 domain created [ 1.485468] ti-sci-inta 33d00000.interrupt-controller: Interrupt Aggregator domain 209 created [ 2.520180] j721e-pcie 2910000.pcie: host bridge /bus@100000/pcie@2910000 ranges: [ 2.527855] j721e-pcie 2910000.pcie: IO 0x18001000..0x18010fff -> 0x18001000 [ 2.535333] j721e-pcie 2910000.pcie: MEM 0x18011000..0x1fffffff -> 0x18011000 [ 2.542882] j721e-pcie 2910000.pcie: PCI host bridge to bus 0000:00 [ 2.549289] pci_bus 0000:00: root bus resource [bus 00-0f] [ 2.554895] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x18001000-0x18010fff]) [ 2.564584] pci_bus 0000:00: root bus resource [mem 0x18011000-0x1fffffff] [ 2.571624] pci 0000:00:00.0: [104c:b00d] type 01 class 0x060400 [ 2.577774] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits [ 2.587643] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits [ 2.597529] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0xe8 may corrupt adjacent RW1C bits [ 2.607487] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits [ 2.617458] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x92 may corrupt adjacent RW1C bits [ 2.627420] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0xb2 may corrupt adjacent RW1C bits [ 2.637403] pci 0000:00:00.0: supports D1 [ 2.641496] pci 0000:00:00.0: PME# supported from D0 D1 D3hot [ 2.647366] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x84 may corrupt adjacent RW1C bits [ 2.659125] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 2.667314] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits [ 2.677272] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits [ 2.687230] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits [ 2.698690] pci_bus 0000:01: busn_res: [bus 01-0f] end is updated to 01 [ 2.705459] pci 0000:00:00.0: PCI bridge to [bus 01] [ 2.710729] pcieport 0000:00:00.0: PME: Signaling with IRQ 37 [ 2.716766] pcieport 0000:00:00.0: AER: enabled with IRQ 37 [ 2.725821] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:235 [ 2.735705] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled [ 2.742464] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66346100, num_proxies:64 [ 2.751872] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:1024, gp-rings[440,150] sci-dev-id:211 [ 2.762026] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled [ 2.768784] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66346100, num_proxies:64 [ 2.777106] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 7, base_baud = 6000000) is a 8250 [ 2.786784] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 22, base_baud = 3000000) is a 8250 [ 2.795527] printk: console [ttyS2] enabled [ 2.795527] printk: console [ttyS2] enabled [ 2.803965] printk: bootconsole [ns16550a0] disabled [ 2.803965] printk: bootconsole [ns16550a0] disabled [ 2.814725] 2840000.serial: ttyS6 at MMIO 0x2840000 (irq = 23, base_baud = 3000000) is a 8250 [ 2.823831] arm-smmu-v3 36600000.smmu: ias 48-bit, oas 48-bit (features 0x00001faf) [ 2.833220] arm-smmu-v3 36600000.smmu: allocated 524288 entries for cmdq [ 2.843147] arm-smmu-v3 36600000.smmu: allocated 524288 entries for evtq [ 2.851005] arm-smmu-v3 36600000.smmu: msi_domain absent - falling back to wired irqs [ 2.909076] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 2.916723] libphy: 46000f00.mdio: probed [ 2.920933] mdio_bus 46000f00.mdio: MDIO device at address 0 is missing. [ 2.927634] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00101, cpsw version 0x6BA80100 Ports: 2 quirks:00000 [ 2.940455] am65-cpsw-nuss 46000000.ethernet: Failed to request tx dma channel -517 [ 2.951921] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010a, freq:200000000, add_val:4 pps:0 [ 2.961197] mmc0: CQHCI version 5.10 [ 3.005621] mmc0: SDHCI controller on 4f80000.sdhci [4f80000.sdhci] using ADMA 64-bit [ 3.016549] davinci-mcasp 2ba0000.mcasp: IRQ common not found [ 3.023068] davinci_gpio 42110000.gpio: ###########################[debug]GPIO controller probed########################## [ 3.040941] davinci_gpio 600000.gpio: ###########################[debug]GPIO controller probed########################## [ 3.061191] davinci_gpio 601000.gpio: ###########################[debug]GPIO controller probed########################## [ 3.077841] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100 [ 3.086000] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100 [ 3.094121] omap-mailbox 31f82000.mailbox: omap mailbox rev 0x66fc7100 [ 3.102267] omap-mailbox 31f83000.mailbox: omap mailbox rev 0x66fc7100 [ 3.110448] omap-mailbox 31f84000.mailbox: omap mailbox rev 0x66fc7100 [ 3.171720] mmc0: Command Queue Engine enabled [ 3.176166] mmc0: new DDR MMC card at address 0001 [ 3.181313] mmcblk0: mmc0:0001 032G34 29.1 GiB [ 3.185979] mmcblk0boot0: mmc0:0001 032G34 partition 1 8.00 MiB [ 3.192067] mmcblk0boot1: mmc0:0001 032G34 partition 2 8.00 MiB [ 3.198070] mmcblk0rpmb: mmc0:0001 032G34 partition 3 4.00 MiB, chardev (240:0) [ 3.207667] mmcblk0: p1 p2 [ 4.121113] j721e-pcie 2900000.pcie: host bridge /bus@100000/pcie@2900000 ranges: [ 4.128619] j721e-pcie 2900000.pcie: IO 0x10001000..0x10010fff -> 0x10001000 [ 4.135918] j721e-pcie 2900000.pcie: MEM 0x10011000..0x17ffffff -> 0x10011000 [ 4.143300] j721e-pcie 2900000.pcie: PCI host bridge to bus 0001:00 [ 4.149556] pci_bus 0001:00: root bus resource [bus 00-0f] [ 4.155029] pci_bus 0001:00: root bus resource [io 0x10000-0x1ffff] (bus address [0x10001000-0x10010fff]) [ 4.164660] pci_bus 0001:00: root bus resource [mem 0x10011000-0x17ffffff] [ 4.171537] pci 0001:00:00.0: [104c:b00d] type 01 class 0x060400 [ 4.177606] pci 0001:00:00.0: supports D1 [ 4.181605] pci 0001:00:00.0: PME# supported from D0 D1 D3hot [ 4.189254] pci 0001:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 4.198906] pci_bus 0001:01: busn_res: [bus 01-0f] end is updated to 01 [ 4.205518] pci 0001:00:00.0: PCI bridge to [bus 01] [ 4.210693] pcieport 0001:00:00.0: PME: Signaling with IRQ 481 [ 4.216687] pcieport 0001:00:00.0: AER: enabled with IRQ 481 [ 4.324988] j721e-pcie 2920000.pcie: Link up [ 4.329255] j721e-pcie 2920000.pcie: host bridge /bus@100000/pcie@2920000 ranges: [ 4.336735] j721e-pcie 2920000.pcie: IO 0x4400001000..0x4400010fff -> 0x00001000 [ 4.344379] j721e-pcie 2920000.pcie: MEM 0x4400011000..0x4407ffffff -> 0x00011000 [ 4.352083] j721e-pcie 2920000.pcie: PCI host bridge to bus 0002:00 [ 4.358337] pci_bus 0002:00: root bus resource [bus 00-0f] [ 4.363809] pci_bus 0002:00: root bus resource [io 0x20000-0x2ffff] (bus address [0x1000-0x10fff]) [ 4.372834] pci_bus 0002:00: root bus resource [mem 0x4400011000-0x4407ffffff] (bus address [0x00011000-0x07ffffff]) [ 4.383344] pci 0002:00:00.0: [104c:b00d] type 01 class 0x060400 [ 4.389406] pci 0002:00:00.0: supports D1 [ 4.393404] pci 0002:00:00.0: PME# supported from D0 D1 D3hot [ 4.400879] pci 0002:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 4.408935] pci 0002:01:00.0: [1344:6001] type 00 class 0x010802 [ 4.414981] pci 0002:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit] [ 4.422030] pci 0002:01:00.0: 15.752 Gb/s available PCIe bandwidth, limited by 8 GT/s x2 link at 0002:00:00.0 (capable of 31.504 Gb/s with) [ 4.446727] pci_bus 0002:01: busn_res: [bus 01-0f] end is updated to 01 [ 4.453340] pci 0002:00:00.0: BAR 14: assigned [mem 0x4400100000-0x44001fffff] [ 4.460548] pci 0002:01:00.0: BAR 0: assigned [mem 0x4400100000-0x4400103fff 64bit] [ 4.468203] pci 0002:00:00.0: PCI bridge to [bus 01] [ 4.473157] pci 0002:00:00.0: bridge window [mem 0x4400100000-0x44001fffff] [ 4.480346] pcieport 0002:00:00.0: enabling device (0000 -> 0002) [ 4.486565] pcieport 0002:00:00.0: PME: Signaling with IRQ 483 [ 4.492532] pcieport 0002:00:00.0: AER: enabled with IRQ 483 [ 4.501040] ti-udma 285c0000.dma-controller: Channels: 24 (tchan: 12, rchan: 12, gp-rflow: 8) [ 4.513960] ti-udma 31150000.dma-controller: Channels: 84 (tchan: 42, rchan: 42, gp-rflow: 16) [ 4.546053] cadence-qspi 47040000.spi: PHY calibration failed: -2 [ 4.552149] spi-nor spi0.0: mt35xu512aba (65536 Kbytes) [ 4.557372] 8 cmdlinepart partitions found on MTD device 47040000.spi.0 [ 4.563970] Creating 8 MTD partitions on "47040000.spi.0": [ 4.569445] 0x000000000000-0x000000080000 : "ospi.tiboot3" [ 4.575527] 0x000000080000-0x000000280000 : "ospi.tispl" [ 4.581240] 0x000000280000-0x000000680000 : "ospi.u-boot" [ 4.587100] 0x000000680000-0x0000006a0000 : "ospi.env" [ 4.592613] 0x0000006a0000-0x0000006c0000 : "ospi.env.backup" [ 4.598811] 0x0000006c0000-0x0000007c0000 : "ospi.sysfw" [ 4.604543] 0x000000800000-0x000003fe0000 : "ospi.rootfs" [ 4.610417] 0x000003fe0000-0x000004000000 : "ospi.phypattern" [ 4.625769] spi-nor spi1.0: mt25qu512a (65536 Kbytes) [ 4.669073] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 4.676720] libphy: 46000f00.mdio: probed [ 4.680932] mdio_bus 46000f00.mdio: MDIO device at address 0 is missing. [ 4.687633] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00101, cpsw version 0x6BA80100 Ports: 2 quirks:00000 [ 4.705079] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48 [ 4.713841] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 57.4 [ 4.721136] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64 [ 4.728234] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010a, freq:500000000, add_val:1 pps:0 [ 4.742794] davinci-mcasp 2ba0000.mcasp: IRQ common not found [ 4.781829] debugfs: Directory 'pd:242' with parent 'pm_genpd' already present! [ 4.789222] debugfs: Directory 'pd:241' with parent 'pm_genpd' already present! [ 4.796529] debugfs: Directory 'pd:240' with parent 'pm_genpd' already present! [ 4.803899] debugfs: Directory 'pd:239' with parent 'pm_genpd' already present! [ 4.811942] gpio-keys gpio-keys: ############################[debug] gpio key probed ################################ [ 4.822661] input: gpio-keys as /devices/platform/gpio-keys/input/input0 [ 4.829838] hctosys: unable to open rtc device (rtc0) [ 4.948851] ALSA device list: [ 4.951816] No soundcards found. [ 4.963692] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ 4.971816] VFS: Mounted root (ext4 filesystem) on device 179:2. [ 4.979338] devtmpfs: mounted [ 4.982757] Freeing unused kernel memory: 1664K [ 4.987319] Run /sbin/init as init process [ 5.092490] systemd[1]: System time before build time, advancing clock. [ 5.130024] NET: Registered protocol family 10 [ 5.135007] Segment Routing with IPv6 [ 5.153119] systemd[1]: systemd 244.3+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP ) [ 5.174911] systemd[1]: Detected architecture arm64. Welcome to Arago 2020.09!
Check the print messages related PPS:
[ 0.256743] pps_core: LinuxPPS API ver. 1 registered [ 0.261812] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.777537] pps pps0: new PPS source ktimer [ 0.781811] pps pps0: ktimer PPS source registered [ 0.888508] pps-gpio pps-gpio: failed to request PPS GPIO [ 0.894034] pps-gpio: probe of pps-gpio failed with error -22
We can find that it failed to request for GPIO.
When I added Pinmux_Ctrl and GPIO_Ctrl related probe printing, I found that the PPS request GPIO before GPIO_Ctrl is probed.
I don't know if this probe order is the cause of this problem.
[ 0.499933] pinctrl-single 4301c000.pinmux: ###########################[debug]pinctrl probed########################## [ 0.510941] pinctrl-single 4301c000.pinmux: 94 pins, size 376 [ 0.516907] pinctrl-single 11c000.pinmux: ###########################[debug]pinctrl probed########################## [ 0.527778] pinctrl-single 11c000.pinmux: 173 pins, size 692 [ 0.888508] pps-gpio pps-gpio: failed to request PPS GPIO [ 0.894034] pps-gpio: probe of pps-gpio failed with error -22 [ 1.256513] davinci_gpio 42110000.gpio: ###########################[debug]GPIO controller probed########################## [ 1.268435] davinci_gpio 600000.gpio: ###########################[debug]GPIO controller probed########################## [ 1.280132] davinci_gpio 601000.gpio: ###########################[debug]GPIO controller probed##########################
In addition, I can't use PPS to request other GPIO pin successfully.
So How can I use PPS to request for GPIO correctly?Is there a solution to adjust the order or time during the kernel loading.