mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	CONFIG_DM_MMC and CONFIG_DM_SPI are alway selected so the mmc and spi board code can be safely removed. Remove it to make the code cleaner. Signed-off-by: Fabio Estevam <festevam@denx.de>
		
			
				
	
	
		
			134 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0+
 | |
| /*
 | |
|  * Copyright (C) 2012 Freescale Semiconductor, Inc.
 | |
|  * Author: Fabio Estevam <fabio.estevam@freescale.com>
 | |
|  *
 | |
|  * Copyright (C) 2013, 2014 TQ-Systems (ported SabreSD to TQMa6x)
 | |
|  * Author: Markus Niebel <markus.niebel@tq-group.com>
 | |
|  */
 | |
| 
 | |
| #include <init.h>
 | |
| #include <asm/arch/clock.h>
 | |
| #include <asm/arch/mx6-pins.h>
 | |
| #include <asm/arch/imx-regs.h>
 | |
| #include <asm/arch/iomux.h>
 | |
| #include <asm/arch/sys_proto.h>
 | |
| #include <env.h>
 | |
| #include <fdt_support.h>
 | |
| #include <asm/global_data.h>
 | |
| #include <linux/errno.h>
 | |
| #include <asm/gpio.h>
 | |
| #include <asm/io.h>
 | |
| #include <linux/libfdt.h>
 | |
| #include <mmc.h>
 | |
| #include <power/pfuze100_pmic.h>
 | |
| #include <power/pmic.h>
 | |
| 
 | |
| #include "tqma6_bb.h"
 | |
| 
 | |
| DECLARE_GLOBAL_DATA_PTR;
 | |
| 
 | |
| int dram_init(void)
 | |
| {
 | |
| 	gd->ram_size = imx_ddr_size();
 | |
| 
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| static const uint16_t tqma6_emmc_dsr = 0x0100;
 | |
| 
 | |
| 
 | |
| int board_early_init_f(void)
 | |
| {
 | |
| 	return tqma6_bb_board_early_init_f();
 | |
| }
 | |
| 
 | |
| int board_init(void)
 | |
| {
 | |
| 	/* address of boot parameters */
 | |
| 	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
 | |
| 
 | |
| #ifndef CONFIG_DM_SPI
 | |
| 	tqma6_iomuxc_spi();
 | |
| #endif
 | |
| 	tqma6_bb_board_init();
 | |
| 
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| static const char *tqma6_get_boardname(void)
 | |
| {
 | |
| 	u32 cpurev = get_cpu_rev();
 | |
| 
 | |
| 	switch ((cpurev & 0xFF000) >> 12) {
 | |
| 	case MXC_CPU_MX6SOLO:
 | |
| 		return "TQMa6S";
 | |
| 		break;
 | |
| 	case MXC_CPU_MX6DL:
 | |
| 		return "TQMa6DL";
 | |
| 		break;
 | |
| 	case MXC_CPU_MX6D:
 | |
| 		return "TQMa6D";
 | |
| 		break;
 | |
| 	case MXC_CPU_MX6Q:
 | |
| 		return "TQMa6Q";
 | |
| 		break;
 | |
| 	default:
 | |
| 		return "??";
 | |
| 	};
 | |
| }
 | |
| 
 | |
| #if CONFIG_IS_ENABLED(DM_PMIC)
 | |
| /* setup board specific PMIC */
 | |
| int power_init_board(void)
 | |
| {
 | |
| 	struct udevice *dev;
 | |
| 	u32 reg, rev;
 | |
| 	int ret;
 | |
| 
 | |
| 	ret = pmic_get("pmic@8", &dev);
 | |
| 	if (ret < 0)
 | |
| 		return 0;
 | |
| 
 | |
| 	reg = pmic_reg_read(dev, PFUZE100_DEVICEID);
 | |
| 	rev = pmic_reg_read(dev, PFUZE100_REVID);
 | |
| 
 | |
| 	printf("PMIC:  PFUZE100 ID=0x%02x REV=0x%02x\n", reg, rev);
 | |
| 	return 0;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| int board_late_init(void)
 | |
| {
 | |
| 	env_set("board_name", tqma6_get_boardname());
 | |
| 
 | |
| 	tqma6_bb_board_late_init();
 | |
| 
 | |
| 	printf("Board: %s on a %s\n", tqma6_get_boardname(),
 | |
| 	       tqma6_bb_get_boardname());
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * Device Tree Support
 | |
|  */
 | |
| #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
 | |
| #define MODELSTRLEN 32u
 | |
| int ft_board_setup(void *blob, struct bd_info *bd)
 | |
| {
 | |
| 	char modelstr[MODELSTRLEN];
 | |
| 
 | |
| 	snprintf(modelstr, MODELSTRLEN, "TQ %s on %s", tqma6_get_boardname(),
 | |
| 		 tqma6_bb_get_boardname());
 | |
| 	do_fixup_by_path_string(blob, "/", "model", modelstr);
 | |
| 	fdt_fixup_memory(blob, (u64)PHYS_SDRAM, (u64)gd->ram_size);
 | |
| 	/* bring in eMMC dsr settings */
 | |
| 	do_fixup_by_path_u32(blob,
 | |
| 			     "/soc/aips-bus@02100000/usdhc@02198000",
 | |
| 			     "dsr", tqma6_emmc_dsr, 2);
 | |
| 	tqma6_bb_ft_board_setup(blob, bd);
 | |
| 
 | |
| 	return 0;
 | |
| }
 | |
| #endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */
 |