From nobody Mon Jun 8 03:21:44 2026 Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8EC6C3B8BCC; Tue, 2 Jun 2026 09:22:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.200 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780392127; cv=none; b=edpv/krad9DkSQwWaBgb114RALj8vrTCeJMzI5G5M7Ksa78RjscvxEldM3cZqdS5erGzp7O07R31s5Q9vjZaX5MBNvccLJ+pMrR9xsoqYsAnGFsyboxOxK5pD95LMQkm+l3R+lIpNK0HvErLXu5g8Wo4f7oCBcgM2r9aLurJYhE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780392127; c=relaxed/simple; bh=KTPH9d936NwJo1Mh8SKDjuMqfRnkaJQv8x8L+m3wKDs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RmQ2qPSjh+9N/dMDdNxvQZdwIckWEvQimHgdZPBY+VfZJ+3N8+v9HGcOp8tkMGKjVR61cmRl2GjZyC8mY8WpmT/0LTqpOGf5b94ZZJP9PnCzJ0H+yfa1VmaSuDbDXgilCHOYZgK0BGfcTRA7MfPkUKqeW78rPDAxEc4LAPZwgFY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=yoseli.org; spf=pass smtp.mailfrom=yoseli.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b=Vxx+fi9L; arc=none smtp.client-ip=217.70.183.200 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=yoseli.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=yoseli.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b="Vxx+fi9L" Received: by mail.gandi.net (Postfix) with ESMTPSA id 0E8CC3EBCB; Tue, 2 Jun 2026 09:21:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yoseli.org; s=gm1; t=1780392117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=maGfiGz3651+9ETMqgNHD/f7aiB1wQ/AjvE6R8VGXXI=; b=Vxx+fi9L+xvtMCBx2WMAULseztxHFuXU2JTI/sXyp0FaYxsgNw80TM9+Jm6hXAYfTJ7Aq7 7SXCtKmYxQ9Rhyp0Po+fWUe5NwcqPBB7OjFsuL3a+VRJHPUtpkjl+3W0UIs26KgxDOYwkh jC6hzuQKRsLDml2Im/cmYzMo8LNxg+YWmPtOV0HvswolZh14KzBPcRLHS4T7xm77S2B2vI M+5OJ6ITUclTgvQyAqGn+teiDVBjb7WcLa6BQjOiDOzzxnBKLtMccKpLq79nqVjWSo6j8X YG4E4qJhe9a8DnKIaQTWMnFz0Sgbxfns3ULTUj/LNBe45Qj3aG1BiQCXdLQZUg== From: Jean-Michel Hautbois Date: Tue, 02 Jun 2026 11:21:21 +0200 Subject: [PATCH 1/3] m68k: coldfire/5441x: define RSR cause bits Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260602-coldfire-rcm-power-on-reason-v1-1-fbc3eab0c016@yoseli.org> References: <20260602-coldfire-rcm-power-on-reason-v1-0-fbc3eab0c016@yoseli.org> In-Reply-To: <20260602-coldfire-rcm-power-on-reason-v1-0-fbc3eab0c016@yoseli.org> To: Geert Uytterhoeven , Sebastian Reichel , Greg Ungerer Cc: linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Jean-Michel Hautbois X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780392115; l=1818; i=jeanmichel.hautbois@yoseli.org; s=20240925; h=from:subject:message-id; bh=KTPH9d936NwJo1Mh8SKDjuMqfRnkaJQv8x8L+m3wKDs=; b=iPeHe8UOvqgUQxCf0yUrmta7s0BpvX0JtaPXa32cOwPUi2fMRMIT8m3WafnCkitFkHAUH3kvk wv7CqEW8YeWA7mL76dSzXfIwIXPTlyROxS57YRJsittWBQcQ92IBjdm X-Developer-Key: i=jeanmichel.hautbois@yoseli.org; a=ed25519; pk=MsMTVmoV69wLIlSkHlFoACIMVNQFyvJzvsJSQsn/kq4= X-GND-Sasl: jeanmichel.hautbois@yoseli.org X-GND-Score: -100 X-GND-Cause: dmFkZTGZnDm+qP+IIE8q7fl0ylzs7vW7XFxPlmP9Riz87oMhwGzvZZIRYplOiORTbDN4OXFi+K8S2y2wJ8ELCaUF0EYbuKfNpj66kov/TBETXf91nZVoCTSEd5oiOHPUy0ZWxAVHyVHYvFebNY7AvzJ3lwSgiyYVHRb3qBly/HEuWT3b0eg/9zAdM6HpyoKevIj6OrQ2Vd9YNKpuoNFww5O3G3J2pO+gQsOqZ+sx23SLGeri912Jce4X53gaqVGP0yw+/XcvDwx/KK9V/NlfOeLQ9vLhwxat1T0K1eM8xFbdboKRCu6vrqJtqumZptPM87DF74+OnKHNzc5wncqIWGB4RswGFz4rRd7XXfVdi2gIywrbBwd3PSjJsl3YCs8I756AFP4B/yTCaDkQuFZBbQzUDvxmjbXXwMiEFHRtnI7AGA7ore7sSnFa/yd508ZBNM6CcPsQBvtaCsN8Qv+8J1Bgyq18UG5R5uYl2nPy840dZ7fH2Rj9InLZQdqeeQ45znRaFSUonsW2iHquDou/DFAqYzejRw/SHIhZ25ocN0R0u4xbdu9lLjsWIrTFvXV7Xp2AKcmpjQk5yyDVhBy8PBwaVq5ffi1j4v2K1bVLRNdCBNEd/vL+JYwO9S+IX4VS+FK9J24abYDWGha3UNSl6EOuR5WU0ZGdHoEqwbFwA0D/HO69Ng X-GND-State: clean The Reset Controller Module on the m5441x already had its RCR and RSR register addresses declared in this header, but the layout of RSR was missing. Add the bit definitions for every cause documented in the MCF54418 Reference Manual, chapter 12.3.2: bit 7 Reserved bit 6 Reserved bit 5 SOFT software reset 0x20 bit 4 LOC PLL loss of clock 0x10 bit 3 POR power-on reset 0x08 bit 2 EXT external reset pin 0x04 bit 1 WDRCORE core watchdog timer timeout 0x02 bit 0 LOL PLL loss of lock 0x01 The RSR register at 0xec090001 is 8-bit read-only and latches the cause (or causes) of the most recent reset until the next one. Signed-off-by: Jean-Michel Hautbois --- arch/m68k/include/asm/m5441xsim.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/m68k/include/asm/m5441xsim.h b/arch/m68k/include/asm/m544= 1xsim.h index f48cf63bd782..3c086274f4da 100644 --- a/arch/m68k/include/asm/m5441xsim.h +++ b/arch/m68k/include/asm/m5441xsim.h @@ -28,6 +28,13 @@ #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ =20 +#define MCF_RSR_SOFT 0x20 /* Last reset caused by software */ +#define MCF_RSR_LOC 0x10 /* Last reset caused by PLL loss of clock */ +#define MCF_RSR_POR 0x08 /* Last reset caused by power-on */ +#define MCF_RSR_EXT 0x04 /* Last reset caused by external pin */ +#define MCF_RSR_WDRCORE 0x02 /* Last reset caused by core watchdog */ +#define MCF_RSR_LOL 0x01 /* Last reset caused by PLL loss of lock */ + /* * Interrupt Controller Modules. */ --=20 2.39.5 From nobody Mon Jun 8 03:21:44 2026 Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 22A7D3C73DD; Tue, 2 Jun 2026 09:22:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.200 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780392128; cv=none; b=quPxb/PPVRVZcYBio8gPzhjDhaHwRRL+2m47JffgRZtjOOkSLWpGEGaIRNkB96IfrT9N/MPd2MDBK6pfPI59GLAEpuRqZZ+iT09scS217ci6jRmk4SuePFIjJjG3KQG9PPxlIykIebPsHPXqgvwmVtj8O2gJ5o1PEsFqpD8CgzA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780392128; c=relaxed/simple; bh=1Uek1t1vYr5g4/ogLTnuD7M4z7yaydx6lVfOr/W3Rso=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SBLSdfHIYUcegb7VYNy0nb/PrnwvX4CPY9jFWt3o2aXz3agrcxsivuppc85ZKXY3IDFD82yn9fNGVkvGDtmT/x3UqR2IIoHeeZmiW5BzY4KVhh3DrxeIT44h/64IHNzqk9w2no6Sx5OwgM8iIGcWETQNLXaJXbe3azDNEhi/ijw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=yoseli.org; spf=pass smtp.mailfrom=yoseli.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b=KCBFSzDj; arc=none smtp.client-ip=217.70.183.200 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=yoseli.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=yoseli.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b="KCBFSzDj" Received: by mail.gandi.net (Postfix) with ESMTPSA id 0097D3EBF7; Tue, 2 Jun 2026 09:21:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yoseli.org; s=gm1; t=1780392118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=N4VhRzNc+mCdb8kmhy8C1Cme3KDLdpBCiBHqNIi8Dsc=; b=KCBFSzDjq90WPR/ZdOLg32fhv3QSbJe//AJ/c62UqO6DOXxFpih8JVVhmfVFB7B3ebMi7J UI4AEybiY3vr9xPmjwroelinH5rgYvlzQWOzijJH91kD9jCkC4L4tXIQLA4rbXodaTJ8yV XXOM1lSOd+q6obFrmopE7QA6KOwvAqpgtKwJadZYrfZdfjHR1tTj4/b4SrONWKvqeZvbOe ez4cb1JoEsS99A1i3clc9fzyOIqssNkeAOZ7q2bgCea/lCMmMW1JfqWTOEhiYkQAck/26g tdbKYgE7p2P/RJ6djEULgMR44WiYblgF427Jxys6nK7YZiXYZe6tdokU1X+2ow== From: Jean-Michel Hautbois Date: Tue, 02 Jun 2026 11:21:22 +0200 Subject: [PATCH 2/3] power: reset: add MCF5441x RCM power-on reason driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260602-coldfire-rcm-power-on-reason-v1-2-fbc3eab0c016@yoseli.org> References: <20260602-coldfire-rcm-power-on-reason-v1-0-fbc3eab0c016@yoseli.org> In-Reply-To: <20260602-coldfire-rcm-power-on-reason-v1-0-fbc3eab0c016@yoseli.org> To: Geert Uytterhoeven , Sebastian Reichel , Greg Ungerer Cc: linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Jean-Michel Hautbois X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780392115; l=6377; i=jeanmichel.hautbois@yoseli.org; s=20240925; h=from:subject:message-id; bh=1Uek1t1vYr5g4/ogLTnuD7M4z7yaydx6lVfOr/W3Rso=; b=HDclsfclivd7CnNaFDxF/mq9DacC6uWxnpP6AQAc0c5L6UL0DnQHwUUEpO4TkdvK2XGlclPOV mOA+NB7gNDDBUzwGVL5c+V+gLvgYoFUVGQc8Q3RdEb9ibeuaCbZAR4p X-Developer-Key: i=jeanmichel.hautbois@yoseli.org; a=ed25519; pk=MsMTVmoV69wLIlSkHlFoACIMVNQFyvJzvsJSQsn/kq4= X-GND-Sasl: jeanmichel.hautbois@yoseli.org X-GND-Score: -100 X-GND-Cause: dmFkZTGZnDm+qP+IIE8q7fl0ylzs7vW7XFxPlmP9Riz87oMhwGzvZZIRYplOiORTbDN4OXFi+K8S2y2wJ8ELCaUF0EYbuKfNpj66kov/TBETXf91nZVoCTSEd5oiOHPUy0ZWxAVHyVHYvFebNY7AvzJ3lwSgiyYVHRb3qBly/HEuWT3b0eg/9zAdM6HpyoKevIj6OrQ2Vd9YNKpuoNFww5O3G3J2pO+gQsOqZ+sx23SLGeri912Jce4X53gaqVGP0yw+/XcvDwx/KK9V/NlfOeLQ9vLhwxat1T0K1eM8xFbdboKRCu6vrqJtqumZptPM87DF74+OnKHNzc5wncqIWGB4RswGA0EnYHPB9wcRaJSC7KxoFTE4de8v9KYwIx0icnkYnr3Q0zh6bItHvqurpInaUEhA7njKSYWnbtEEEe401nJSoWs8s+uktsRKyMDapBsKeTVG7XUyAl1f2HYs7hUQn+DpShpCQvtrN4Q3oHmFN/bhAwaFO42WHBF1EnQ+EHbZs2JA6LcO9U7uL6eo2OsOuqQId8edkPTROTJ3gBmpovwVIVWGquhCIAHbNcVdr/9lOs/VvYQbZ3O07tFvxX4FqFz0HYJM248njOESzOHJIxX9W9nz4ZK9I9yRwyO9s3aBe+ewdNe0ZYRMvqg87cfuhvjW1c+ijJZyL0eGCXQ2gs6sdA X-GND-State: clean Add a driver that decodes the Reset Status Register (RSR) of the Freescale ColdFire MCF5441x Reset Controller Module at probe time and exposes the cause via the power_on_reason sysfs ABI. The RSR can latch several cause bits simultaneously (Reference Manual chapter 12.3.2); the driver picks one cause per a priority that favours the most explanatory diagnostic. Signed-off-by: Jean-Michel Hautbois --- MAINTAINERS | 6 ++ drivers/power/reset/Kconfig | 12 ++++ drivers/power/reset/Makefile | 1 + drivers/power/reset/mcf-rcm-reset.c | 109 ++++++++++++++++++++++++++++++++= ++++ 4 files changed, 128 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 461a3eed6129..1109bff23ec1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10195,6 +10195,12 @@ S: Maintained F: drivers/mmc/host/sdhci-esdhc-mcf.c F: include/linux/platform_data/mmc-esdhc-mcf.h =20 +FREESCALE COLDFIRE M5441X RCM POWER-ON REASON DRIVER +M: Jean-Michel Hautbois +L: linux-m68k@lists.linux-m68k.org +S: Maintained +F: drivers/power/reset/mcf-rcm-reset.c + FREESCALE DIU FRAMEBUFFER DRIVER M: Timur Tabi L: linux-fbdev@vger.kernel.org diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index 124afb99febe..003638f652fa 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -128,6 +128,18 @@ config POWER_RESET_LINKSTATION =20 Say Y here if you have a Buffalo LinkStation LS421D/E. =20 +config POWER_RESET_MCF_RCM + tristate "Freescale ColdFire RCM power-on reason driver" + depends on M5441x + depends on HAS_IOMEM + help + This driver exposes the cause of the last reset on Freescale + ColdFire 5441x SoCs through the standard power_on_reason sysfs + ABI. It reads the Reset Status Register (RSR) of the Reset + Controller Module once at probe time and reports a normalised + string (regular power-up, reset button action, software reset + or unknown reason). + config POWER_RESET_MACSMC tristate "Apple SMC reset/power-off driver" depends on MFD_MACSMC diff --git a/drivers/power/reset/Makefile b/drivers/power/reset/Makefile index d7ae97241a83..e31cab4ba78e 100644 --- a/drivers/power/reset/Makefile +++ b/drivers/power/reset/Makefile @@ -13,6 +13,7 @@ obj-$(CONFIG_POWER_RESET_GPIO) +=3D gpio-poweroff.o obj-$(CONFIG_POWER_RESET_GPIO_RESTART) +=3D gpio-restart.o obj-$(CONFIG_POWER_RESET_HISI) +=3D hisi-reboot.o obj-$(CONFIG_POWER_RESET_LINKSTATION) +=3D linkstation-poweroff.o +obj-$(CONFIG_POWER_RESET_MCF_RCM) +=3D mcf-rcm-reset.o obj-$(CONFIG_POWER_RESET_MACSMC) +=3D macsmc-reboot.o obj-$(CONFIG_POWER_RESET_MSM) +=3D msm-poweroff.o obj-$(CONFIG_POWER_RESET_MT6323) +=3D mt6323-poweroff.o diff --git a/drivers/power/reset/mcf-rcm-reset.c b/drivers/power/reset/mcf-= rcm-reset.c new file mode 100644 index 000000000000..666ae1455be1 --- /dev/null +++ b/drivers/power/reset/mcf-rcm-reset.c @@ -0,0 +1,109 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Freescale ColdFire MCF5441x RCM power-on reason driver + * + * Copyright (C) 2026 Jean-Michel Hautbois + */ + +#include +#include +#include +#include + +#include + +#define MCF_RSR_KNOWN_CAUSES (MCF_RSR_POR | MCF_RSR_EXT | MCF_RSR_WDRCORE = | \ + MCF_RSR_LOC | MCF_RSR_LOL | MCF_RSR_SOFT) + +struct mcf_rcm { + const char *reason; +}; + +/* + * Decode RSR into a power_on_reason string. + * + * The MCF5441x Reset Status Register can latch several cause bits at the + * same time (Reference Manual chapter 12.3.2: "one or more status bits + * may be set at the same time"). A power-on, for example, also resets + * the PLL and may co-flag LOC and LOL during the boot sequence. The + * power_on_reason ABI carries a single string, so this routine picks + * one cause; the chosen priority surfaces the most explanatory one for + * diagnostics: + * + * POR cold boot dominates any spurious co-flagged cause + * EXT operator action via the RESET pin + * WDRCORE core watchdog timeout, a fault to investigate + * LOC, LOL PLL clock or lock failure, hardware fault + * SOFT explicit software-requested reset + */ +static const char *mcf_rcm_decode(u8 rsr) +{ + if (rsr & MCF_RSR_POR) + return POWER_ON_REASON_REGULAR; + if (rsr & MCF_RSR_EXT) + return POWER_ON_REASON_RST_BTN; + if (rsr & MCF_RSR_WDRCORE) + return POWER_ON_REASON_WATCHDOG; + if (rsr & (MCF_RSR_LOC | MCF_RSR_LOL)) + return POWER_ON_REASON_CPU_CLK_FAIL; + if (rsr & MCF_RSR_SOFT) + return POWER_ON_REASON_SOFTWARE; + return POWER_ON_REASON_UNKNOWN; +} + +static ssize_t power_on_reason_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mcf_rcm *rcm =3D platform_get_drvdata(to_platform_device(dev)); + + return sysfs_emit(buf, "%s\n", rcm->reason); +} +static DEVICE_ATTR_RO(power_on_reason); + +static struct attribute *mcf_rcm_attrs[] =3D { + &dev_attr_power_on_reason.attr, + NULL, +}; +ATTRIBUTE_GROUPS(mcf_rcm); + +static int mcf_rcm_probe(struct platform_device *pdev) +{ + struct mcf_rcm *rcm; + void __iomem *base; + u8 rsr; + + rcm =3D devm_kzalloc(&pdev->dev, sizeof(*rcm), GFP_KERNEL); + if (!rcm) + return -ENOMEM; + + base =3D devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(base)) + return PTR_ERR(base); + + rsr =3D readb_relaxed(base); + rcm->reason =3D mcf_rcm_decode(rsr); + + platform_set_drvdata(pdev, rcm); + + if (!(rsr & MCF_RSR_KNOWN_CAUSES)) + dev_warn(&pdev->dev, "Unknown reset cause (RSR=3D0x%02x)\n", rsr); + else + dev_info(&pdev->dev, "Starting after %s (RSR=3D0x%02x)\n", + rcm->reason, rsr); + + return 0; +} + +static struct platform_driver mcf_rcm_driver =3D { + .probe =3D mcf_rcm_probe, + .driver =3D { + .name =3D "mcf-rcm-reset", + .dev_groups =3D mcf_rcm_groups, + }, +}; +module_platform_driver(mcf_rcm_driver); + +MODULE_AUTHOR("Jean-Michel Hautbois "); +MODULE_DESCRIPTION("Freescale ColdFire RCM power-on reason driver"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:mcf-rcm-reset"); --=20 2.39.5 From nobody Mon Jun 8 03:21:44 2026 Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 368E43C9ECF; Tue, 2 Jun 2026 09:22:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.200 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780392130; cv=none; b=gl8qR7XVdE3e+T6KGA/bVb5QO17OSNmtToW8dx0Ol786vnDstwTnnEIpiG9vkrc5bM7oQbrfQFD5W+RNdCujqqkJ0eHqxSmFqx0rXJlpY0mSAXq8UtWBIEIRmn/PT08adbVerKpz0Q4XFVyYYKlwtEDLXgkbVAYLPIKN9/4kPt8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780392130; c=relaxed/simple; bh=zUgHmdCIbq96Oaq4a+AaK+m2Z7xxV3Y0tQmoT3nrPIo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=p+7Gd7+vN7lDectpRjNP+wsoAI5WiYNG9LuYQFPOhrRUz3J1BoQgnOpM1lFqvSy/umq0Eq240Tsq6rn5NCa5sJNZZAeDzxUAZmrrDPTyy8VFMVWzYouqPxQdLsutfy16VDPz/IY+r2sSGOt3DfJ9BQn29ae2BhY5gcDcNdUwXCk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=yoseli.org; spf=pass smtp.mailfrom=yoseli.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b=TYod2iAH; arc=none smtp.client-ip=217.70.183.200 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=yoseli.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=yoseli.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b="TYod2iAH" Received: by mail.gandi.net (Postfix) with ESMTPSA id 00B243EBE0; Tue, 2 Jun 2026 09:21:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yoseli.org; s=gm1; t=1780392119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uOpn8q/e9KDHjuTADsI/LP/WXhz5xWte6Jyh1YnSbuE=; b=TYod2iAHGaFmX8gfGvZVQ9kS/3H06D3Lie42aI5D369agC40q+7iDRRLXsXd/5mFXJErRA iIJrpQl9LgIUfkZagqvCV4JsP9g7axcSnPCA2pENbq3hnN7g+MzlpUqiaWplB4AZ02vQDb WkJ00xaAM/zHB7Fglo64yu7VNXwdR6pLuRpblbLDqpP0DXVMV8mL7NjOdeQ4QpQ3RakTcv zixhVmbWbuSD6PE/KMrQjIoMyklsr7J40gOmq3/OQ0kyTdr8qKvA9x9F4eyDTEEZDNW7i8 LgFp1OVdlHpQpYK7D/g6oMpDM/vVBQk1JYYzBIP4xXSHaNMmaTlELX2uICpo4g== From: Jean-Michel Hautbois Date: Tue, 02 Jun 2026 11:21:23 +0200 Subject: [PATCH 3/3] m68k: coldfire/5441x: register mcf-rcm-reset platform device Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260602-coldfire-rcm-power-on-reason-v1-3-fbc3eab0c016@yoseli.org> References: <20260602-coldfire-rcm-power-on-reason-v1-0-fbc3eab0c016@yoseli.org> In-Reply-To: <20260602-coldfire-rcm-power-on-reason-v1-0-fbc3eab0c016@yoseli.org> To: Geert Uytterhoeven , Sebastian Reichel , Greg Ungerer Cc: linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Jean-Michel Hautbois X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780392115; l=1597; i=jeanmichel.hautbois@yoseli.org; s=20240925; h=from:subject:message-id; bh=zUgHmdCIbq96Oaq4a+AaK+m2Z7xxV3Y0tQmoT3nrPIo=; b=5SujqjGuJ0ghK/9aLkOXppW/AYn+1grWT+QTEQV8r6qarRLCk+sNCDH0/NFi70DO9CJwLDwzE cpp9BAjQZBoDWr6HSU/Lgi+dNxs91aORzMzhqxMjq5GQwCU4VciO6iU X-Developer-Key: i=jeanmichel.hautbois@yoseli.org; a=ed25519; pk=MsMTVmoV69wLIlSkHlFoACIMVNQFyvJzvsJSQsn/kq4= X-GND-Sasl: jeanmichel.hautbois@yoseli.org X-GND-Score: -100 X-GND-Cause: dmFkZTGZnDm+qP+IIE8q7fl0ylzs7vW7XFxPlmP9Riz87oMhwGzvZZIRYplOiORTbDN4OXFi+K8S2y2wJ8ELCaUF0EYbuKfNpj66kov/TBETXf91nZVoCTSEd5oiOHPUy0ZWxAVHyVHYvFebNY7AvzJ3lwSgiyYVHRb3qBly/HEuWT3b0eg/9zAdM6HpyoKevIj6OrQ2Vd9YNKpuoNFww5O3G3J2pO+gQsOqZ+sx23SLGeri912Jce4X53gaqVGP0yw+/XcvDwx/KK9V/NlfOeLQ9vLhwxat1T0K1eM8xFbdboKRCu6vrqJtqumZptPM87DF74+OnKHNzc5wncqIWGB4RswGrNy5/V7KkG01X2H6Re8QL47+9f4yIJff4dP/ZtjYCPzFeUnZ6qVdFCTtAV+QycL4uZowelxbQ0vaFmHTJk8nvQt9AsDr/nNi4WIRAc5/C9m9gSYA5alUOnqCZuTfH17nDvSPye03ggPpkDt5mCMOtWhSzTscFKaOkQiFmc2TIriqYZE1WY+yh2UTwdfp+M/UTrAgRmoUe8gdLSJ5p0auJCcOxGB63bWqk5D4aPJcAA9fXwSJ9CvkJRsZWrmstFQbuE91GgFhgjZrlOklTWX0sL5yF9P6USgDD/jaGOjIiQN1XCspJ2NxFYu0MU9FkVRUEuYXg6OZOOkSSMz0Iksyvw X-GND-State: clean Add SoC-level registration of the mcf-rcm-reset platform device so the power_on_reason sysfs attribute is created on every MCF5441x board without per-board boilerplate. Signed-off-by: Jean-Michel Hautbois --- arch/m68k/coldfire/m5441x.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/arch/m68k/coldfire/m5441x.c b/arch/m68k/coldfire/m5441x.c index 7a25cfc7ac07..852e52d95eaf 100644 --- a/arch/m68k/coldfire/m5441x.c +++ b/arch/m68k/coldfire/m5441x.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -239,6 +240,30 @@ static void __init m5441x_fec_init(void) __raw_writeb(0x03, MCFGPIO_PAR_FEC); } =20 +/* + * Reset Controller Module status register. Exposed to userspace as + * /sys/devices/platform/mcf-rcm-reset/power_on_reason by the mcf-rcm-reset + * driver (drivers/power/reset/mcf-rcm-reset.c). + */ +static struct resource m5441x_rcm_resource[] =3D { + { + .start =3D MCF_RSR, + .end =3D MCF_RSR, + .flags =3D IORESOURCE_MEM, + }, +}; + +static int __init m5441x_rcm_init(void) +{ + struct platform_device *pdev; + + pdev =3D platform_device_register_simple("mcf-rcm-reset", -1, + m5441x_rcm_resource, + ARRAY_SIZE(m5441x_rcm_resource)); + return PTR_ERR_OR_ZERO(pdev); +} +arch_initcall(m5441x_rcm_init); + void __init config_BSP(char *commandp, int size) { m5441x_clk_init(); --=20 2.39.5