From nobody Wed Jan 22 07:49:42 2025 X-Original-To: freebsd-arm@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YdGSY4g3zz5l5H2 for ; Wed, 22 Jan 2025 07:49:49 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mx.blih.net (mx.blih.net [212.83.155.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4YdGSX4rCwz47hj for ; Wed, 22 Jan 2025 07:49:48 +0000 (UTC) (envelope-from manu@bidouilliste.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of manu@bidouilliste.com designates 212.83.155.74 as permitted sender) smtp.mailfrom=manu@bidouilliste.com; dmarc=pass (policy=none) header.from=bidouilliste.com Received: from skull.home.blih.net (arennes-299-1-68-49.w92-159.abo.wanadoo.fr [92.159.163.49]) by mx.blih.net (OpenSMTPD) with ESMTPSA id 491999ca (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 22 Jan 2025 07:49:45 +0000 (UTC) Date: Wed, 22 Jan 2025 08:49:42 +0100 From: Emmanuel Vadot To: Peter Jeremy Cc: freebsd-arm@freebsd.org Subject: Re: "Duplicated clock registration" panic on -CURRENT Message-Id: <20250122084942.8ce869e6155a3aa3d39c2177@bidouilliste.com> In-Reply-To: References: X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd15.0) List-Id: Porting FreeBSD to ARM processors List-Archive: https://lists.freebsd.org/archives/freebsd-arm List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arm@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spamd-Result: default: False [-2.74 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.998]; NEURAL_HAM_SHORT(-0.97)[-0.974]; NEURAL_HAM_LONG(-0.67)[-0.671]; MV_CASE(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[bidouilliste.com,none]; R_SPF_ALLOW(-0.20)[+ip4:212.83.155.74/32]; ONCE_RECEIVED(0.20)[]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; FREEFALL_USER(0.00)[manu]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:12876, ipnet:212.83.128.0/19, country:FR]; MLMMJ_DEST(0.00)[freebsd-arm@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; R_DKIM_NA(0.00)[]; TO_DN_SOME(0.00)[] X-Spamd-Bar: -- X-Rspamd-Queue-Id: 4YdGSX4rCwz47hj Hi Peter, On Sun, 19 Jan 2025 18:40:49 +1100 Peter Jeremy wrote: > I have an old BananaPi M1 (Allwinner A20, dual-core Cortex-A7) that I > am trying to upgrade from FreeBSD 14 to FreeBSD 15-CURRENT and got an > an unexpected panic during boot with my custom kernel. I tried > building a GENERIC kernel and got the same. OTOH, I'm not seeing any > problems with the same revision on old RaspberryPi 2 (BCM2836). The > cause isn't clear to me and I wonder if anyone can suggest where to > look for the cause. > > FreeBSD 15.0-CURRENT #0 current-c296623-g9d6043f980a2-dirty: Sun Jan 19 18:01:23 AEDT 2025 > root@rpi2a.rulingia.com:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm > ... > panic: Duplicated clock registration: osc32k > > cpuid = 0 > time = 1 > KDB: stack backtrace: > db_trace_self() at db_trace_self > pc = 0xc060c7d8 lr = 0xc00752c8 (db_trace_self_wrapper+0x30) > sp = 0xc0e14b48 fp = 0xc0e14c60 > db_trace_self_wrapper() at db_trace_self_wrapper+0x30 > pc = 0xc00752c8 lr = 0xc02f9468 (vpanic+0x140) > sp = 0xc0e14c68 fp = 0xc0e14c88 > r4 = 0x00000100 r5 = 0x00000000 > r6 = 0xc07108b4 r7 = 0xc0b45b04 > vpanic() at vpanic+0x140 > pc = 0xc02f9468 lr = 0xc02f9328 (vpanic) > sp = 0xc0e14c90 fp = 0xc0e14c94 > r4 = 0xd408ea00 r5 = 0xc08e8310 > r6 = 0xc0775126 r7 = 0xd408ea00 > r8 = 0xc095f8b8 r9 = 0xc08e8470 > r10 = 0xd408ea00 > vpanic() at vpanic > pc = 0xc02f9328 lr = 0xc008963c (clknode_create+0x134) > sp = 0xc0e14c9c fp = 0xc0e14cf0 > r4 = 0xd408ea00 r5 = 0xc095f8b8 > r6 = 0xc08e8470 r7 = 0xd408ea00 > r8 = 0xc0e14c94 r9 = 0xc02f9328 > r10 = 0xc0e14c9c > clknode_create() at clknode_create+0x134 > pc = 0xc008963c lr = 0xc008caec (clknode_fixed_register+0x20) > sp = 0xc0e14cf8 fp = 0xc0e14d08 > r4 = 0xd6d05e80 r5 = 0xc095f8b8 > r6 = 0xd6d05e80 r7 = 0xc095f8e8 > r8 = 0xc0b351a4 r9 = 0xc33ba7c0 > r10 = 0x80040003 > clknode_fixed_register() at clknode_fixed_register+0x20 > pc = 0xc008caec lr = 0xc0648c64 (aw_rtc_attach+0x1c0) > sp = 0xc0e14d10 fp = 0xc0e14d50 > r4 = 0xd4015b80 r5 = 0xc3330a40 > r6 = 0xd6d05e80 r10 = 0x80040003 > aw_rtc_attach() at aw_rtc_attach+0x1c0 > pc = 0xc0648c64 lr = 0xc0338d00 (device_attach+0x5c8) > sp = 0xc0e14d58 fp = 0xc0e14da0 > r4 = 0xd4015b80 r5 = 0xd4017580 > r6 = 0x387b0459 r7 = 0x00000000 > r8 = 0xc0bbbf24 r10 = 0x80040003 > device_attach() at device_attach+0x5c8 > pc = 0xc0338d00 lr = 0xc033b038 (bus_generic_new_pass+0x13c) > sp = 0xc0e14da8 fp = 0xc0e14dc0 > r4 = 0xd4015b80 r5 = 0xc091595c > r6 = 0xc0985490 r7 = 0xc075a0c1 > r8 = 0xc0b53234 r9 = 0xc09849d4 > r10 = 0xc0b351a8 > bus_generic_new_pass() at bus_generic_new_pass+0x13c > pc = 0xc033b038 lr = 0xc033afc4 (bus_generic_new_pass+0xc8) > sp = 0xc0e14dc8 fp = 0xc0e14de0 > r4 = 0xd4017580 r5 = 0xc091595c > r6 = 0xc0985490 r7 = 0xc075a0c1 > r8 = 0xc0b53234 r10 = 0xc0b351a8 > bus_generic_new_pass() at bus_generic_new_pass+0xc8 > pc = 0xc033afc4 lr = 0xc033afc4 (bus_generic_new_pass+0xc8) > sp = 0xc0e14de8 fp = 0xc0e14e00 > r4 = 0xd4017b00 r5 = 0xc091595c > r6 = 0xc0985490 r7 = 0xc075a0c1 > r8 = 0xc0b53234 r10 = 0xc0b351a8 > bus_generic_new_pass() at bus_generic_new_pass+0xc8 > pc = 0xc033afc4 lr = 0xc033afc4 (bus_generic_new_pass+0xc8) > sp = 0xc0e14e08 fp = 0xc0e14e20 > r4 = 0xd4017b80 r5 = 0xc091595c > r6 = 0xc0985490 r7 = 0xc075a0c1 > r8 = 0xc0b53234 r10 = 0xc0b351a8 > bus_generic_new_pass() at bus_generic_new_pass+0xc8 > pc = 0xc033afc4 lr = 0xc033d8a4 (root_bus_configure+0x48) > sp = 0xc0e14e28 fp = 0xc0e14e40 > r4 = 0xc091595c r5 = 0xd4018000 > r6 = 0xc0b53234 r7 = 0xd403d9e0 > r8 = 0xc0b53258 r10 = 0xc0b351a8 > root_bus_configure() at root_bus_configure+0x48 > pc = 0xc033d8a4 lr = 0xc027dcec (mi_startup+0x228) > sp = 0xc0e14e48 fp = 0xc0e14e88 > r4 = 0xc0b351ac r5 = 0x03800000 > r6 = 0xc095c3f4 r7 = 0xc0916094 > r8 = 0x00000000 r10 = 0xc0b351a8 > mi_startup() at mi_startup+0x228 > pc = 0xc027dcec lr = 0xc027dcec (mi_startup+0x228) > sp = 0xc0e14e6c fp = 0xc0e14e88 > KDB: enter: panic > > -- > Peter Jeremy Looks like the dtb have a node for this fixed clock (see https://cgit.freebsd.org/src/tree/sys/contrib/device-tree/src/arm/allwinner/sun7i-a20.dtsi#n214) and we also export a clock in the rtc driver https://cgit.freebsd.org/src/tree/sys/arm/allwinner/aw_rtc.c#n259 I think that we shouldn't install the clocks if there is no clock-output-names property at all. -- Emmanuel Vadot