1f84e6ea2SNobuhiro Iwamatsu/* 2f84e6ea2SNobuhiro Iwamatsu * Copyright (C) 2008 Renesas Solutions Corp. 3f84e6ea2SNobuhiro Iwamatsu * Copyright (C) 2008 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> 4f84e6ea2SNobuhiro Iwamatsu * 5f84e6ea2SNobuhiro Iwamatsu * board/ap325rxa/lowlevel_init.S 6f84e6ea2SNobuhiro Iwamatsu * 7*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 8f84e6ea2SNobuhiro Iwamatsu */ 9f84e6ea2SNobuhiro Iwamatsu 10f84e6ea2SNobuhiro Iwamatsu#include <config.h> 11f84e6ea2SNobuhiro Iwamatsu#include <asm/processor.h> 12f7e78f3bSJean-Christophe PLAGNIOL-VILLARD#include <asm/macro.h> 13f84e6ea2SNobuhiro Iwamatsu 14f84e6ea2SNobuhiro Iwamatsu/* 15f84e6ea2SNobuhiro Iwamatsu * Board specific low level init code, called _very_ early in the 16f84e6ea2SNobuhiro Iwamatsu * startup sequence. Relocation to SDRAM has not happened yet, no 17f84e6ea2SNobuhiro Iwamatsu * stack is available, bss section has not been initialised, etc. 18f84e6ea2SNobuhiro Iwamatsu * 19f84e6ea2SNobuhiro Iwamatsu * (Note: As no stack is available, no subroutines can be called...). 20f84e6ea2SNobuhiro Iwamatsu */ 21f84e6ea2SNobuhiro Iwamatsu 22f84e6ea2SNobuhiro Iwamatsu .global lowlevel_init 23f84e6ea2SNobuhiro Iwamatsu 24f84e6ea2SNobuhiro Iwamatsu .text 25f84e6ea2SNobuhiro Iwamatsu .align 2 26f84e6ea2SNobuhiro Iwamatsu 27f84e6ea2SNobuhiro Iwamatsulowlevel_init: 28f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 DRVCRA_A, DRVCRA_D 29f84e6ea2SNobuhiro Iwamatsu 30f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 DRVCRB_A, DRVCRB_D 31f84e6ea2SNobuhiro Iwamatsu 32f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 RWTCSR_A, RWTCSR_D1 33f84e6ea2SNobuhiro Iwamatsu 34f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 RWTCNT_A, RWTCNT_D 35f84e6ea2SNobuhiro Iwamatsu 36f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write16 RWTCSR_A, RWTCSR_D2 37f84e6ea2SNobuhiro Iwamatsu 38f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 FRQCR_A, FRQCR_D 39f84e6ea2SNobuhiro Iwamatsu 40f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CMNCR_A, CMNCR_D 41f84e6ea2SNobuhiro Iwamatsu 42f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS0BCR_A, CS0BCR_D 43f84e6ea2SNobuhiro Iwamatsu 44f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS4BCR_A, CS4BCR_D 45f84e6ea2SNobuhiro Iwamatsu 46f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS5ABCR_A, CS5ABCR_D 47f84e6ea2SNobuhiro Iwamatsu 48f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS5BBCR_A, CS5BBCR_D 49f84e6ea2SNobuhiro Iwamatsu 50f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS6ABCR_A, CS6ABCR_D 51f84e6ea2SNobuhiro Iwamatsu 52f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS6BBCR_A, CS6BBCR_D 53f84e6ea2SNobuhiro Iwamatsu 54f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS0WCR_A, CS0WCR_D 55f84e6ea2SNobuhiro Iwamatsu 56f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS4WCR_A, CS4WCR_D 57f84e6ea2SNobuhiro Iwamatsu 58f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS5AWCR_A, CS5AWCR_D 59f84e6ea2SNobuhiro Iwamatsu 60f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS5BWCR_A, CS5BWCR_D 61f84e6ea2SNobuhiro Iwamatsu 62f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS6AWCR_A, CS6AWCR_D 63f84e6ea2SNobuhiro Iwamatsu 64f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CS6BWCR_A, CS6BWCR_D 65f84e6ea2SNobuhiro Iwamatsu 66f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 SBSC_SDCR_A, SBSC_SDCR_D1 67f84e6ea2SNobuhiro Iwamatsu 68f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 SBSC_SDWCR_A, SBSC_SDWCR_D 69f84e6ea2SNobuhiro Iwamatsu 70f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 SBSC_SDPCR_A, SBSC_SDPCR_D 71f84e6ea2SNobuhiro Iwamatsu 72f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 SBSC_RTCSR_A, SBSC_RTCSR_D 73f84e6ea2SNobuhiro Iwamatsu 74f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 SBSC_RTCNT_A, SBSC_RTCNT_D 75f84e6ea2SNobuhiro Iwamatsu 76f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 SBSC_RTCOR_A, SBSC_RTCOR_D 77f84e6ea2SNobuhiro Iwamatsu 78f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write8 SBSC_SDMR3_A1, SBSC_SDMR3_D 79f84e6ea2SNobuhiro Iwamatsu 80f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write8 SBSC_SDMR3_A2, SBSC_SDMR3_D 81f84e6ea2SNobuhiro Iwamatsu 82f84e6ea2SNobuhiro Iwamatsu mov.l SLEEP_CNT, r1 83f84e6ea2SNobuhiro Iwamatsu2: tst r1, r1 84f84e6ea2SNobuhiro Iwamatsu nop 85f84e6ea2SNobuhiro Iwamatsu bf/s 2b 86f84e6ea2SNobuhiro Iwamatsu dt r1 87f84e6ea2SNobuhiro Iwamatsu 88f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write8 SBSC_SDMR3_A3, SBSC_SDMR3_D 89f84e6ea2SNobuhiro Iwamatsu 90f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 SBSC_SDCR_A, SBSC_SDCR_D2 91f84e6ea2SNobuhiro Iwamatsu 92f7e78f3bSJean-Christophe PLAGNIOL-VILLARD write32 CCR_A, CCR_D 93f84e6ea2SNobuhiro Iwamatsu 94f84e6ea2SNobuhiro Iwamatsu ! BL bit off (init = ON) (?!?) 95f84e6ea2SNobuhiro Iwamatsu 96f84e6ea2SNobuhiro Iwamatsu stc sr, r0 ! BL bit off(init=ON) 97f84e6ea2SNobuhiro Iwamatsu mov.l SR_MASK_D, r1 98f84e6ea2SNobuhiro Iwamatsu and r1, r0 99f84e6ea2SNobuhiro Iwamatsu ldc r0, sr 100f84e6ea2SNobuhiro Iwamatsu 101f84e6ea2SNobuhiro Iwamatsu rts 102f84e6ea2SNobuhiro Iwamatsu mov #0, r0 103f84e6ea2SNobuhiro Iwamatsu 104f84e6ea2SNobuhiro Iwamatsu .align 2 105f84e6ea2SNobuhiro Iwamatsu 106f84e6ea2SNobuhiro IwamatsuDRVCRA_A: .long DRVCRA 107f84e6ea2SNobuhiro IwamatsuDRVCRB_A: .long DRVCRB 108e77ff552SNobuhiro IwamatsuDRVCRA_D: .word 0x4555 109e77ff552SNobuhiro IwamatsuDRVCRB_D: .word 0x0005 110f84e6ea2SNobuhiro Iwamatsu 111f84e6ea2SNobuhiro IwamatsuRWTCSR_A: .long RWTCSR 112f84e6ea2SNobuhiro IwamatsuRWTCNT_A: .long RWTCNT 113f84e6ea2SNobuhiro IwamatsuFRQCR_A: .long FRQCR 114e77ff552SNobuhiro IwamatsuRWTCSR_D1: .word 0xa507 115e77ff552SNobuhiro IwamatsuRWTCSR_D2: .word 0xa504 116e77ff552SNobuhiro IwamatsuRWTCNT_D: .word 0x5a00 11772d5cdb7SNobuhiro Iwamatsu.align 2 118f84e6ea2SNobuhiro IwamatsuFRQCR_D: .long 0x0b04474a 119f84e6ea2SNobuhiro Iwamatsu 120f84e6ea2SNobuhiro IwamatsuSBSC_SDCR_A: .long SBSC_SDCR 121f84e6ea2SNobuhiro IwamatsuSBSC_SDWCR_A: .long SBSC_SDWCR 122f84e6ea2SNobuhiro IwamatsuSBSC_SDPCR_A: .long SBSC_SDPCR 123f84e6ea2SNobuhiro IwamatsuSBSC_RTCSR_A: .long SBSC_RTCSR 124f84e6ea2SNobuhiro IwamatsuSBSC_RTCNT_A: .long SBSC_RTCNT 125f84e6ea2SNobuhiro IwamatsuSBSC_RTCOR_A: .long SBSC_RTCOR 126f84e6ea2SNobuhiro IwamatsuSBSC_SDMR3_A1: .long 0xfe510000 127f84e6ea2SNobuhiro IwamatsuSBSC_SDMR3_A2: .long 0xfe500242 128f84e6ea2SNobuhiro IwamatsuSBSC_SDMR3_A3: .long 0xfe5c0042 129f84e6ea2SNobuhiro Iwamatsu 130f84e6ea2SNobuhiro IwamatsuSBSC_SDCR_D1: .long 0x92810112 131f84e6ea2SNobuhiro IwamatsuSBSC_SDCR_D2: .long 0x92810912 132f84e6ea2SNobuhiro IwamatsuSBSC_SDWCR_D: .long 0x05162482 133f84e6ea2SNobuhiro IwamatsuSBSC_SDPCR_D: .long 0x00300087 134f84e6ea2SNobuhiro IwamatsuSBSC_RTCSR_D: .long 0xa55a0212 135f84e6ea2SNobuhiro IwamatsuSBSC_RTCNT_D: .long 0xa55a0000 136f84e6ea2SNobuhiro IwamatsuSBSC_RTCOR_D: .long 0xa55a0040 137f84e6ea2SNobuhiro IwamatsuSBSC_SDMR3_D: .long 0x00 138f84e6ea2SNobuhiro Iwamatsu 139f84e6ea2SNobuhiro IwamatsuCMNCR_A: .long CMNCR 140f84e6ea2SNobuhiro IwamatsuCS0BCR_A: .long CS0BCR 141f84e6ea2SNobuhiro IwamatsuCS4BCR_A: .long CS4BCR 142f84e6ea2SNobuhiro IwamatsuCS5ABCR_A: .long CS5ABCR 143f84e6ea2SNobuhiro IwamatsuCS5BBCR_A: .long CS5BBCR 144f84e6ea2SNobuhiro IwamatsuCS6ABCR_A: .long CS6ABCR 145f84e6ea2SNobuhiro IwamatsuCS6BBCR_A: .long CS6BBCR 146f84e6ea2SNobuhiro IwamatsuCS0WCR_A: .long CS0WCR 147f84e6ea2SNobuhiro IwamatsuCS4WCR_A: .long CS4WCR 148f84e6ea2SNobuhiro IwamatsuCS5AWCR_A: .long CS5AWCR 149f84e6ea2SNobuhiro IwamatsuCS5BWCR_A: .long CS5BWCR 150f84e6ea2SNobuhiro IwamatsuCS6AWCR_A: .long CS6AWCR 151f84e6ea2SNobuhiro IwamatsuCS6BWCR_A: .long CS6BWCR 152f84e6ea2SNobuhiro Iwamatsu 153f84e6ea2SNobuhiro IwamatsuCMNCR_D: .long 0x00000013 154f84e6ea2SNobuhiro IwamatsuCS0BCR_D: .long 0x24920400 155f84e6ea2SNobuhiro IwamatsuCS4BCR_D: .long 0x24920400 156f84e6ea2SNobuhiro IwamatsuCS5ABCR_D: .long 0x24920400 157f84e6ea2SNobuhiro IwamatsuCS5BBCR_D: .long 0x7fff0600 158f84e6ea2SNobuhiro IwamatsuCS6ABCR_D: .long 0x24920400 159f84e6ea2SNobuhiro IwamatsuCS6BBCR_D: .long 0x24920600 160f84e6ea2SNobuhiro IwamatsuCS0WCR_D: .long 0x00000480 161f84e6ea2SNobuhiro IwamatsuCS4WCR_D: .long 0x00000480 162f84e6ea2SNobuhiro IwamatsuCS5AWCR_D: .long 0x00000380 16394a35361SYusuke.GodaCS5BWCR_D: .long 0x00000080 164f84e6ea2SNobuhiro IwamatsuCS6AWCR_D: .long 0x00000300 165f84e6ea2SNobuhiro IwamatsuCS6BWCR_D: .long 0x00000540 166f84e6ea2SNobuhiro Iwamatsu 167f84e6ea2SNobuhiro IwamatsuCCR_A: .long 0xff00001c 168f84e6ea2SNobuhiro IwamatsuCCR_D: .long 0x0000090d 169f84e6ea2SNobuhiro Iwamatsu 170f84e6ea2SNobuhiro IwamatsuSLEEP_CNT: .long 0x00000800 171f84e6ea2SNobuhiro IwamatsuSR_MASK_D: .long 0xEFFFFF0F 172