toradex: imx6: Rework PF0100 fuse programming commands to not be in SPL

The code for programming the OTP fuses on the PMIC PF0100 can only be
used in full U-Boot, so do not build / link it into SPL.

Cc: Max Krummenacher <max.krummenacher@toradex.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Max Krummenacher <max.krummenacher@toradex.com>
This commit is contained in:
Tom Rini 2018-01-03 09:19:17 -05:00 committed by Stefano Babic
parent bf52330a50
commit 64c7abf023
4 changed files with 11 additions and 12 deletions

View File

@ -10,6 +10,7 @@
#include <common.h> #include <common.h>
#include <i2c.h> #include <i2c.h>
#include <linux/compiler.h>
#include <asm/arch/imx-regs.h> #include <asm/arch/imx-regs.h>
#include <asm/arch/iomux.h> #include <asm/arch/iomux.h>
#include <asm/arch/mx6-pins.h> #include <asm/arch/mx6-pins.h>
@ -23,7 +24,7 @@
/*#define DEBUG */ /*#define DEBUG */
/* use Apalis GPIO1 to switch on VPGM, ON: 1 */ /* use Apalis GPIO1 to switch on VPGM, ON: 1 */
static iomux_v3_cfg_t const pmic_prog_pads[] = { static __maybe_unused iomux_v3_cfg_t const pmic_prog_pads[] = {
MX6_PAD_NANDF_D4__GPIO2_IO04 | MUX_PAD_CTRL(NO_PAD_CTRL), MX6_PAD_NANDF_D4__GPIO2_IO04 | MUX_PAD_CTRL(NO_PAD_CTRL),
# define PMIC_PROG_VOLTAGE IMX_GPIO_NR(2, 4) # define PMIC_PROG_VOLTAGE IMX_GPIO_NR(2, 4)
}; };
@ -161,7 +162,8 @@ unsigned pmic_init(void)
return programmed; return programmed;
} }
int pf0100_prog(void) #ifndef CONFIG_SPL_BUILD
static int pf0100_prog(void)
{ {
unsigned char bus = 1; unsigned char bus = 1;
unsigned char val; unsigned char val;
@ -208,7 +210,7 @@ int pf0100_prog(void)
return CMD_RET_SUCCESS; return CMD_RET_SUCCESS;
} }
int do_pf0100_prog(cmd_tbl_t *cmdtp, int flag, int argc, static int do_pf0100_prog(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[]) char * const argv[])
{ {
int ret; int ret;
@ -226,3 +228,4 @@ U_BOOT_CMD(
"Program the OTP fuses on the PMIC PF0100", "Program the OTP fuses on the PMIC PF0100",
"" ""
); );
#endif

View File

@ -50,7 +50,4 @@
/* i.e. 0: unprogrammed, 3: programmed, other: undefined prog. state */ /* i.e. 0: unprogrammed, 3: programmed, other: undefined prog. state */
unsigned pmic_init(void); unsigned pmic_init(void);
/* programmes OTP fuses to values required on a Toradex Apalis iMX6 */
int pf0100_prog(void);
#endif /* PF0100_H_ */ #endif /* PF0100_H_ */

View File

@ -23,7 +23,7 @@
/*#define DEBUG */ /*#define DEBUG */
/* use GPIO: EXT_IO1 to switch on VPGM, ON: 1 */ /* use GPIO: EXT_IO1 to switch on VPGM, ON: 1 */
static iomux_v3_cfg_t const pmic_prog_pads[] = { static __maybe_unused iomux_v3_cfg_t const pmic_prog_pads[] = {
MX6_PAD_NANDF_D3__GPIO2_IO03 | MUX_PAD_CTRL(NO_PAD_CTRL), MX6_PAD_NANDF_D3__GPIO2_IO03 | MUX_PAD_CTRL(NO_PAD_CTRL),
# define PMIC_PROG_VOLTAGE IMX_GPIO_NR(2, 3) # define PMIC_PROG_VOLTAGE IMX_GPIO_NR(2, 3)
}; };
@ -144,7 +144,8 @@ unsigned pmic_init(void)
return programmed; return programmed;
} }
int pf0100_prog(void) #ifndef CONFIG_SPL_BUILD
static int pf0100_prog(void)
{ {
unsigned char bus = 1; unsigned char bus = 1;
unsigned char val; unsigned char val;
@ -191,7 +192,7 @@ int pf0100_prog(void)
return CMD_RET_SUCCESS; return CMD_RET_SUCCESS;
} }
int do_pf0100_prog(cmd_tbl_t *cmdtp, int flag, int argc, static int do_pf0100_prog(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[]) char * const argv[])
{ {
int ret; int ret;
@ -209,3 +210,4 @@ U_BOOT_CMD(
"Program the OTP fuses on the PMIC PF0100", "Program the OTP fuses on the PMIC PF0100",
"" ""
); );
#endif

View File

@ -50,7 +50,4 @@
/* i.e. 0: unprogrammed, 3: programmed, other: undefined prog. state */ /* i.e. 0: unprogrammed, 3: programmed, other: undefined prog. state */
unsigned pmic_init(void); unsigned pmic_init(void);
/* programmes OTP fuses to values required on a Toradex Apalis iMX6 */
int pf0100_prog(void);
#endif /* PF0100_H_ */ #endif /* PF0100_H_ */