hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/arch/arm/mach-vexpress/v2m.c
....@@ -1,8 +1,31 @@
11 // SPDX-License-Identifier: GPL-2.0
2
+#include <linux/of.h>
3
+#include <linux/of_address.h>
24 #include <asm/mach/arch.h>
35
46 #include "core.h"
57
8
+#define SYS_FLAGSSET 0x030
9
+#define SYS_FLAGSCLR 0x034
10
+
11
+void vexpress_flags_set(u32 data)
12
+{
13
+ static void __iomem *base;
14
+
15
+ if (!base) {
16
+ struct device_node *node = of_find_compatible_node(NULL, NULL,
17
+ "arm,vexpress-sysreg");
18
+
19
+ base = of_iomap(node, 0);
20
+ }
21
+
22
+ if (WARN_ON(!base))
23
+ return;
24
+
25
+ writel(~0, base + SYS_FLAGSCLR);
26
+ writel(data, base + SYS_FLAGSSET);
27
+}
28
+
629 static const char * const v2m_dt_match[] __initconst = {
730 "arm,vexpress",
831 NULL,