1/* 2 * (C) Copyright 2007 3 * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License as 7 * published by the Free Software Foundation; either version 2 of 8 * the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 18 * MA 02111-1307 USA 19 */ 20 21#include <asm/macro.h> 22 23 .global lowlevel_init 24 25 .text 26 .align 2 27 28lowlevel_init: 29 30 write16 WTCSR_A, WTCSR_D 31 32 write16 WTCNT_A, WTCNT_D 33 34 write16 FRQCR_A, FRQCR_D 35 36 write16 UCLKCR_A, UCLKCR_D 37 38 write32 CMNCR_A, CMNCR_D 39 40 write32 CMNCR_A, CMNCR_D 41 42 write32 CS0BCR_A, CS0BCR_D 43 44 write32 CS2BCR_A, CS2BCR_D 45 46 write32 CS3BCR_A, CS3BCR_D 47 48 write32 CS4BCR_A, CS4BCR_D 49 50 write32 CS5ABCR_A, CS5ABCR_D 51 52 write32 CS5BBCR_A, CS5BBCR_D 53 54 write32 CS6ABCR_A, CS6ABCR_D 55 56 write32 CS6BBCR_A, CS6BBCR_D 57 58 write32 CS0WCR_A, CS0WCR_D 59 60 write32 CS2WCR_A, CS2WCR_D 61 62 write32 CS3WCR_A, CS3WCR_D 63 64 write32 CS4WCR_A, CS4WCR_D 65 66 write32 CS5AWCR_A, CS5AWCR_D 67 68 write32 CS5BWCR_A, CS5BWCR_D 69 70 write32 CS6AWCR_A, CS6AWCR_D 71 72 write32 CS6BWCR_A, CS6BWCR_D 73 74 write32 SDCR_A, SDCR_D1 75 76 write32 RTCSR_A, RTCSR_D 77 78 write32 RTCNT_A RTCNT_D 79 80 write32 RTCOR_A, RTCOR_D 81 82 write32 SDCR_A, SDCR_D2 83 84 write16 SDMR3_A, SDMR3_D 85 86 write16 PCCR_A, PCCR_D 87 88 write16 PDCR_A, PDCR_D 89 90 write16 PECR_A, PECR_D 91 92 write16 PGCR_A, PGCR_D 93 94 write16 PHCR_A, PHCR_D 95 96 write16 PPCR_A, PPCR_D 97 98 write16 PTCR_A, PTCR_D 99 100 write16 PVCR_A, PVCR_D 101 102 write16 PSELA_A, PSELA_D 103 104 write32 CCR_A, CCR_D 105 106 write8 LED_A, LED_D 107 108 rts 109 nop 110 111 .align 4 112 113FRQCR_A: .long 0xA415FF80 /* FRQCR Address */ 114WTCNT_A: .long 0xA415FF84 115WTCSR_A: .long 0xA415FF86 116UCLKCR_A: .long 0xA40A0008 117FRQCR_D: .long 0x1103 /* I:B:P=8:4:2 */ 118WTCNT_D: .long 0x5A00 119WTCSR_D: .long 0xA506 120UCLKCR_D: .long 0xA5C0 121 122#define BSC_BASE 0xA4FD0000 123CMNCR_A: .long BSC_BASE 124CS0BCR_A: .long BSC_BASE + 0x04 125CS2BCR_A: .long BSC_BASE + 0x08 126CS3BCR_A: .long BSC_BASE + 0x0C 127CS4BCR_A: .long BSC_BASE + 0x10 128CS5ABCR_A: .long BSC_BASE + 0x14 129CS5BBCR_A: .long BSC_BASE + 0x18 130CS6ABCR_A: .long BSC_BASE + 0x1C 131CS6BBCR_A: .long BSC_BASE + 0x20 132CS0WCR_A: .long BSC_BASE + 0x24 133CS2WCR_A: .long BSC_BASE + 0x28 134CS3WCR_A: .long BSC_BASE + 0x2C 135CS4WCR_A: .long BSC_BASE + 0x30 136CS5AWCR_A: .long BSC_BASE + 0x34 137CS5BWCR_A: .long BSC_BASE + 0x38 138CS6AWCR_A: .long BSC_BASE + 0x3C 139CS6BWCR_A: .long BSC_BASE + 0x40 140SDCR_A: .long BSC_BASE + 0x44 141RTCSR_A: .long BSC_BASE + 0x48 142RTCNT_A: .long BSC_BASE + 0x4C 143RTCOR_A: .long BSC_BASE + 0x50 144SDMR3_A: .long BSC_BASE + 0x58C0 145 146CMNCR_D: .long 0x00000010 147CS0BCR_D: .long 0x36DB0400 148CS2BCR_D: .long 0x36DB0400 149CS3BCR_D: .long 0x36DB4600 150CS4BCR_D: .long 0x36DB0400 151CS5ABCR_D: .long 0x36DB0400 152CS5BBCR_D: .long 0x36DB0200 153CS6ABCR_D: .long 0x36DB0400 154CS6BBCR_D: .long 0x36DB0400 155CS0WCR_D: .long 0x00000B01 156CS2WCR_D: .long 0x00000500 157CS3WCR_D: .long 0x00006D1B 158CS4WCR_D: .long 0x00000500 159CS5AWCR_D: .long 0x00000500 160CS5BWCR_D: .long 0x00000500 161CS6AWCR_D: .long 0x00000500 162CS6BWCR_D: .long 0x00000500 163SDCR_D1: .long 0x00000011 164RTCSR_D: .long 0xA55A0010 165RTCNT_D: .long 0xA55A001F 166RTCOR_D: .long 0xA55A001F 167SDMR3_D: .long 0x0000 168SDCR_D2: .long 0x00000811 169 170#define PFC_BASE 0xA4050100 171PCCR_A: .long PFC_BASE + 0x04 172PDCR_A: .long PFC_BASE + 0x06 173PECR_A: .long PFC_BASE + 0x08 174PGCR_A: .long PFC_BASE + 0x0C 175PHCR_A: .long PFC_BASE + 0x0E 176PPCR_A: .long PFC_BASE + 0x18 177PTCR_A: .long PFC_BASE + 0x1E 178PVCR_A: .long PFC_BASE + 0x22 179PSELA_A: .long PFC_BASE + 0x24 180 181PCCR_D: .long 0x0000 182PDCR_D: .long 0x0000 183PECR_D: .long 0x0000 184PGCR_D: .long 0x0000 185PHCR_D: .long 0x0000 186PPCR_D: .long 0x00AA 187PTCR_D: .long 0x0280 188PVCR_D: .long 0x0000 189PSELA_D: .long 0x0000 190 191CCR_A: .long 0xFFFFFFEC 192!CCR_D: .long 0x0000000D 193CCR_D: .long 0x0000000B 194 195LED_A: .long 0xB6800000 196LED_D: .long 0xFF 197