From 0b9c3c7d5018d4c7fbbc86554bd77bb5f7754eb0 Mon Sep 17 00:00:00 2001 From: Heesub Shin Date: Fri, 7 Apr 2017 17:25:05 +0900 Subject: [PATCH] s5j: remove all CONFIG_S5J_FLASH_XXX CONFIG_S5J_FLASH_XXX should not be used. Those definitions are pretending as they are configurable, but definitely not. For example, the base address of flash region is constant, not configurable. This makes people very confused and should be fixed. Change-Id: Ica687298da211e1c5b0944a053f285f2a711f7bc Signed-off-by: Heesub Shin --- os/arch/arm/src/s5j/Kconfig | 28 ---------------------------- os/arch/arm/src/s5j/s5j_boot.c | 10 +++++----- os/arch/arm/src/s5j/s5j_sflash.c | 6 +++--- 3 files changed, 8 insertions(+), 36 deletions(-) diff --git a/os/arch/arm/src/s5j/Kconfig b/os/arch/arm/src/s5j/Kconfig index 6827254..c922ad4 100644 --- a/os/arch/arm/src/s5j/Kconfig +++ b/os/arch/arm/src/s5j/Kconfig @@ -222,34 +222,6 @@ config S5J_SFLASH if S5J_SFLASH menu "Serial FLASH region" -config S5J_FLASH_BASE - hex "Nor Flash start address (physical)" - default 0x04000000 - help - Samsung S5J SoC uses serial nor flash memory, this needs base address of memory map - -config S5J_FLASH_MIRROR_BASE - hex "Nor Flash mirrored address (physical)" - default 0x60000000 - help - Provides mirror address mapped to Nor flash with same space - -config S5J_FLASH_SIZE - hex "Nor Flash size (Byte)" - default 0x800000 - help - Samsung IoT uses serial nor flash memory, set to default size - -config S5J_FLASH_SECTOR_SIZE - hex "Flash sector size (Byte)" - default 4096 - -config S5J_BOOTLOADER_REGION_SIZE - hex "Boot loader region size (Byte)" - default 0x400000 - help - When smartfs initialize flash, it will be skipped. This features is used to - prevent for erasing or accessing to Non smartfs region. config NVRAM_WIFI_START hex "WiFi shared memory size" diff --git a/os/arch/arm/src/s5j/s5j_boot.c b/os/arch/arm/src/s5j/s5j_boot.c index ad6e5eb..2975656 100644 --- a/os/arch/arm/src/s5j/s5j_boot.c +++ b/os/arch/arm/src/s5j/s5j_boot.c @@ -126,19 +126,19 @@ int s5j_mpu_initialize(void) mpu_priv_noncache(0x02100000, 0x80000); /* Region 3, for FLASH area, default to set WBWA */ - mpu_user_intsram_wb(CONFIG_S5J_FLASH_BASE, CONFIG_S5J_FLASH_SIZE); + mpu_user_intsram_wb(S5J_FLASH_PADDR, S5J_FLASH_SIZE); /* region 4, for Sflash Mirror area to be read only */ - mpu_priv_flash(CONFIG_S5J_FLASH_MIRROR_BASE, CONFIG_S5J_FLASH_SIZE); + mpu_priv_flash(S5J_FLASH_MIRROR_PADDR, S5J_FLASH_MIRROR_SIZE); /* Region 5, for SFR area read/write, strongly-ordered */ - mpu_priv_stronglyordered(0x80000000, 0x10000000); + mpu_priv_stronglyordered(S5J_PERIPHERAL_PADDR, S5J_PERIPHERAL_SIZE); /* * Region 6, for vector table, - * s5j uses high vector in 0xFFFF_0000++4KB, read only + * set the entire high vector region as read-only. */ - mpu_priv_flash(0xFFFF0000, 0x1000); + mpu_priv_flash(S5J_IRAM_MIRROR_PADDR, S5J_IRAM_MIRROR_SIZE); mpu_control(true); #endif diff --git a/os/arch/arm/src/s5j/s5j_sflash.c b/os/arch/arm/src/s5j/s5j_sflash.c index bb91e33..ca0d1ba 100644 --- a/os/arch/arm/src/s5j/s5j_sflash.c +++ b/os/arch/arm/src/s5j/s5j_sflash.c @@ -150,12 +150,12 @@ static uint8_t s5j_sflash_read_status(void) #ifdef CONFIG_MTD_PROGMEM size_t up_progmem_getaddress(size_t page) { - return CONFIG_S5J_FLASH_BASE + up_progmem_pagesize(page) * page; + return S5J_FLASH_PADDR + up_progmem_pagesize(page) * page; } ssize_t up_progmem_getpage(size_t addr) { - return (addr - CONFIG_S5J_FLASH_BASE) / up_progmem_pagesize(0); + return (addr - S5J_FLASH_PADDR) / up_progmem_pagesize(0); } ssize_t up_progmem_erasepage(size_t page) @@ -174,7 +174,7 @@ ssize_t up_progmem_erasepage(size_t page) s5j_sflash_disable_wp(); /* Set sector address and then send erase command */ - putreg32(addr - CONFIG_S5J_FLASH_BASE, rERASE_ADDRESS); + putreg32(addr - S5J_FLASH_PADDR, rERASE_ADDRESS); putreg8(0xff, rSE); /* Wait for the completion */ -- 2.7.4