~ubuntu-branches/ubuntu/saucy/u-boot/saucy

« back to all changes in this revision

Viewing changes to board/highbank/highbank.c

  • Committer: Package Import Robot
  • Author(s): Clint Adams
  • Date: 2012-05-01 18:07:19 UTC
  • mfrom: (16.1.23 sid)
  • Revision ID: package-import@ubuntu.com-20120501180719-rjntk3287im4a0ns
Tags: 2012.04.01-1
* New upstream version.
  - Update mipsel-native-endianness.diff.
  - Update no-error-on-set-but-unused-variables.diff (partially merged).
  - Drop kirkwood_spi-irq_mask.diff (merged).
  - Drop kirkwood-disable-l2c.diff (merged).

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
#include <common.h>
19
19
#include <ahci.h>
 
20
#include <netdev.h>
20
21
#include <scsi.h>
21
22
 
22
23
#include <asm/sizes.h>
 
24
#include <asm/io.h>
 
25
 
 
26
#define HB_SREG_A9_PWR_REQ              0xfff3cf00
 
27
#define HB_SREG_A9_BOOT_SRC_STAT        0xfff3cf04
 
28
#define HB_PWR_SUSPEND                  0
 
29
#define HB_PWR_SOFT_RESET               1
 
30
#define HB_PWR_HARD_RESET               2
 
31
#define HB_PWR_SHUTDOWN                 3
23
32
 
24
33
DECLARE_GLOBAL_DATA_PTR;
25
34
 
33
42
        return 0;
34
43
}
35
44
 
 
45
/* We know all the init functions have been run now */
 
46
int board_eth_init(bd_t *bis)
 
47
{
 
48
        int rc = 0;
 
49
 
 
50
#ifdef CONFIG_CALXEDA_XGMAC
 
51
        rc += calxedaxgmac_initialize(0, 0xfff50000);
 
52
        rc += calxedaxgmac_initialize(1, 0xfff51000);
 
53
#endif
 
54
        return rc;
 
55
}
 
56
 
36
57
int misc_init_r(void)
37
58
{
 
59
        char envbuffer[16];
 
60
        u32 boot_choice;
 
61
 
38
62
        ahci_init(0xffe08000);
39
63
        scsi_scan(1);
 
64
 
 
65
        boot_choice = readl(HB_SREG_A9_BOOT_SRC_STAT) & 0xff;
 
66
        sprintf(envbuffer, "bootcmd%d", boot_choice);
 
67
        if (getenv(envbuffer)) {
 
68
                sprintf(envbuffer, "run bootcmd%d", boot_choice);
 
69
                setenv("bootcmd", envbuffer);
 
70
        } else
 
71
                setenv("bootcmd", "");
 
72
 
40
73
        return 0;
41
74
}
42
75
 
54
87
 
55
88
void reset_cpu(ulong addr)
56
89
{
 
90
        writel(HB_PWR_HARD_RESET, HB_SREG_A9_PWR_REQ);
 
91
        asm("   wfi");
57
92
}