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-83xx.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 83xx
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_83xx
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
        dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 4, bd.bi_busfreq);
29
 
30
        /* Unfortunately, the specific model number is encoded in the
31
         * soc node name in existing dts files -- once that is fixed,
32
         * this can do a simple path lookup.
33
         */
34
        soc = find_node_by_devtype(NULL, "soc");
35
        if (soc) {
36
                void *serial = NULL;
37
 
38
                setprop(soc, "bus-frequency", &bd.bi_busfreq,
39
                        sizeof(bd.bi_busfreq));
40
 
41
                while ((serial = find_node_by_devtype(serial, "serial"))) {
42
                        if (get_parent(serial) != soc)
43
                                continue;
44
 
45
                        setprop(serial, "clock-frequency", &bd.bi_busfreq,
46
                                sizeof(bd.bi_busfreq));
47
                }
48
        }
49
}
50
 
51
void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
52
                   unsigned long r6, unsigned long r7)
53
{
54
        CUBOOT_INIT();
55
        ft_init(_dtb_start, _dtb_end - _dtb_start, 32);
56
        serial_console_init();
57
        platform_ops.fixups = platform_fixups;
58
}

powered by: WebSVN 2.1.0

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