[PATCH for soc] socfpga: map uart into virtual address space so that early_printk() works

Pavel Machek pavel at denx.de
Sat Nov 3 07:26:14 EDT 2012


Hi!

> Early printk code needs UART to be mapped early during
> boot. early_printk() is left there during the start-up; it is useful
> as our emulators are fairly slow.
> 
> Signed-off-by: Pavel Machek <pavel at denx.de>
> Acked-by: Dinh Nguyen <dinguyen at altera.com>

Could we get this one applied? No comments for quite a while... and it
is needed for machine not to crash with early_printk used...
								Pavel

> diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c
> index ab81ea9..49fb62b 100644
> --- a/arch/arm/mach-socfpga/socfpga.c
> +++ b/arch/arm/mach-socfpga/socfpga.c
> @@ -37,6 +37,15 @@ static struct map_desc scu_io_desc __initdata = {
>  	.type		= MT_DEVICE,
>  };
>  
> +
> +
> +static struct map_desc uart_io_desc __initdata = {
> +	.virtual	= 0xfec02000,
> +	.pfn		= __phys_to_pfn(0xffc02000),
> +	.length		= SZ_8K,
> +	.type		= MT_DEVICE,
> +};
> +
>  static void __init socfpga_scu_map_io(void)
>  {
>  	unsigned long base;
> @@ -51,6 +60,8 @@ static void __init socfpga_scu_map_io(void)
>  static void __init socfpga_map_io(void)
>  {
>  	socfpga_scu_map_io();
> +	iotable_init(&uart_io_desc, 1);
> +	early_printk("Early printk initialized\n");
>  }
>  
>  const static struct of_device_id irq_match[] = {
> 

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html



More information about the linux-arm-kernel mailing list