source: svn/trunk/newcon3bcm2_21bu/dta/src/bootloader7574/hide_rom.s

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 3.2 KB
Line 
1#ifndef __ASSEMBLER__
2#define __ASSEMBLER__
3#endif
4#include "bmips.h"
5#include "bchp_common.h"
6#include "bchp_bsp_glb_control.h"
7#include "bchp_bsp_cmdbuf.h"
8
9/*
10 * The following define needs to be manually turned on/off
11 * depending on what chip the CFE is being built for.
12 *
13 * NON-ZEUS_2_0:
14 *      7231A0/7344A0/7346A0/7420A0/7425A0/7552A0 FullROM
15 *
16 * ZEUS_2_0:
17 *      7231A0/7344A0/7346A0/7420A0/7425A0/7552A0 BSECK
18 *      7231B0/7344B0/7346B0/7420B0/7425B0/7552B0 FullROM
19 */
20#define ZEUS_2_0
21
22#if defined(ZEUS_2_0)
23#define CMD_INBUFFER2           (2 * 384)               /* 0x300 */
24#else
25#define CMD_INBUFFER2           (1 * 384)               /* 0x180 */
26#endif /* ZEUS_2_0 */
27#define CMD_OUTBUFFER2          (3 * 384)               /* 0x480 */
28
29.text
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57/****************************************************************
58Function Name: hide_mips_boot_rom
59Description:
60Parameters:
61    None
62Returns:
63    unsigned char
64****************************************************************/
65LEAF(hide_mips_boot_rom)
66
67.set noreorder
68        /* save ra to t8 so that we can call another function here */
69        move    t8, ra
70
71        /* check BSP_GLB_NONSECURE_GLB_IRDY */
72        bal             check_for_IRDY2
73        nop
74
75        /* command input buffer2 = BCHP_BSP_CMDBUF_DMEMi_ARRAY_BASE+CMD_INBUFFER2 */   
76        /* version */
77        /* *(volatile unsigned long*) (0xb0327980) = 0x10; */
78        li              t0, PHYS_TO_K1(BCHP_PHYSICAL_OFFSET+BCHP_BSP_CMDBUF_DMEMi_ARRAY_BASE+CMD_INBUFFER2)
79        li              t1, 0x10
80        sw              t1, 0(t0)
81
82        /* seq */
83        /* *(volatile unsigned long*) (0xb0327984) = 0x22;*/
84        li              t1, 0x22
85        sw              t1, 4(t0)
86
87        /* cont */   
88        /* *(volatile unsigned long*) (0xb0327988) = 0xABCDEF00; */
89        li              t1, 0xABCDEF00
90        sw              t1, 8(t0)
91
92        /* command ID to send region verification cmd */       
93        /* *(volatile unsigned long*) (0xb032798C) = 0xF655AA09;  */
94        li              t1, 0xF655AA09
95        sw              t1, 12(t0)
96
97        /*  command length in bytes.*/
98        /* *(volatile unsigned long*) (0xb0327990) = 0x789A0008; */
99        li              t1, 0x789A0008
100        sw              t1, 16(t0)
101
102        /* region verification op code - 0x9 = hide MIPS boot rom */   
103        /* *(volatile unsigned long*) (0xb0327994) = 9; */
104        li              t1, 0x9
105        sw              t1, 20(t0)
106       
107        /* Reserved */   
108        /* *(volatile unsigned long*) (0xb0327998) = 0; */
109        li              t1, 0x0
110        sw              t1, 24(t0)
111               
112        /* set BSP_GLB_NONSECURE_GLB_ILOAD2  */
113        /* *(volatile unsigned long*) (VIRTUAL_ADDRESS+BCHP_PHYSICAL_OFFSET+BCHP_BSP_GLB_CONTROL_GLB_ILOAD2) = 0x01; */
114        li              t0, PHYS_TO_K1(BCHP_PHYSICAL_OFFSET+BCHP_BSP_GLB_CONTROL_GLB_ILOAD2)
115        li              t1, 0x01
116        sw              t1, 0(t0)
117
118        /* check BSP_GLB_NONSECURE_GLB_OLOAD2 */
119        bal             check_for_OLOAD2
120        nop
121
122        /* BSP_GLB_NONSECURE_GLB_HOST_INTR_STATUS = 0 */
123        /* *(volatile unsigned long*) (VIRTUAL_ADDRESS+BCHP_PHYSICAL_OFFSET+BCHP_BSP_GLB_CONTROL_GLB_HOST_INTR_STATUS) = 0x00;  */
124        li              t0, PHYS_TO_K1(BCHP_PHYSICAL_OFFSET+BCHP_BSP_GLB_CONTROL_GLB_HOST_INTR_STATUS)
125        sw              zero, 0(t0)
126
127        /* BSP_GLB_NONSECURE_GLB_OLOAD2 = 0 */
128        /* *(volatile unsigned long*) (VIRTUAL_ADDRESS+BCHP_PHYSICAL_OFFSET+BCHP_BSP_GLB_CONTROL_GLB_OLOAD2) = 0x00;*/
129        li              t0, PHYS_TO_K1(BCHP_PHYSICAL_OFFSET+BCHP_BSP_GLB_CONTROL_GLB_OLOAD2)
130        sw              zero, 0(t0)
131       
132        /* check status */
133        /* status = *(volatile unsigned char*) (0xb0327c94); */
134        li              t0, PHYS_TO_K1(BCHP_PHYSICAL_OFFSET+BCHP_BSP_CMDBUF_DMEMi_ARRAY_BASE)
135        li              t1, CMD_OUTBUFFER2
136        addu    t0, t0, t1
137        lw              v0, 20(t0)
138
139        /* Restore ra from t8 */
140        move    ra, t8
141
142.set reorder
143    jr          ra
144    nop
145END(hide_mips_boot_rom)       
146
147
Note: See TracBrowser for help on using the repository browser.