mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-11 05:17:10 +09:00
rk29: add early printk support
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
obj-y += timer.o io.o devices.o iomux.o clock.o rk29-pl330.o dma.o gpio.o ddr.o sram.o memcpy_dma.o reset.o
|
||||
obj-y += early_printk.o
|
||||
ifndef CONFIG_DEBUG_LL
|
||||
obj-y += ../kernel/debug.o
|
||||
endif
|
||||
obj-$(CONFIG_PM) += pm.o
|
||||
obj-$(CONFIG_CPU_FREQ) += cpufreq.o
|
||||
obj-$(CONFIG_RK29_VPU) += vpu.o vpu_mem.o
|
||||
|
||||
@@ -2270,9 +2270,7 @@ static void __init clk_enable_init_clocks(void)
|
||||
clk_enable_nolock(&clk_ddr);
|
||||
clk_enable_nolock(&clk_debug);
|
||||
clk_enable_nolock(&clk_jtag);
|
||||
#ifdef CONFIG_DEBUG_LL
|
||||
clk_enable_nolock(&clk_uart1);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int __init clk_disable_unused(void)
|
||||
|
||||
46
arch/arm/mach-rk29/early_printk.c
Normal file
46
arch/arm/mach-rk29/early_printk.c
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* arch/arm/mach-rk29/early_printk.c
|
||||
*
|
||||
* Copyright (C) 2009 Sascha Hauer <s.hauer@pengutronix.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
#ifndef CONFIG_DEBUG_LL
|
||||
extern void printch(int);
|
||||
|
||||
static void early_write(const char *s, unsigned n)
|
||||
{
|
||||
while (n-- > 0) {
|
||||
if (*s == '\n')
|
||||
printch('\r');
|
||||
printch(*s);
|
||||
s++;
|
||||
}
|
||||
}
|
||||
|
||||
static void early_console_write(struct console *con, const char *s, unsigned n)
|
||||
{
|
||||
early_write(s, n);
|
||||
}
|
||||
|
||||
static struct console early_console = {
|
||||
.name = "earlycon",
|
||||
.write = early_console_write,
|
||||
.flags = CON_PRINTBUFFER | CON_BOOT,
|
||||
.index = -1,
|
||||
};
|
||||
#endif
|
||||
|
||||
void __init rk29_setup_early_printk(void)
|
||||
{
|
||||
#ifndef CONFIG_DEBUG_LL
|
||||
register_console(&early_console);
|
||||
#endif
|
||||
}
|
||||
@@ -197,7 +197,7 @@ struct akm8975_platform_data {
|
||||
int gpio_DRDY;
|
||||
};
|
||||
|
||||
|
||||
void __init rk29_setup_early_printk(void);
|
||||
void __init rk29_map_common_io(void);
|
||||
void __init rk29_clock_init(void);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user