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 <eballetbo@gmail.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
-/*****************************************************************
- * 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.
/*********************************************************************
* wait_on_value() - common routine to allow waiting for changes in
* volatile regs.
-/*****************************************************************
- * 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.
/*********************************************************************
* wait_on_value() - common routine to allow waiting for changes in
* volatile regs.
-/*****************************************************************
- * 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.
/*********************************************************************
* wait_on_value() - common routine to allow waiting for changes in
* volatile regs.
-/*****************************************************************
- * 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.
/*********************************************************************
* wait_on_value() - common routine to allow waiting for changes in
* volatile regs.
-/*****************************************************************
- * 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.
/*********************************************************************
* wait_on_value() - common routine to allow waiting for changes in
* volatile regs.
-/*****************************************************************
- * 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.
/*********************************************************************
* wait_on_value() - common routine to allow waiting for changes in
* volatile regs.
+/*
+ * 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
*/
/*
* get_device_type(): tell if GP/HS/EMU/TST
*/