Re: [U-Boot] [PATCH 1/2] ARM: UniPhier: add set_pinsel macro for use in assembly code

2014-11-11 Thread Masahiro YAMADA
2014-11-07 21:08 GMT+09:00 Masahiro Yamada yamad...@jp.panasonic.com:
 The function sg_set_pinsel is useful for switching I/O pins
 but it can be only used in C code.  This commit adds a simple
 macro that is available in asm code.

 Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com


Applied to u-boot-uniphier/master.


-- 
Best Regards
Masahiro Yamada
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/2] ARM: UniPhier: add set_pinsel macro for use in assembly code

2014-11-07 Thread Masahiro Yamada
The function sg_set_pinsel is useful for switching I/O pins
but it can be only used in C code.  This commit adds a simple
macro that is available in asm code.

Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com
---

 arch/arm/include/asm/arch-uniphier/sg-regs.h | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/arch/arm/include/asm/arch-uniphier/sg-regs.h 
b/arch/arm/include/asm/arch-uniphier/sg-regs.h
index 79d7ec7..fa5e6ae 100644
--- a/arch/arm/include/asm/arch-uniphier/sg-regs.h
+++ b/arch/arm/include/asm/arch-uniphier/sg-regs.h
@@ -88,7 +88,18 @@
 #define SG_PINMON0_CLK_MODE_AXOSEL_20480KHZ(0x2  16)
 #define SG_PINMON0_CLK_MODE_AXOSEL_25000KHZ_A  (0x3  16)
 
-#ifndef __ASSEMBLY__
+#ifdef __ASSEMBLY__
+
+   .macro  set_pinsel, n, value, ra, rd
+   ldr \ra, =SG_PINSEL_ADDR(\n)
+   ldr \rd, [\ra]
+   and \rd, \rd, #SG_PINSEL_MASK(\n)
+   orr \rd, \rd, #SG_PINSEL_MODE(\n, \value)
+   str \rd, [\ra]
+   .endm
+
+#else
+
 #include linux/types.h
 #include asm/io.h
 
-- 
1.9.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot