diff options
author | Florian Fainelli <florian@openwrt.org> | 2008-11-26 18:41:01 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2008-11-26 18:41:01 +0000 |
commit | 1c77ec0587c585f53a7bb8b3979a0303a1527a66 (patch) | |
tree | db8aff070beeb2621ee6c857ee2de73e8a70dd5e /target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c | |
parent | bd060db789def791e6ae5efc2fbf4329f3d056d3 (diff) | |
download | mtk-20170518-1c77ec0587c585f53a7bb8b3979a0303a1527a66.zip mtk-20170518-1c77ec0587c585f53a7bb8b3979a0303a1527a66.tar.gz mtk-20170518-1c77ec0587c585f53a7bb8b3979a0303a1527a66.tar.bz2 |
Flatten brcm63xx patches, should make our life easier to patch files now ;)
SVN-Revision: 13368
Diffstat (limited to 'target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c')
-rw-r--r-- | target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c b/target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c new file mode 100644 index 0000000..d97ceed --- /dev/null +++ b/target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c @@ -0,0 +1,47 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 2008 Maxime Bizon <mbizon@freebox.fr> + */ + +#include <linux/init.h> +#include <linux/bootmem.h> +#include <asm/bootinfo.h> +#include <bcm63xx_board.h> +#include <bcm63xx_cpu.h> +#include <bcm63xx_io.h> +#include <bcm63xx_regs.h> + +void __init prom_init(void) +{ + u32 reg, mask; + + bcm63xx_cpu_init(); + + /* stop any running watchdog */ + bcm_wdt_writel(WDT_STOP_1, WDT_CTL_REG); + bcm_wdt_writel(WDT_STOP_2, WDT_CTL_REG); + + /* disable all hardware blocks clock for now */ + if (BCMCPU_IS_6348()) + mask = CKCTL_6348_ALL_SAFE_EN; + else + /* BCMCPU_IS_6358() */ + mask = CKCTL_6358_ALL_SAFE_EN; + + reg = bcm_perf_readl(PERF_CKCTL_REG); + reg &= ~mask; + bcm_perf_writel(reg, PERF_CKCTL_REG); + + /* assign command line from kernel config */ + strcpy(arcs_cmdline, CONFIG_CMDLINE); + + /* do low level board init */ + board_prom_init(); +} + +void __init prom_free_prom_memory(void) +{ +} |