Re: [U-Boot] [PATCH v4 1/4] stv0991: Add basic stv0991 architecture support

2014-11-18 Thread vikasm

Thanks Albert,

On 11/17/2014 11:21 PM, Albert ARIBAUD wrote:

Hello Vikas,

On Mon, 17 Nov 2014 17:30:25 -0800, Vikas Manocha
vikas.mano...@st.com wrote:

stv0991 architecture support added. It contains the support for
following blocks
- Timer
- uart

Signed-off-by: Vikas Manocha vikas.mano...@st.com
---

Changes in v4:
- added maintainers info

I don't see the MAINTAINERS file added here; it is in 4/4 which (unless
I've missed requests to the opposite effect) should be merged with 1/4.


You are right, it is mentioned here but actually is in 4/4. I will merge 
4/4 with 1/4.


Rgds,
Vikas




- rebased to current master

Changes in v3:
- removed period from commit message

Changes in v2:
- corrected files license to GPL-2.0+
- replaced printf() usage with puts() for string print

  arch/arm/Kconfig   |5 +
  arch/arm/cpu/armv7/stv0991/Makefile|9 ++
  arch/arm/cpu/armv7/stv0991/clock.c |   27 +
  arch/arm/cpu/armv7/stv0991/lowlevel.S  |   12 +++
  arch/arm/cpu/armv7/stv0991/pinmux.c|   48 +
  arch/arm/cpu/armv7/stv0991/reset.c |   26 +
  arch/arm/cpu/armv7/stv0991/timer.c |  114 
  arch/arm/include/asm/arch-stv0991/hardware.h   |   73 +
  arch/arm/include/asm/arch-stv0991/stv0991_cgu.h|   80 ++
  arch/arm/include/asm/arch-stv0991/stv0991_creg.h   |   82 ++
  arch/arm/include/asm/arch-stv0991/stv0991_defs.h   |   16 +++
  arch/arm/include/asm/arch-stv0991/stv0991_gpt.h|   43 
  arch/arm/include/asm/arch-stv0991/stv0991_periph.h |   43 
  arch/arm/include/asm/arch-stv0991/stv0991_wdru.h   |   28 +
  board/st/stv0991/Kconfig   |   23 
  board/st/stv0991/Makefile  |8 ++
  board/st/stv0991/stv0991.c |   54 ++
  configs/stv0991_defconfig  |3 +
  include/configs/stv0991.h  |   58 ++
  19 files changed, 752 insertions(+)
  create mode 100644 arch/arm/cpu/armv7/stv0991/Makefile
  create mode 100644 arch/arm/cpu/armv7/stv0991/clock.c
  create mode 100644 arch/arm/cpu/armv7/stv0991/lowlevel.S
  create mode 100644 arch/arm/cpu/armv7/stv0991/pinmux.c
  create mode 100644 arch/arm/cpu/armv7/stv0991/reset.c
  create mode 100644 arch/arm/cpu/armv7/stv0991/timer.c
  create mode 100644 arch/arm/include/asm/arch-stv0991/hardware.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_cgu.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_creg.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_defs.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_gpt.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_periph.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_wdru.h
  create mode 100644 board/st/stv0991/Kconfig
  create mode 100644 board/st/stv0991/Makefile
  create mode 100644 board/st/stv0991/stv0991.c
  create mode 100644 configs/stv0991_defconfig
  create mode 100644 include/configs/stv0991.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3955978..71faf5e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -339,6 +339,10 @@ config TARGET_SPEAR600
   bool Support spear600
   select CPU_ARM926EJS

+config TARGET_STV0991
+ bool Support stv0991
+ select CPU_V7
+
  config TARGET_X600
   bool Support x600
   select CPU_ARM926EJS
@@ -932,6 +936,7 @@ source board/spear/spear600/Kconfig
  source board/spear/x600/Kconfig
  source board/st-ericsson/snowball/Kconfig
  source board/st-ericsson/u8500/Kconfig
+source board/st/stv0991/Kconfig
  source board/sunxi/Kconfig
  source board/syteco/jadecpu/Kconfig
  source board/syteco/zmx25/Kconfig
diff --git a/arch/arm/cpu/armv7/stv0991/Makefile 
b/arch/arm/cpu/armv7/stv0991/Makefile
new file mode 100644
index 000..95641d3
--- /dev/null
+++ b/arch/arm/cpu/armv7/stv0991/Makefile
@@ -0,0 +1,9 @@
+#
+# (C) Copyright 2014
+# Vikas Manocha, ST Microelectronics, vikas.manocha@stcom
+#
+# SPDX-License-Identifier:   GPL-2.0+
+#
+
+obj-y:= timer.o clock.o pinmux.o reset.o
+obj-y+= lowlevel.o
diff --git a/arch/arm/cpu/armv7/stv0991/clock.c 
b/arch/arm/cpu/armv7/stv0991/clock.c
new file mode 100644
index 000..aca6aba
--- /dev/null
+++ b/arch/arm/cpu/armv7/stv0991/clock.c
@@ -0,0 +1,27 @@
+/*
+ * (C) Copyright 2014
+ * Vikas Manocha, ST Micoelectronics, vikas.mano...@st.com.
+ *
+ * SPDX-License-Identifier:  GPL-2.0+
+ */
+
+#include asm/io.h
+#include asm/arch/hardware.h
+#include asm/arch/stv0991_cgu.h
+#includeasm/arch/stv0991_periph.h
+
+static struct stv0991_cgu_regs *const stv0991_cgu_regs = \
+ (struct stv0991_cgu_regs *) (CGU_BASE_ADDR);
+
+void clock_setup(int peripheral)
+{
+ switch (peripheral) {
+ case UART_CLOCK_CFG:
+ 

[U-Boot] [PATCH v4 1/4] stv0991: Add basic stv0991 architecture support

2014-11-17 Thread Vikas Manocha
stv0991 architecture support added. It contains the support for
following blocks
- Timer
- uart

Signed-off-by: Vikas Manocha vikas.mano...@st.com
---

Changes in v4:
- added maintainers info
- rebased to current master

Changes in v3:
- removed period from commit message

Changes in v2: 
- corrected files license to GPL-2.0+
- replaced printf() usage with puts() for string print

 arch/arm/Kconfig   |5 +
 arch/arm/cpu/armv7/stv0991/Makefile|9 ++
 arch/arm/cpu/armv7/stv0991/clock.c |   27 +
 arch/arm/cpu/armv7/stv0991/lowlevel.S  |   12 +++
 arch/arm/cpu/armv7/stv0991/pinmux.c|   48 +
 arch/arm/cpu/armv7/stv0991/reset.c |   26 +
 arch/arm/cpu/armv7/stv0991/timer.c |  114 
 arch/arm/include/asm/arch-stv0991/hardware.h   |   73 +
 arch/arm/include/asm/arch-stv0991/stv0991_cgu.h|   80 ++
 arch/arm/include/asm/arch-stv0991/stv0991_creg.h   |   82 ++
 arch/arm/include/asm/arch-stv0991/stv0991_defs.h   |   16 +++
 arch/arm/include/asm/arch-stv0991/stv0991_gpt.h|   43 
 arch/arm/include/asm/arch-stv0991/stv0991_periph.h |   43 
 arch/arm/include/asm/arch-stv0991/stv0991_wdru.h   |   28 +
 board/st/stv0991/Kconfig   |   23 
 board/st/stv0991/Makefile  |8 ++
 board/st/stv0991/stv0991.c |   54 ++
 configs/stv0991_defconfig  |3 +
 include/configs/stv0991.h  |   58 ++
 19 files changed, 752 insertions(+)
 create mode 100644 arch/arm/cpu/armv7/stv0991/Makefile
 create mode 100644 arch/arm/cpu/armv7/stv0991/clock.c
 create mode 100644 arch/arm/cpu/armv7/stv0991/lowlevel.S
 create mode 100644 arch/arm/cpu/armv7/stv0991/pinmux.c
 create mode 100644 arch/arm/cpu/armv7/stv0991/reset.c
 create mode 100644 arch/arm/cpu/armv7/stv0991/timer.c
 create mode 100644 arch/arm/include/asm/arch-stv0991/hardware.h
 create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_cgu.h
 create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_creg.h
 create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_defs.h
 create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_gpt.h
 create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_periph.h
 create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_wdru.h
 create mode 100644 board/st/stv0991/Kconfig
 create mode 100644 board/st/stv0991/Makefile
 create mode 100644 board/st/stv0991/stv0991.c
 create mode 100644 configs/stv0991_defconfig
 create mode 100644 include/configs/stv0991.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3955978..71faf5e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -339,6 +339,10 @@ config TARGET_SPEAR600
bool Support spear600
select CPU_ARM926EJS
 
+config TARGET_STV0991
+   bool Support stv0991
+   select CPU_V7
+
 config TARGET_X600
bool Support x600
select CPU_ARM926EJS
@@ -932,6 +936,7 @@ source board/spear/spear600/Kconfig
 source board/spear/x600/Kconfig
 source board/st-ericsson/snowball/Kconfig
 source board/st-ericsson/u8500/Kconfig
+source board/st/stv0991/Kconfig
 source board/sunxi/Kconfig
 source board/syteco/jadecpu/Kconfig
 source board/syteco/zmx25/Kconfig
diff --git a/arch/arm/cpu/armv7/stv0991/Makefile 
b/arch/arm/cpu/armv7/stv0991/Makefile
new file mode 100644
index 000..95641d3
--- /dev/null
+++ b/arch/arm/cpu/armv7/stv0991/Makefile
@@ -0,0 +1,9 @@
+#
+# (C) Copyright 2014
+# Vikas Manocha, ST Microelectronics, vikas.manocha@stcom
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+obj-y  := timer.o clock.o pinmux.o reset.o
+obj-y  += lowlevel.o
diff --git a/arch/arm/cpu/armv7/stv0991/clock.c 
b/arch/arm/cpu/armv7/stv0991/clock.c
new file mode 100644
index 000..aca6aba
--- /dev/null
+++ b/arch/arm/cpu/armv7/stv0991/clock.c
@@ -0,0 +1,27 @@
+/*
+ * (C) Copyright 2014
+ * Vikas Manocha, ST Micoelectronics, vikas.mano...@st.com.
+ *
+ * SPDX-License-Identifier:GPL-2.0+
+ */
+
+#include asm/io.h
+#include asm/arch/hardware.h
+#include asm/arch/stv0991_cgu.h
+#includeasm/arch/stv0991_periph.h
+
+static struct stv0991_cgu_regs *const stv0991_cgu_regs = \
+   (struct stv0991_cgu_regs *) (CGU_BASE_ADDR);
+
+void clock_setup(int peripheral)
+{
+   switch (peripheral) {
+   case UART_CLOCK_CFG:
+   writel(UART_CLK_CFG, stv0991_cgu_regs-uart_freq);
+   break;
+   case ETH_CLOCK_CFG:
+   break;
+   default:
+   break;
+   }
+}
diff --git a/arch/arm/cpu/armv7/stv0991/lowlevel.S 
b/arch/arm/cpu/armv7/stv0991/lowlevel.S
new file mode 100644
index 000..6dafba3
--- /dev/null
+++ b/arch/arm/cpu/armv7/stv0991/lowlevel.S
@@ -0,0 +1,12 @@
+/*
+ * (C) Copyright 2014 stmicroelectronics
+ *
+ * 

Re: [U-Boot] [PATCH v4 1/4] stv0991: Add basic stv0991 architecture support

2014-11-17 Thread Albert ARIBAUD
Hello Vikas,

On Mon, 17 Nov 2014 17:30:25 -0800, Vikas Manocha
vikas.mano...@st.com wrote:
 stv0991 architecture support added. It contains the support for
 following blocks
 - Timer
 - uart
 
 Signed-off-by: Vikas Manocha vikas.mano...@st.com
 ---
 
 Changes in v4:
 - added maintainers info

I don't see the MAINTAINERS file added here; it is in 4/4 which (unless
I've missed requests to the opposite effect) should be merged with 1/4. 

 - rebased to current master
 
 Changes in v3:
 - removed period from commit message
 
 Changes in v2: 
 - corrected files license to GPL-2.0+
 - replaced printf() usage with puts() for string print
 
  arch/arm/Kconfig   |5 +
  arch/arm/cpu/armv7/stv0991/Makefile|9 ++
  arch/arm/cpu/armv7/stv0991/clock.c |   27 +
  arch/arm/cpu/armv7/stv0991/lowlevel.S  |   12 +++
  arch/arm/cpu/armv7/stv0991/pinmux.c|   48 +
  arch/arm/cpu/armv7/stv0991/reset.c |   26 +
  arch/arm/cpu/armv7/stv0991/timer.c |  114 
 
  arch/arm/include/asm/arch-stv0991/hardware.h   |   73 +
  arch/arm/include/asm/arch-stv0991/stv0991_cgu.h|   80 ++
  arch/arm/include/asm/arch-stv0991/stv0991_creg.h   |   82 ++
  arch/arm/include/asm/arch-stv0991/stv0991_defs.h   |   16 +++
  arch/arm/include/asm/arch-stv0991/stv0991_gpt.h|   43 
  arch/arm/include/asm/arch-stv0991/stv0991_periph.h |   43 
  arch/arm/include/asm/arch-stv0991/stv0991_wdru.h   |   28 +
  board/st/stv0991/Kconfig   |   23 
  board/st/stv0991/Makefile  |8 ++
  board/st/stv0991/stv0991.c |   54 ++
  configs/stv0991_defconfig  |3 +
  include/configs/stv0991.h  |   58 ++
  19 files changed, 752 insertions(+)
  create mode 100644 arch/arm/cpu/armv7/stv0991/Makefile
  create mode 100644 arch/arm/cpu/armv7/stv0991/clock.c
  create mode 100644 arch/arm/cpu/armv7/stv0991/lowlevel.S
  create mode 100644 arch/arm/cpu/armv7/stv0991/pinmux.c
  create mode 100644 arch/arm/cpu/armv7/stv0991/reset.c
  create mode 100644 arch/arm/cpu/armv7/stv0991/timer.c
  create mode 100644 arch/arm/include/asm/arch-stv0991/hardware.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_cgu.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_creg.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_defs.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_gpt.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_periph.h
  create mode 100644 arch/arm/include/asm/arch-stv0991/stv0991_wdru.h
  create mode 100644 board/st/stv0991/Kconfig
  create mode 100644 board/st/stv0991/Makefile
  create mode 100644 board/st/stv0991/stv0991.c
  create mode 100644 configs/stv0991_defconfig
  create mode 100644 include/configs/stv0991.h
 
 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
 index 3955978..71faf5e 100644
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
 @@ -339,6 +339,10 @@ config TARGET_SPEAR600
   bool Support spear600
   select CPU_ARM926EJS
  
 +config TARGET_STV0991
 + bool Support stv0991
 + select CPU_V7
 +
  config TARGET_X600
   bool Support x600
   select CPU_ARM926EJS
 @@ -932,6 +936,7 @@ source board/spear/spear600/Kconfig
  source board/spear/x600/Kconfig
  source board/st-ericsson/snowball/Kconfig
  source board/st-ericsson/u8500/Kconfig
 +source board/st/stv0991/Kconfig
  source board/sunxi/Kconfig
  source board/syteco/jadecpu/Kconfig
  source board/syteco/zmx25/Kconfig
 diff --git a/arch/arm/cpu/armv7/stv0991/Makefile 
 b/arch/arm/cpu/armv7/stv0991/Makefile
 new file mode 100644
 index 000..95641d3
 --- /dev/null
 +++ b/arch/arm/cpu/armv7/stv0991/Makefile
 @@ -0,0 +1,9 @@
 +#
 +# (C) Copyright 2014
 +# Vikas Manocha, ST Microelectronics, vikas.manocha@stcom
 +#
 +# SPDX-License-Identifier:   GPL-2.0+
 +#
 +
 +obj-y:= timer.o clock.o pinmux.o reset.o
 +obj-y+= lowlevel.o
 diff --git a/arch/arm/cpu/armv7/stv0991/clock.c 
 b/arch/arm/cpu/armv7/stv0991/clock.c
 new file mode 100644
 index 000..aca6aba
 --- /dev/null
 +++ b/arch/arm/cpu/armv7/stv0991/clock.c
 @@ -0,0 +1,27 @@
 +/*
 + * (C) Copyright 2014
 + * Vikas Manocha, ST Micoelectronics, vikas.mano...@st.com.
 + *
 + * SPDX-License-Identifier:  GPL-2.0+
 + */
 +
 +#include asm/io.h
 +#include asm/arch/hardware.h
 +#include asm/arch/stv0991_cgu.h
 +#includeasm/arch/stv0991_periph.h
 +
 +static struct stv0991_cgu_regs *const stv0991_cgu_regs = \
 + (struct stv0991_cgu_regs *) (CGU_BASE_ADDR);
 +
 +void clock_setup(int peripheral)
 +{
 + switch (peripheral) {
 + case UART_CLOCK_CFG:
 + writel(UART_CLK_CFG, stv0991_cgu_regs-uart_freq);
 + break;
 + case ETH_CLOCK_CFG:
 +