xref: /rk3399_rockchip-uboot/board/freescale/bsc9131rdb/bsc9131rdb.c (revision 0e00a84cdedf7a1949486746225b35984b351eca)
17530d341SPrabhakar Kushwaha /*
27530d341SPrabhakar Kushwaha  * Copyright 2011-2012 Freescale Semiconductor, Inc.
37530d341SPrabhakar Kushwaha  *
41a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
57530d341SPrabhakar Kushwaha  */
67530d341SPrabhakar Kushwaha 
77530d341SPrabhakar Kushwaha #include <common.h>
87530d341SPrabhakar Kushwaha #include <asm/processor.h>
97530d341SPrabhakar Kushwaha #include <asm/mmu.h>
107530d341SPrabhakar Kushwaha #include <asm/cache.h>
117530d341SPrabhakar Kushwaha #include <asm/immap_85xx.h>
127530d341SPrabhakar Kushwaha #include <asm/io.h>
137530d341SPrabhakar Kushwaha #include <miiphy.h>
14*0e00a84cSMasahiro Yamada #include <linux/libfdt.h>
157530d341SPrabhakar Kushwaha #include <fdt_support.h>
167530d341SPrabhakar Kushwaha #include <fsl_mdio.h>
177530d341SPrabhakar Kushwaha #include <tsec.h>
187ac1a24aSAshish Kumar #include <jffs2/load_kernel.h>
197ac1a24aSAshish Kumar #include <mtd_node.h>
207ac1a24aSAshish Kumar #include <flash.h>
217530d341SPrabhakar Kushwaha #include <netdev.h>
227530d341SPrabhakar Kushwaha 
237530d341SPrabhakar Kushwaha 
247530d341SPrabhakar Kushwaha DECLARE_GLOBAL_DATA_PTR;
257530d341SPrabhakar Kushwaha 
board_early_init_f(void)267530d341SPrabhakar Kushwaha int board_early_init_f(void)
277530d341SPrabhakar Kushwaha {
287530d341SPrabhakar Kushwaha 	ccsr_gur_t *gur = (void *)CONFIG_SYS_MPC85xx_GUTS_ADDR;
297530d341SPrabhakar Kushwaha 
307530d341SPrabhakar Kushwaha 	clrbits_be32(&gur->pmuxcr2, MPC85xx_PMUXCR2_UART_CTS_B0_GPIO42);
317530d341SPrabhakar Kushwaha 	setbits_be32(&gur->pmuxcr2, MPC85xx_PMUXCR2_UART_CTS_B0_DSP_TMS);
327530d341SPrabhakar Kushwaha 
337530d341SPrabhakar Kushwaha 	clrbits_be32(&gur->pmuxcr2, MPC85xx_PMUXCR2_UART_RTS_B0_GPIO43);
347530d341SPrabhakar Kushwaha 	setbits_be32(&gur->pmuxcr2, MPC85xx_PMUXCR2_UART_RTS_B0_DSP_TCK |
357530d341SPrabhakar Kushwaha 			MPC85xx_PMUXCR2_UART_CTS_B1_SIM_PD);
367530d341SPrabhakar Kushwaha 	setbits_be32(&gur->halt_req_mask, HALTED_TO_HALT_REQ_MASK_0);
377530d341SPrabhakar Kushwaha 	clrsetbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_IFC_AD_GPIO_MASK |
387530d341SPrabhakar Kushwaha 			MPC85xx_PMUXCR_IFC_AD17_GPO_MASK,
397530d341SPrabhakar Kushwaha 			MPC85xx_PMUXCR_IFC_AD_GPIO |
407530d341SPrabhakar Kushwaha 			MPC85xx_PMUXCR_IFC_AD17_GPO | MPC85xx_PMUXCR_SDHC_USIM);
417530d341SPrabhakar Kushwaha 
427530d341SPrabhakar Kushwaha 	return 0;
437530d341SPrabhakar Kushwaha }
447530d341SPrabhakar Kushwaha 
checkboard(void)457530d341SPrabhakar Kushwaha int checkboard(void)
467530d341SPrabhakar Kushwaha {
477530d341SPrabhakar Kushwaha 	struct cpu_type *cpu;
487530d341SPrabhakar Kushwaha 
4967ac13b1SSimon Glass 	cpu = gd->arch.cpu;
507530d341SPrabhakar Kushwaha 	printf("Board: %sRDB\n", cpu->name);
517530d341SPrabhakar Kushwaha 
527530d341SPrabhakar Kushwaha 	return 0;
537530d341SPrabhakar Kushwaha }
547530d341SPrabhakar Kushwaha 
557530d341SPrabhakar Kushwaha #if defined(CONFIG_OF_BOARD_SETUP)
567ac1a24aSAshish Kumar #ifdef CONFIG_FDT_FIXUP_PARTITIONS
577ac1a24aSAshish Kumar struct node_info nodes[] = {
587ac1a24aSAshish Kumar 	{ "fsl,ifc-nand",		MTD_DEV_TYPE_NAND, },
597ac1a24aSAshish Kumar };
607ac1a24aSAshish Kumar #endif
ft_board_setup(void * blob,bd_t * bd)61e895a4b0SSimon Glass int ft_board_setup(void *blob, bd_t *bd)
627530d341SPrabhakar Kushwaha {
637530d341SPrabhakar Kushwaha 	phys_addr_t base;
647530d341SPrabhakar Kushwaha 	phys_size_t size;
657530d341SPrabhakar Kushwaha 
667530d341SPrabhakar Kushwaha 	ft_cpu_setup(blob, bd);
677530d341SPrabhakar Kushwaha 
68723806ccSSimon Glass 	base = env_get_bootm_low();
69723806ccSSimon Glass 	size = env_get_bootm_size();
707530d341SPrabhakar Kushwaha 
717530d341SPrabhakar Kushwaha 	fdt_fixup_memory(blob, (u64)base, (u64)size);
727ac1a24aSAshish Kumar #ifdef CONFIG_FDT_FIXUP_PARTITIONS
737ac1a24aSAshish Kumar 	fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
747ac1a24aSAshish Kumar #endif
757530d341SPrabhakar Kushwaha 
76a5c289b9SSriram Dash 	fsl_fdt_fixup_dr_usb(blob, bd);
77e895a4b0SSimon Glass 
78e895a4b0SSimon Glass 	return 0;
797530d341SPrabhakar Kushwaha }
807530d341SPrabhakar Kushwaha #endif
81