From 055f6518b0ff4a073bfccc064aba2328f9ff56ab Mon Sep 17 00:00:00 2001 From: Huibin Hong Date: Sat, 30 Jan 2016 16:54:36 +0800 Subject: [PATCH] soc: rockchip: add rk fiq debugger platform driver Change-Id: Ibb32efc190ce49d657973133a30632c71f0d806c Signed-off-by: Huibin Hong --- drivers/soc/rockchip/Makefile | 1 + .../soc/rockchip}/rk_fiq_debugger.c | 16 +++++++++------- .../linux/soc/rockchip}/rk_fiq_debugger.h | 0 3 files changed, 10 insertions(+), 7 deletions(-) rename {arch/arm/mach-rockchip => drivers/soc/rockchip}/rk_fiq_debugger.c (98%) rename {arch/arm/mach-rockchip => include/linux/soc/rockchip}/rk_fiq_debugger.h (100%) diff --git a/drivers/soc/rockchip/Makefile b/drivers/soc/rockchip/Makefile index 3d73d0672d22..ba78801b7186 100644 --- a/drivers/soc/rockchip/Makefile +++ b/drivers/soc/rockchip/Makefile @@ -2,3 +2,4 @@ # Rockchip Soc drivers # obj-$(CONFIG_ROCKCHIP_PM_DOMAINS) += pm_domains.o +obj-$(CONFIG_FIQ_DEBUGGER) += rk_fiq_debugger.o diff --git a/arch/arm/mach-rockchip/rk_fiq_debugger.c b/drivers/soc/rockchip/rk_fiq_debugger.c similarity index 98% rename from arch/arm/mach-rockchip/rk_fiq_debugger.c rename to drivers/soc/rockchip/rk_fiq_debugger.c index 105a9a5f4f46..e085e4527e42 100755 --- a/arch/arm/mach-rockchip/rk_fiq_debugger.c +++ b/drivers/soc/rockchip/rk_fiq_debugger.c @@ -1,5 +1,5 @@ /* - * arch/arm/plat-rk/rk_fiq_debugger.c + * drivers/soc/rockchip/rk_fiq_debugger.c * * Serial Debugger Interface for Rockchip * @@ -36,7 +36,7 @@ #include <../drivers/staging/android/fiq_debugger/fiq_debugger.h> #include #include -#include "rk_fiq_debugger.h" +#include #ifdef CONFIG_FIQ_DEBUGGER_EL3_TO_EL1 #include "linux/rockchip/psci.h" @@ -430,7 +430,7 @@ static int __init rk_fiq_debugger_init(void) { void __iomem *base; struct device_node *np; - unsigned int i, id, serial_id, ok = 0; + unsigned int id, serial_id, ok = 0; unsigned int irq, signal_irq = 0, wake_irq = 0; unsigned int baudrate = 0, irq_mode = 0; struct clk *clk; @@ -466,7 +466,8 @@ static int __init rk_fiq_debugger_init(void) { baudrate = -1; np = NULL; - for (i = 0; i < 5; i++) { + + do { np = of_find_node_by_name(np, "serial"); if (np) { id = of_alias_get_id(np, "serial"); @@ -475,12 +476,13 @@ static int __init rk_fiq_debugger_init(void) { break; } } - } + } while(np); + if (!ok) return -EINVAL; - pclk = of_clk_get_by_name(np, "pclk_uart"); - clk = of_clk_get_by_name(np, "sclk_uart"); + pclk = of_clk_get_by_name(np, "apb_pclk"); + clk = of_clk_get_by_name(np, "baudclk"); if (unlikely(IS_ERR(clk)) || unlikely(IS_ERR(pclk))) { pr_err("fiq-debugger get clock fail\n"); return -EINVAL; diff --git a/arch/arm/mach-rockchip/rk_fiq_debugger.h b/include/linux/soc/rockchip/rk_fiq_debugger.h similarity index 100% rename from arch/arm/mach-rockchip/rk_fiq_debugger.h rename to include/linux/soc/rockchip/rk_fiq_debugger.h -- 2.34.1