Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/boot/cuboot-taishan.c
26442 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/*
3
* Old U-boot compatibility for Taishan
4
*
5
* Author: Hugh Blemings <[email protected]>
6
*
7
* Copyright 2007 Hugh Blemings, IBM Corporation.
8
* Based on cuboot-ebony.c which is:
9
* Copyright 2007 David Gibson, IBM Corporation.
10
* Based on cuboot-83xx.c, which is:
11
* Copyright (c) 2007 Freescale Semiconductor, Inc.
12
*/
13
14
#include "ops.h"
15
#include "stdio.h"
16
#include "cuboot.h"
17
#include "reg.h"
18
#include "dcr.h"
19
#include "4xx.h"
20
21
#define TARGET_4xx
22
#define TARGET_44x
23
#define TARGET_440GX
24
#include "ppcboot.h"
25
26
static bd_t bd;
27
28
BSS_STACK(4096);
29
30
static void taishan_fixups(void)
31
{
32
/* FIXME: sysclk should be derived by reading the FPGA
33
registers */
34
unsigned long sysclk = 33000000;
35
36
ibm440gx_fixup_clocks(sysclk, 6 * 1843200, 25000000);
37
38
ibm4xx_sdram_fixup_memsize();
39
40
dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
41
dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
42
43
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
44
}
45
46
void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
47
unsigned long r6, unsigned long r7)
48
{
49
CUBOOT_INIT();
50
51
platform_ops.fixups = taishan_fixups;
52
fdt_init(_dtb_start);
53
serial_console_init();
54
}
55
56