Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0875a88e authored by Matteo Facchinetti's avatar Matteo Facchinetti Committed by Anatolij Gustschin
Browse files

powerpc/mpc512x: add MPC5125 reset module support for system restart



Only part of MPC5125 reset module is like as MPC5121.
In detail, RCWH register doesn't contain informations about:
- PCI arbiter
- NAND flash page size
- NAND flash port size

For this reason, in device tree, this module has a different name then
MPC5121 reset module but use the same "struct mpc512x_reset_module"
register definition and the same restart procedure.

Signed-off-by: default avatarMatteo Facchinetti <engineering@sirius-es.it>
Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
parent a4f4124c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ extern void __init mpc512x_init(void);
extern void __init mpc512x_setup_arch(void);
extern int __init mpc5121_clk_init(void);
extern const char *mpc512x_select_psc_compat(void);
extern const char *mpc512x_select_reset_compat(void);
extern void mpc512x_restart(char *cmd);

#endif				/* __MPC512X_H__ */
+14 −1
Original line number Diff line number Diff line
@@ -35,8 +35,10 @@ static struct mpc512x_reset_module __iomem *reset_module_base;
static void __init mpc512x_restart_init(void)
{
	struct device_node *np;
	const char *reset_compat;

	np = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-reset");
	reset_compat = mpc512x_select_reset_compat();
	np = of_find_compatible_node(NULL, NULL, reset_compat);
	if (!np)
		return;

@@ -355,6 +357,17 @@ const char *mpc512x_select_psc_compat(void)
	return NULL;
}

const char *mpc512x_select_reset_compat(void)
{
	if (of_machine_is_compatible("fsl,mpc5121"))
		return "fsl,mpc5121-reset";

	if (of_machine_is_compatible("fsl,mpc5125"))
		return "fsl,mpc5125-reset";

	return NULL;
}

static unsigned int __init get_fifo_size(struct device_node *np,
					 char *prop_name)
{