1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2022 NXP
4  */
5 
6 #ifndef __ARCH_IMX9_SYS_PROTO_H
7 #define __ARCH_IMX9_SYS_PROTO_H
8 
9 #include <asm/mach-imx/sys_proto.h>
10 
11 enum imx9_soc_voltage_mode {
12 	VOLT_LOW_DRIVE = 0,
13 	VOLT_NOMINAL_DRIVE,
14 	VOLT_OVER_DRIVE,
15 	VOLT_SUPER_OVER_DRIVE,
16 };
17 
18 void soc_power_init(void);
19 bool m33_is_rom_kicked(void);
20 int m33_prepare(void);
21 int low_drive_freq_update(void *blob);
22 
23 enum imx9_soc_voltage_mode soc_target_voltage_mode(void);
24 
25 #define is_voltage_mode(mode) (soc_target_voltage_mode() == (mode))
26 
27 #endif
28