Message ID | 20210915065032.45013-1-tony@atomide.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | bus: ti-sysc: Fix external abort for am335x pruss probe | expand |
Hi Tony, On 9/15/21 1:50 AM, Tony Lindgren wrote: > Starting with v5.15-rc1, I'm now seeing am335x beaglebone black produce > the following error on pruss probe: > > Unhandled fault: external abort on non-linefetch (0x1008) at 0xe0326000 > > This seems to have started with the enabling of pruss for am335x in the > dts files. Adding a read-back after write to the sysconfig register fixes > the issue for me. Let me take a look at this during the weekend. I did verify the AM335x PRUSS when I posted the dts patches on 5.14-rc. You should be able to check as well from your staging branch with PRUSS patches. regards Suman > > Cc: Suman Anna <s-anna@ti.com> > Signed-off-by: Tony Lindgren <tony@atomide.com> > --- > drivers/bus/ti-sysc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c > --- a/drivers/bus/ti-sysc.c > +++ b/drivers/bus/ti-sysc.c > @@ -2037,6 +2037,9 @@ static int sysc_reset(struct sysc *ddata) > sysc_val = sysc_read_sysconfig(ddata); > sysc_val |= sysc_mask; > sysc_write(ddata, sysc_offset, sysc_val); > + > + /* Flush posted write */ > + sysc_read_sysconfig(ddata); > } > > if (ddata->cfg.srst_udelay) >
* Suman Anna <s-anna@ti.com> [210916 16:55]: > Let me take a look at this during the weekend. I did verify the AM335x PRUSS > when I posted the dts patches on 5.14-rc. You should be able to check as well > from your staging branch with PRUSS patches. FYI, I just posted what might be a better fix and a test script in thread "beaglebone black boot failure Linux v5.15.rc1". Regards, Tony
Hi Tony, On 9/21/21 2:55 AM, Tony Lindgren wrote: > * Suman Anna <s-anna@ti.com> [210916 16:55]: >> Let me take a look at this during the weekend. I did verify the AM335x PRUSS >> when I posted the dts patches on 5.14-rc. You should be able to check as well >> from your staging branch with PRUSS patches. > > FYI, I just posted what might be a better fix and a test script in thread > "beaglebone black boot failure Linux v5.15.rc1". > > Regards, > > Tony > I had tested PRUSS on AM335x when I posted the patches originally, and I can confirm that it is still working with v5.15-rc1 on my beaglebone-black board. I have added the full log below (using NFS, omap2plus_defconfig + the USB Networking related configs). regards Suman U-Boot SPL 2016.05-00228-g1a3c095fe1c5 (Jun 01 2016 - 13:32:07) Trying to boot from MMC2 Card doesn't support part_switch MMC partition switch failed *** Warning - MMC partition switch failed, using default environment U-Boot 2016.05-00228-g1a3c095fe1c5 (Jun 01 2016 - 13:32:07 -0500) Watchdog enabled I2C: ready DRAM: 512 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Net: cpsw, usb_ether Press SPACE to abort autoboot in 2 seconds switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 reading boot.scr ** Unable to read file boot.scr ** reading uEnv.txt 2272 bytes read in 12 ms (184.6 KiB/s) Loaded env from uEnv.txt Importing environment from mmc0 ... Running uenvcmd ... network start Loading DTB over network ... link up on port 0, speed 100, full duplex BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 DHCP client bound to address 192.168.0.140 (1014 ms) Using cpsw device TFTP from server 192.168.0.254; our IP address is 192.168.0.140 Filename 'suman/am335x-boneblack.dtb'. Load address: 0x88000000 Loading: ##### 2.2 MiB/s done Bytes transferred = 67151 (1064f hex) DTB loaded ... Loading kernel over network ... link up on port 0, speed 100, full duplex BOOTP broadcast 1 DHCP client bound to address 192.168.0.140 (3 ms) Using cpsw device TFTP from server 192.168.0.254; our IP address is 192.168.0.140 Filename 'suman/zImage'. Load address: 0x82000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ########################################################## 2.2 MiB/s done Bytes transferred = 4661320 (472048 hex) Kernel loaded ... network stop Kernel image @ 0x82000000 [ 0x000000 - 0x472048 ] ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8ffec000, end 8ffff64e ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.15.0-rc1 (suman@Irmo) (arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 10.2.1 20201103, GNU ld (GNU Toolchain for the A-profil1 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black [ 0.000000] Memory policy: Data cache writeback [ 0.000000] cma: Reserved 16 MiB at 0x9e800000 [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000080000000-0x000000009fdfffff] [ 0.000000] HighMem empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009fdfffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fdfffff] [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 0.000000] AM335X ES2.0 (sgx neon) [ 0.000000] percpu: Embedded 16 pages/cpu s33740 r8192 d23604 u65536 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129412 [ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.254:/home/suman/projects/rfs/am335x/part/release/rfs-20200130,v3,tcp rootdelay=1 console=ttyO0,115200n8 noinitrd ip=dhcp earlyprintk [ 0.000000] Unknown command line parameters: earlyprintk [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] Memory: 484868K/522240K available (10240K kernel code, 1025K rwdata, 2184K rodata, 1024K init, 245K bss, 20988K reserved, 16384K cma-reserved, 0K highmem) [ 0.000000] trace event string verifier disabled [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts [ 0.000000] random: get_random_bytes called from start_kernel+0x46c/0x6c4 with crng_init=0 [ 0.000000] TI gptimer clocksource: always-on /ocp/interconnect@44c00000/segment@200000/target-module@31000 [ 0.000002] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns [ 0.000029] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns [ 0.000408] TI gptimer clockevent: 24000000 Hz at /ocp/interconnect@48000000/segment@0/target-module@40000 [ 0.001962] Console: colour dummy device 80x30 [ 0.002030] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0' [ 0.002041] This ensures that you still see kernel messages. Please [ 0.002049] update your kernel commandline. [ 0.002097] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736) [ 0.090519] pid_max: default: 32768 minimum: 301 [ 0.090681] LSM: Security Framework initializing [ 0.090773] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.090796] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.092041] CPU: Testing write buffer coherency: ok [ 0.092116] CPU0: Spectre v2: using BPIALL workaround [ 0.092480] CPU0: thread -1, cpu 0, socket -1, mpidr 0 [ 0.093289] Setting up static identity map for 0x80100000 - 0x80100078 [ 0.093510] rcu: Hierarchical SRCU implementation. [ 0.094027] smp: Bringing up secondary CPUs ... [ 0.094050] smp: Brought up 1 node, 1 CPU [ 0.094063] SMP: Total of 1 processors activated (996.14 BogoMIPS). [ 0.094075] CPU: All CPU(s) started in SVC mode. [ 0.094745] devtmpfs: initialized [ 0.107849] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3 [ 0.108175] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.108212] futex hash table entries: 256 (order: 2, 16384 bytes, linear) [ 0.109568] pinctrl core: initialized pinctrl subsystem [ 0.111358] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.114059] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.114615] audit: initializing netlink subsys (disabled) [ 0.115664] thermal_sys: Registered thermal governor 'fair_share' [ 0.115684] thermal_sys: Registered thermal governor 'step_wise' [ 0.115702] thermal_sys: Registered thermal governor 'user_space' [ 0.116059] cpuidle: using governor menu [ 0.129926] No ATAGs? [ 0.129966] hw-breakpoint: debug architecture 0x4 unsupported. [ 0.137882] Kprobes globally optimized [ 0.138171] audit: type=2000 audit(0.110:1): state=initialized audit_enabled=0 res=1 [ 0.144016] iommu: Default domain type: Translated [ 0.144041] iommu: DMA domain TLB invalidation policy: strict mode [ 0.145338] SCSI subsystem initialized [ 0.146014] usbcore: registered new interface driver usbfs [ 0.146075] usbcore: registered new interface driver hub [ 0.146133] usbcore: registered new device driver usb [ 0.146407] pps_core: LinuxPPS API ver. 1 registered [ 0.146423] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.146450] PTP clock support registered [ 0.147765] clocksource: Switched to clocksource dmtimer [ 0.194603] VFS: Disk quotas dquot_6.6.0 [ 0.194733] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 0.816443] NET: Registered PF_INET protocol family [ 0.816700] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.817600] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) [ 0.817658] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear) [ 0.817783] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.817851] TCP: Hash tables configured (established 4096 bind 4096) [ 0.817986] UDP hash table entries: 256 (order: 1, 8192 bytes, linear) [ 0.818021] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear) [ 0.818226] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.819321] RPC: Registered named UNIX socket transport module. [ 0.819354] RPC: Registered udp transport module. [ 0.819364] RPC: Registered tcp transport module. [ 0.819372] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.820696] Initialise system trusted keyrings [ 0.821480] workingset: timestamp_bits=14 max_order=17 bucket_order=3 [ 0.822627] NFS: Registering the id_resolver key type [ 0.822689] Key type id_resolver registered [ 0.822701] Key type id_legacy registered [ 0.822748] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. [ 0.823067] Key type asymmetric registered [ 0.823090] Asymmetric key parser 'x509' registered [ 0.823151] io scheduler mq-deadline registered [ 0.823164] io scheduler kyber registered [ 0.826152] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled [ 0.840350] brd: module loaded [ 0.847319] loop: module loaded [ 0.848373] mtdoops: mtd device (mtddev=name/number) must be supplied [ 0.849636] libphy: Fixed MDIO Bus: probed [ 0.850649] usbcore: registered new interface driver smsc75xx [ 0.850713] usbcore: registered new interface driver smsc95xx [ 0.850736] i2c_dev: i2c /dev entries driver [ 0.851520] cpuidle: enable-method property 'ti,am3352' found operations [ 0.851902] sdhci: Secure Digital Host Controller Interface driver [ 0.851918] sdhci: Copyright(c) Pierre Ossman [ 0.852075] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.852312] ledtrig-cpu: registered to indicate activity on CPUs [ 0.852844] Initializing XFRM netlink socket [ 0.853067] NET: Registered PF_INET6 protocol family [ 0.854430] Segment Routing with IPv6 [ 0.854484] In-situ OAM (IOAM) with IPv6 [ 0.854584] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 0.855375] NET: Registered PF_PACKET protocol family [ 0.855423] NET: Registered PF_KEY protocol family [ 0.855515] Key type dns_resolver registered [ 0.855615] ThumbEE CPU extension supported. [ 0.855634] Registering SWP/SWPB emulation handler [ 0.856082] omap_voltage_late_init: Voltage driver support not added [ 0.856409] SmartReflex Class3 initialized [ 0.857079] Loading compiled-in X.509 certificates [ 0.887116] pinctrl-single 44e10800.pinmux: 142 pins, size 568 [ 0.912937] OMAP GPIO hardware version 0.1 [ 0.923885] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz [ 0.947695] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator [ 0.997746] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000 [ 0.997808] libphy: 4a101000.mdio: probed [ 0.999980] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720 [ 1.000267] cpsw-switch 4a100000.switch: initialized cpsw ale version 1.4 [ 1.000289] cpsw-switch 4a100000.switch: ALE Table size 1024 [ 1.000395] cpsw-switch 4a100000.switch: cpts: overflow check period 500 (jiffies) [ 1.000417] cpsw-switch 4a100000.switch: CPTS: ref_clk_freq:250000000 calc_mult:2147483648 calc_shift:29 error:0 nsec/sec [ 1.000513] cpsw-switch 4a100000.switch: Detected MACID = bc:6a:29:79:db:37 [ 1.001981] cpsw-switch 4a100000.switch: initialized (regs 0x4a100000, pool size 256) hw_ver:0019010C 1.12 (0) [ 1.010576] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present! [ 1.010633] edma 49000000.dma: TI EDMA DMA engine driver [ 1.026629] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available [ 1.033795] l3-aon-clkctrl:0000:0: failed to disable [ 1.035717] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 18, base_baud = 3000000) is a 8250 [ 1.949109] printk: console [ttyS0] enabled [ 1.978577] tps65217-pmic: Failed to locate of_node [id: -1] [ 1.987937] random: fast init done [ 1.995192] tps65217-bl: Failed to locate of_node [id: -1] [ 2.003610] tps65217 0-0024: TPS65217 ID 0xe version 1.2 [ 2.009638] i2c 0-0070: Fixing up cyclic dependency with 4830e000.lcdc [ 2.016500] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz [ 2.023834] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22) [ 2.032666] sdhci-omap 48060000.mmc: Got CD GPIO [ 2.037595] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator [ 2.049591] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator [ 2.084407] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA [ 2.092871] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA [ 2.101508] cpsw-switch 4a100000.switch: starting ndev. mode: dual_mac [ 2.144184] mmc0: new SDHC card at address b368 [ 2.149907] mmcblk0: mmc0:b368 SDC 3.84 GiB [ 2.158476] mmcblk0: p1 p2 [ 2.189609] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL) [ 2.205840] mmc1: new high speed MMC card at address 0001 [ 2.212426] mmcblk1: mmc1:0001 MMC02G 1.79 GiB [ 2.220446] mmcblk1: p1 p2 [ 2.224404] mmcblk1boot0: mmc1:0001 MMC02G 1.00 MiB [ 2.231868] mmcblk1boot1: mmc1:0001 MMC02G 1.00 MiB [ 2.238890] mmcblk1rpmb: mmc1:0001 MMC02G 128 KiB, chardev (250:0) [ 4.328484] cpsw-switch 4a100000.switch eth0: Link is Up - 100Mbps/Full - flow control off [ 4.357809] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 4.387741] Sending DHCP requests ., OK [ 4.431607] IP-Config: Got DHCP answer from 192.168.0.254, my address is 192.168.0.140 [ 4.439608] IP-Config: Complete: [ 4.442849] device=eth0, hwaddr=bc:6a:29:79:db:37, ipaddr=192.168.0.140, mask=255.255.255.0, gw=192.168.0.254 [ 4.453289] host=192.168.0.140, domain=irmo.internal.ti.com, nis-domain=(none) [ 4.460998] bootserver=192.168.0.254, rootserver=192.168.0.254, rootpath= [ 4.461009] nameserver0=8.8.8.8, nameserver1=8.8.4.4 [ 4.474898] Waiting 1 sec before mounting root device... [ 5.540763] VFS: Mounted root (nfs filesystem) on device 0:15. [ 5.547383] devtmpfs: mounted [ 5.551945] Freeing unused kernel image (initmem) memory: 1024K [ 5.568311] Run /sbin/init as init process [ 6.099419] systemd[1]: System time before build time, advancing clock. [ 6.121464] systemd[1]: Failed to insert module 'autofs4': No such file or directory [ 6.152215] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN) [ 6.174563] systemd[1]: Detected architecture arm. Welcome to Arago 2019.11! [ 6.220735] systemd[1]: Set hostname to <am335x-evm>. [ 6.698098] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling. [ 6.715380] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.) [ 7.380702] random: systemd: uninitialized urandom read (16 bytes read) [ 7.388341] systemd[1]: Listening on initctl Compatibility Named Pipe. [ OK ] Listening on initctl Compatibility Named Pipe. [ 7.428171] random: systemd: uninitialized urandom read (16 bytes read) [ 7.438022] systemd[1]: Listening on Journal Socket. [ OK ] Listening on Journal Socket. [ 7.468124] random: systemd: uninitialized urandom read (16 bytes read) [ 7.479649] systemd[1]: Created slice system-serial\x2dgetty.slice. [ OK ] Created slice system-serial\x2dgetty.slice. [ 7.519933] systemd[1]: Listening on udev Kernel Socket. [ OK ] Listening on udev Kernel Socket. [ 7.560106] systemd[1]: Listening on Network Service Netlink Socket. [ OK ] Listening on Network Service Netlink Socket. Mounting POSIX Message Queue File System... [ OK ] Created slice User and Session Slice. [ OK ] Reached target Slices. [ OK ] Listening on Process Core Dump Socket. Mounting Kernel Debug File System... [ OK ] Reached target Remote File Systems. [ OK ] Started Dispatch Password Requests to Console Directory Watch. [ OK ] Listening on Journal Socket (/dev/log). Starting Load Kernel Modules... [ OK ] Created slice system-getty.slice. [ OK ] Started Hardware RNG Entropy Gatherer Daemon. [ OK ] Listening on Journal Audit Socket. Starting Journal Service... Starting Remount Root and Kernel File Systems... [ OK ] Started Forward Password Requests to Wall Directory Watch. [ OK ] Reached target Paths. [ OK ] Listening on udev Control Socket. Starting udev Coldplug all Devices... [ OK ] Reached target Swap. Mounting Temporary Directory (/tmp)... [ OK ] Mounted POSIX Message Queue File System. [ OK ] Mounted Kernel Debug File System. [FAILED] Failed to start Load Kernel Modules. See 'systemctl status systemd-modules-load.service' for details. [ OK ] Started Remount Root and Kernel File Systems. [ OK ] Mounted Temporary Directory (/tmp). Starting Create Static Device Nodes in /dev... Starting Apply Kernel Variables... Mounting Kernel Configuration File System... [ OK ] Mounted Kernel Configuration File System. [ OK ] Started Apply Kernel Variables. [ OK ] Started Create Static Device Nodes in /dev. [ OK ] Started Journal Service. Starting Flush Journal to Persistent Storage... Starting udev Kernel Device Manager... [ OK ] Reached target Local File Systems (Pre). Mounting /d... [ OK ] Reached target Containers. Mounting /media/ram... Mounting /var/volatile... [ OK ] Mounted /d. [ OK ] Mounted /media/ram. [ OK ] Mounted /var/volatile. [ 9.686420] systemd-journald[92]: Received request to flush runtime journal from PID 1 Starting Load/Save Random Seed... [ OK ] Reached target Local File Systems. [ OK ] Started Flush Journal to Persistent Storage. Starting Create Volatile Files and Directories... [ OK ] Started udev Kernel Device Manager. [ OK ] Started Load/Save Random Seed. [ OK ] Started Create Volatile Files and Directories. Starting Update UTMP about System Boot/Shutdown... Starting Network Time Synchronization... Starting Network Service... [ OK ] Started Update UTMP about System Boot/Shutdown. [ 11.862216] random: crng init done [ 11.865681] random: 7 urandom warning(s) missed due to ratelimiting [ OK ] Started udev Coldplug all Devices. [ OK ] Started Network Service. Starting Wait for Network to be Configured... Starting Network Name Resolution... [ OK ] Started Network Time Synchronization. [ OK ] Reached target System Initialization. Starting Reboot and dump vmcore via kexec... [ OK ] Listening on dropbear.socket. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Listening on RPCbind Server Activation Socket. [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. Starting rc.pvr.service... [ OK ] Started Job spooling tools. [ OK ] Started Periodic Command Scheduler. Starting Print notice about GPLv3 packages... Starting RPC Bind Service... Starting Login Service... [ OK ] Started D-Bus System Message Bus. [ OK ] Reached target System Time Synchronized. [ OK ] Started Daily rotation of log files. [ OK ] Reached target Timers. [ OK ] Started Reboot and dump vmcore via kexec. [ OK ] Started rc.pvr.service. [ OK ] Started RPC Bind Service. [ OK ] Found device /dev/ttyS0. [ OK ] Started Network Name Resolution. [ OK ] Reached target Network. Starting Lightning Fast Webserver With Light System Requirements... Starting Enable and configure wl18xx bluetooth stack... Starting Permit User Sessions... Starting Avahi mDNS/DNS-SD Stack... [ OK ] Reached target Host and Network Name Lookups. [ OK ] Started NFS status monitor for NFSv2/3 locking.. Starting weston.service... [ OK ] Started Lightning Fast Webserver With Light System Requirements. [ OK ] Started Permit User Sessions. [ OK ] Started Enable and configure wl18xx bluetooth stack. [ OK ] Found device /dev/ttyS3. [ OK ] Started weston.service. [ OK ] Started Wait for Network to be Configured. [ OK ] Reached target Network is Online. [ OK ] Started strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf. [ OK ] Created slice system-systemd\x2dfsck.slice. Starting File System Check on /dev/mmcblk1p2... Starting File System Check on /dev/mmcblk0p1... Starting File System Check on /dev/mmcblk1p1... Starting telnetd.service... Starting Matrix GUI... [ OK ] Started Serial Getty on ttyS3. [ OK ] Started Getty on tty1. [ OK ] Started Serial Getty on ttyS0. [ OK ] Reached target Login Prompts. Starting Synchronize System and HW clocks... [ OK ] Started telnetd.service. [FAILED] Failed to start Synchronize System and HW clocks. See 'systemctl status sync-clocks.service' for details. [ OK ] Started Matrix GUI. Starting LSB: network benchmark... Starting thttpd.service... [ OK ] Started File System Check on /dev/mmcblk1p2. Mounting /run/media/mmcblk1p2... [ OK ] Started LSB: network benchmark. [ OK ] Started thttpd.service. Starting thermal-zone-init.service... Starting parse-ip.service... [ OK ] Started File System Check on /dev/mmcblk0p1. [ 39.838509] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none. [ OK ] Found device /dev/mmcblk0p2. *************************************************************** *************************************************************** NOTICE: This file system contains the following GPLv3 packages: autoconf bash bc binutils cifs-utils cpio cpp-symlinks cpp dosfstools elfutils g++-symlinks g++ gawk gcc-symlinks gcc gdb gdbserver gettext glmark2 gstreamer1.0-libav gzip libbfd libdw1 libelf1 libgdbm-compat4 libgdbm6 libgettextlib libgettextsrc libgmp10 libidn2-0 libmpc3 libmpfr6 libreadline7 libunistring2 m4 make nettle pdm-anomaly-detection which [ OK ] Mounted /run/media/mmcblk1p2. If you do not wish to distribute GPLv3 components please remove the above packages prior to distribution. This can be done using the opkg remove command. i.e.: opkg remove <package> Where <package> is the name printed in the list above NOTE: If the package is a dependency of another package you will be notified of the dependent packages. You should use the --force-removal-of-dependent-packages option to also remove the dependent packages as well *************************************************************** *************************************************************** [ OK ] Started thermal-zone-init.service. [ OK ] Started Print notice about GPLv3 packages. [ OK ] Started parse-ip.service. Starting File System Check on /dev/mmcblk0p2... Mounting /run/media/mmcblk0p1... _____ _____ _ _ | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_ | | _| .'| . | . | | __| _| . | | | -_| _| _| |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_| |___| |___| Arago Project http://arago-project.org am335x-evm ttyS0 Arago 2019.11 am335x-evm ttyS0 am335x-evm login: [ 43.658925] audit: type=1701 audit(1580168616.560:2): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=927 comm="matrix_browser" exe="/usr/bin/matrix_browser" sig=6 res=1 _____ _____ _ _ | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_ | | _| .'| . | . | | __| _| . | | | -_| _| _| |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_| |___| |___| Arago Project http://arago-project.org am335x-evm ttyS0 Arago 2019.11 am335x-evm ttyS0 am335x-evm login: [ 44.952272] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none. root [ 46.978959] audit: type=1006 audit(1580168619.880:3): pid=1031 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1 [ 46.991571] audit: type=1300 audit(1580168619.880:3): arch=40000028 syscall=4 per=800000 success=yes exit=1 a0=8 a1=bee10454 a2=1 a3=0 items=0 ppid=1 pid=1031 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 ) [ 47.198024] audit: type=1327 audit(1580168619.880:3): proctitle="(systemd)" root@am335x-evm:~# root@am335x-evm:~# root@am335x-evm:~# uname -a Linux am335x-evm 5.15.0-rc1 #9 SMP Tue Sep 21 10:46:37 CDT 2021 armv7l GNU/Linux root@am335x-evm:~# root@am335x-evm:~# ls -l /sys/bus/platform/devices/ | grep pru lrwxrwxrwx 1 root root 0 Jan 27 23:43 4a300000.pruss -> ../../../devices/platform/ocp/4a000000.interconnect/4a000000.interconnect:segment@0/4a326000.target-module/4a300000.pruss root@am335x-evm:~# root@am335x-evm:~# omapconf dump prcm per | grep PRU Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed | CM_PER_PRU_ICSS_CLKCTRL | 0x44E000E8 | 0x00070000 | | CM_PER_PRU_ICSS_CLKSTCTRL | 0x44E00140 | 0x00000001 | root@am335x-evm:~# omapconf dump prcm per | grep RST Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed | RM_PER_RSTCTRL | 0x44E00C00 | 0x00000003 | | PM_PER_PWRSTST | 0x44E00C08 | 0x01E60007 | | PM_PER_PWRSTCTRL | 0x44E00C0C | 0xEE0000EB | root@am335x-evm:~# root@am335x-evm:~# cd /rpmsg/opensrc/ root@am335x-evm:/rpmsg/opensrc# insmod pruss.ko root@am335x-evm:/rpmsg/opensrc# omapconf dump prcm per | grep PRU Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed | CM_PER_PRU_ICSS_CLKCTRL | 0x44E000E8 | 0x00040002 | | CM_PER_PRU_ICSS_CLKSTCTRL | 0x44E00140 | 0x00000072 | root@am335x-evm:/rpmsg/opensrc# omapconf dump prcm per | grep RST Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed | RM_PER_RSTCTRL | 0x44E00C00 | 0x00000001 | | PM_PER_PWRSTST | 0x44E00C08 | 0x01E60007 | | PM_PER_PWRSTCTRL | 0x44E00C0C | 0xEE0000EB | root@am335x-evm:/rpmsg/opensrc# root@am335x-evm:/rpmsg/opensrc# ls -l /sys/bus/platform/devices/ | grep pru lrwxrwxrwx 1 root root 0 Jan 27 23:43 4a300000.pruss -> ../../../devices/platform/ocp/4a000000.interconnect/4a000000.interconnect:segment@0/4a326000.target-module/4a300000.pruss lrwxrwxrwx 1 root root 0 Jan 27 23:44 4a320000.interrupt-controller -> ../../../devices/platform/ocp/4a000000.interconnect/4a000000.interconnect:segment@0/4a326000.target-module/4a300000.prusr lrwxrwxrwx 1 root root 0 Jan 27 23:44 4a326000.cfg -> ../../../devices/platform/ocp/4a000000.interconnect/4a000000.interconnect:segment@0/4a326000.target-module/4a300000.pruss/4a326000.cfg lrwxrwxrwx 1 root root 0 Jan 27 23:44 4a332000.mii-rt -> ../../../devices/platform/ocp/4a000000.interconnect/4a000000.interconnect:segment@0/4a326000.target-module/4a300000.pruss/4a332000.miit lrwxrwxrwx 1 root root 0 Jan 27 23:44 4a334000.pru -> ../../../devices/platform/ocp/4a000000.interconnect/4a000000.interconnect:segment@0/4a326000.target-module/4a300000.pruss/4a334000.pru lrwxrwxrwx 1 root root 0 Jan 27 23:44 4a338000.pru -> ../../../devices/platform/ocp/4a000000.interconnect/4a000000.interconnect:segment@0/4a326000.target-module/4a300000.pruss/4a338000.pru root@am335x-evm:/rpmsg/opensrc# devmem2 0x4a326000 /dev/mem opened. Memory mapped at address 0xb6f9f000. Read at address 0x4A326000 (0xb6f9f000): 0x47000000 root@am335x-evm:/rpmsg/opensrc#
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -2037,6 +2037,9 @@ static int sysc_reset(struct sysc *ddata) sysc_val = sysc_read_sysconfig(ddata); sysc_val |= sysc_mask; sysc_write(ddata, sysc_offset, sysc_val); + + /* Flush posted write */ + sysc_read_sysconfig(ddata); } if (ddata->cfg.srst_udelay)
Starting with v5.15-rc1, I'm now seeing am335x beaglebone black produce the following error on pruss probe: Unhandled fault: external abort on non-linefetch (0x1008) at 0xe0326000 This seems to have started with the enabling of pruss for am335x in the dts files. Adding a read-back after write to the sysconfig register fixes the issue for me. Cc: Suman Anna <s-anna@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> --- drivers/bus/ti-sysc.c | 3 +++ 1 file changed, 3 insertions(+)