From: Enric Balletbo i Serra Date: Wed, 25 May 2011 08:30:34 +0000 (+0200) Subject: OMAP3: Move sr32() function to not duplicate code X-Git-Tag: v1.5.1~6 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b3fd68b8b8f2b6fc417695788c21467f41ad052;p=pandora-x-loader.git OMAP3: Move sr32() function to not duplicate code The sr32() function is implemented by various boards, this patch moves this function to a common place to not duplicate code. board/omap3530beagle/omap3530beagle.c:215:void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) board/igep00x0/igep00x0.c :89:void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) board/omap3430sdp/omap3430sdp.c :103:void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) board/omap3evm/omap3evm.c :147:void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) board/omap3430labrador/omap3430sdp.c :100:void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) board/overo/overo.c :206:void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) Signed-off-by: Enric Balletbo i Serra Signed-off-by: Anand Gadiyar --- diff --git a/board/igep00x0/igep00x0.c b/board/igep00x0/igep00x0.c index 64cc023..f1c1829 100644 --- a/board/igep00x0/igep00x0.c +++ b/board/igep00x0/igep00x0.c @@ -83,19 +83,6 @@ u32 get_mem_type(void) return GPMC_ONENAND; } -/***************************************************************** - * sr32 - clear & set a value in a bit range for a 32 bit address - *****************************************************************/ -void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) -{ - u32 tmp, msk = 0; - msk = 1 << num_bits; - --msk; - tmp = __raw_readl(addr) & ~(msk << start_bit); - tmp |= value << start_bit; - __raw_writel(tmp, addr); -} - /********************************************************************* * wait_on_value() - common routine to allow waiting for changes in * volatile regs. diff --git a/board/omap3430labrador/omap3430sdp.c b/board/omap3430labrador/omap3430sdp.c index 7fcaec1..300deb1 100644 --- a/board/omap3430labrador/omap3430sdp.c +++ b/board/omap3430labrador/omap3430sdp.c @@ -94,19 +94,6 @@ u32 cpu_is_3410(void) } } -/***************************************************************** - * sr32 - clear & set a value in a bit range for a 32 bit address - *****************************************************************/ -void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) -{ - u32 tmp, msk = 0; - msk = 1 << num_bits; - --msk; - tmp = __raw_readl(addr) & ~(msk << start_bit); - tmp |= value << start_bit; - __raw_writel(tmp, addr); -} - /********************************************************************* * wait_on_value() - common routine to allow waiting for changes in * volatile regs. diff --git a/board/omap3430sdp/omap3430sdp.c b/board/omap3430sdp/omap3430sdp.c index a0b0d0e..bfa61dc 100644 --- a/board/omap3430sdp/omap3430sdp.c +++ b/board/omap3430sdp/omap3430sdp.c @@ -97,19 +97,6 @@ u32 cpu_is_3410(void) } } -/***************************************************************** - * sr32 - clear & set a value in a bit range for a 32 bit address - *****************************************************************/ -void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) -{ - u32 tmp, msk = 0; - msk = 1 << num_bits; - --msk; - tmp = __raw_readl(addr) & ~(msk << start_bit); - tmp |= value << start_bit; - __raw_writel(tmp, addr); -} - /********************************************************************* * wait_on_value() - common routine to allow waiting for changes in * volatile regs. diff --git a/board/omap3530beagle/omap3530beagle.c b/board/omap3530beagle/omap3530beagle.c index b8656f5..5659f3b 100644 --- a/board/omap3530beagle/omap3530beagle.c +++ b/board/omap3530beagle/omap3530beagle.c @@ -209,19 +209,6 @@ int beagle_revision(void) return rev; } -/***************************************************************** - * sr32 - clear & set a value in a bit range for a 32 bit address - *****************************************************************/ -void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) -{ - u32 tmp, msk = 0; - msk = 1 << num_bits; - --msk; - tmp = __raw_readl(addr) & ~(msk << start_bit); - tmp |= value << start_bit; - __raw_writel(tmp, addr); -} - /********************************************************************* * wait_on_value() - common routine to allow waiting for changes in * volatile regs. diff --git a/board/omap3evm/omap3evm.c b/board/omap3evm/omap3evm.c index 27aed09..4265da1 100644 --- a/board/omap3evm/omap3evm.c +++ b/board/omap3evm/omap3evm.c @@ -141,19 +141,6 @@ u32 cpu_is_3410(void) } } -/***************************************************************** - * sr32 - clear & set a value in a bit range for a 32 bit address - *****************************************************************/ -void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) -{ - u32 tmp, msk = 0; - msk = 1 << num_bits; - --msk; - tmp = __raw_readl(addr) & ~(msk << start_bit); - tmp |= value << start_bit; - __raw_writel(tmp, addr); -} - /********************************************************************* * wait_on_value() - common routine to allow waiting for changes in * volatile regs. diff --git a/board/overo/overo.c b/board/overo/overo.c index 0beda9b..3b61335 100644 --- a/board/overo/overo.c +++ b/board/overo/overo.c @@ -200,19 +200,6 @@ int get_board_revision(void) return revision; } -/***************************************************************** - * sr32 - clear & set a value in a bit range for a 32 bit address - *****************************************************************/ -void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) -{ - u32 tmp, msk = 0; - msk = 1 << num_bits; - --msk; - tmp = __raw_readl(addr) & ~(msk << start_bit); - tmp |= value << start_bit; - __raw_writel(tmp, addr); -} - /********************************************************************* * wait_on_value() - common routine to allow waiting for changes in * volatile regs. diff --git a/cpu/omap3/sys_info.c b/cpu/omap3/sys_info.c index 87d4c15..bcf5f8e 100644 --- a/cpu/omap3/sys_info.c +++ b/cpu/omap3/sys_info.c @@ -34,6 +34,19 @@ static char *rev_s[CPU_3XX_MAX_REV] = { "UNKNOWN", "3.1.2"}; +/* + * sr32: clear & set a value in a bit range for a 32 bit address + */ +void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) +{ + u32 tmp, msk = 0; + msk = 1 << num_bits; + --msk; + tmp = __raw_readl(addr) & ~(msk << start_bit); + tmp |= value << start_bit; + __raw_writel(tmp, addr); +} + /* * get_device_type(): tell if GP/HS/EMU/TST */