diff mbox

[Xen-devel] Question about running Xen 4.4 on Arndale board

Message ID 534C0D7B.6030307@linaro.org
State Not Applicable, archived
Headers show

Commit Message

Julien Grall April 14, 2014, 4:31 p.m. UTC
On 04/14/2014 04:33 PM, HyonYoung Choi wrote:
> Hello Julien, 

> I'm Hyonyoung Choi, working on Xen into Arndale-Octa board with Meng.
> 
> I tried to recompiled xen with CONFIG_EARLY_PRINTK=exynos5250 as your
> advice.
> 
> The command line is like this:
> 
> make distclean
> export CONFIG_EARLY_PRINTK=exynos5250
> make dist-xen XEN_TARGET_ARCH=arm32
> 
> The result is nothing happened at all.
> No additional message is printed.

Sorry I misread the documentation, the UART port is not the same on the
exynos5420. Can you try to apply the patch below and recompile xen (make
clean make) with CONFIG_EARLY_PRINTK=exynos5420.

Regards,

commit 9595eedd366145b5b3e91b2b7cfa076cc2fc4174
Author: Julien Grall <julien.grall@linaro.org>
Date:   Mon Apr 14 17:24:54 2014 +0100

    xen/arm: Add early printk for Arndale Octa (exynos5420)

    Enable early printk for exynos5420.

    Signed-off-by: Julien Grall <julien.grall@linaro.org>

Comments

HyonYoung Choi April 14, 2014, 5:01 p.m. UTC | #1
Thanks for your comments.

I tried with Tod's comment of dtb and Julien's patch.

But no difference.

env setting:
-----------------------------------
setenv kernel_addr_r 0x60000000
setenv xen_addr_r 0x50000000
setenv dtb_addr_r 0x42000000
fatload mmc 0:2 $kernel_addr_r /zImage
fatload mmc 0:2 $xen_addr_r /xen-uImage
fatload mmc 0:2 $dtb_addr_r /exynos5420-arndale-octa.dtb
fdt addr $dtb_addr_r
fdt resize
setenv xen_bootargs 'sync_console console=dtuart dtuart=/serial@12C20000'
setenv dom0_bootargs 'console=hvc0 ignore_loglevel psci_enable
clk_ignore_unused root=/dev/mmcblk1p3'
fdt set /chosen xen,xen-bootargs \"$xen_bootargs\"
fdt set /chosen xen,dom0-bootargs \"$dom0_bootargs\"
fdt mknode /chosen modules
fdt set /chosen/modules '#address-cells' <1>
fdt set /chosen/modules '#size-cells' <1>
fdt mknode /chosen/modules module@0
fdt set /chosen/modules/module@0 compatible "xen,linux-zimage"
"xen,multiboot-module"
fdt set /chosen/modules/module@0 reg <$kernel_addr_r 0x00a00000>

bootm $xen_addr_r - $dtb_addr_r
-----------------------------------

Log:
=============================
U-Boot 2012.07 (Feb 15 2014 - 17:29:55) for ARNDALE OCTA

CPU: Exynos5420 Rev2.0 [Samsung SOC on SMP Platform Base on ARM CortexA15]
APLL = 800MHz, KPLL = 600MHz
MPLL = 532MHz, BPLL = 800MHz

Board: ARNDALE OCTA
DRAM:  2 GiB
WARNING: Caches not enabled

TrustZone Enabled BSP
BL1 version:

Checking Boot Mode ... SDMMC
MMC:   S5P_MSHC2: 0, S5P_MSHC0: 1
MMC Device 0: 3.7 GiB
MMC Device 1: 3.6 GiB
MMC Device 2: MMC Device 2 not found
there are pending interrupts 0x00000001
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
(Re)start USB...
USB:   Register 1313 NbrPorts 3
USB EHCI 1.00
scanning bus for devices... The request port(2) is not configured
The request port(2) is not configured
3 USB Device(s) found
       scanning bus for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 1 Ethernet Device(s) found
Hit any key to stop autoboot:  0
reading boot.scr

989 bytes read
Running bootscript from mmc0:2 ...
## Executing script at 22000000
reading /zImage

2606416 bytes read
reading /xen-uImage

557904 bytes read
reading /exynos5420-arndale-octa.dtb

31105 bytes read
## Booting kernel from Legacy Image at 50000000 ...
   Image Name:
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    557840 Bytes = 544.8 KiB
   Load Address: 80200000
   Entry Point:  80200000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 42000000
   Booting using the fdt blob at 0x42000000
   Loading Kernel Image ... OK
OK
   reserving fdt memory region: addr=42000000 size=8000
   Loading Device Tree to 2fff5000, end 2fffffff ... OK

Starting kernel ...
=======================

It is very wired that CONFIG_EARLY_PRINTK is not working.
If the patch is correct, is xen dead just at starting or totally wrong
place of image?

Best,
Hyonyoung



On Mon, Apr 14, 2014 at 12:31 PM, Julien Grall <julien.grall@linaro.org>wrote:

> On 04/14/2014 04:33 PM, HyonYoung Choi wrote:
> > Hello Julien,
>
> > I'm Hyonyoung Choi, working on Xen into Arndale-Octa board with Meng.
> >
> > I tried to recompiled xen with CONFIG_EARLY_PRINTK=exynos5250 as your
> > advice.
> >
> > The command line is like this:
> >
> > make distclean
> > export CONFIG_EARLY_PRINTK=exynos5250
> > make dist-xen XEN_TARGET_ARCH=arm32
> >
> > The result is nothing happened at all.
> > No additional message is printed.
>
> Sorry I misread the documentation, the UART port is not the same on the
> exynos5420. Can you try to apply the patch below and recompile xen (make
> clean make) with CONFIG_EARLY_PRINTK=exynos5420.
>
> Regards,
>
> commit 9595eedd366145b5b3e91b2b7cfa076cc2fc4174
> Author: Julien Grall <julien.grall@linaro.org>
> Date:   Mon Apr 14 17:24:54 2014 +0100
>
>     xen/arm: Add early printk for Arndale Octa (exynos5420)
>
>     Enable early printk for exynos5420.
>
>     Signed-off-by: Julien Grall <julien.grall@linaro.org>
>
> diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
> index c551afb..ddc2e28 100644
> --- a/xen/arch/arm/Rules.mk
> +++ b/xen/arch/arm/Rules.mk
> @@ -57,6 +57,12 @@ EARLY_PRINTK_INIT_UART := y
>  EARLY_PRINTK_BAUD := 115200
>  EARLY_UART_BASE_ADDRESS := 0x12c20000
>  endif
> +ifeq ($(CONFIG_EARLY_PRINTK), exynos5420)
> +EARLY_PRINTK_INC := exynos4210
> +EARLY_PRINTK_INIT_UART := y
> +EARLY_PRINTK_BAUD := 11520
> +EARLY_UART_BASE_ADDRESS := 0x12c30000
> +endif
>  ifeq ($(CONFIG_EARLY_PRINTK), midway)
>  EARLY_PRINTK_INC := pl011
>  EARLY_PRINTK_BAUD := 115200
>
>
>
> --
> Julien Grall
>
Suriyan Ramasami April 14, 2014, 5:07 p.m. UTC | #2
On Mon, Apr 14, 2014 at 9:31 AM, Julien Grall <julien.grall@linaro.org> wrote:
> On 04/14/2014 04:33 PM, HyonYoung Choi wrote:
>> Hello Julien,
>
>> I'm Hyonyoung Choi, working on Xen into Arndale-Octa board with Meng.
>>
>> I tried to recompiled xen with CONFIG_EARLY_PRINTK=exynos5250 as your
>> advice.
>>
>> The command line is like this:
>>
>> make distclean
>> export CONFIG_EARLY_PRINTK=exynos5250
>> make dist-xen XEN_TARGET_ARCH=arm32
>>
>> The result is nothing happened at all.
>> No additional message is printed.
>
> Sorry I misread the documentation, the UART port is not the same on the
> exynos5420. Can you try to apply the patch below and recompile xen (make
> clean make) with CONFIG_EARLY_PRINTK=exynos5420.
>
> Regards,
>
Hello HyonYoung,
Also, please note the typo for EARLY_PRINTK_BAUD. I guess Julien
missed a 0 at the end.

For the exynos5410, this is what I did with some expert guidance from
Julien and Ian Campbell. I shall document it here, as it might help
you too.

Changes in XEN (xen 4.4 stable) (first lets get XEN to boot and show
some output)
1. change: xen/arch/arm/platforms/exynos5.c structure:
exynos5_dt_compat[], and add “samsung,exynos5410” in that list
   For you it might be "samsung,exynos5420" -> check your dtsi file.
2. Linux kernel exynos5410.dtsi (for you possibly exynos5420.dtsi)to
have the ARCH generic timer information. You might already have it.
timer {
 compatible = "arm,cortex­a15­timer","arm,armv7­timer";
 interrupts = <1 13 0xf08>,
          <1 14 0xf08>,
          <1 11 0xf08>,
          <1 10 0xf08>;
          clock­frequency = <24000000>;
};
Above works for 5250 and 5410.
3. Comment out all CPUs but the first cpu to start with (done in your
exynos5420.dtsi file)
4. As Tod mentioned, you are missing the dtb file that you need to
pass as 3rd parameter to the bootm command. -> bootm $kernel_addr_t -
$dtb_addr_t
5. The bootargs that you have set for xen, need to have the
console=dtuart dtuart=/serial@12C20000.
   For you as Julien pointed out it might be @12C30000
I am not sure if just settign bootargs will help. I wonder if it has
to be fdt set to /chosen etc. I have pasted a working env file which
you can modify and convert to scr to run it if need be.

For building XEN (make dist-xen), I am not sure if you have to add
debug=y as well for the CONFIG_EARLY_PRINTK=exynos5420 to be pulled in
- but, please do check on that.

The below script, please change the names of files and the serial location.
---- Working script for xen boot from mmc ---- 8< -----
# Generic script to load and boot Xen from mmc
#
# For any questions/bug report please send an email to:
#   xen­devel@lists.xen.org
#
# Requirements:
#   U­boot variable environment:
#     ­ kernel_addr_r: kernel load address
#     ­ xen_addr_r: xen load address
#     ­ dtb_addr_r: fdt load address
#     ­ serverip: IP of the tftp server
#     ­ xen_bootargs: xen command line
#     ­ dom0_bootargs: dom0 command line
#     ­ kernel_path: kernel path
#     ­ xen_path: xen path
#     ­ dtb_path: device tree path
#
#   Tftp server file:
#     You need to provide the files that you have specified in
#     $xen_path, $dtb_path and $kernel_path

## Load the different components

# Load Linux in memory
fatload mmc 0:1 $kernel_addr_r $kernel_path
# Load Xen in memory
fatload mmc 0:1 $xen_addr_r $xen_path
# Load the device tree in memory
fatload mmc 0:1 $dtb_addr_r $dtb_path

## Fixup the device tree

# Be sure U­boot is using our FDT
fdt addr $dtb_addr_r
# Resize the FDT just in case
fdt resize
# Set Xen arguments based on $xen_bootargs
fdt set /chosen xen,xen­bootargs \"$xen_bootargs\"
#setenv bootargs $xen_bootargs # On Xen unstable, xen cmdline is in bootargs
# Set Dom0 arguments based on $dom0_bootargs
fdt set /chosen xen,dom0­bootargs \"$dom0_bootargs\"
# Create modules node fdt mknode /chosen modules
fdt set /chosen/modules '#address­cells' <1>
fdt set /chosen/modules '#size­cells' <1>
# Create node for the linux located at $kernel_addr_r
# It seems U­boot doesn't have command to retrieve the size, so the size is
# set to a big value (10Mb)
fdt mknode /chosen/modules module@0
fdt set /chosen/modules/module@0 compatible xen,linux­zimage
xen,multiboot­module
fdt set /chosen/modules/module@0 reg <$kernel_addr_r 0x00a00000>

## Boot Xen
bootm $xen_addr_r ­ $dtb_addr_r
--------------------------- 8< --------------------------
2. Set the following u­boot variables:
 setenv xen_addr_r 0x50000000
 setenv kernel_addr_r 0x60000000
 setenv dtb_addr_r 0x42000000
 setenv xen_path /xen­uImage
 setenv kernel_path /linux­zImage
 setenv dtb_path /exynos5410odroidxu.dtb
 setenv xen_bootargs 'sync_console console=dtuart dtuart=/serial@12C20000'
 setenv dom0_bootargs 'console=hvc0 ignore_loglevel psci=enable
clk_ignore_unused
root=/dev/mmcblk0p2'
saveenv
With the saveenv we do not have to do it again and again

> commit 9595eedd366145b5b3e91b2b7cfa076cc2fc4174
> Author: Julien Grall <julien.grall@linaro.org>
> Date:   Mon Apr 14 17:24:54 2014 +0100
>
>     xen/arm: Add early printk for Arndale Octa (exynos5420)
>
>     Enable early printk for exynos5420.
>
>     Signed-off-by: Julien Grall <julien.grall@linaro.org>
>
> diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
> index c551afb..ddc2e28 100644
> --- a/xen/arch/arm/Rules.mk
> +++ b/xen/arch/arm/Rules.mk
> @@ -57,6 +57,12 @@ EARLY_PRINTK_INIT_UART := y
>  EARLY_PRINTK_BAUD := 115200
>  EARLY_UART_BASE_ADDRESS := 0x12c20000
>  endif
> +ifeq ($(CONFIG_EARLY_PRINTK), exynos5420)
> +EARLY_PRINTK_INC := exynos4210
> +EARLY_PRINTK_INIT_UART := y
> +EARLY_PRINTK_BAUD := 11520
> +EARLY_UART_BASE_ADDRESS := 0x12c30000
> +endif
>  ifeq ($(CONFIG_EARLY_PRINTK), midway)
>  EARLY_PRINTK_INC := pl011
>  EARLY_PRINTK_BAUD := 115200
>
>
>
> --
> Julien Grall
Julien Grall April 14, 2014, 5:37 p.m. UTC | #3
On 04/14/2014 06:07 PM, Suriyan Ramasami wrote:

> Also, please note the typo for EARLY_PRINTK_BAUD. I guess Julien
> missed a 0 at the end.

Hrmmm, right. I didn't check my patch.

> 
> For the exynos5410, this is what I did with some expert guidance from
> Julien and Ian Campbell. I shall document it here, as it might help
> you too.
> 
> Changes in XEN (xen 4.4 stable) (first lets get XEN to boot and show
> some output)
> 1. change: xen/arch/arm/platforms/exynos5.c structure:
> exynos5_dt_compat[], and add “samsung,exynos5410” in that list
>    For you it might be "samsung,exynos5420" -> check your dtsi file.

Do you plan to send a patch for adding odroid Xu support in Xen?


> 2. Linux kernel exynos5410.dtsi (for you possibly exynos5420.dtsi)to
> have the ARCH generic timer information. You might already have it.

Do you plan to send this patch on Linux upstream?

> timer {
>  compatible = "arm,cortex­a15­timer","arm,armv7­timer";

I guess you meant arm,armv7-timer?

>  interrupts = <1 13 0xf08>,
>           <1 14 0xf08>,
>           <1 11 0xf08>,
>           <1 10 0xf08>;
>           clock­frequency = <24000000>;
> };
> Above works for 5250 and 5410.
> 3. Comment out all CPUs but the first cpu to start with (done in your
> exynos5420.dtsi file)
> 4. As Tod mentioned, you are missing the dtb file that you need to
> pass as 3rd parameter to the bootm command. -> bootm $kernel_addr_t -
> $dtb_addr_t
> 5. The bootargs that you have set for xen, need to have the
> console=dtuart dtuart=/serial@12C20000.
>    For you as Julien pointed out it might be @12C30000
> I am not sure if just settign bootargs will help. I wonder if it has
> to be fdt set to /chosen etc. I have pasted a working env file which
> you can modify and convert to scr to run it if need be.

We should see some messages

> For building XEN (make dist-xen), I am not sure if you have to add
> debug=y as well for the CONFIG_EARLY_PRINTK=exynos5420 to be pulled in
> - but, please do check on that.

Aargh, I though Ian's patch to print an error when CONFIG_EARLY_PRINTK
is used without debug=y was in Xen 4.4.

From HyonYoung's previous mail, debug=y was not set.

Regards,
HyonYoung Choi April 14, 2014, 5:52 p.m. UTC | #4
Hello all,

I have modified all as Julien mentioned. No changes.

When I change ".dtsi" file, is just executing "make dtbs" right?

I got something printed out after putting "debug=y" to xen-make.
However it is some characters not based on alphabet.
Wrong port?

Thank you,
Hyonyoung



On Mon, Apr 14, 2014 at 1:37 PM, Julien Grall <julien.grall@linaro.org>wrote:

> On 04/14/2014 06:07 PM, Suriyan Ramasami wrote:
>
> > Also, please note the typo for EARLY_PRINTK_BAUD. I guess Julien
> > missed a 0 at the end.
>
> Hrmmm, right. I didn't check my patch.
>
> >
> > For the exynos5410, this is what I did with some expert guidance from
> > Julien and Ian Campbell. I shall document it here, as it might help
> > you too.
> >
> > Changes in XEN (xen 4.4 stable) (first lets get XEN to boot and show
> > some output)
> > 1. change: xen/arch/arm/platforms/exynos5.c structure:
> > exynos5_dt_compat[], and add “samsung,exynos5410” in that list
> >    For you it might be "samsung,exynos5420" -> check your dtsi file.
>
> Do you plan to send a patch for adding odroid Xu support in Xen?
>
>
> > 2. Linux kernel exynos5410.dtsi (for you possibly exynos5420.dtsi)to
> > have the ARCH generic timer information. You might already have it.
>
> Do you plan to send this patch on Linux upstream?
>
> > timer {
> >  compatible = "arm,cortex­a15­timer","arm,armv7­timer";
>
> I guess you meant arm,armv7-timer?
>
> >  interrupts = <1 13 0xf08>,
> >           <1 14 0xf08>,
> >           <1 11 0xf08>,
> >           <1 10 0xf08>;
> >           clock­frequency = <24000000>;
> > };
> > Above works for 5250 and 5410.
> > 3. Comment out all CPUs but the first cpu to start with (done in your
> > exynos5420.dtsi file)
> > 4. As Tod mentioned, you are missing the dtb file that you need to
> > pass as 3rd parameter to the bootm command. -> bootm $kernel_addr_t -
> > $dtb_addr_t
> > 5. The bootargs that you have set for xen, need to have the
> > console=dtuart dtuart=/serial@12C20000.
> >    For you as Julien pointed out it might be @12C30000
> > I am not sure if just settign bootargs will help. I wonder if it has
> > to be fdt set to /chosen etc. I have pasted a working env file which
> > you can modify and convert to scr to run it if need be.
>
> We should see some messages
>
> > For building XEN (make dist-xen), I am not sure if you have to add
> > debug=y as well for the CONFIG_EARLY_PRINTK=exynos5420 to be pulled in
> > - but, please do check on that.
>
> Aargh, I though Ian's patch to print an error when CONFIG_EARLY_PRINTK
> is used without debug=y was in Xen 4.4.
>
> From HyonYoung's previous mail, debug=y was not set.
>
> Regards,
>
> --
> Julien Grall
>
Julien Grall April 14, 2014, 6:34 p.m. UTC | #5
On 04/14/2014 06:52 PM, HyonYoung Choi wrote:
> Hello all,

Hello HyonYoung,

> I have modified all as Julien mentioned. No changes.
> 
> When I change ".dtsi" file, is just executing "make dtbs" right?

Yes.

> I got something printed out after putting "debug=y" to xen-make.
> However it is some characters not based on alphabet.
> Wrong port?

I don't have any octa board. I won't be more helpful than Google/the
Device Tree/U-boot/Linux. You will have to dig into the code and see
what is the issue.

If you get some output that means you are using the right port. The UART
layout is an exynos4210 (see xen/arch/arm/arm32/debug-exynos4210.inc).

My guess is the clock frequency is not the same on the exynos5250 and
the exynos5420.

Regards,
HyonYoung Choi April 14, 2014, 6:54 p.m. UTC | #6
I really appreciate for all your help

Thanks
Hyonyoung


On Mon, Apr 14, 2014 at 2:34 PM, Julien Grall <julien.grall@linaro.org>wrote:

> On 04/14/2014 06:52 PM, HyonYoung Choi wrote:
> > Hello all,
>
> Hello HyonYoung,
>
> > I have modified all as Julien mentioned. No changes.
> >
> > When I change ".dtsi" file, is just executing "make dtbs" right?
>
> Yes.
>
> > I got something printed out after putting "debug=y" to xen-make.
> > However it is some characters not based on alphabet.
> > Wrong port?
>
> I don't have any octa board. I won't be more helpful than Google/the
> Device Tree/U-boot/Linux. You will have to dig into the code and see
> what is the issue.
>
> If you get some output that means you are using the right port. The UART
> layout is an exynos4210 (see xen/arch/arm/arm32/debug-exynos4210.inc).
>
> My guess is the clock frequency is not the same on the exynos5250 and
> the exynos5420.
>
> Regards,
>
> --
> Julien Grall
>
Suriyan Ramasami April 15, 2014, 1:49 a.m. UTC | #7
On Mon, Apr 14, 2014 at 10:37 AM, Julien Grall <julien.grall@linaro.org> wrote:
> On 04/14/2014 06:07 PM, Suriyan Ramasami wrote:
>
>> Also, please note the typo for EARLY_PRINTK_BAUD. I guess Julien
>> missed a 0 at the end.
>
> Hrmmm, right. I didn't check my patch.
>
>>
>> For the exynos5410, this is what I did with some expert guidance from
>> Julien and Ian Campbell. I shall document it here, as it might help
>> you too.
>>
>> Changes in XEN (xen 4.4 stable) (first lets get XEN to boot and show
>> some output)
>> 1. change: xen/arch/arm/platforms/exynos5.c structure:
>> exynos5_dt_compat[], and add “samsung,exynos5410” in that list
>>    For you it might be "samsung,exynos5420" -> check your dtsi file.
>
> Do you plan to send a patch for adding odroid Xu support in Xen?
>
That is my intent. I have yet to find time to resolve the other issues
when enabling multiple CPUs.
>
>> 2. Linux kernel exynos5410.dtsi (for you possibly exynos5420.dtsi)to
>> have the ARCH generic timer information. You might already have it.
>
> Do you plan to send this patch on Linux upstream?
>
I guess I will take this one up as well.

>> timer {
>>  compatible = "arm,cortex­a15­timer","arm,armv7­timer";
>
> I guess you meant arm,armv7-timer?
That is correct, somehow the "-" characters got eaten in the email. It
should be:
"arm,cortex-a15-timer", "arm,armv7-timer"

>
>>  interrupts = <1 13 0xf08>,
>>           <1 14 0xf08>,
>>           <1 11 0xf08>,
>>           <1 10 0xf08>;
>>           clock­frequency = <24000000>;
>> };
>> Above works for 5250 and 5410.
>> 3. Comment out all CPUs but the first cpu to start with (done in your
>> exynos5420.dtsi file)
>> 4. As Tod mentioned, you are missing the dtb file that you need to
>> pass as 3rd parameter to the bootm command. -> bootm $kernel_addr_t -
>> $dtb_addr_t
>> 5. The bootargs that you have set for xen, need to have the
>> console=dtuart dtuart=/serial@12C20000.
>>    For you as Julien pointed out it might be @12C30000
>> I am not sure if just settign bootargs will help. I wonder if it has
>> to be fdt set to /chosen etc. I have pasted a working env file which
>> you can modify and convert to scr to run it if need be.
>
> We should see some messages
>
>> For building XEN (make dist-xen), I am not sure if you have to add
>> debug=y as well for the CONFIG_EARLY_PRINTK=exynos5420 to be pulled in
>> - but, please do check on that.
>
> Aargh, I though Ian's patch to print an error when CONFIG_EARLY_PRINTK
> is used without debug=y was in Xen 4.4.
>
> From HyonYoung's previous mail, debug=y was not set.
>
> Regards,
>
> --
> Julien Grall
diff mbox

Patch

diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index c551afb..ddc2e28 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -57,6 +57,12 @@  EARLY_PRINTK_INIT_UART := y
 EARLY_PRINTK_BAUD := 115200
 EARLY_UART_BASE_ADDRESS := 0x12c20000
 endif
+ifeq ($(CONFIG_EARLY_PRINTK), exynos5420)
+EARLY_PRINTK_INC := exynos4210
+EARLY_PRINTK_INIT_UART := y
+EARLY_PRINTK_BAUD := 11520
+EARLY_UART_BASE_ADDRESS := 0x12c30000
+endif
 ifeq ($(CONFIG_EARLY_PRINTK), midway)
 EARLY_PRINTK_INC := pl011
 EARLY_PRINTK_BAUD := 115200