OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [RX600_RX62N-RDK_GNURX/] [RTOSDemo/] [Renesas-Files/] [hwsetup.c] - Blame information for rev 585

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 585 jeremybenn
/******************************************************************************
2
* DISCLAIMER
3
 
4
* This software is supplied by Renesas Technology Corp. and is only
5
* intended for use with Renesas products. No other uses are authorized.
6
 
7
* This software is owned by Renesas Technology Corp. and is protected under
8
* all applicable laws, including copyright laws.
9
 
10
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES
11
* REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY,
12
* INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
13
* PARTICULAR PURPOSE AND NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY
14
* DISCLAIMED.
15
 
16
* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
17
* TECHNOLOGY CORP. NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
18
* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
19
* FOR ANY REASON RELATED TO THE THIS SOFTWARE, EVEN IF RENESAS OR ITS
20
* AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
21
 
22
* Renesas reserves the right, without notice, to make changes to this
23
* software and to discontinue the availability of this software.
24
* By using this software, you agree to the additional terms and
25
* conditions found by accessing the following link:
26
* http://www.renesas.com/disclaimer
27
******************************************************************************
28
* Copyright (C) 2008. Renesas Technology Corp., All Rights Reserved.
29
*******************************************************************************
30
* File Name     : hwsetup.c
31
* Version         : 1.00
32
* Description  : Power up hardware initializations
33
******************************************************************************
34
* History : DD.MM.YYYY Version Description
35
*                : 15.02.2010 1.00      First Release
36
******************************************************************************/
37
 
38
 
39
/******************************************************************************
40
Includes   <System Includes> , "Project Includes"
41
******************************************************************************/
42
#include "iodefine.h"
43
#include "yrdkrx62ndef.h"
44
// #include "lcd.h" Uncomment this if an LCD is present.
45
 
46
/******************************************************************************
47
Typedef definitions
48
******************************************************************************/
49
 
50
/******************************************************************************
51
Macro definitions
52
******************************************************************************/
53
 
54
/******************************************************************************
55
Imported global variables and functions (from other files)
56
******************************************************************************/
57
 
58
/******************************************************************************
59
Exported global variables and functions (to be accessed by other files)
60
******************************************************************************/
61
 
62
/******************************************************************************
63
Private global variables and functions
64
******************************************************************************/
65
 
66
/******************************************************************************
67
* Function Name: HardwareSetup
68
* Description  : This function does initial setting for CPG port pins used in
69
*                         : the Demo including the MII pins of the Ethernet PHY connection.
70
* Arguments     : none
71
* Return Value : none
72
******************************************************************************/
73
void HardwareSetup(void)
74
{
75
        unsigned long sckcr = 0;
76
 
77
        /* Configure system clocks based on header */
78
        sckcr += (ICLK_MUL==8) ? (0ul << 24) : (ICLK_MUL==4) ? (1ul << 24) : (ICLK_MUL==2) ? (2ul << 24) : (3ul << 24);
79
        sckcr += (BCLK_MUL==8) ? (0ul << 16) : (BCLK_MUL==4) ? (1ul << 16) : (BCLK_MUL==2) ? (2ul << 16) : (3ul << 16);
80
        sckcr += (PCLK_MUL==8) ? (0ul <<  8) : (PCLK_MUL==4) ? (1ul <<  8) : (PCLK_MUL==2) ? (2ul <<  8) : (3ul <<  8);
81
        SYSTEM.SCKCR.LONG = sckcr;
82
 
83
        /* Module standby clear - EtherC, EDMAC */
84
        SYSTEM.MSTPCRB.BIT.MSTPB15 = 0;
85
 
86
        PORT0.DDR.BYTE = 0x00 ;     // Port 0: inputs (IRQ's from ethernet & WiFi)
87
        PORT1.DDR.BYTE = 0x00 ;     // Port 1: inputs (IIC and USB settings will override these later)
88
        PORT2.DDR.BYTE = 0x1A ;     // Port 2: USB signals
89
        PORT3.DDR.BYTE = 0x04 ;     // Port 3: JTAG (P30, P31, P34), CAN (P32=Tx, P33=Rx), NMI (P35)
90
        PORT4.DDR.BYTE = 0x00 ;     // Port 4: Switches (P40-P42), AIN (P43-P47)
91
        PORT5.DDR.BYTE = 0x3B ;     // Port 5: Audio (P55,P54), BCLK (P53), SCI (P52=Rx, P50=Tx), LCD-RS (P51)
92
 
93
        PORTA.DR.BYTE = 0x00 ;      // Port A outputs all LOW to start
94
        PORTA.DDR.BYTE = 0xFF ;     // Port A: Expansion (PA0-PA2), Ether (PA3-PA5), Audio (PA6-PA7)
95
 
96
        PORTB.DR.BYTE = 0x00 ;
97
        PORTB.DDR.BYTE = 0x70 ;     // Port B: Ether
98
 
99
        PORTC.DR.BYTE = 0xF7 ;      // Port C: Chip selects, clock = high; IO reset = low (not reset, needed by Ether PHY)
100
        PORTC.DDR.BYTE = 0x7F ;     // Port C: SPI (PC0-2, PC4-7), IO reset (PC3)                
101
 
102
        // Ethernet settings
103
        IOPORT.PFENET.BYTE = 0x82;  // Enable Ether poins, RMII mode, enable LINKSTA
104
        PORTA.ICR.BIT.B5 = 1;       // ET_LINKSTA 
105
        PORTA.ICR.BIT.B3 = 1;       // ET_MDIO
106
        PORTB.ICR.BIT.B0 = 1;       // RMII_RXD1
107
        PORTB.ICR.BIT.B1 = 1;       // RMII_RXD0
108
        PORTB.ICR.BIT.B2 = 1;       // REF50CLK
109
        PORTB.ICR.BIT.B3 = 1;       // RMII_RX_ER
110
        PORTB.ICR.BIT.B7 = 1;       // RMII_CRS_DV
111
 
112
 
113
        /* Configure LEDs */
114
        LED4 = LED_OFF;
115
        LED5 = LED_OFF;
116
        LED6 = LED_OFF;
117
        LED7 = LED_OFF;
118
        LED8 = LED_OFF;
119
        LED9 = LED_OFF;
120
        LED10 = LED_OFF;
121
        LED11 = LED_OFF;
122
        LED12 = LED_OFF;
123
        LED13 = LED_OFF;
124
        LED14 = LED_OFF;
125
        LED15 = LED_OFF;
126
 
127
        LED4_DDR = 1;
128
        LED5_DDR = 1;
129
        LED6_DDR = 1;
130
        LED7_DDR = 1;
131
        LED8_DDR = 1;
132
        LED9_DDR = 1;
133
        LED10_DDR = 1;
134
        LED11_DDR = 1;
135
        LED12_DDR = 1;
136
        LED13_DDR = 1;
137
        LED14_DDR = 1;
138
        LED15_DDR = 1;
139
 
140
        /* Configure push button switches */
141
        SW1_DDR = 0;
142
        SW2_DDR = 0;
143
        SW3_DDR = 0;
144
        SW1_ICR = 1;
145
        SW2_ICR = 1;
146
        SW3_ICR = 1;
147
}
148
 
149
 

powered by: WebSVN 2.1.0

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