Re: [U-Boot] [PATCH v8 2/3] Odroid-XU3: Add support for Odroid-XU3

2014-11-23 Thread Hyungwon Hwang
Dear Jaehoon Chung,

On Thu, 20 Nov 2014 21:08:30 +0900
Jaehoon Chung jh80.ch...@samsung.com wrote:

 Hi,
 
 CPU:Exynos5800@1200MHz
 Board: Odroid XU3 based on EXYNOS5422
 
 Exynos5800? is it right?
 

Exynos5800 is a variant of Exynos5422 for chromebook, so they are
almost same. The support for this SOC is merged earlier than
Exynos5422. At that time, they used 5800 as its name instead of 5422.
It does not make any difference in behavior, at least until now.


 On 11/14/2014 03:25 PM, Hyungwon Hwang wrote:
  This patch adds support for Odroid-XU3.
  
  Signed-off-by: Hyungwon Hwang human.hw...@samsung.com
  Tested-by: Lukasz Majewski l.majew...@samsung.com
  Acked-by: Lukasz Majewski l.majew...@samsung.com
  Cc: Minkyu Kang mk7.k...@samsung.com
  Cc: Lukasz Majewski l.majew...@samsung.com
  ---
  Changes for v3:
  - Remove unnecessary node from DT file
  - Remove unnecessary features from config file
  - Remove unnecessary macros from board-specific header file
  - Fix some trivial typos in comments
  
  Changes for v4:
  - Add MMC FIFO buffer's configuration to DT file
  - Make CONFIG_OF_CONTROL be set by the target information
  - Add basic document to doc/README.odroid-xu3
  - Add CONFIG_CMD_EXT4 to config file
  - Add environment size and offset to config file
  - Add extra default environment to make bootable without
  modification
  - Remove unnecessary features from config file
  
  Changes for v5:
  - Convert /include/ to #include in DT file
  
  Changes for v6:
  - Separate out the documentation to new commit
  - Remove unnecessary header file inclusions from the board-specific
  setup file
  - Make the function board_clock_init be declared, only when
CONFIG_BOARD_EARLY_INIT_F is defined
  
  Changes for v7:
  - Remove OF_CONTROL dependency from !SPL_BUILD
  
  Changes for v8:
  - Remove unnecessary properties in DT mmc node
  
   arch/arm/cpu/armv7/exynos/Kconfig |   5 ++
   arch/arm/dts/Makefile |   3 +-
   arch/arm/dts/exynos5422-odroidxu3.dts |  57 ++
   board/samsung/odroid-xu3/Kconfig  |  12 +++
   board/samsung/odroid-xu3/MAINTAINERS  |   6 ++
   board/samsung/odroid-xu3/Makefile |   7 ++
   board/samsung/odroid-xu3/odroid-xu3.c | 122
   board/samsung/odroid-xu3/setup.h
  |  95 ++ configs/odroid-xu3_defconfig
  |   4 + include/configs/odroid_xu3.h  | 144
  ++ 10 files changed, 454
  insertions(+), 1 deletion(-) create mode 100644
  arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644
  board/samsung/odroid-xu3/Kconfig create mode 100644
  board/samsung/odroid-xu3/MAINTAINERS create mode 100644
  board/samsung/odroid-xu3/Makefile create mode 100644
  board/samsung/odroid-xu3/odroid-xu3.c create mode 100644
  board/samsung/odroid-xu3/setup.h create mode 100644
  configs/odroid-xu3_defconfig create mode 100644
  include/configs/odroid_xu3.h
  
  diff --git a/arch/arm/cpu/armv7/exynos/Kconfig
  b/arch/arm/cpu/armv7/exynos/Kconfig index 13dbd95..16c9a0e 100644
  --- a/arch/arm/cpu/armv7/exynos/Kconfig
  +++ b/arch/arm/cpu/armv7/exynos/Kconfig
  @@ -24,6 +24,10 @@ config TARGET_TRATS2
   config TARGET_ODROID
  bool Exynos4412 Odroid board
   
  +config TARGET_ODROID_XU3
  +   bool Exynos5422 Odroid board
  +   select OF_CONTROL
  +
   config TARGET_ARNDALE
  bool Exynos5250 Arndale board
  select SUPPORT_SPL
  @@ -65,6 +69,7 @@ source board/samsung/universal_c210/Kconfig
   source board/samsung/origen/Kconfig
   source board/samsung/trats2/Kconfig
   source board/samsung/odroid/Kconfig
  +source board/samsung/odroid-xu3/Kconfig
   source board/samsung/arndale/Kconfig
   source board/samsung/smdk5250/Kconfig
   source board/samsung/smdk5420/Kconfig
  diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
  index 2b9bd93..d984f34 100644
  --- a/arch/arm/dts/Makefile
  +++ b/arch/arm/dts/Makefile
  @@ -12,7 +12,8 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
  exynos5250-smdk5250.dtb \
  exynos5420-smdk5420.dtb \
  exynos5420-peach-pit.dtb \
  -   exynos5800-peach-pi.dtb
  +   exynos5800-peach-pi.dtb \
  +   exynos5422-odroidxu3.dtb
   dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
  tegra20-medcom-wide.dtb \
  tegra20-paz00.dtb \
  diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts
  b/arch/arm/dts/exynos5422-odroidxu3.dts new file mode 100644
  index 000..533d88e
  --- /dev/null
  +++ b/arch/arm/dts/exynos5422-odroidxu3.dts
  @@ -0,0 +1,57 @@
  +/*
  + * Odroid XU3 device tree source
  + *
  + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
  + * http://www.samsung.com
  + *
  + * SPDX-License-Identifier:GPL-2.0+
  + */
  +
  +/dts-v1/;
  +#include exynos54xx.dtsi
  +
  +/ {
  +   model = Odroid XU3 based on EXYNOS5422;
  +   compatible = samsung,odroidxu3, samsung,exynos5;
  +
  +   aliases {
  +   serial0 = /serial@12C0;
  +   console = /serial@12C2;
  +   };
  +
  +   

Re: [U-Boot] [PATCH v8 2/3] Odroid-XU3: Add support for Odroid-XU3

2014-11-20 Thread Jaehoon Chung
Hi,

CPU:Exynos5800@1200MHz
Board: Odroid XU3 based on EXYNOS5422

Exynos5800? is it right?

On 11/14/2014 03:25 PM, Hyungwon Hwang wrote:
 This patch adds support for Odroid-XU3.
 
 Signed-off-by: Hyungwon Hwang human.hw...@samsung.com
 Tested-by: Lukasz Majewski l.majew...@samsung.com
 Acked-by: Lukasz Majewski l.majew...@samsung.com
 Cc: Minkyu Kang mk7.k...@samsung.com
 Cc: Lukasz Majewski l.majew...@samsung.com
 ---
 Changes for v3:
 - Remove unnecessary node from DT file
 - Remove unnecessary features from config file
 - Remove unnecessary macros from board-specific header file
 - Fix some trivial typos in comments
 
 Changes for v4:
 - Add MMC FIFO buffer's configuration to DT file
 - Make CONFIG_OF_CONTROL be set by the target information
 - Add basic document to doc/README.odroid-xu3
 - Add CONFIG_CMD_EXT4 to config file
 - Add environment size and offset to config file
 - Add extra default environment to make bootable without modification
 - Remove unnecessary features from config file
 
 Changes for v5:
 - Convert /include/ to #include in DT file
 
 Changes for v6:
 - Separate out the documentation to new commit
 - Remove unnecessary header file inclusions from the board-specific setup file
 - Make the function board_clock_init be declared, only when
   CONFIG_BOARD_EARLY_INIT_F is defined
 
 Changes for v7:
 - Remove OF_CONTROL dependency from !SPL_BUILD
 
 Changes for v8:
 - Remove unnecessary properties in DT mmc node
 
  arch/arm/cpu/armv7/exynos/Kconfig |   5 ++
  arch/arm/dts/Makefile |   3 +-
  arch/arm/dts/exynos5422-odroidxu3.dts |  57 ++
  board/samsung/odroid-xu3/Kconfig  |  12 +++
  board/samsung/odroid-xu3/MAINTAINERS  |   6 ++
  board/samsung/odroid-xu3/Makefile |   7 ++
  board/samsung/odroid-xu3/odroid-xu3.c | 122 
  board/samsung/odroid-xu3/setup.h  |  95 ++
  configs/odroid-xu3_defconfig  |   4 +
  include/configs/odroid_xu3.h  | 144 
 ++
  10 files changed, 454 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts
  create mode 100644 board/samsung/odroid-xu3/Kconfig
  create mode 100644 board/samsung/odroid-xu3/MAINTAINERS
  create mode 100644 board/samsung/odroid-xu3/Makefile
  create mode 100644 board/samsung/odroid-xu3/odroid-xu3.c
  create mode 100644 board/samsung/odroid-xu3/setup.h
  create mode 100644 configs/odroid-xu3_defconfig
  create mode 100644 include/configs/odroid_xu3.h
 
 diff --git a/arch/arm/cpu/armv7/exynos/Kconfig 
 b/arch/arm/cpu/armv7/exynos/Kconfig
 index 13dbd95..16c9a0e 100644
 --- a/arch/arm/cpu/armv7/exynos/Kconfig
 +++ b/arch/arm/cpu/armv7/exynos/Kconfig
 @@ -24,6 +24,10 @@ config TARGET_TRATS2
  config TARGET_ODROID
   bool Exynos4412 Odroid board
  
 +config TARGET_ODROID_XU3
 + bool Exynos5422 Odroid board
 + select OF_CONTROL
 +
  config TARGET_ARNDALE
   bool Exynos5250 Arndale board
   select SUPPORT_SPL
 @@ -65,6 +69,7 @@ source board/samsung/universal_c210/Kconfig
  source board/samsung/origen/Kconfig
  source board/samsung/trats2/Kconfig
  source board/samsung/odroid/Kconfig
 +source board/samsung/odroid-xu3/Kconfig
  source board/samsung/arndale/Kconfig
  source board/samsung/smdk5250/Kconfig
  source board/samsung/smdk5420/Kconfig
 diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
 index 2b9bd93..d984f34 100644
 --- a/arch/arm/dts/Makefile
 +++ b/arch/arm/dts/Makefile
 @@ -12,7 +12,8 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
   exynos5250-smdk5250.dtb \
   exynos5420-smdk5420.dtb \
   exynos5420-peach-pit.dtb \
 - exynos5800-peach-pi.dtb
 + exynos5800-peach-pi.dtb \
 + exynos5422-odroidxu3.dtb
  dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
   tegra20-medcom-wide.dtb \
   tegra20-paz00.dtb \
 diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts 
 b/arch/arm/dts/exynos5422-odroidxu3.dts
 new file mode 100644
 index 000..533d88e
 --- /dev/null
 +++ b/arch/arm/dts/exynos5422-odroidxu3.dts
 @@ -0,0 +1,57 @@
 +/*
 + * Odroid XU3 device tree source
 + *
 + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
 + *   http://www.samsung.com
 + *
 + * SPDX-License-Identifier:  GPL-2.0+
 + */
 +
 +/dts-v1/;
 +#include exynos54xx.dtsi
 +
 +/ {
 + model = Odroid XU3 based on EXYNOS5422;
 + compatible = samsung,odroidxu3, samsung,exynos5;
 +
 + aliases {
 + serial0 = /serial@12C0;
 + console = /serial@12C2;
 + };
 +
 + memory {
 + device_type = memory;
 + reg =  0x4000 0x1000
 + 0x5000 0x1000
 + 0x6000 0x1000
 + 0x7000 0x1000
 + 0x8000 0x1000
 + 0x9000 0x1000
 + 0xa000 0x1000
 + 0xb000 0xea0;
 + };
 +
 + 

Re: [U-Boot] [PATCH v8 2/3] Odroid-XU3: Add support for Odroid-XU3

2014-11-18 Thread Przemyslaw Marczak

Hello,

On 11/18/2014 02:57 AM, Hyungwon Hwang wrote:

Dear Przemyslaw Marczak,


+/*
+ * FIXME: The number of bank is actually 8. But there is no way to
reserver the
+ * last 16 Mib in the last bank now. So I just excluded the last
bank
+ * temporally.
+ */


It's not prober solution, since non-dt kernel could get wrong DRAM
size. Please look at board/samsung/odroid/odroid.c - into function
exynos_init().

The Odroid U3 has reserved the last 1MB of the last DRAM bank.


I agree. It is a temporary solution, and it must be fixed soon. I see
the exynos_init() function and adapt the method to fix the problem in
Odroid XU3. But it did not work. Figuring out what is wrong, I found
that the 2 lines of code in the exynos_init() to reserve the last 1MB
does not affect the behavior of Odroid U3. Even after I commented out
the codes, it works well. Is it a effective solution to reserve the
memory? Is there anything else which I am missing?

I really appreciate for your comment. Thanks.

Best regards,
Hyungwon Hwang.



Yes, I also checked now, that this doesn't work for your board.

On Odroid U3, there was a problem in the kernel - so dram size passed to 
the kernel is decreased by 1MB. It don't make a difference for the 
U-Boot if you don't touch this memory.


I can suppose that it depends on secure firmware.

If you plan to fix it in the future, then it's ok. In other way it will 
require some modification of board/samsung/common/board.c dram code.


You can leave it as it is, since I plan to send some patches from 
tizen.org for exynos ram init.
And it probably will fix this issue - if dts has decreased last bank 
size with the 16MiB.


Best regards,
--
Przemyslaw Marczak
Samsung RD Institute Poland
Samsung Electronics
p.marc...@samsung.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v8 2/3] Odroid-XU3: Add support for Odroid-XU3

2014-11-18 Thread Przemyslaw Marczak

Hello Hyungwon,

On 11/18/2014 12:44 PM, Przemyslaw Marczak wrote:

Hello,

On 11/18/2014 02:57 AM, Hyungwon Hwang wrote:

Dear Przemyslaw Marczak,


+/*
+ * FIXME: The number of bank is actually 8. But there is no way to
reserver the
+ * last 16 Mib in the last bank now. So I just excluded the last
bank
+ * temporally.
+ */


It's not prober solution, since non-dt kernel could get wrong DRAM
size. Please look at board/samsung/odroid/odroid.c - into function
exynos_init().

The Odroid U3 has reserved the last 1MB of the last DRAM bank.


I agree. It is a temporary solution, and it must be fixed soon. I see
the exynos_init() function and adapt the method to fix the problem in
Odroid XU3. But it did not work. Figuring out what is wrong, I found
that the 2 lines of code in the exynos_init() to reserve the last 1MB
does not affect the behavior of Odroid U3. Even after I commented out
the codes, it works well. Is it a effective solution to reserve the
memory? Is there anything else which I am missing?

I really appreciate for your comment. Thanks.

Best regards,
Hyungwon Hwang.



Yes, I also checked now, that this doesn't work for your board.

On Odroid U3, there was a problem in the kernel - so dram size passed to
the kernel is decreased by 1MB. It don't make a difference for the
U-Boot if you don't touch this memory.

I can suppose that it depends on secure firmware.

If you plan to fix it in the future, then it's ok. In other way it will
require some modification of board/samsung/common/board.c dram code.

You can leave it as it is, since I plan to send some patches from
tizen.org for exynos ram init.
And it probably will fix this issue - if dts has decreased last bank
size with the 16MiB.

Best regards,


I made some quick test:
(diff)
for (i = 0; i  CONFIG_NR_DRAM_BANKS; i++) {
addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
-   gd-ram_size += get_ram_size((long *)addr, SDRAM_BANK_SIZE);
+   if (i == 7)
+   gd-ram_size += (SDRAM_BANK_SIZE - (22  20));
+   else
+   gd-ram_size += SDRAM_BANK_SIZE;
}
return 0;

Similar in dram_init_banksize():
-   size = get_ram_size((long *)addr, SDRAM_BANK_SIZE);
+
+   if (i == 7)
+   size = (SDRAM_BANK_SIZE - (22  20));
+   else
+   size = SDRAM_BANK_SIZE;

and this works fine.
I also checked that size of the reserved area is 22MiB.

Best regards,
--
Przemyslaw Marczak
Samsung RD Institute Poland
Samsung Electronics
p.marc...@samsung.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v8 2/3] Odroid-XU3: Add support for Odroid-XU3

2014-11-17 Thread Przemyslaw Marczak

Hello,

On 11/14/2014 07:25 AM, Hyungwon Hwang wrote:

This patch adds support for Odroid-XU3.

Signed-off-by: Hyungwon Hwang human.hw...@samsung.com
Tested-by: Lukasz Majewski l.majew...@samsung.com
Acked-by: Lukasz Majewski l.majew...@samsung.com
Cc: Minkyu Kang mk7.k...@samsung.com
Cc: Lukasz Majewski l.majew...@samsung.com
---
Changes for v3:
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Remove unnecessary macros from board-specific header file
- Fix some trivial typos in comments

Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file

Changes for v5:
- Convert /include/ to #include in DT file

Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusions from the board-specific setup file
- Make the function board_clock_init be declared, only when
   CONFIG_BOARD_EARLY_INIT_F is defined

Changes for v7:
- Remove OF_CONTROL dependency from !SPL_BUILD

Changes for v8:
- Remove unnecessary properties in DT mmc node

  arch/arm/cpu/armv7/exynos/Kconfig |   5 ++
  arch/arm/dts/Makefile |   3 +-
  arch/arm/dts/exynos5422-odroidxu3.dts |  57 ++
  board/samsung/odroid-xu3/Kconfig  |  12 +++
  board/samsung/odroid-xu3/MAINTAINERS  |   6 ++
  board/samsung/odroid-xu3/Makefile |   7 ++
  board/samsung/odroid-xu3/odroid-xu3.c | 122 
  board/samsung/odroid-xu3/setup.h  |  95 ++
  configs/odroid-xu3_defconfig  |   4 +
  include/configs/odroid_xu3.h  | 144 ++
  10 files changed, 454 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts
  create mode 100644 board/samsung/odroid-xu3/Kconfig
  create mode 100644 board/samsung/odroid-xu3/MAINTAINERS
  create mode 100644 board/samsung/odroid-xu3/Makefile
  create mode 100644 board/samsung/odroid-xu3/odroid-xu3.c
  create mode 100644 board/samsung/odroid-xu3/setup.h
  create mode 100644 configs/odroid-xu3_defconfig
  create mode 100644 include/configs/odroid_xu3.h

diff --git a/arch/arm/cpu/armv7/exynos/Kconfig 
b/arch/arm/cpu/armv7/exynos/Kconfig
index 13dbd95..16c9a0e 100644
--- a/arch/arm/cpu/armv7/exynos/Kconfig
+++ b/arch/arm/cpu/armv7/exynos/Kconfig
@@ -24,6 +24,10 @@ config TARGET_TRATS2
  config TARGET_ODROID
bool Exynos4412 Odroid board

+config TARGET_ODROID_XU3
+   bool Exynos5422 Odroid board
+   select OF_CONTROL
+
  config TARGET_ARNDALE
bool Exynos5250 Arndale board
select SUPPORT_SPL
@@ -65,6 +69,7 @@ source board/samsung/universal_c210/Kconfig
  source board/samsung/origen/Kconfig
  source board/samsung/trats2/Kconfig
  source board/samsung/odroid/Kconfig
+source board/samsung/odroid-xu3/Kconfig
  source board/samsung/arndale/Kconfig
  source board/samsung/smdk5250/Kconfig
  source board/samsung/smdk5420/Kconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 2b9bd93..d984f34 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -12,7 +12,8 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
exynos5250-smdk5250.dtb \
exynos5420-smdk5420.dtb \
exynos5420-peach-pit.dtb \
-   exynos5800-peach-pi.dtb
+   exynos5800-peach-pi.dtb \
+   exynos5422-odroidxu3.dtb
  dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
tegra20-medcom-wide.dtb \
tegra20-paz00.dtb \
diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts 
b/arch/arm/dts/exynos5422-odroidxu3.dts
new file mode 100644
index 000..533d88e
--- /dev/null
+++ b/arch/arm/dts/exynos5422-odroidxu3.dts
@@ -0,0 +1,57 @@
+/*
+ * Odroid XU3 device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * SPDX-License-Identifier:GPL-2.0+
+ */
+
+/dts-v1/;
+#include exynos54xx.dtsi
+
+/ {
+   model = Odroid XU3 based on EXYNOS5422;
+   compatible = samsung,odroidxu3, samsung,exynos5;
+
+   aliases {
+   serial0 = /serial@12C0;
+   console = /serial@12C2;
+   };
+
+   memory {
+   device_type = memory;
+   reg =  0x4000 0x1000
+   0x5000 0x1000
+   0x6000 0x1000
+   0x7000 0x1000
+   0x8000 0x1000
+   0x9000 0x1000
+   0xa000 0x1000
+   0xb000 0xea0;
+   };
+
+   serial@12C2 {
+   status=okay;
+   };
+
+   mmc@1220 {
+   samsung,bus-width = 8;
+   

Re: [U-Boot] [PATCH v8 2/3] Odroid-XU3: Add support for Odroid-XU3

2014-11-17 Thread Hyungwon Hwang
Dear Przemyslaw Marczak,

  +/*
  + * FIXME: The number of bank is actually 8. But there is no way to
  reserver the
  + * last 16 Mib in the last bank now. So I just excluded the last
  bank
  + * temporally.
  + */
 
 It's not prober solution, since non-dt kernel could get wrong DRAM
 size. Please look at board/samsung/odroid/odroid.c - into function
 exynos_init().
 
 The Odroid U3 has reserved the last 1MB of the last DRAM bank.

I agree. It is a temporary solution, and it must be fixed soon. I see
the exynos_init() function and adapt the method to fix the problem in
Odroid XU3. But it did not work. Figuring out what is wrong, I found
that the 2 lines of code in the exynos_init() to reserve the last 1MB
does not affect the behavior of Odroid U3. Even after I commented out
the codes, it works well. Is it a effective solution to reserve the
memory? Is there anything else which I am missing?

I really appreciate for your comment. Thanks.

Best regards,
Hyungwon Hwang.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v8 2/3] Odroid-XU3: Add support for Odroid-XU3

2014-11-13 Thread Hyungwon Hwang
This patch adds support for Odroid-XU3.

Signed-off-by: Hyungwon Hwang human.hw...@samsung.com
Tested-by: Lukasz Majewski l.majew...@samsung.com
Acked-by: Lukasz Majewski l.majew...@samsung.com
Cc: Minkyu Kang mk7.k...@samsung.com
Cc: Lukasz Majewski l.majew...@samsung.com
---
Changes for v3:
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Remove unnecessary macros from board-specific header file
- Fix some trivial typos in comments

Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file

Changes for v5:
- Convert /include/ to #include in DT file

Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusions from the board-specific setup file
- Make the function board_clock_init be declared, only when
  CONFIG_BOARD_EARLY_INIT_F is defined

Changes for v7:
- Remove OF_CONTROL dependency from !SPL_BUILD

Changes for v8:
- Remove unnecessary properties in DT mmc node

 arch/arm/cpu/armv7/exynos/Kconfig |   5 ++
 arch/arm/dts/Makefile |   3 +-
 arch/arm/dts/exynos5422-odroidxu3.dts |  57 ++
 board/samsung/odroid-xu3/Kconfig  |  12 +++
 board/samsung/odroid-xu3/MAINTAINERS  |   6 ++
 board/samsung/odroid-xu3/Makefile |   7 ++
 board/samsung/odroid-xu3/odroid-xu3.c | 122 
 board/samsung/odroid-xu3/setup.h  |  95 ++
 configs/odroid-xu3_defconfig  |   4 +
 include/configs/odroid_xu3.h  | 144 ++
 10 files changed, 454 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts
 create mode 100644 board/samsung/odroid-xu3/Kconfig
 create mode 100644 board/samsung/odroid-xu3/MAINTAINERS
 create mode 100644 board/samsung/odroid-xu3/Makefile
 create mode 100644 board/samsung/odroid-xu3/odroid-xu3.c
 create mode 100644 board/samsung/odroid-xu3/setup.h
 create mode 100644 configs/odroid-xu3_defconfig
 create mode 100644 include/configs/odroid_xu3.h

diff --git a/arch/arm/cpu/armv7/exynos/Kconfig 
b/arch/arm/cpu/armv7/exynos/Kconfig
index 13dbd95..16c9a0e 100644
--- a/arch/arm/cpu/armv7/exynos/Kconfig
+++ b/arch/arm/cpu/armv7/exynos/Kconfig
@@ -24,6 +24,10 @@ config TARGET_TRATS2
 config TARGET_ODROID
bool Exynos4412 Odroid board
 
+config TARGET_ODROID_XU3
+   bool Exynos5422 Odroid board
+   select OF_CONTROL
+
 config TARGET_ARNDALE
bool Exynos5250 Arndale board
select SUPPORT_SPL
@@ -65,6 +69,7 @@ source board/samsung/universal_c210/Kconfig
 source board/samsung/origen/Kconfig
 source board/samsung/trats2/Kconfig
 source board/samsung/odroid/Kconfig
+source board/samsung/odroid-xu3/Kconfig
 source board/samsung/arndale/Kconfig
 source board/samsung/smdk5250/Kconfig
 source board/samsung/smdk5420/Kconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 2b9bd93..d984f34 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -12,7 +12,8 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
exynos5250-smdk5250.dtb \
exynos5420-smdk5420.dtb \
exynos5420-peach-pit.dtb \
-   exynos5800-peach-pi.dtb
+   exynos5800-peach-pi.dtb \
+   exynos5422-odroidxu3.dtb
 dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
tegra20-medcom-wide.dtb \
tegra20-paz00.dtb \
diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts 
b/arch/arm/dts/exynos5422-odroidxu3.dts
new file mode 100644
index 000..533d88e
--- /dev/null
+++ b/arch/arm/dts/exynos5422-odroidxu3.dts
@@ -0,0 +1,57 @@
+/*
+ * Odroid XU3 device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * SPDX-License-Identifier:GPL-2.0+
+ */
+
+/dts-v1/;
+#include exynos54xx.dtsi
+
+/ {
+   model = Odroid XU3 based on EXYNOS5422;
+   compatible = samsung,odroidxu3, samsung,exynos5;
+
+   aliases {
+   serial0 = /serial@12C0;
+   console = /serial@12C2;
+   };
+
+   memory {
+   device_type = memory;
+   reg =  0x4000 0x1000
+   0x5000 0x1000
+   0x6000 0x1000
+   0x7000 0x1000
+   0x8000 0x1000
+   0x9000 0x1000
+   0xa000 0x1000
+   0xb000 0xea0;
+   };
+
+   serial@12C2 {
+   status=okay;
+   };
+
+   mmc@1220 {
+   samsung,bus-width = 8;
+   samsung,timing = 1 3 3;
+   fifoth_val = 0x200f0020;
+   };
+
+