1 /******************************************************************************
\r
4 * This software is supplied by Renesas Technology Corp. and is only
\r
5 * intended for use with Renesas products. No other uses are authorized.
\r
7 * This software is owned by Renesas Technology Corp. and is protected under
\r
8 * all applicable laws, including copyright laws.
\r
10 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES
\r
11 * REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY,
\r
12 * INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
\r
13 * PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY
\r
16 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
\r
17 * TECHNOLOGY CORP. NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
\r
18 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
\r
19 * FOR ANY REASON RELATED TO THE THIS SOFTWARE, EVEN IF RENESAS OR ITS
\r
20 * AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
\r
22 * Renesas reserves the right, without notice, to make changes to this
\r
23 * software and to discontinue the availability of this software.
\r
24 * By using this software, you agree to the additional terms and
\r
25 * conditions found by accessing the following link:
\r
26 * http://www.renesas.com/disclaimer
\r
27 ******************************************************************************
\r
28 * Copyright (C) 2008. Renesas Technology Corp., All Rights Reserved.
\r
29 *******************************************************************************
\r
30 * File Name : hwsetup.c
\r
32 * Description : Power up hardware initializations
\r
33 ******************************************************************************
\r
34 * History : DD.MM.YYYY Version Description
\r
35 * : 15.02.2010 1.00 First Release
\r
36 ******************************************************************************/
\r
39 /******************************************************************************
\r
40 Includes <System Includes> , "Project Includes"
\r
41 ******************************************************************************/
\r
43 #include "iodefine.h"
\r
44 #include "yrdkrx62ndef.h"
\r
45 // #include "lcd.h" Uncomment this if an LCD is present.
\r
47 /******************************************************************************
\r
49 ******************************************************************************/
\r
51 /******************************************************************************
\r
53 ******************************************************************************/
\r
55 /******************************************************************************
\r
56 Imported global variables and functions (from other files)
\r
57 ******************************************************************************/
\r
59 /******************************************************************************
\r
60 Exported global variables and functions (to be accessed by other files)
\r
61 ******************************************************************************/
\r
63 /******************************************************************************
\r
64 Private global variables and functions
\r
65 ******************************************************************************/
\r
67 /******************************************************************************
\r
68 * Function Name: HardwareSetup
\r
69 * Description : This function does initial setting for CPG port pins used in
\r
70 * : the Demo including the MII pins of the Ethernet PHY connection.
\r
72 * Return Value : none
\r
73 ******************************************************************************/
\r
74 void HardwareSetup(void)
\r
78 /* Configure system clocks based on header */
\r
79 sckcr += (ICLK_MUL==8) ? (0ul << 24) : (ICLK_MUL==4) ? (1ul << 24) : (ICLK_MUL==2) ? (2ul << 24) : (3ul << 24);
\r
80 sckcr += (BCLK_MUL==8) ? (0ul << 16) : (BCLK_MUL==4) ? (1ul << 16) : (BCLK_MUL==2) ? (2ul << 16) : (3ul << 16);
\r
81 sckcr += (PCLK_MUL==8) ? (0ul << 8) : (PCLK_MUL==4) ? (1ul << 8) : (PCLK_MUL==2) ? (2ul << 8) : (3ul << 8);
\r
82 SYSTEM.SCKCR.LONG = sckcr;
\r
84 /* Module standby clear - EtherC, EDMAC */
\r
85 SYSTEM.MSTPCRB.BIT.MSTPB15 = 0;
\r
87 PORT0.DDR.BYTE = 0x00 ; // Port 0: inputs (IRQ's from ethernet & WiFi)
\r
88 PORT1.DDR.BYTE = 0x00 ; // Port 1: inputs (IIC and USB settings will override these later)
\r
89 PORT2.DDR.BYTE = 0x1A ; // Port 2: USB signals
\r
90 PORT3.DDR.BYTE = 0x04 ; // Port 3: JTAG (P30, P31, P34), CAN (P32=Tx, P33=Rx), NMI (P35)
\r
91 PORT4.DDR.BYTE = 0x00 ; // Port 4: Switches (P40-P42), AIN (P43-P47)
\r
92 PORT5.DDR.BYTE = 0x3B ; // Port 5: Audio (P55,P54), BCLK (P53), SCI (P52=Rx, P50=Tx), LCD-RS (P51)
\r
94 PORTA.DR.BYTE = 0x00 ; // Port A outputs all LOW to start
\r
95 PORTA.DDR.BYTE = 0xFF ; // Port A: Expansion (PA0-PA2), Ether (PA3-PA5), Audio (PA6-PA7)
\r
97 PORTB.DR.BYTE = 0x00 ;
\r
98 PORTB.DDR.BYTE = 0x70 ; // Port B: Ether
\r
100 PORTC.DR.BYTE = 0xF7 ; // Port C: Chip selects, clock = high; IO reset = low (not reset, needed by Ether PHY)
\r
101 PORTC.DDR.BYTE = 0x7F ; // Port C: SPI (PC0-2, PC4-7), IO reset (PC3)
\r
103 // Ethernet settings
\r
104 IOPORT.PFENET.BYTE = 0x82; // Enable Ether poins, RMII mode, enable LINKSTA
\r
105 PORTA.ICR.BIT.B5 = 1; // ET_LINKSTA
\r
106 PORTA.ICR.BIT.B3 = 1; // ET_MDIO
\r
107 PORTB.ICR.BIT.B0 = 1; // RMII_RXD1
\r
108 PORTB.ICR.BIT.B1 = 1; // RMII_RXD0
\r
109 PORTB.ICR.BIT.B2 = 1; // REF50CLK
\r
110 PORTB.ICR.BIT.B3 = 1; // RMII_RX_ER
\r
111 PORTB.ICR.BIT.B7 = 1; // RMII_CRS_DV
\r
114 /* Configure LEDs */
\r
141 /* Configure push button switches */
\r