The HABv4 functions need access a part of the ROM which is located in the zero page. This must be done early, before the MMU has been configured and the zero page has been set to faulting. The HAB functions currently use cpu_is_imxxy(). At the stage where HAB is called the i.MX CPU type variable is not yet initialized, so this code only works when only one i.MX type is enabled and cpu_is_imxxy() are compile time constants. To fix HAB support when more than one i.MX type is enabled make the HAB status function SoC specific so that we can drop the use of cpu_is_imxxy(). Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
45 lines
1 KiB
C
45 lines
1 KiB
C
/*
|
|
* Copyright (C) 2014, 2015 Marc Kleine-Budde <mkl@pengutronix.de>
|
|
*
|
|
* See file CREDITS for list of people who contributed to this
|
|
* project.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of
|
|
* the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef __HABV4_H
|
|
#define __HABV4_H
|
|
|
|
#ifdef CONFIG_HABV4
|
|
int imx28_hab_get_status(void);
|
|
int imx6_hab_get_status(void);
|
|
#else
|
|
static inline int imx28_hab_get_status(void)
|
|
{
|
|
return -EPERM;
|
|
}
|
|
static inline int imx6_hab_get_status(void)
|
|
{
|
|
return -EPERM;
|
|
}
|
|
#endif
|
|
|
|
#ifdef CONFIG_HABV3
|
|
int imx25_hab_get_status(void);
|
|
#else
|
|
static inline int imx25_hab_get_status(void)
|
|
{
|
|
return -EPERM;
|
|
}
|
|
#endif
|
|
|
|
#endif /* __HABV4_H */
|