[U-Boot] [PATCH][v6] imx: imx7d: initial arch level support

Stefano Babic sbabic at denx.de
Mon Aug 31 18:00:40 CEST 2015


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 at freescale.com>
> Signed-off-by: Peng Fan <Peng.Fan at freescale.com>
> Signed-off-by: Ye.Li <B37916 at 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

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list