mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	mx6sabresd: Move the DCD settings to spl code
mx6sabresd_spl.cfg configures CCM registers, GPR registers and CCM_CCOSR. Move the configuration to the spl code. CCM_CCOSR setting is no longer required to get audio functionality in the kernel, so remove such setting. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
This commit is contained in:
		
							parent
							
								
									db544b9662
								
							
						
					
					
						commit
						6e9b6bb5a0
					
				@ -729,6 +729,30 @@ static struct mx6_ddr3_cfg mem_ddr = {
 | 
				
			|||||||
	.trasmin = 3500,
 | 
						.trasmin = 3500,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void ccgr_init(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						writel(0x00C03F3F, &ccm->CCGR0);
 | 
				
			||||||
 | 
						writel(0x0030FC03, &ccm->CCGR1);
 | 
				
			||||||
 | 
						writel(0x0FFFC000, &ccm->CCGR2);
 | 
				
			||||||
 | 
						writel(0x3FF00000, &ccm->CCGR3);
 | 
				
			||||||
 | 
						writel(0x00FFF300, &ccm->CCGR4);
 | 
				
			||||||
 | 
						writel(0x0F0000C3, &ccm->CCGR5);
 | 
				
			||||||
 | 
						writel(0x000003FF, &ccm->CCGR6);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void gpr_init(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* enable AXI cache for VDOA/VPU/IPU */
 | 
				
			||||||
 | 
						writel(0xF00000CF, &iomux->gpr[4]);
 | 
				
			||||||
 | 
						/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */
 | 
				
			||||||
 | 
						writel(0x007F007F, &iomux->gpr[6]);
 | 
				
			||||||
 | 
						writel(0x007F007F, &iomux->gpr[7]);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * This section require the differentiation
 | 
					 * This section require the differentiation
 | 
				
			||||||
 * between iMX6 Sabre Families.
 | 
					 * between iMX6 Sabre Families.
 | 
				
			||||||
@ -768,6 +792,9 @@ void board_init_f(ulong dummy)
 | 
				
			|||||||
	/* setup AIPS and disable watchdog */
 | 
						/* setup AIPS and disable watchdog */
 | 
				
			||||||
	arch_cpu_init();
 | 
						arch_cpu_init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ccgr_init();
 | 
				
			||||||
 | 
						gpr_init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* iomux and setup of i2c */
 | 
						/* iomux and setup of i2c */
 | 
				
			||||||
	board_early_init_f();
 | 
						board_early_init_f();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -18,41 +18,3 @@ IMAGE_VERSION 2
 | 
				
			|||||||
 * spi, sd (the board has no nand neither onenand)
 | 
					 * spi, sd (the board has no nand neither onenand)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
BOOT_FROM      sd
 | 
					BOOT_FROM      sd
 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Device Configuration Data (DCD)
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Each entry must have the format:
 | 
					 | 
				
			||||||
 * Addr-type           Address        Value
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * where:
 | 
					 | 
				
			||||||
 *      Addr-type register length (1,2 or 4 bytes)
 | 
					 | 
				
			||||||
 *      Address   absolute address of the register
 | 
					 | 
				
			||||||
 *      value     value to be stored in the register
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* set the default clock gate to save power */
 | 
					 | 
				
			||||||
DATA 4 0x020c4068 0x00C03F3F
 | 
					 | 
				
			||||||
DATA 4 0x020c406c 0x0030FC03
 | 
					 | 
				
			||||||
DATA 4 0x020c4070 0x0FFFC000
 | 
					 | 
				
			||||||
DATA 4 0x020c4074 0x3FF00000
 | 
					 | 
				
			||||||
DATA 4 0x020c4078 0x00FFF300
 | 
					 | 
				
			||||||
DATA 4 0x020c407c 0x0F0000C3
 | 
					 | 
				
			||||||
DATA 4 0x020c4080 0x000003FF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* enable AXI cache for VDOA/VPU/IPU */
 | 
					 | 
				
			||||||
DATA 4 0x020e0010 0xF00000CF
 | 
					 | 
				
			||||||
/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */
 | 
					 | 
				
			||||||
DATA 4 0x020e0018 0x007F007F
 | 
					 | 
				
			||||||
DATA 4 0x020e001c 0x007F007F
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Setup CCM_CCOSR register as follows:
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * cko1_en  = 1	   --> CKO1 enabled
 | 
					 | 
				
			||||||
 * cko1_div = 111  --> divide by 8
 | 
					 | 
				
			||||||
 * cko1_sel = 1011 --> ahb_clk_root
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * This sets CKO1 at ahb_clk_root/8 = 132/8 = 16.5 MHz
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
DATA 4 0x020c4060 0x000000fb
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user