1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright 2017-2019 NXP 4 * 5 * Peng Fan <peng.fan@nxp.com> 6 */ 7 #ifndef PLAT_IMX_IMX_H 8 #define PLAT_IMX_IMX_H 9 10 #include <stdint.h> 11 #include <stdbool.h> 12 13 #define SOC_MX6SL 0x60 14 #define SOC_MX6DL 0x61 15 #define SOC_MX6SX 0x62 16 #define SOC_MX6Q 0x63 17 #define SOC_MX6UL 0x64 18 #define SOC_MX6ULL 0x65 19 #define SOC_MX6SLL 0x67 20 #define SOC_MX6D 0x6A 21 #define SOC_MX7D 0x72 22 #define SOC_MX7ULP 0xE1 23 #define SOC_MX8QX 0xE2 24 #define SOC_MX8QM 0xE3 25 #define SOC_MX8DXL 0xE4 26 #define SOC_MX8M 0x82 27 #define SOC_MX8ULP 0x83 28 29 #ifndef __ASSEMBLER__ 30 uint32_t imx_get_src_gpr(int cpu); 31 void imx_set_src_gpr(int cpu, uint32_t val); 32 bool soc_is_imx6(void); 33 bool soc_is_imx6sx(void); 34 bool soc_is_imx6sl(void); 35 bool soc_is_imx6sll(void); 36 bool soc_is_imx6ul(void); 37 bool soc_is_imx6ull(void); 38 bool soc_is_imx6sdl(void); 39 bool soc_is_imx6dq(void); 40 bool soc_is_imx6dqp(void); 41 bool soc_is_imx7ds(void); 42 bool soc_is_imx7ulp(void); 43 bool soc_is_imx8m(void); 44 bool soc_is_imx8mq(void); 45 bool soc_is_imx8mm(void); 46 bool soc_is_imx8mn(void); 47 bool soc_is_imx8mp(void); 48 bool soc_is_imx8mq_b0_layer(void); 49 uint32_t imx_soc_type(void); 50 uint32_t imx_soc_rev_major(void); 51 uint32_t imx_soc_rev_minor(void); 52 uint32_t imx_get_digprog(void); 53 void imx_gpcv2_set_core1_pdn_by_software(void); 54 void imx_gpcv2_set_core1_pup_by_software(void); 55 void imx_gpcv2_set_core_pgc(bool enable, uint32_t offset); 56 57 #endif /* __ASSEMBLER__ */ 58 #endif 59