From patchwork Tue Feb 25 18:04:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 868167 Delivered-To: patch@linaro.org Received: by 2002:a5d:5f56:0:b0:38f:210b:807b with SMTP id cm22csp437939wrb; Tue, 25 Feb 2025 10:14:45 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVWqLWIATfkSyh/sOe9Uqia/c2dNrFHfzaqt5ebIdPtQcA4V1GB3X1e5Bwd5RbcSORDq1h6tQ==@linaro.org X-Google-Smtp-Source: AGHT+IFII4/CFQdEwYRdBoNs/3L0YTuKGAQpAZLqLBZ7MBQZ44ZY/oql2fRCKOHWU/s8tOSPurr4 X-Received: by 2002:ac8:570a:0:b0:471:f1c6:54a6 with SMTP id d75a77b69052e-47376f91488mr67233061cf.0.1740507285313; Tue, 25 Feb 2025 10:14:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1740507285; cv=none; d=google.com; s=arc-20240605; b=LwzTOJsTIfEPhvJkL8MMp+SuwubjqCcYpr/zYWCdWu3UEQutMmbn9qtDI6jNfso9Ra c1ofsOdetc5FiWxcXbJ6ctYozWYoi2ny7HCHsrbT12LteLTVS/eDThoKfeqsRbWD0Lsv 9SC/joTi4lOQ/F2g9QTmwRD1/ZFRTU2vdU61GRele7yKkpwCfXEXCNhNpCCgtCtSwWZV kuInHD1ogUBDp3wAqIxcyvnaovF/2gBrmq1wuinSHaJc+/38JjH0myULsuchNQyqytUE s3qGYmC2uKhuooC8jS/pIZXNHqUh1AdxNI9PqnZ3vSOinU8oSdu647UjwSJFZf86D4sW 0e+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=i3LaSe6B2Ol1+6mqM3jCwCvLSHRa2sV49bRJeNYJwAY=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=BeRI93ocbQ7AUQqjwKm4Df5ikh/UvmSt4wH7w7JFWmcDvLCLY/ItH7GlGxenjoFQog bPRWM3UYtgJVuv7zukGawWfJPcLJ67WHcHUk7ZbdwXhYXmVI9Ep0AS3MW4g2L32LsJ/R Lz2tOYN/U8vvtpcZWV9CzCWHP+igQScannIvbnkacJmCVNQSIQyMfHbxPs5LCP8tjrlF pCuSkPQXjtKuYR3oZRh9BDOW90xVV3Bp5KXjGNhRkBDt4HbbNKFgSKkYIjm4rE8cWpHf JgopCcY/AMNI2ZEtsljJNy+RKImRkA+PfFg1FZTHvCaiUoCqSYeSknluzLUk84zaJAZW NVFw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cq3b5co3; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-473780b5829si20328271cf.639.2025.02.25.10.14.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 25 Feb 2025 10:14:45 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cq3b5co3; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tmzLX-0005Gb-SI; Tue, 25 Feb 2025 13:07:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tmzJh-0000Gc-0T for qemu-devel@nongnu.org; Tue, 25 Feb 2025 13:06:01 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tmzJb-0002Ky-H2 for qemu-devel@nongnu.org; Tue, 25 Feb 2025 13:05:58 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4399deda38cso36758515e9.1 for ; Tue, 25 Feb 2025 10:05:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740506751; x=1741111551; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=i3LaSe6B2Ol1+6mqM3jCwCvLSHRa2sV49bRJeNYJwAY=; b=cq3b5co3O/oSFqIbASHbpfkRDXl/Zm0/yAwMudZYKYnkBzvDHPYTu9oxCnuHAiAmhs paQZIjgNHBlXmoUpVGMgvcge8EDifoa32558r0sdOqAj9zOKce/GmbkTmFimxbDggV1o 85rBEQrFYDXPC5XlCXz69vpx4FVoSTOc1y+xpVoNK3YvQaVL0iYuKoNvrRvnXup9Sxyc GY+VyhmuzLXGlQK+eZIqjl3xX5jUifG6zvOq7OnG6IvLikDmD1tHT80tDyXFAm8lHTb3 39TLr/f6pRa+QgbIwIrmOJFVI0rnCFJWimuE6li08x7LkGPeAcxqBpFqyQivjgDFhEW3 B7IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740506751; x=1741111551; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=i3LaSe6B2Ol1+6mqM3jCwCvLSHRa2sV49bRJeNYJwAY=; b=JNgWBf2njnqH0bR7i/WSZ74mnMKbyrEQahZF5ppMUMqIgMBkMcZXw3G2gD1RCgYNME W8BDeSF6FB09WTOoRGbY6UUb5PKk5twdj0NLhIrjk1ePm+ZgeoiuOlwc7AJqArThuErV 1C61JyiO23+Zc4A7LZMjKqpa9VX5J4qH+fWqpo4Ia2z7G3rbjoz59vlnJO7p07Hm2PK/ xpZ8zjwj85Av4MCc/HLKJfe2JOBeuPvigKcgm9JfdVgu2UNhwXrz6zEz2jedR6FdeY5E exovBQSdCXHZ8hdlzfinlF78G3/zq/5B8TAx5OVLyw/csmgn8gsnei/wgE0mcSgUrQeN cfyg== X-Gm-Message-State: AOJu0YzC4HFvM/Yg71aLVsv24Pd67ygDQPjypLQ/O6Cz9f6d+qKefyN7 lQ6kyK14WFKqOauv9ZLUDe69sBkK+q/vpk+ui/Oybc8HUgGlRmyiIK0eXCojDK0dnRDs7vHNICE F X-Gm-Gg: ASbGncvAG55KyK07uh0/r7Ljo6XVVmTWmPOg+bGuBhYocmEa15x7DEmyxP+HQ/55YlM e7qKs8SrhahLQeLlp9zd1BSSzo1fb7ou8w/12pYD3sJfzAK7WR8xyu84uRDogRewvlm5KnZ3bhz VNedPKh1YHI1LvZx9gkJQye9B6STBZX/eRutm5coo6W5CXzu6kaNo3K3Lhjl4ze6jCn5doLlvll ND5JjI7ag/QDG6GqSzAzNg3aoHqellGOEWVBIUKxq6B+xMB+h4V1/Pg0CuwlSVN5PLDRRVZ/crQ q56pA6J9zjCdePISdaYcM3Z4UvPOSyxA X-Received: by 2002:a05:600c:5012:b0:439:98b0:f8ce with SMTP id 5b1f17b1804b1-43ab60f0c1bmr25818195e9.7.1740506750722; Tue, 25 Feb 2025 10:05:50 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ab156a136sm35147875e9.35.2025.02.25.10.05.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2025 10:05:50 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 33/43] hw/arm/fsl-imx8mp: Add SNVS Date: Tue, 25 Feb 2025 18:04:59 +0000 Message-ID: <20250225180510.1318207-34-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250225180510.1318207-1-peter.maydell@linaro.org> References: <20250225180510.1318207-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org From: Bernhard Beschow SNVS contains an RTC which allows Linux to deal correctly with time. This is particularly useful when handling persistent storage which will be done in the next patch. Reviewed-by: Peter Maydell Signed-off-by: Bernhard Beschow Message-id: 20250223114708.1780-7-shentey@gmail.com Signed-off-by: Peter Maydell --- docs/system/arm/imx8mp-evk.rst | 1 + include/hw/arm/fsl-imx8mp.h | 2 ++ hw/arm/fsl-imx8mp.c | 10 ++++++++++ 3 files changed, 13 insertions(+) diff --git a/docs/system/arm/imx8mp-evk.rst b/docs/system/arm/imx8mp-evk.rst index f0df346113f..22541c54424 100644 --- a/docs/system/arm/imx8mp-evk.rst +++ b/docs/system/arm/imx8mp-evk.rst @@ -12,6 +12,7 @@ The ``imx8mp-evk`` machine implements the following devices: * Up to 4 Cortex-A53 cores * Generic Interrupt Controller (GICv3) * 4 UARTs + * Secure Non-Volatile Storage (SNVS) including an RTC * Clock Tree Boot options diff --git a/include/hw/arm/fsl-imx8mp.h b/include/hw/arm/fsl-imx8mp.h index ce5188e7f23..26e24e99a15 100644 --- a/include/hw/arm/fsl-imx8mp.h +++ b/include/hw/arm/fsl-imx8mp.h @@ -12,6 +12,7 @@ #include "cpu.h" #include "hw/char/imx_serial.h" #include "hw/intc/arm_gicv3_common.h" +#include "hw/misc/imx7_snvs.h" #include "hw/misc/imx8mp_analog.h" #include "hw/misc/imx8mp_ccm.h" #include "qom/object.h" @@ -36,6 +37,7 @@ struct FslImx8mpState { GICv3State gic; IMX8MPCCMState ccm; IMX8MPAnalogState analog; + IMX7SNVSState snvs; IMXSerialState uart[FSL_IMX8MP_NUM_UARTS]; }; diff --git a/hw/arm/fsl-imx8mp.c b/hw/arm/fsl-imx8mp.c index bc15b25ca16..18c9c54ddc6 100644 --- a/hw/arm/fsl-imx8mp.c +++ b/hw/arm/fsl-imx8mp.c @@ -201,6 +201,8 @@ static void fsl_imx8mp_init(Object *obj) object_initialize_child(obj, "analog", &s->analog, TYPE_IMX8MP_ANALOG); + object_initialize_child(obj, "snvs", &s->snvs, TYPE_IMX7_SNVS); + for (i = 0; i < FSL_IMX8MP_NUM_UARTS; i++) { g_autofree char *name = g_strdup_printf("uart%d", i + 1); object_initialize_child(obj, name, &s->uart[i], TYPE_IMX_SERIAL); @@ -344,6 +346,13 @@ static void fsl_imx8mp_realize(DeviceState *dev, Error **errp) qdev_get_gpio_in(gicdev, serial_table[i].irq)); } + /* SNVS */ + if (!sysbus_realize(SYS_BUS_DEVICE(&s->snvs), errp)) { + return; + } + sysbus_mmio_map(SYS_BUS_DEVICE(&s->snvs), 0, + fsl_imx8mp_memmap[FSL_IMX8MP_SNVS_HP].addr); + /* Unimplemented devices */ for (i = 0; i < ARRAY_SIZE(fsl_imx8mp_memmap); i++) { switch (i) { @@ -352,6 +361,7 @@ static void fsl_imx8mp_realize(DeviceState *dev, Error **errp) case FSL_IMX8MP_GIC_DIST: case FSL_IMX8MP_GIC_REDIST: case FSL_IMX8MP_RAM: + case FSL_IMX8MP_SNVS_HP: case FSL_IMX8MP_UART1 ... FSL_IMX8MP_UART4: /* device implemented and treated above */ break;