Blame view

board/pb1x00/pb1x00.c 2.63 KB
265817c7e   Wolfgang Denk   Add support for A...
1
2
3
4
  /*
   * (C) Copyright 2003
   * Thomas.Lange@corelatus.se
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
5
   * SPDX-License-Identifier:	GPL-2.0+
265817c7e   Wolfgang Denk   Add support for A...
6
7
8
9
   */
  
  #include <common.h>
  #include <command.h>
76ada5f8b   Daniel Schwierzeck   MIPS: au1x00: mov...
10
  #include <mach/au1x00.h>
265817c7e   Wolfgang Denk   Add support for A...
11
  #include <asm/mipsregs.h>
5c15010ef   Jean-Christophe PLAGNIOL-VILLARD   Fixed mips_io_por...
12
  #include <asm/io.h>
265817c7e   Wolfgang Denk   Add support for A...
13

088454cde   Simon Glass   board_f: Drop ret...
14
  DECLARE_GLOBAL_DATA_PTR;
f1683aa73   Simon Glass   board_f: Rename i...
15
  int dram_init(void)
265817c7e   Wolfgang Denk   Add support for A...
16
17
18
  {
  	/* Sdram is setup by assembler code */
  	/* If memory could be changed, we should return the true value here */
088454cde   Simon Glass   board_f: Drop ret...
19
20
21
  	gd->ram_size = 64 * 1024 * 1024;
  
  	return 0;
265817c7e   Wolfgang Denk   Add support for A...
22
23
24
25
  }
  
  #define BCSR_PCMCIA_PC0DRVEN		0x0010
  #define BCSR_PCMCIA_PC0RST		0x0080
1e3827d9c   Peter Tyser   mips: Move cpu/mi...
26
  /* In arch/mips/cpu/cpu.c */
265817c7e   Wolfgang Denk   Add support for A...
27
28
29
30
  void write_one_tlb( int index, u32 pagemask, u32 hi, u32 low0, u32 low1 );
  
  int checkboard (void)
  {
6073f61e0   Jean-Christophe PLAGNIOL-VILLARD   pb1x00 board: Fix...
31
  #if defined(CONFIG_IDE_PCMCIA) && 0
265817c7e   Wolfgang Denk   Add support for A...
32
  	u16 status;
6073f61e0   Jean-Christophe PLAGNIOL-VILLARD   pb1x00 board: Fix...
33
  #endif
265817c7e   Wolfgang Denk   Add support for A...
34
35
36
37
38
  	/* volatile u32 *pcmcia_bcsr = (u32*)(DB1000_BCSR_ADDR+0x10); */
  	volatile u32 *sys_counter = (volatile u32*)SYS_COUNTER_CNTRL;
  	u32 proc_id;
  
  	*sys_counter = 0x100; /* Enable 32 kHz oscillator for RTC/TOY */
e2ad84266   Shinya Kuribayashi   [MIPS] <asm/mipsr...
39
  	proc_id = read_c0_prid();
265817c7e   Wolfgang Denk   Add support for A...
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
  
  	switch (proc_id >> 24) {
  	case 0:
  		puts ("Board: Pb1000
  ");
  		printf ("CPU: Au1000 396 MHz, id: 0x%02x, rev: 0x%02x
  ",
  			(proc_id >> 8) & 0xFF, proc_id & 0xFF);
  		break;
  	case 1:
  		puts ("Board: Pb1500
  ");
  		printf ("CPU: Au1500, id: 0x%02x, rev: 0x%02x
  ",
  			(proc_id >> 8) & 0xFF, proc_id & 0xFF);
  		break;
  	case 2:
  		puts ("Board: Pb1100
  ");
  		printf ("CPU: Au1100, id: 0x%02x, rev: 0x%02x
  ",
  			(proc_id >> 8) & 0xFF, proc_id & 0xFF);
  		break;
  	default:
  		printf ("Unsupported cpu %d, proc_id=0x%x
  ", proc_id >> 24, proc_id);
  	}
5c15010ef   Jean-Christophe PLAGNIOL-VILLARD   Fixed mips_io_por...
67
68
  
  	set_io_port_base(0);
265817c7e   Wolfgang Denk   Add support for A...
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
  #if defined(CONFIG_IDE_PCMCIA) && 0
  	/* Enable 3.3 V on slot 0 ( VCC )
  	   No 5V */
  	status = 4;
  	*pcmcia_bcsr = status;
  
  	status |= BCSR_PCMCIA_PC0DRVEN;
  	*pcmcia_bcsr = status;
  	au_sync();
  
  	udelay(300*1000);
  
  	status |= BCSR_PCMCIA_PC0RST;
  	*pcmcia_bcsr = status;
  	au_sync();
  
  	udelay(100*1000);
  
  	/* PCMCIA is on a 36 bit physical address.
  	   We need to map it into a 32 bit addresses */
  
  #if 0
  	/* We dont need theese unless we run whole pcmcia package */
  	write_one_tlb(20,                 /* index */
  		      0x01ffe000,         /* Pagemask, 16 MB pages */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
94
  		      CONFIG_SYS_PCMCIA_IO_BASE, /* Hi */
265817c7e   Wolfgang Denk   Add support for A...
95
96
97
98
99
  		      0x3C000017,         /* Lo0 */
  		      0x3C200017);        /* Lo1 */
  
  	write_one_tlb(21,                   /* index */
  		      0x01ffe000,           /* Pagemask, 16 MB pages */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
100
  		      CONFIG_SYS_PCMCIA_ATTR_BASE, /* Hi */
265817c7e   Wolfgang Denk   Add support for A...
101
102
103
104
105
  		      0x3D000017,           /* Lo0 */
  		      0x3D200017);          /* Lo1 */
  #endif	/* 0 */
  	write_one_tlb(22,                   /* index */
  		      0x01ffe000,           /* Pagemask, 16 MB pages */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
106
  		      CONFIG_SYS_PCMCIA_MEM_ADDR,  /* Hi */
265817c7e   Wolfgang Denk   Add support for A...
107
108
109
110
111
112
  		      0x3E000017,           /* Lo0 */
  		      0x3E200017);          /* Lo1 */
  #endif	/* CONFIG_IDE_PCMCIA */
  
  	return 0;
  }