Re: [U-Boot] [PATCH] mmc: rmobile: Add SDHC support for Renesas rmobile ARM SoC

2014-12-15 Thread Nobuhiro Iwamatsu
Hi, Pantelis.

Thanks for your review.

2014-12-13 3:25 GMT+09:00 Pantelis Antoniou pa...@antoniou-consulting.com:
 Hi Nobuhiro,

 Very good state, just a few niggles.

 On Nov 12, 2014, at 06:35 , Nobuhiro Iwamatsu 
 nobuhiro.iwamatsu...@renesas.com wrote:

 This adds Renesas rmobile ARM SoC's SD/MMC host support.
 This drivers tested with Gose board and Koelsch board.

 Signed-off-by: Yoshiyuki Ito yoshiyuki.ito...@renesas.com
 Signed-off-by: Nobuhiro Iwamatsu nobuhiro.iwamatsu...@renesas.com
 ---
 arch/arm/include/asm/arch-rmobile/r8a7790.h   |   6 +
 arch/arm/include/asm/arch-rmobile/r8a7791.h   |   5 +
 arch/arm/include/asm/arch-rmobile/r8a7793.h   |   5 +
 arch/arm/include/asm/arch-rmobile/r8a7794.h   |   5 +
 arch/arm/include/asm/arch-rmobile/rcar-base.h |   3 +
 arch/arm/include/asm/arch-rmobile/sh_sdhi.h   | 166 +++
 drivers/mmc/Kconfig   |   9 +
 drivers/mmc/Makefile  |   1 +
 drivers/mmc/sh_sdhi.c | 688 
 ++
 9 files changed, 888 insertions(+)
 create mode 100644 arch/arm/include/asm/arch-rmobile/sh_sdhi.h
 create mode 100644 drivers/mmc/sh_sdhi.c

 diff --git a/arch/arm/include/asm/arch-rmobile/r8a7790.h 
 b/arch/arm/include/asm/arch-rmobile/r8a7790.h
 index de14869..a70adc6 100644
 --- a/arch/arm/include/asm/arch-rmobile/r8a7790.h
 +++ b/arch/arm/include/asm/arch-rmobile/r8a7790.h
 @@ -15,6 +15,12 @@
 #define CONFIG_SYS_I2C_SH_BASE2   0xE652
 #define CONFIG_SYS_I2C_SH_BASE3   0xE60B

 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI1_BASE 0xEE12
 +#define CONFIG_SYS_SH_SDHI2_BASE 0xEE14
 +#define CONFIG_SYS_SH_SDHI3_BASE 0xEE16
 +#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 4
 +
 #define R8A7790_CUT_ES2X  2
 #define IS_R8A7790_ES2()  \
   (rmobile_get_cpu_rev_integer() == R8A7790_CUT_ES2X)
 diff --git a/arch/arm/include/asm/arch-rmobile/r8a7791.h 
 b/arch/arm/include/asm/arch-rmobile/r8a7791.h
 index 26a0bd5..658d435 100644
 --- a/arch/arm/include/asm/arch-rmobile/r8a7791.h
 +++ b/arch/arm/include/asm/arch-rmobile/r8a7791.h
 @@ -17,6 +17,11 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE2   0xE60B

 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
 +#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
 +#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
 +
 #define DBSC3_1_QOS_R0_BASE   0xE67A1000
 #define DBSC3_1_QOS_R1_BASE   0xE67A1100
 #define DBSC3_1_QOS_R2_BASE   0xE67A1200
 diff --git a/arch/arm/include/asm/arch-rmobile/r8a7793.h 
 b/arch/arm/include/asm/arch-rmobile/r8a7793.h
 index 778812e..505c812 100644
 --- a/arch/arm/include/asm/arch-rmobile/r8a7793.h
 +++ b/arch/arm/include/asm/arch-rmobile/r8a7793.h
 @@ -18,6 +18,11 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE2   0xE60B

 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
 +#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
 +#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
 +
 #define DBSC3_1_QOS_R0_BASE   0xE67A1000
 #define DBSC3_1_QOS_R1_BASE   0xE67A1100
 #define DBSC3_1_QOS_R2_BASE   0xE67A1200
 diff --git a/arch/arm/include/asm/arch-rmobile/r8a7794.h 
 b/arch/arm/include/asm/arch-rmobile/r8a7794.h
 index 66d5a29..e8f1d1d 100644
 --- a/arch/arm/include/asm/arch-rmobile/r8a7794.h
 +++ b/arch/arm/include/asm/arch-rmobile/r8a7794.h
 @@ -14,4 +14,9 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE2   0xE60B

 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
 +#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
 +#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
 +
 #endif /* __ASM_ARCH_R8A7794_H */
 diff --git a/arch/arm/include/asm/arch-rmobile/rcar-base.h 
 b/arch/arm/include/asm/arch-rmobile/rcar-base.h
 index dbbebcf..0bae173 100644
 --- a/arch/arm/include/asm/arch-rmobile/rcar-base.h
 +++ b/arch/arm/include/asm/arch-rmobile/rcar-base.h
 @@ -43,6 +43,9 @@
 #define CONFIG_SYS_RCAR_I2C2_BASE 0xE653
 #define CONFIG_SYS_RCAR_I2C3_BASE 0xE654

 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI0_BASE 0xEE10
 +
 #define S3C_BASE  0xE6784000
 #define S3C_INT_BASE  0xE6784A00
 #define S3C_MEDIA_BASE0xE6784B00
 diff --git a/arch/arm/include/asm/arch-rmobile/sh_sdhi.h 
 b/arch/arm/include/asm/arch-rmobile/sh_sdhi.h
 new file mode 100644
 index 000..bd9df09
 --- /dev/null
 +++ b/arch/arm/include/asm/arch-rmobile/sh_sdhi.h
 @@ -0,0 +1,166 @@
 +/*
 + * drivers/mmc/sh-sdhi.h
 + *
 + * SD/MMC driver for Reneas rmobile ARM SoCs
 + *
 + * Copyright (C) 2013-2014 Renesas Electronics Corporation
 + * Copyright (C) 2008-2009 Renesas Solutions Corp.
 + *
 + * SPDX-License-Identifier:  GPL-2.0
 + */
 +
 +#ifndef _SH_SDHI_H
 +#define _SH_SDHI_H
 +
 +#define SDHI_CMD (0x  1)
 +#define SDHI_PORTSEL (0x0004  1)
 +#define SDHI_ARG0(0x0008  1)
 +#define SDHI_ARG1(0x000C  1)
 +#define SDHI_STOP(0x0010  1)
 +#define SDHI_SECCNT  (0x0014  1)
 +#define SDHI_RSP00   

Re: [U-Boot] [PATCH] mmc: rmobile: Add SDHC support for Renesas rmobile ARM SoC

2014-12-12 Thread Pantelis Antoniou
Hi Nobuhiro,

Very good state, just a few niggles.

 On Nov 12, 2014, at 06:35 , Nobuhiro Iwamatsu 
 nobuhiro.iwamatsu...@renesas.com wrote:
 
 This adds Renesas rmobile ARM SoC's SD/MMC host support.
 This drivers tested with Gose board and Koelsch board.
 
 Signed-off-by: Yoshiyuki Ito yoshiyuki.ito...@renesas.com
 Signed-off-by: Nobuhiro Iwamatsu nobuhiro.iwamatsu...@renesas.com
 ---
 arch/arm/include/asm/arch-rmobile/r8a7790.h   |   6 +
 arch/arm/include/asm/arch-rmobile/r8a7791.h   |   5 +
 arch/arm/include/asm/arch-rmobile/r8a7793.h   |   5 +
 arch/arm/include/asm/arch-rmobile/r8a7794.h   |   5 +
 arch/arm/include/asm/arch-rmobile/rcar-base.h |   3 +
 arch/arm/include/asm/arch-rmobile/sh_sdhi.h   | 166 +++
 drivers/mmc/Kconfig   |   9 +
 drivers/mmc/Makefile  |   1 +
 drivers/mmc/sh_sdhi.c | 688 ++
 9 files changed, 888 insertions(+)
 create mode 100644 arch/arm/include/asm/arch-rmobile/sh_sdhi.h
 create mode 100644 drivers/mmc/sh_sdhi.c
 
 diff --git a/arch/arm/include/asm/arch-rmobile/r8a7790.h 
 b/arch/arm/include/asm/arch-rmobile/r8a7790.h
 index de14869..a70adc6 100644
 --- a/arch/arm/include/asm/arch-rmobile/r8a7790.h
 +++ b/arch/arm/include/asm/arch-rmobile/r8a7790.h
 @@ -15,6 +15,12 @@
 #define CONFIG_SYS_I2C_SH_BASE2   0xE652
 #define CONFIG_SYS_I2C_SH_BASE3   0xE60B
 
 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI1_BASE 0xEE12
 +#define CONFIG_SYS_SH_SDHI2_BASE 0xEE14
 +#define CONFIG_SYS_SH_SDHI3_BASE 0xEE16
 +#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 4
 +
 #define R8A7790_CUT_ES2X  2
 #define IS_R8A7790_ES2()  \
   (rmobile_get_cpu_rev_integer() == R8A7790_CUT_ES2X)
 diff --git a/arch/arm/include/asm/arch-rmobile/r8a7791.h 
 b/arch/arm/include/asm/arch-rmobile/r8a7791.h
 index 26a0bd5..658d435 100644
 --- a/arch/arm/include/asm/arch-rmobile/r8a7791.h
 +++ b/arch/arm/include/asm/arch-rmobile/r8a7791.h
 @@ -17,6 +17,11 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE2   0xE60B
 
 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
 +#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
 +#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
 +
 #define DBSC3_1_QOS_R0_BASE   0xE67A1000
 #define DBSC3_1_QOS_R1_BASE   0xE67A1100
 #define DBSC3_1_QOS_R2_BASE   0xE67A1200
 diff --git a/arch/arm/include/asm/arch-rmobile/r8a7793.h 
 b/arch/arm/include/asm/arch-rmobile/r8a7793.h
 index 778812e..505c812 100644
 --- a/arch/arm/include/asm/arch-rmobile/r8a7793.h
 +++ b/arch/arm/include/asm/arch-rmobile/r8a7793.h
 @@ -18,6 +18,11 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE2   0xE60B
 
 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
 +#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
 +#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
 +
 #define DBSC3_1_QOS_R0_BASE   0xE67A1000
 #define DBSC3_1_QOS_R1_BASE   0xE67A1100
 #define DBSC3_1_QOS_R2_BASE   0xE67A1200
 diff --git a/arch/arm/include/asm/arch-rmobile/r8a7794.h 
 b/arch/arm/include/asm/arch-rmobile/r8a7794.h
 index 66d5a29..e8f1d1d 100644
 --- a/arch/arm/include/asm/arch-rmobile/r8a7794.h
 +++ b/arch/arm/include/asm/arch-rmobile/r8a7794.h
 @@ -14,4 +14,9 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE2   0xE60B
 
 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
 +#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
 +#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
 +
 #endif /* __ASM_ARCH_R8A7794_H */
 diff --git a/arch/arm/include/asm/arch-rmobile/rcar-base.h 
 b/arch/arm/include/asm/arch-rmobile/rcar-base.h
 index dbbebcf..0bae173 100644
 --- a/arch/arm/include/asm/arch-rmobile/rcar-base.h
 +++ b/arch/arm/include/asm/arch-rmobile/rcar-base.h
 @@ -43,6 +43,9 @@
 #define CONFIG_SYS_RCAR_I2C2_BASE 0xE653
 #define CONFIG_SYS_RCAR_I2C3_BASE 0xE654
 
 +/* SDHI */
 +#define CONFIG_SYS_SH_SDHI0_BASE 0xEE10
 +
 #define S3C_BASE  0xE6784000
 #define S3C_INT_BASE  0xE6784A00
 #define S3C_MEDIA_BASE0xE6784B00
 diff --git a/arch/arm/include/asm/arch-rmobile/sh_sdhi.h 
 b/arch/arm/include/asm/arch-rmobile/sh_sdhi.h
 new file mode 100644
 index 000..bd9df09
 --- /dev/null
 +++ b/arch/arm/include/asm/arch-rmobile/sh_sdhi.h
 @@ -0,0 +1,166 @@
 +/*
 + * drivers/mmc/sh-sdhi.h
 + *
 + * SD/MMC driver for Reneas rmobile ARM SoCs
 + *
 + * Copyright (C) 2013-2014 Renesas Electronics Corporation
 + * Copyright (C) 2008-2009 Renesas Solutions Corp.
 + *
 + * SPDX-License-Identifier:  GPL-2.0
 + */
 +
 +#ifndef _SH_SDHI_H
 +#define _SH_SDHI_H
 +
 +#define SDHI_CMD (0x  1)
 +#define SDHI_PORTSEL (0x0004  1)
 +#define SDHI_ARG0(0x0008  1)
 +#define SDHI_ARG1(0x000C  1)
 +#define SDHI_STOP(0x0010  1)
 +#define SDHI_SECCNT  (0x0014  1)
 +#define SDHI_RSP00   (0x0018  1)
 +#define SDHI_RSP01   (0x001C  1)
 +#define SDHI_RSP02

[U-Boot] [PATCH] mmc: rmobile: Add SDHC support for Renesas rmobile ARM SoC

2014-11-11 Thread Nobuhiro Iwamatsu
This adds Renesas rmobile ARM SoC's SD/MMC host support.
This drivers tested with Gose board and Koelsch board.

Signed-off-by: Yoshiyuki Ito yoshiyuki.ito...@renesas.com
Signed-off-by: Nobuhiro Iwamatsu nobuhiro.iwamatsu...@renesas.com
---
 arch/arm/include/asm/arch-rmobile/r8a7790.h   |   6 +
 arch/arm/include/asm/arch-rmobile/r8a7791.h   |   5 +
 arch/arm/include/asm/arch-rmobile/r8a7793.h   |   5 +
 arch/arm/include/asm/arch-rmobile/r8a7794.h   |   5 +
 arch/arm/include/asm/arch-rmobile/rcar-base.h |   3 +
 arch/arm/include/asm/arch-rmobile/sh_sdhi.h   | 166 +++
 drivers/mmc/Kconfig   |   9 +
 drivers/mmc/Makefile  |   1 +
 drivers/mmc/sh_sdhi.c | 688 ++
 9 files changed, 888 insertions(+)
 create mode 100644 arch/arm/include/asm/arch-rmobile/sh_sdhi.h
 create mode 100644 drivers/mmc/sh_sdhi.c

diff --git a/arch/arm/include/asm/arch-rmobile/r8a7790.h 
b/arch/arm/include/asm/arch-rmobile/r8a7790.h
index de14869..a70adc6 100644
--- a/arch/arm/include/asm/arch-rmobile/r8a7790.h
+++ b/arch/arm/include/asm/arch-rmobile/r8a7790.h
@@ -15,6 +15,12 @@
 #define CONFIG_SYS_I2C_SH_BASE20xE652
 #define CONFIG_SYS_I2C_SH_BASE30xE60B
 
+/* SDHI */
+#define CONFIG_SYS_SH_SDHI1_BASE 0xEE12
+#define CONFIG_SYS_SH_SDHI2_BASE 0xEE14
+#define CONFIG_SYS_SH_SDHI3_BASE 0xEE16
+#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 4
+
 #define R8A7790_CUT_ES2X   2
 #define IS_R8A7790_ES2()   \
(rmobile_get_cpu_rev_integer() == R8A7790_CUT_ES2X)
diff --git a/arch/arm/include/asm/arch-rmobile/r8a7791.h 
b/arch/arm/include/asm/arch-rmobile/r8a7791.h
index 26a0bd5..658d435 100644
--- a/arch/arm/include/asm/arch-rmobile/r8a7791.h
+++ b/arch/arm/include/asm/arch-rmobile/r8a7791.h
@@ -17,6 +17,11 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE20xE60B
 
+/* SDHI */
+#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
+#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
+#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
+
 #define DBSC3_1_QOS_R0_BASE0xE67A1000
 #define DBSC3_1_QOS_R1_BASE0xE67A1100
 #define DBSC3_1_QOS_R2_BASE0xE67A1200
diff --git a/arch/arm/include/asm/arch-rmobile/r8a7793.h 
b/arch/arm/include/asm/arch-rmobile/r8a7793.h
index 778812e..505c812 100644
--- a/arch/arm/include/asm/arch-rmobile/r8a7793.h
+++ b/arch/arm/include/asm/arch-rmobile/r8a7793.h
@@ -18,6 +18,11 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE20xE60B
 
+/* SDHI */
+#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
+#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
+#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
+
 #define DBSC3_1_QOS_R0_BASE0xE67A1000
 #define DBSC3_1_QOS_R1_BASE0xE67A1100
 #define DBSC3_1_QOS_R2_BASE0xE67A1200
diff --git a/arch/arm/include/asm/arch-rmobile/r8a7794.h 
b/arch/arm/include/asm/arch-rmobile/r8a7794.h
index 66d5a29..e8f1d1d 100644
--- a/arch/arm/include/asm/arch-rmobile/r8a7794.h
+++ b/arch/arm/include/asm/arch-rmobile/r8a7794.h
@@ -14,4 +14,9 @@
 /* SH-I2C */
 #define CONFIG_SYS_I2C_SH_BASE20xE60B
 
+/* SDHI */
+#define CONFIG_SYS_SH_SDHI1_BASE 0xEE14
+#define CONFIG_SYS_SH_SDHI2_BASE 0xEE16
+#define CONFIG_SYS_SH_SDHI_NR_CHANNEL 3
+
 #endif /* __ASM_ARCH_R8A7794_H */
diff --git a/arch/arm/include/asm/arch-rmobile/rcar-base.h 
b/arch/arm/include/asm/arch-rmobile/rcar-base.h
index dbbebcf..0bae173 100644
--- a/arch/arm/include/asm/arch-rmobile/rcar-base.h
+++ b/arch/arm/include/asm/arch-rmobile/rcar-base.h
@@ -43,6 +43,9 @@
 #define CONFIG_SYS_RCAR_I2C2_BASE  0xE653
 #define CONFIG_SYS_RCAR_I2C3_BASE  0xE654
 
+/* SDHI */
+#define CONFIG_SYS_SH_SDHI0_BASE   0xEE10
+
 #define S3C_BASE   0xE6784000
 #define S3C_INT_BASE   0xE6784A00
 #define S3C_MEDIA_BASE 0xE6784B00
diff --git a/arch/arm/include/asm/arch-rmobile/sh_sdhi.h 
b/arch/arm/include/asm/arch-rmobile/sh_sdhi.h
new file mode 100644
index 000..bd9df09
--- /dev/null
+++ b/arch/arm/include/asm/arch-rmobile/sh_sdhi.h
@@ -0,0 +1,166 @@
+/*
+ * drivers/mmc/sh-sdhi.h
+ *
+ * SD/MMC driver for Reneas rmobile ARM SoCs
+ *
+ * Copyright (C) 2013-2014 Renesas Electronics Corporation
+ * Copyright (C) 2008-2009 Renesas Solutions Corp.
+ *
+ * SPDX-License-Identifier:GPL-2.0
+ */
+
+#ifndef _SH_SDHI_H
+#define _SH_SDHI_H
+
+#define SDHI_CMD   (0x  1)
+#define SDHI_PORTSEL   (0x0004  1)
+#define SDHI_ARG0  (0x0008  1)
+#define SDHI_ARG1  (0x000C  1)
+#define SDHI_STOP  (0x0010  1)
+#define SDHI_SECCNT(0x0014  1)
+#define SDHI_RSP00 (0x0018  1)
+#define SDHI_RSP01 (0x001C  1)
+#define SDHI_RSP02 (0x0020  1)
+#define SDHI_RSP03 (0x0024  1)
+#define SDHI_RSP04 (0x0028  1)
+#define SDHI_RSP05 (0x002C  1)
+#define SDHI_RSP06