From nobody Mon Feb 9 10:23:37 2026 X-Original-To: dev-commits-src-all@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 4f8glG0yglz6RBqJ for ; Mon, 09 Feb 2026 10:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8glF6y2vz3PWB for ; Mon, 09 Feb 2026 10:23:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770632618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=REuhWBNAWvSv9SG0Jucy6MTdQ4aGdEkfi3+FE8afAlI=; b=H/uEPvhS3D7XY+thOD8v8Qu+qoHb/8RyegDebPa/oRyMzbsU+T7ntapgZcGOwxMVURgAoy i5XJHBVjJ1pVIEbBMzOr0bSOa4Dd6IpSOrUGkIQQt409uWGNpNomw9J6MFnzBWiIVVHtn8 zMWyC+2CKVDI5OS+0Qlaio6jh+C1pz6qDCc6+MoolPQW0hP6aKchFzNRLDMDB9nmcLp+G/ GE2Ubd/H0hNBpj3J/7Xk2p7h58EsDR2v0cCplxhA68ylX8h2XojDkXfcfDVEi5KkNsqa+Z lgPb1AcZAEsK77u5vKwASPbbYzicTrBy68uBZ0tFwZcMvxC94OhoK773IEcgVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770632618; a=rsa-sha256; cv=none; b=QKCozEyp4FdIUB8FVNS7F9R3PnLKTZUtAyH5lcmPm8J8id6Hb+pTvlyOgnpY9nxxwKB8IU YXMD1piCTKShgOZ+5tIkbSe1JB0+yobX8DehLJDIQTmOQthmmbs2qMZHVXHhYt3EFF1RI0 XAxgHs3+tl+qgixD25Rgrg4m91grlEbdJetCyUHnqjPoSy85nsvGZcIk10PUblcRv8FKEi 1/W4WxgPgaxPxVMNlcQbUGQxYyy3Gz3yooR3W3I7ktcZkf0x98SntWB+L2wIjEKVvUHGQZ 2rnrL565QwtpSucpyNs+mXZ/CeW0yGvX1ClPs8XgrmxcMEgcFb53zvhYVmueBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770632618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=REuhWBNAWvSv9SG0Jucy6MTdQ4aGdEkfi3+FE8afAlI=; b=X9FXYGxEQVXASMwznbYfHxpbPXNOjda1r05Z+JXA63Ky61H1vdJsrGVYaswhFdJMDd5ivw s3/tnXaGgUJXR7S9YaKle8G59bs28Kb64HLPnG62H44yzOb/pViLv1WB+KY8CsaYZwvbRC 9NrZjqMW+QOf/fzlpx2Rh2h955m4nPtyq7FRaEGt7ABdX1pVM33aCQSlVKruC6dU8nQEp5 a9EfaFwLk7x/kJF95NOwnf2XERNgtGypt3hPAlce6v1mDWRMnfg9mVAs1HSAFDPrjUp2lm hEwpz1KMKaB4sLriefjy6LiI55AFvOVbeet/gVEcXT7hj7idEGferjgS+G9L5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8glF5nglzCjH for ; Mon, 09 Feb 2026 10:23:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f68c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Feb 2026 10:23:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: ccb0e6e15f3d - main - aw_wdog: Add support for H616 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ccb0e6e15f3dd00288d1823ffaf6920916ae457c Auto-Submitted: auto-generated Date: Mon, 09 Feb 2026 10:23:37 +0000 Message-Id: <6989b5a9.1f68c.51672a09@gitrepo.freebsd.org> The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=ccb0e6e15f3dd00288d1823ffaf6920916ae457c commit ccb0e6e15f3dd00288d1823ffaf6920916ae457c Author: Tom Jones AuthorDate: 2026-02-09 10:05:46 +0000 Commit: Tom Jones CommitDate: 2026-02-09 10:22:19 +0000 aw_wdog: Add support for H616 Reviewed by: manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54913 --- sys/arm/allwinner/aw_wdog.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/sys/arm/allwinner/aw_wdog.c b/sys/arm/allwinner/aw_wdog.c index acfbdd8fe6d0..b6b2749f0cda 100644 --- a/sys/arm/allwinner/aw_wdog.c +++ b/sys/arm/allwinner/aw_wdog.c @@ -52,25 +52,32 @@ #define A10_WDOG_CTRL 0x00 #define A31_WDOG_CTRL 0x10 #define D1_WDOG_CTRL 0x10 +#define H616_WDOG_CTRL 0xB0 #define WDOG_CTRL_RESTART (1 << 0) #define A31_WDOG_CTRL_KEY (0xa57 << 1) #define D1_WDOG_CTRL_KEY (0xa57 << 1) +#define H616_WDOG_CTRL_KEY (0xa57 << 1) #define A10_WDOG_MODE 0x04 #define A31_WDOG_MODE 0x18 #define D1_WDOG_MODE 0x18 +#define H616_WDOG_MODE 0xB8 #define D1_WDOG_MODE_KEY (0x16AA << 16) #define A10_WDOG_MODE_INTVL_SHIFT 3 #define A31_WDOG_MODE_INTVL_SHIFT 4 #define D1_WDOG_MODE_INTVL_SHIFT 4 +#define H616_WDOG_MODE_INTVL_SHIFT 4 #define A10_WDOG_MODE_RST_EN (1 << 1) #define WDOG_MODE_EN (1 << 0) #define A31_WDOG_CONFIG 0x14 #define D1_WDOG_CONFIG 0x14 +#define H616_WDOG_CONFIG 0xB4 #define A31_WDOG_CONFIG_RST_EN_SYSTEM (1 << 0) #define A31_WDOG_CONFIG_RST_EN_INT (2 << 0) #define D1_WDOG_CONFIG_KEY (0x16AA << 16) #define D1_WDOG_CONFIG_RST_EN_SYSTEM (1 << 0) #define D1_WDOG_CONFIG_RST_EN_INT (2 << 0) +#define H616_WDOG_CONFIG_RST_EN_SYSTEM (1 << 0) +#define H616_WDOG_CONFIG_RST_EN_INT (2 << 0) struct aw_wdog_interval { uint64_t milliseconds; @@ -109,14 +116,18 @@ struct aw_wdog_softc { uint32_t wdog_config_value; }; -#define A10_WATCHDOG 1 -#define A31_WATCHDOG 2 -#define D1_WATCHDOG 3 +enum wdog_type { + A10_WATCHDOG = 1, + A31_WATCHDOG, + D1_WATCHDOG, + H616_WATCHDOG, +}; static struct ofw_compat_data compat_data[] = { {"allwinner,sun4i-a10-wdt", A10_WATCHDOG}, {"allwinner,sun6i-a31-wdt", A31_WATCHDOG}, {"allwinner,sun20i-d1-wdt", D1_WATCHDOG}, + {"allwinner,sun50i-h616-wdt", H616_WATCHDOG}, {NULL, 0} }; @@ -139,6 +150,9 @@ aw_wdog_probe(device_t dev) case D1_WATCHDOG: device_set_desc(dev, "Allwinner D1 Watchdog"); return (BUS_PROBE_DEFAULT); + case H616_WATCHDOG: + device_set_desc(dev, "Allwinner H616 Watchdog"); + return (BUS_PROBE_DEFAULT); } return (ENXIO); } @@ -192,6 +206,16 @@ aw_wdog_attach(device_t dev) sc->wdog_config = D1_WDOG_CONFIG; sc->wdog_config_value = D1_WDOG_CONFIG_KEY | D1_WDOG_CONFIG_RST_EN_SYSTEM; break; + case H616_WATCHDOG: + sc->wdog_ctrl = H616_WDOG_CTRL; + sc->wdog_ctrl_key = H616_WDOG_CTRL_KEY; + sc->wdog_mode = H616_WDOG_MODE; + sc->wdog_mode_key = 0; + sc->wdog_mode_intvl_shift = H616_WDOG_MODE_INTVL_SHIFT; + sc->wdog_mode_en = WDOG_MODE_EN; + sc->wdog_config = H616_WDOG_CONFIG; + sc->wdog_config_value = H616_WDOG_CONFIG_RST_EN_SYSTEM; + break; default: bus_release_resource(dev, SYS_RES_MEMORY, rid, sc->res); return (ENXIO);