mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	This patch adds SDRAM support for stm32f746 discovery board. This patch depends on previous patch. This patch is based on STM32F4 and emcraft's[1]. [1]: https://github.com/EmcraftSystems/u-boot Signed-off-by: Toshifumi NISHINAGA <tnishinaga.dev@gmail.com>
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * (C) Copyright 2015
 | |
|  * Kamil Lulko, <kamil.lulko@gmail.com>
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #include <common.h>
 | |
| #include <asm/io.h>
 | |
| #include <asm/armv7m.h>
 | |
| #include <asm/arch/stm32.h>
 | |
| 
 | |
| u32 get_cpu_rev(void)
 | |
| {
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| int arch_cpu_init(void)
 | |
| {
 | |
| 	configure_clocks();
 | |
| 
 | |
| 	/*
 | |
| 		* Configure the memory protection unit (MPU)
 | |
| 		* 0x00000000 - 0xffffffff: Strong-order, Shareable
 | |
| 		* 0xC0000000 - 0xC0800000: Normal, Outer and inner Non-cacheable
 | |
| 	 */
 | |
| 
 | |
| 	 /* Disable MPU */
 | |
| 	 writel(0, &V7M_MPU->ctrl);
 | |
| 
 | |
| 	 writel(
 | |
| 		 0x00000000 /* address */
 | |
| 		 | 1 << 4	/* VALID */
 | |
| 		 | 0 << 0	/* REGION */
 | |
| 		 , &V7M_MPU->rbar
 | |
| 	 );
 | |
| 
 | |
| 	 /* Strong-order, Shareable */
 | |
| 	 /* TEX=000, S=1, C=0, B=0*/
 | |
| 	 writel(
 | |
| 		 (V7M_MPU_RASR_XN_ENABLE
 | |
| 			 | V7M_MPU_RASR_AP_RW_RW
 | |
| 			 | 0x01 << V7M_MPU_RASR_S_SHIFT
 | |
| 			 | 0x00 << V7M_MPU_RASR_TEX_SHIFT
 | |
| 			 | V7M_MPU_RASR_SIZE_4GB
 | |
| 			 | V7M_MPU_RASR_EN)
 | |
| 		 , &V7M_MPU->rasr
 | |
| 	 );
 | |
| 
 | |
| 	 writel(
 | |
| 		 0xC0000000 /* address */
 | |
| 		 | 1 << 4	/* VALID */
 | |
| 		 | 1 << 0	/* REGION */
 | |
| 		 , &V7M_MPU->rbar
 | |
| 	 );
 | |
| 
 | |
| 	 /* Normal, Outer and inner Non-cacheable */
 | |
| 	 /* TEX=001, S=0, C=0, B=0*/
 | |
| 	 writel(
 | |
| 		 (V7M_MPU_RASR_XN_ENABLE
 | |
| 			 | V7M_MPU_RASR_AP_RW_RW
 | |
| 			 | 0x01 << V7M_MPU_RASR_TEX_SHIFT
 | |
| 			 | V7M_MPU_RASR_SIZE_8MB
 | |
| 			 | V7M_MPU_RASR_EN)
 | |
| 			 , &V7M_MPU->rasr
 | |
| 	 );
 | |
| 
 | |
| 	 /* Enable MPU */
 | |
| 	 writel(V7M_MPU_CTRL_ENABLE | V7M_MPU_CTRL_HFNMIENA, &V7M_MPU->ctrl);
 | |
| 
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| void s_init(void)
 | |
| {
 | |
| }
 |