On 10/01/2018 06:20, Peng Fan wrote: > Move get_boot_device to cpu.c to prepare adding i.MX8M support, > because i.MX8M share same code with i.MX7. > > Signed-off-by: Peng Fan <peng....@nxp.com> > Cc: Stefano Babic <sba...@denx.de> > Cc: Fabio Estevam <fabio.este...@nxp.com> > --- > arch/arm/include/asm/arch-mx7/imx-regs.h | 8 ------- > arch/arm/include/asm/mach-imx/boot_mode.h | 9 ++++++++ > arch/arm/mach-imx/cpu.c | 38 > +++++++++++++++++++++++++++++++ > arch/arm/mach-imx/mx7/soc.c | 35 ---------------------------- > 4 files changed, 47 insertions(+), 43 deletions(-) > > diff --git a/arch/arm/include/asm/arch-mx7/imx-regs.h > b/arch/arm/include/asm/arch-mx7/imx-regs.h > index a421b9bc04..3726f02af5 100644 > --- a/arch/arm/include/asm/arch-mx7/imx-regs.h > +++ b/arch/arm/include/asm/arch-mx7/imx-regs.h > @@ -1210,14 +1210,6 @@ extern void pcie_power_off(void); > readl(USBOTG2_IPS_BASE_ADDR + 0x158)) > #define disconnect_from_pc(void) writel(0x0, USBOTG1_IPS_BASE_ADDR + > 0x140) > > -/* Boot device type */ > -#define BOOT_TYPE_SD 0x1 > -#define BOOT_TYPE_MMC 0x2 > -#define BOOT_TYPE_NAND 0x3 > -#define BOOT_TYPE_QSPI 0x4 > -#define BOOT_TYPE_WEIM 0x5 > -#define BOOT_TYPE_SPINOR 0x6 > - > struct bootrom_sw_info { > u8 reserved_1; > u8 boot_dev_instance; > diff --git a/arch/arm/include/asm/mach-imx/boot_mode.h > b/arch/arm/include/asm/mach-imx/boot_mode.h > index e3ed046b25..300868a45e 100644 > --- a/arch/arm/include/asm/mach-imx/boot_mode.h > +++ b/arch/arm/include/asm/mach-imx/boot_mode.h > @@ -31,6 +31,15 @@ enum boot_device { > BOOT_DEV_NUM = UNKNOWN_BOOT, > }; > > +/* Boot device type */ > +#define BOOT_TYPE_SD 0x1 > +#define BOOT_TYPE_MMC 0x2 > +#define BOOT_TYPE_NAND 0x3 > +#define BOOT_TYPE_QSPI 0x4 > +#define BOOT_TYPE_WEIM 0x5 > +#define BOOT_TYPE_SPINOR 0x6 > +#define BOOT_TYPE_USB 0xF > + > struct boot_mode { > const char *name; > unsigned cfg_val; > diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c > index fd6d08c533..a7d89f2033 100644 > --- a/arch/arm/mach-imx/cpu.c > +++ b/arch/arm/mach-imx/cpu.c > @@ -16,6 +16,7 @@ > #include <asm/arch/clock.h> > #include <asm/arch/sys_proto.h> > #include <asm/arch/crm_regs.h> > +#include <asm/mach-imx/boot_mode.h> > #include <imx_thermal.h> > #include <ipu_pixfmt.h> > #include <thermal.h> > @@ -409,6 +410,43 @@ u32 get_cpu_temp_grade(int *minc, int *maxc) > } > #endif > > +#if defined(CONFIG_MX7) > +enum boot_device get_boot_device(void) > +{ > + struct bootrom_sw_info **p = > + (struct bootrom_sw_info **)(ulong)ROM_SW_INFO_ADDR; > + > + enum boot_device boot_dev = SD1_BOOT; > + u8 boot_type = (*p)->boot_dev_type; > + u8 boot_instance = (*p)->boot_dev_instance; > + > + switch (boot_type) { > + case BOOT_TYPE_SD: > + boot_dev = boot_instance + SD1_BOOT; > + break; > + case BOOT_TYPE_MMC: > + boot_dev = boot_instance + MMC1_BOOT; > + break; > + case BOOT_TYPE_NAND: > + boot_dev = NAND_BOOT; > + break; > + case BOOT_TYPE_QSPI: > + boot_dev = QSPI_BOOT; > + break; > + case BOOT_TYPE_WEIM: > + boot_dev = WEIM_NOR_BOOT; > + break; > + case BOOT_TYPE_SPINOR: > + boot_dev = SPI_NOR_BOOT; > + break; > + default: > + break; > + } > + > + return boot_dev; > +} > +#endif > + > #ifdef CONFIG_NXP_BOARD_REVISION > int nxp_board_rev(void) > { > diff --git a/arch/arm/mach-imx/mx7/soc.c b/arch/arm/mach-imx/mx7/soc.c > index 72dbd625c9..62bd3a0e5f 100644 > --- a/arch/arm/mach-imx/mx7/soc.c > +++ b/arch/arm/mach-imx/mx7/soc.c > @@ -250,41 +250,6 @@ const struct boot_mode soc_boot_modes[] = { > {NULL, 0}, > }; > > -enum boot_device get_boot_device(void) > -{ > - struct bootrom_sw_info **p = > - (struct bootrom_sw_info **)ROM_SW_INFO_ADDR; > - > - enum boot_device boot_dev = SD1_BOOT; > - u8 boot_type = (*p)->boot_dev_type; > - u8 boot_instance = (*p)->boot_dev_instance; > - > - switch (boot_type) { > - case BOOT_TYPE_SD: > - boot_dev = boot_instance + SD1_BOOT; > - break; > - case BOOT_TYPE_MMC: > - boot_dev = boot_instance + MMC1_BOOT; > - break; > - case BOOT_TYPE_NAND: > - boot_dev = NAND_BOOT; > - break; > - case BOOT_TYPE_QSPI: > - boot_dev = QSPI_BOOT; > - break; > - case BOOT_TYPE_WEIM: > - boot_dev = WEIM_NOR_BOOT; > - break; > - case BOOT_TYPE_SPINOR: > - boot_dev = SPI_NOR_BOOT; > - break; > - default: > - break; > - } > - > - return boot_dev; > -} > - > #ifdef CONFIG_ENV_IS_IN_MMC > __weak int board_mmc_get_env_dev(int devno) > {
> Reviewed-by: Stefano Babic <sba...@denx.de> 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: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot