
Hi Adrian,
On 29/08/2015 01:08, Adrian Alonso wrote:
- Add system arch level header files
- imx-regs.h: iMX7D SoC system architecture registers
- crm_regs.h: Clock control module registers
- sys_proto.h: helper callback function for SoC setup
Signed-off-by: Adrian Alonso aalonso@freescale.com Signed-off-by: Peng Fan Peng.Fan@freescale.com Signed-off-by: Ye.Li B37916@freescale.com
Changes for V2: Split patch to easier review process
- Add system arch register definitions
Changes for V3: Resend Changes for V4: Resend Changes for V5: Resend Changes for V6:
- Add common settings helper function definitions in sys_proto.h
[snip]
+#endif /* __ASM_ARCH_MX7_IMX_REGS_H__ */ diff --git a/arch/arm/include/asm/arch-mx7/sys_proto.h b/arch/arm/include/asm/arch-mx7/sys_proto.h new file mode 100644 index 0000000..6e31594 --- /dev/null +++ b/arch/arm/include/asm/arch-mx7/sys_proto.h @@ -0,0 +1,51 @@ +/*
- Copyright (C) 2015 Freescale Semiconductor, Inc.
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _SYS_PROTO_H_ +#define _SYS_PROTO_H_
+#include <asm/imx-common/regs-common.h> +#include "../arch-imx/cpu.h"
+#define is_soc_rev(rev) ((int)((get_cpu_rev() & 0xFF) - rev)) +u32 get_cpu_rev(void); +u32 get_cpu_speed_grade_hz(void); +u32 get_cpu_temp_grade(int *minc, int *maxc);
+/* returns MXC_CPU_ value */ +#define cpu_type(rev) (((rev) >> 12)&0xff) +#define soc_type(rev) (((rev) >> 12) & 0xf0) +#define get_soc_type() (soc_type(get_cpu_rev()))
+/* use with MXC_CPU_ constants */ +#define is_cpu_type(cpu) (cpu_type(get_cpu_rev()) == cpu) +#define is_soc_type(soc) (get_soc_type() == soc)
+const char *get_imx_type(u32 imxtype); +unsigned imx_ddr_size(void); +void set_wdog_reset(struct wdog_regs *wdog);
+void init_aips(void); +void init_src(void); +void imx_set_wdog_powerdown(bool enable);
I am confused...Peng has reordered sys_proto.h splitting in a common part ./arch/arm/include/asm/imx-common/sys_proto.h and in a cpu part.
The common part contains the prototypes valid for all i.MXes. You have posted again a file with all prototypes, and you get rid of the common one.
+/*
- Initializes on-chip ethernet controllers.
- to override, implement board_eth_init()
- */
+int fecmxc_initialize(bd_t *bis); +u32 get_ahb_clk(void); +u32 get_periph_clk(void);
+int mxs_reset_block(struct mxs_register_32 *reg); +int mxs_wait_mask_set(struct mxs_register_32 *reg,
uint32_t mask,
unsigned int timeout);
+int mxs_wait_mask_clr(struct mxs_register_32 *reg,
uint32_t mask,
unsigned int timeout);
+#endif
Best regards, Stefano Babic