1 /* 2 * (C) Copyright 2009 3 * Stefano Babic, DENX Software Engineering, sbabic@denx.de. 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 8 #ifndef _SYS_PROTO_H_ 9 #define _SYS_PROTO_H_ 10 11 #include <asm/imx-common/regs-common.h> 12 13 #define MXC_CPU_MX51 0x51 14 #define MXC_CPU_MX53 0x53 15 #define MXC_CPU_MX6SL 0x60 16 #define MXC_CPU_MX6DL 0x61 17 #define MXC_CPU_MX6SOLO 0x62 18 #define MXC_CPU_MX6Q 0x63 19 20 #define is_soc_rev(rev) ((get_cpu_rev() & 0xFF) - rev) 21 u32 get_cpu_rev(void); 22 23 /* returns MXC_CPU_ value */ 24 #define cpu_type(rev) (((rev) >> 12)&0xff) 25 26 /* use with MXC_CPU_ constants */ 27 #define is_cpu_type(cpu) (cpu_type(get_cpu_rev()) == cpu) 28 29 const char *get_imx_type(u32 imxtype); 30 unsigned imx_ddr_size(void); 31 32 void set_vddsoc(u32 mv); 33 34 /* 35 * Initializes on-chip ethernet controllers. 36 * to override, implement board_eth_init() 37 */ 38 39 int fecmxc_initialize(bd_t *bis); 40 u32 get_ahb_clk(void); 41 u32 get_periph_clk(void); 42 43 int mxs_reset_block(struct mxs_register_32 *reg); 44 int mxs_wait_mask_set(struct mxs_register_32 *reg, 45 uint32_t mask, 46 unsigned int timeout); 47 int mxs_wait_mask_clr(struct mxs_register_32 *reg, 48 uint32_t mask, 49 unsigned int timeout); 50 #endif 51