151b572a8SNobuhiro Iwamatsu/* 251b572a8SNobuhiro Iwamatsu * Copyright (C) 2008 Nobuhiro Iwamatsu 351b572a8SNobuhiro Iwamatsu * Copyright (C) 2008 Renesas Solutions Corp. 451b572a8SNobuhiro Iwamatsu * 5*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 651b572a8SNobuhiro Iwamatsu */ 751b572a8SNobuhiro Iwamatsu#include <config.h> 851b572a8SNobuhiro Iwamatsu 951b572a8SNobuhiro Iwamatsu#include <asm/processor.h> 10f7e78f3bSJean-Christophe PLAGNIOL-VILLARD#include <asm/macro.h> 1151b572a8SNobuhiro Iwamatsu 1251b572a8SNobuhiro Iwamatsu .global lowlevel_init 1351b572a8SNobuhiro Iwamatsu 1451b572a8SNobuhiro Iwamatsu .text 1551b572a8SNobuhiro Iwamatsu .align 2 1651b572a8SNobuhiro Iwamatsu 1751b572a8SNobuhiro Iwamatsulowlevel_init: 1851b572a8SNobuhiro Iwamatsu /* Cache setting */ 19f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CCR1_A ,CCR1_D 2051b572a8SNobuhiro Iwamatsu 2151b572a8SNobuhiro Iwamatsu /* ConfigurePortPins */ 22f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PECRL3_A, PECRL3_D 2351b572a8SNobuhiro Iwamatsu 24f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PCCRL4_A, PCCRL4_D0 2551b572a8SNobuhiro Iwamatsu 26f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PECRL4_A, PECRL4_D0 2751b572a8SNobuhiro Iwamatsu 28f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PEIORL_A, PEIORL_D0 2951b572a8SNobuhiro Iwamatsu 30f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PCIORL_A, PCIORL_D 3151b572a8SNobuhiro Iwamatsu 32f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PFCRH2_A, PFCRH2_D 3351b572a8SNobuhiro Iwamatsu 34f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PFCRH3_A, PFCRH3_D 3551b572a8SNobuhiro Iwamatsu 36f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PFCRH1_A, PFCRH1_D 3751b572a8SNobuhiro Iwamatsu 38f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PFIORH_A, PFIORH_D 3951b572a8SNobuhiro Iwamatsu 40f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PECRL1_A, PECRL1_D0 4151b572a8SNobuhiro Iwamatsu 42f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PEIORL_A, PEIORL_D1 4351b572a8SNobuhiro Iwamatsu 4451b572a8SNobuhiro Iwamatsu /* Configure Operating Frequency */ 45f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 WTCSR_A, WTCSR_D0 4651b572a8SNobuhiro Iwamatsu 47f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 WTCSR_A, WTCSR_D1 4851b572a8SNobuhiro Iwamatsu 49f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 WTCNT_A, WTCNT_D 5051b572a8SNobuhiro Iwamatsu 5151b572a8SNobuhiro Iwamatsu /* Set clock mode*/ 52f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 FRQCR_A, FRQCR_D 5351b572a8SNobuhiro Iwamatsu 5451b572a8SNobuhiro Iwamatsu /* Configure Bus And Memory */ 5551b572a8SNobuhiro Iwamatsuinit_bsc_cs0: 56f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PCCRL4_A, PCCRL4_D1 5751b572a8SNobuhiro Iwamatsu 58f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PECRL1_A, PECRL1_D1 5951b572a8SNobuhiro Iwamatsu 60f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CMNCR_A, CMNCR_D 6151b572a8SNobuhiro Iwamatsu 62ed56fb1dSNobuhiro Iwamatsu write32 CS0BCR_A, CS0BCR_D 6351b572a8SNobuhiro Iwamatsu 64f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS0WCR_A, CS0WCR_D 6551b572a8SNobuhiro Iwamatsu 6651b572a8SNobuhiro Iwamatsuinit_bsc_cs1: 67f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PECRL4_A, PECRL4_D1 6851b572a8SNobuhiro Iwamatsu 69f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS1WCR_A, CS1WCR_D 7051b572a8SNobuhiro Iwamatsu 7151b572a8SNobuhiro Iwamatsuinit_sdram: 72f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PCCRL2_A, PCCRL2_D 7351b572a8SNobuhiro Iwamatsu 74f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PCCRL4_A, PCCRL4_D2 7551b572a8SNobuhiro Iwamatsu 76f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PCCRL1_A, PCCRL1_D 7751b572a8SNobuhiro Iwamatsu 78f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 PCCRL3_A, PCCRL3_D 7951b572a8SNobuhiro Iwamatsu 80f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS3BCR_A, CS3BCR_D 8151b572a8SNobuhiro Iwamatsu 82f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS3WCR_A, CS3WCR_D 8351b572a8SNobuhiro Iwamatsu 84f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 SDCR_A, SDCR_D 8551b572a8SNobuhiro Iwamatsu 86f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 RTCOR_A, RTCOR_D 8751b572a8SNobuhiro Iwamatsu 88f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 RTCSR_A, RTCSR_D 8951b572a8SNobuhiro Iwamatsu 9051b572a8SNobuhiro Iwamatsu /* wait 200us */ 9151b572a8SNobuhiro Iwamatsu mov.l REPEAT_D, r3 9251b572a8SNobuhiro Iwamatsu mov #0, r2 9351b572a8SNobuhiro Iwamatsurepeat0: 9451b572a8SNobuhiro Iwamatsu add #1, r2 9551b572a8SNobuhiro Iwamatsu cmp/hs r3, r2 9651b572a8SNobuhiro Iwamatsu bf repeat0 9751b572a8SNobuhiro Iwamatsu nop 9851b572a8SNobuhiro Iwamatsu 9951b572a8SNobuhiro Iwamatsu mov.l SDRAM_MODE, r1 10051b572a8SNobuhiro Iwamatsu mov #0, r0 10151b572a8SNobuhiro Iwamatsu mov.l r0, @r1 10251b572a8SNobuhiro Iwamatsu 10351b572a8SNobuhiro Iwamatsu nop 10451b572a8SNobuhiro Iwamatsu rts 10551b572a8SNobuhiro Iwamatsu 10651b572a8SNobuhiro Iwamatsu .align 4 10751b572a8SNobuhiro Iwamatsu 10851b572a8SNobuhiro IwamatsuCCR1_A: .long CCR1 10951b572a8SNobuhiro IwamatsuCCR1_D: .long 0x0000090B 11051b572a8SNobuhiro IwamatsuPCCRL4_A: .long 0xFFFE3910 111ed56fb1dSNobuhiro IwamatsuPCCRL4_D0: .word 0x0000 112ed56fb1dSNobuhiro Iwamatsu.align 2 11351b572a8SNobuhiro IwamatsuPECRL4_A: .long 0xFFFE3A10 114ed56fb1dSNobuhiro IwamatsuPECRL4_D0: .word 0x0000 115ed56fb1dSNobuhiro Iwamatsu.align 2 11651b572a8SNobuhiro IwamatsuPECRL3_A: .long 0xFFFE3A12 117ed56fb1dSNobuhiro IwamatsuPECRL3_D: .word 0x0000 118ed56fb1dSNobuhiro Iwamatsu.align 2 11951b572a8SNobuhiro IwamatsuPEIORL_A: .long 0xFFFE3A06 120ed56fb1dSNobuhiro IwamatsuPEIORL_D0: .word 0x1C00 121ed56fb1dSNobuhiro IwamatsuPEIORL_D1: .word 0x1C02 12251b572a8SNobuhiro IwamatsuPCIORL_A: .long 0xFFFE3906 123ed56fb1dSNobuhiro IwamatsuPCIORL_D: .word 0x4000 124ed56fb1dSNobuhiro Iwamatsu.align 2 12551b572a8SNobuhiro IwamatsuPFCRH2_A: .long 0xFFFE3A8C 126ed56fb1dSNobuhiro IwamatsuPFCRH2_D: .word 0x0000 127ed56fb1dSNobuhiro Iwamatsu.align 2 12851b572a8SNobuhiro IwamatsuPFCRH3_A: .long 0xFFFE3A8A 129ed56fb1dSNobuhiro IwamatsuPFCRH3_D: .word 0x0000 130ed56fb1dSNobuhiro Iwamatsu.align 2 13151b572a8SNobuhiro IwamatsuPFCRH1_A: .long 0xFFFE3A8E 132ed56fb1dSNobuhiro IwamatsuPFCRH1_D: .word 0x0000 133ed56fb1dSNobuhiro Iwamatsu.align 2 13451b572a8SNobuhiro IwamatsuPFIORH_A: .long 0xFFFE3A84 135ed56fb1dSNobuhiro IwamatsuPFIORH_D: .word 0x0729 136ed56fb1dSNobuhiro Iwamatsu.align 2 13751b572a8SNobuhiro IwamatsuPECRL1_A: .long 0xFFFE3A16 138ed56fb1dSNobuhiro IwamatsuPECRL1_D0: .word 0x0033 139ed56fb1dSNobuhiro Iwamatsu.align 2 14051b572a8SNobuhiro Iwamatsu 14151b572a8SNobuhiro Iwamatsu 14251b572a8SNobuhiro IwamatsuWTCSR_A: .long 0xFFFE0000 143ed56fb1dSNobuhiro IwamatsuWTCSR_D0: .word 0xA518 144ed56fb1dSNobuhiro IwamatsuWTCSR_D1: .word 0xA51D 14551b572a8SNobuhiro IwamatsuWTCNT_A: .long 0xFFFE0002 146ed56fb1dSNobuhiro IwamatsuWTCNT_D: .word 0x5A84 147ed56fb1dSNobuhiro Iwamatsu.align 2 14851b572a8SNobuhiro IwamatsuFRQCR_A: .long 0xFFFE0010 149ed56fb1dSNobuhiro IwamatsuFRQCR_D: .word 0x0104 150ed56fb1dSNobuhiro Iwamatsu.align 2 15151b572a8SNobuhiro Iwamatsu 152ed56fb1dSNobuhiro IwamatsuPCCRL4_D1: .word 0x0010 153ed56fb1dSNobuhiro IwamatsuPECRL1_D1: .word 0x0133 15451b572a8SNobuhiro Iwamatsu 15551b572a8SNobuhiro IwamatsuCMNCR_A: .long 0xFFFC0000 15651b572a8SNobuhiro IwamatsuCMNCR_D: .long 0x00001810 157ed56fb1dSNobuhiro IwamatsuCS0BCR_A: .long 0xFFFC0004 158ed56fb1dSNobuhiro IwamatsuCS0BCR_D: .long 0x10000400 15951b572a8SNobuhiro IwamatsuCS0WCR_A: .long 0xFFFC0028 16051b572a8SNobuhiro IwamatsuCS0WCR_D: .long 0x00000B41 161ed56fb1dSNobuhiro IwamatsuPECRL4_D1: .word 0x0100 162ed56fb1dSNobuhiro Iwamatsu.align 2 16351b572a8SNobuhiro IwamatsuCS1WCR_A: .long 0xFFFC002C 16451b572a8SNobuhiro IwamatsuCS1WCR_D: .long 0x00000B01 165ed56fb1dSNobuhiro IwamatsuPCCRL4_D2: .word 0x0011 166ed56fb1dSNobuhiro Iwamatsu.align 2 16751b572a8SNobuhiro IwamatsuPCCRL3_A: .long 0xFFFE3912 168ed56fb1dSNobuhiro IwamatsuPCCRL3_D: .word 0x0011 169ed56fb1dSNobuhiro Iwamatsu.align 2 17051b572a8SNobuhiro IwamatsuPCCRL2_A: .long 0xFFFE3914 171ed56fb1dSNobuhiro IwamatsuPCCRL2_D: .word 0x1111 172ed56fb1dSNobuhiro Iwamatsu.align 2 17351b572a8SNobuhiro IwamatsuPCCRL1_A: .long 0xFFFE3916 174ed56fb1dSNobuhiro IwamatsuPCCRL1_D: .word 0x1010 175c4f07be2SPhil Edworthy.align 2 17651b572a8SNobuhiro IwamatsuPDCRL4_A: .long 0xFFFE3990 177ed56fb1dSNobuhiro IwamatsuPDCRL4_D: .word 0x0011 178ed56fb1dSNobuhiro Iwamatsu.align 2 17951b572a8SNobuhiro IwamatsuPDCRL3_A: .long 0xFFFE3992 180ed56fb1dSNobuhiro IwamatsuPDCRL3_D: .word 0x00011 181ed56fb1dSNobuhiro Iwamatsu.align 2 18251b572a8SNobuhiro IwamatsuPDCRL2_A: .long 0xFFFE3994 183ed56fb1dSNobuhiro IwamatsuPDCRL2_D: .word 0x1111 184ed56fb1dSNobuhiro Iwamatsu.align 2 18551b572a8SNobuhiro IwamatsuPDCRL1_A: .long 0xFFFE3996 186ed56fb1dSNobuhiro IwamatsuPDCRL1_D: .word 0x1000 187ed56fb1dSNobuhiro Iwamatsu.align 2 18851b572a8SNobuhiro IwamatsuCS3BCR_A: .long 0xFFFC0010 18951b572a8SNobuhiro IwamatsuCS3BCR_D: .long 0x00004400 19051b572a8SNobuhiro IwamatsuCS3WCR_A: .long 0xFFFC0034 19151b572a8SNobuhiro IwamatsuCS3WCR_D: .long 0x00002892 19251b572a8SNobuhiro IwamatsuSDCR_A: .long 0xFFFC004C 19351b572a8SNobuhiro IwamatsuSDCR_D: .long 0x00000809 19451b572a8SNobuhiro IwamatsuRTCOR_A: .long 0xFFFC0058 19551b572a8SNobuhiro IwamatsuRTCOR_D: .long 0xA55A0041 19651b572a8SNobuhiro IwamatsuRTCSR_A: .long 0xFFFC0050 19751b572a8SNobuhiro IwamatsuRTCSR_D: .long 0xa55a0010 19851b572a8SNobuhiro Iwamatsu 19951b572a8SNobuhiro IwamatsuSDRAM_MODE: .long 0xFFFC5040 20051b572a8SNobuhiro IwamatsuREPEAT_D: .long 0x00009C40 201