OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [arch/] [powerpc/] [boot/] [cuboot-85xx.c] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
/*
2
 * Old U-boot compatibility for 85xx
3
 *
4
 * Author: Scott Wood <scottwood@freescale.com>
5
 *
6
 * Copyright (c) 2007 Freescale Semiconductor, Inc.
7
 *
8
 * This program is free software; you can redistribute it and/or modify it
9
 * under the terms of the GNU General Public License version 2 as published
10
 * by the Free Software Foundation.
11
 */
12
 
13
#include "ops.h"
14
#include "stdio.h"
15
#include "cuboot.h"
16
 
17
#define TARGET_85xx
18
#include "ppcboot.h"
19
 
20
static bd_t bd;
21
 
22
static void platform_fixups(void)
23
{
24
        void *soc;
25
 
26
        dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
27
        dt_fixup_mac_addresses(bd.bi_enetaddr, bd.bi_enet1addr,
28
                               bd.bi_enet2addr);
29
        dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 8, bd.bi_busfreq);
30
 
31
        /* Unfortunately, the specific model number is encoded in the
32
         * soc node name in existing dts files -- once that is fixed,
33
         * this can do a simple path lookup.
34
         */
35
        soc = find_node_by_devtype(NULL, "soc");
36
        if (soc) {
37
                void *serial = NULL;
38
 
39
                setprop(soc, "bus-frequency", &bd.bi_busfreq,
40
                        sizeof(bd.bi_busfreq));
41
 
42
                while ((serial = find_node_by_devtype(serial, "serial"))) {
43
                        if (get_parent(serial) != soc)
44
                                continue;
45
 
46
                        setprop(serial, "clock-frequency", &bd.bi_busfreq,
47
                                sizeof(bd.bi_busfreq));
48
                }
49
        }
50
}
51
 
52
void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
53
                   unsigned long r6, unsigned long r7)
54
{
55
        CUBOOT_INIT();
56
        ft_init(_dtb_start, _dtb_end - _dtb_start, 32);
57
        serial_console_init();
58
        platform_ops.fixups = platform_fixups;
59
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.