2012-10-17 21:07:45 +00:00
|
|
|
#ifndef __MACH_GENERIC_H
|
|
|
|
#define __MACH_GENERIC_H
|
2008-02-19 14:50:43 +00:00
|
|
|
|
2013-05-30 10:39:55 +00:00
|
|
|
#include <linux/compiler.h>
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
2010-08-02 11:58:52 +00:00
|
|
|
u64 imx_uid(void);
|
2010-05-14 02:15:17 +00:00
|
|
|
|
2013-03-14 17:38:44 +00:00
|
|
|
void imx25_boot_save_loc(void __iomem *ccm_base);
|
|
|
|
void imx35_boot_save_loc(void __iomem *ccm_base);
|
2013-03-14 17:38:43 +00:00
|
|
|
void imx27_boot_save_loc(void __iomem *sysctrl_base);
|
2013-03-14 17:38:41 +00:00
|
|
|
void imx51_boot_save_loc(void __iomem *src_base);
|
|
|
|
void imx53_boot_save_loc(void __iomem *src_base);
|
|
|
|
void imx6_boot_save_loc(void __iomem *src_base);
|
2010-05-14 02:15:17 +00:00
|
|
|
|
2013-06-23 13:00:28 +00:00
|
|
|
int imx1_init(void);
|
|
|
|
int imx21_init(void);
|
|
|
|
int imx25_init(void);
|
|
|
|
int imx27_init(void);
|
|
|
|
int imx31_init(void);
|
|
|
|
int imx35_init(void);
|
|
|
|
int imx51_init(void);
|
|
|
|
int imx53_init(void);
|
|
|
|
int imx6_init(void);
|
|
|
|
|
|
|
|
int imx1_devices_init(void);
|
|
|
|
int imx21_devices_init(void);
|
|
|
|
int imx25_devices_init(void);
|
|
|
|
int imx27_devices_init(void);
|
|
|
|
int imx31_devices_init(void);
|
|
|
|
int imx35_devices_init(void);
|
|
|
|
int imx51_devices_init(void);
|
|
|
|
int imx53_devices_init(void);
|
|
|
|
int imx6_devices_init(void);
|
|
|
|
|
2012-10-11 07:09:29 +00:00
|
|
|
/* There's a off-by-one betweem the gpio bank number and the gpiochip */
|
|
|
|
/* range e.g. GPIO_1_5 is gpio 5 under linux */
|
|
|
|
#define IMX_GPIO_NR(bank, nr) (((bank) - 1) * 32 + (nr))
|
|
|
|
|
2012-10-09 20:36:39 +00:00
|
|
|
#define IMX_CPU_IMX1 1
|
|
|
|
#define IMX_CPU_IMX21 21
|
|
|
|
#define IMX_CPU_IMX25 25
|
|
|
|
#define IMX_CPU_IMX27 27
|
|
|
|
#define IMX_CPU_IMX31 31
|
|
|
|
#define IMX_CPU_IMX35 35
|
|
|
|
#define IMX_CPU_IMX51 51
|
|
|
|
#define IMX_CPU_IMX53 53
|
|
|
|
#define IMX_CPU_IMX6 6
|
|
|
|
|
|
|
|
extern unsigned int __imx_cpu_type;
|
|
|
|
|
2009-10-05 06:41:13 +00:00
|
|
|
#ifdef CONFIG_ARCH_IMX1
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX1
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx1() (imx_cpu_type == IMX_CPU_IMX1)
|
2009-10-05 06:41:13 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx1() (0)
|
2009-10-05 06:41:13 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef CONFIG_ARCH_IMX21
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX21
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx21() (imx_cpu_type == IMX_CPU_IMX21)
|
2009-10-05 06:41:13 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx21() (0)
|
2009-10-05 06:41:13 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef CONFIG_ARCH_IMX25
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX25
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx25() (imx_cpu_type == IMX_CPU_IMX25)
|
2009-10-05 06:41:13 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx25() (0)
|
2009-10-05 06:41:13 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef CONFIG_ARCH_IMX27
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX27
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx27() (imx_cpu_type == IMX_CPU_IMX27)
|
2009-10-05 06:41:13 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx27() (0)
|
2009-10-05 06:41:13 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef CONFIG_ARCH_IMX31
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX31
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx31() (imx_cpu_type == IMX_CPU_IMX31)
|
2009-10-05 06:41:13 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx31() (0)
|
2009-10-05 06:41:13 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef CONFIG_ARCH_IMX35
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX35
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx35() (imx_cpu_type == IMX_CPU_IMX35)
|
2009-10-05 06:41:13 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx35() (0)
|
2009-10-05 06:41:13 +00:00
|
|
|
#endif
|
|
|
|
|
2010-10-11 11:01:08 +00:00
|
|
|
#ifdef CONFIG_ARCH_IMX51
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX51
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx51() (imx_cpu_type == IMX_CPU_IMX51)
|
2010-10-11 11:01:08 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx51() (0)
|
2010-10-11 11:01:08 +00:00
|
|
|
#endif
|
|
|
|
|
2011-07-27 10:15:59 +00:00
|
|
|
#ifdef CONFIG_ARCH_IMX53
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX53
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx53() (imx_cpu_type == IMX_CPU_IMX53)
|
2011-07-27 10:15:59 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx53() (0)
|
2011-07-27 10:15:59 +00:00
|
|
|
#endif
|
|
|
|
|
2012-02-23 09:09:07 +00:00
|
|
|
#ifdef CONFIG_ARCH_IMX6
|
2012-10-09 20:36:39 +00:00
|
|
|
# ifdef imx_cpu_type
|
|
|
|
# undef imx_cpu_type
|
|
|
|
# define imx_cpu_type __imx_cpu_type
|
|
|
|
# else
|
|
|
|
# define imx_cpu_type IMX_CPU_IMX6
|
|
|
|
# endif
|
|
|
|
# define cpu_is_mx6() (imx_cpu_type == IMX_CPU_IMX6)
|
2012-02-23 09:09:07 +00:00
|
|
|
#else
|
2012-10-09 20:36:39 +00:00
|
|
|
# define cpu_is_mx6() (0)
|
2012-02-23 09:09:07 +00:00
|
|
|
#endif
|
|
|
|
|
2010-12-13 10:53:30 +00:00
|
|
|
#define cpu_is_mx23() (0)
|
|
|
|
#define cpu_is_mx28() (0)
|
2012-10-17 21:07:45 +00:00
|
|
|
|
|
|
|
#endif /* __MACH_GENERIC_H */
|