arm: davinci: remove leftover assembly
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Wed, 29 May 2019 08:02:00 +0000 (10:02 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 5 Jun 2019 16:14:02 +0000 (12:14 -0400)
There are no more users of lowlevel_init.S. Remove the file.

Suggested-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
arch/arm/mach-davinci/Makefile
arch/arm/mach-davinci/lowlevel_init.S [deleted file]

index 6887fe05dd8625ba84dade5116591649cbb9d1f4..ed882740720614568e59a6f9968ffa6f3bcf9e36 100644 (file)
@@ -18,7 +18,3 @@ obj-$(CONFIG_SPL_FRAMEWORK)   += spl.o
 obj-$(CONFIG_SOC_DM365)        += dm365_lowlevel.o
 obj-$(CONFIG_SOC_DA8XX)        += da850_lowlevel.o
 endif
-
-ifndef CONFIG_SKIP_LOWLEVEL_INIT
-obj-y  += lowlevel_init.o
-endif
diff --git a/arch/arm/mach-davinci/lowlevel_init.S b/arch/arm/mach-davinci/lowlevel_init.S
deleted file mode 100644 (file)
index b82dafa..0000000
+++ /dev/null
@@ -1,692 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * Low-level board setup code for TI DaVinci SoC based boards.
- *
- * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
- *
- * Partially based on TI sources, original copyrights follow:
- */
-
-/*
- * Board specific setup info
- *
- * (C) Copyright 2003
- * Texas Instruments, <www.ti.com>
- * Kshitij Gupta <Kshitij@ti.com>
- *
- * Modified for OMAP 1610 H2 board by Nishant Kamat, Jan 2004
- *
- * Modified for OMAP 5912 OSK board by Rishi Bhattacharya, Apr 2004
- *
- * Modified for DV-EVM board by Rishi Bhattacharya, Apr 2005
- *
- * Modified for DV-EVM board by Swaminathan S, Nov 2005
- */
-
-#include <config.h>
-
-#define MDSTAT_STATE   0x3f
-
-.globl lowlevel_init
-lowlevel_init:
-#ifdef CONFIG_SOC_DM644X
-
-       /*-------------------------------------------------------*
-        * Mask all IRQs by setting all bits in the EINT default *
-        *-------------------------------------------------------*/
-       mov     r1, $0
-       ldr     r0, =EINT_ENABLE0
-       str     r1, [r0]
-       ldr     r0, =EINT_ENABLE1
-       str     r1, [r0]
-
-       /*------------------------------------------------------*
-        * Put the GEM in reset                                 *
-        *------------------------------------------------------*/
-
-       /* Put the GEM in reset */
-       ldr     r8, PSC_GEM_FLAG_CLEAR
-       ldr     r6, MDCTL_GEM
-       ldr     r7, [r6]
-       and     r7, r7, r8
-       str     r7, [r6]
-
-       /* Enable the Power Domain Transition Command */
-       ldr     r6, PTCMD
-       ldr     r7, [r6]
-       orr     r7, r7, $0x02
-       str     r7, [r6]
-
-       /* Check for Transition Complete(PTSTAT) */
-checkStatClkStopGem:
-       ldr     r6, PTSTAT
-       ldr     r7, [r6]
-       ands    r7, r7, $0x02
-       bne     checkStatClkStopGem
-
-       /* Check for GEM Reset Completion */
-checkGemStatClkStop:
-       ldr     r6, MDSTAT_GEM
-       ldr     r7, [r6]
-       ands    r7, r7, $0x100
-       bne     checkGemStatClkStop
-
-       /* Do this for enabling a WDT initiated reset this is a workaround
-          for a chip bug.  Not required under normal situations */
-       ldr     r6, P1394
-       mov     r10, $0
-       str     r10, [r6]
-
-       /*------------------------------------------------------*
-        * Enable L1 & L2 Memories in Fast mode                 *
-        *------------------------------------------------------*/
-       ldr     r6, DFT_ENABLE
-       mov     r10, $0x01
-       str     r10, [r6]
-
-       ldr     r6, MMARG_BRF0
-       ldr     r10, MMARG_BRF0_VAL
-       str     r10, [r6]
-
-       ldr     r6, DFT_ENABLE
-       mov     r10, $0
-       str     r10, [r6]
-
-       /*------------------------------------------------------*
-        * DDR2 PLL Initialization                              *
-        *------------------------------------------------------*/
-
-       /* Select the Clock Mode Depending on the Value written in the Boot Table by the run script */
-       mov     r10, $0
-       ldr     r6, PLL2_CTL
-       ldr     r7, PLL_CLKSRC_MASK
-       ldr     r8, [r6]
-       and     r8, r8, r7
-       mov     r9, r10, lsl $8
-       orr     r8, r8, r9
-       str     r8, [r6]
-
-       /* Select the PLLEN source */
-       ldr     r7, PLL_ENSRC_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Bypass the PLL */
-       ldr     r7, PLL_BYPASS_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Wait for few cycles to allow PLLEN Mux switch properly to bypass Clock */
-       mov     r10, $0x20
-WaitPPL2Loop:
-       subs    r10, r10, $1
-       bne     WaitPPL2Loop
-
-       /* Reset the PLL */
-       ldr     r7, PLL_RESET_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Power up the PLL */
-       ldr     r7, PLL_PWRUP_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Enable the PLL from Disable Mode */
-       ldr     r7, PLL_DISABLE_ENABLE_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Program the PLL Multiplier */
-       ldr     r6, PLL2_PLLM
-       mov     r2, $0x17       /* 162 MHz */
-       str     r2, [r6]
-
-       /* Program the PLL2 Divisor Value */
-       ldr     r6, PLL2_DIV2
-       mov     r3, $0x01
-       str     r3, [r6]
-
-       /* Program the PLL2 Divisor Value */
-       ldr     r6, PLL2_DIV1
-       mov     r4, $0x0b       /* 54 MHz */
-       str     r4, [r6]
-
-       /* PLL2 DIV2 MMR */
-       ldr     r8, PLL2_DIV_MASK
-       ldr     r6, PLL2_DIV2
-       ldr     r9, [r6]
-       and     r8, r8, r9
-       mov     r9, $0x01
-       mov     r9, r9, lsl $15
-       orr     r8, r8, r9
-       str     r8, [r6]
-
-       /* Program the GOSET bit to take new divider values */
-       ldr     r6, PLL2_PLLCMD
-       ldr     r7, [r6]
-       orr     r7, r7, $0x01
-       str     r7, [r6]
-
-       /* Wait for Done */
-       ldr     r6, PLL2_PLLSTAT
-doneLoop_0:
-       ldr     r7, [r6]
-       ands    r7, r7, $0x01
-       bne     doneLoop_0
-
-       /* PLL2 DIV1 MMR */
-       ldr     r8, PLL2_DIV_MASK
-       ldr     r6, PLL2_DIV1
-       ldr     r9, [r6]
-       and     r8, r8, r9
-       mov     r9, $0x01
-       mov     r9, r9, lsl $15
-       orr     r8, r8, r9
-       str     r8, [r6]
-
-       /* Program the GOSET bit to take new divider values */
-       ldr     r6, PLL2_PLLCMD
-       ldr     r7, [r6]
-       orr     r7, r7, $0x01
-       str     r7, [r6]
-
-       /* Wait for Done */
-       ldr     r6, PLL2_PLLSTAT
-doneLoop:
-       ldr     r7, [r6]
-       ands    r7, r7, $0x01
-       bne     doneLoop
-
-       /* Wait for PLL to Reset Properly */
-       mov     r10, $0x218
-ResetPPL2Loop:
-       subs    r10, r10, $1
-       bne     ResetPPL2Loop
-
-       /* Bring PLL out of Reset */
-       ldr     r6, PLL2_CTL
-       ldr     r8, [r6]
-       orr     r8, r8, $0x08
-       str     r8, [r6]
-
-       /* Wait for PLL to Lock */
-       ldr     r10, PLL_LOCK_COUNT
-PLL2Lock:
-       subs    r10, r10, $1
-       bne     PLL2Lock
-
-       /* Enable the PLL */
-       ldr     r6, PLL2_CTL
-       ldr     r8, [r6]
-       orr     r8, r8, $0x01
-       str     r8, [r6]
-
-       /*------------------------------------------------------*
-        * Issue Soft Reset to DDR Module                       *
-        *------------------------------------------------------*/
-
-       /* Shut down the DDR2 LPSC Module */
-       ldr     r8, PSC_FLAG_CLEAR
-       ldr     r6, MDCTL_DDR2
-       ldr     r7, [r6]
-       and     r7, r7, r8
-       orr     r7, r7, $0x03
-       str     r7, [r6]
-
-       /* Enable the Power Domain Transition Command */
-       ldr     r6, PTCMD
-       ldr     r7, [r6]
-       orr     r7, r7, $0x01
-       str     r7, [r6]
-
-       /* Check for Transition Complete(PTSTAT) */
-checkStatClkStop:
-       ldr     r6, PTSTAT
-       ldr     r7, [r6]
-       ands    r7, r7, $0x01
-       bne     checkStatClkStop
-
-       /* Check for DDR2 Controller Enable Completion */
-checkDDRStatClkStop:
-       ldr     r6, MDSTAT_DDR2
-       ldr     r7, [r6]
-       and     r7, r7, $MDSTAT_STATE
-       cmp     r7, $0x03
-       bne     checkDDRStatClkStop
-
-       /*------------------------------------------------------*
-        * Program DDR2 MMRs for 162MHz Setting                 *
-        *------------------------------------------------------*/
-
-       /* Program PHY Control Register */
-       ldr     r6, DDRCTL
-       ldr     r7, DDRCTL_VAL
-       str     r7, [r6]
-
-       /* Program SDRAM Bank Config Register */
-       ldr     r6, SDCFG
-       ldr     r7, SDCFG_VAL
-       str     r7, [r6]
-
-       /* Program SDRAM TIM-0 Config Register */
-       ldr     r6, SDTIM0
-       ldr     r7, SDTIM0_VAL_162MHz
-       str     r7, [r6]
-
-       /* Program SDRAM TIM-1 Config Register */
-       ldr     r6, SDTIM1
-       ldr     r7, SDTIM1_VAL_162MHz
-       str     r7, [r6]
-
-       /* Program the SDRAM Bank Config Control Register */
-       ldr     r10, MASK_VAL
-       ldr     r8, SDCFG
-       ldr     r9, SDCFG_VAL
-       and     r9, r9, r10
-       str     r9, [r8]
-
-       /* Program SDRAM SDREF Config Register */
-       ldr     r6, SDREF
-       ldr     r7, SDREF_VAL
-       str     r7, [r6]
-
-       /*------------------------------------------------------*
-        * Issue Soft Reset to DDR Module                       *
-        *------------------------------------------------------*/
-
-       /* Issue a Dummy DDR2 read/write */
-       ldr     r8, DDR2_START_ADDR
-       ldr     r7, DUMMY_VAL
-       str     r7, [r8]
-       ldr     r7, [r8]
-
-       /* Shut down the DDR2 LPSC Module */
-       ldr     r8, PSC_FLAG_CLEAR
-       ldr     r6, MDCTL_DDR2
-       ldr     r7, [r6]
-       and     r7, r7, r8
-       orr     r7, r7, $0x01
-       str     r7, [r6]
-
-       /* Enable the Power Domain Transition Command */
-       ldr     r6, PTCMD
-       ldr     r7, [r6]
-       orr     r7, r7, $0x01
-       str     r7, [r6]
-
-       /* Check for Transition Complete(PTSTAT) */
-checkStatClkStop2:
-       ldr     r6, PTSTAT
-       ldr     r7, [r6]
-       ands    r7, r7, $0x01
-       bne     checkStatClkStop2
-
-       /* Check for DDR2 Controller Enable Completion */
-checkDDRStatClkStop2:
-       ldr     r6, MDSTAT_DDR2
-       ldr     r7, [r6]
-       and     r7, r7, $MDSTAT_STATE
-       cmp     r7, $0x01
-       bne     checkDDRStatClkStop2
-
-       /*------------------------------------------------------*
-        * Turn DDR2 Controller Clocks On                       *
-        *------------------------------------------------------*/
-
-       /* Enable the DDR2 LPSC Module */
-       ldr     r6, MDCTL_DDR2
-       ldr     r7, [r6]
-       orr     r7, r7, $0x03
-       str     r7, [r6]
-
-       /* Enable the Power Domain Transition Command */
-       ldr     r6, PTCMD
-       ldr     r7, [r6]
-       orr     r7, r7, $0x01
-       str     r7, [r6]
-
-       /* Check for Transition Complete(PTSTAT) */
-checkStatClkEn2:
-       ldr     r6, PTSTAT
-       ldr     r7, [r6]
-       ands    r7, r7, $0x01
-       bne     checkStatClkEn2
-
-       /* Check for DDR2 Controller Enable Completion */
-checkDDRStatClkEn2:
-       ldr     r6, MDSTAT_DDR2
-       ldr     r7, [r6]
-       and     r7, r7, $MDSTAT_STATE
-       cmp     r7, $0x03
-       bne     checkDDRStatClkEn2
-
-       /*  DDR Writes and Reads */
-       ldr     r6, CFGTEST
-       mov     r3, $0x01
-       str     r3, [r6]
-
-       /*------------------------------------------------------*
-        * System PLL Initialization                            *
-        *------------------------------------------------------*/
-
-       /* Select the Clock Mode Depending on the Value written in the Boot Table by the run script */
-       mov     r2, $0
-       ldr     r6, PLL1_CTL
-       ldr     r7, PLL_CLKSRC_MASK
-       ldr     r8, [r6]
-       and     r8, r8, r7
-       mov     r9, r2, lsl $8
-       orr     r8, r8, r9
-       str     r8, [r6]
-
-       /* Select the PLLEN source */
-       ldr     r7, PLL_ENSRC_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Bypass the PLL */
-       ldr     r7, PLL_BYPASS_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Wait for few cycles to allow PLLEN Mux switch properly to bypass Clock */
-       mov     r10, $0x20
-
-WaitLoop:
-       subs    r10, r10, $1
-       bne     WaitLoop
-
-       /* Reset the PLL */
-       ldr     r7, PLL_RESET_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Disable the PLL */
-       orr     r8, r8, $0x10
-       str     r8, [r6]
-
-       /* Power up the PLL */
-       ldr     r7, PLL_PWRUP_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Enable the PLL from Disable Mode */
-       ldr     r7, PLL_DISABLE_ENABLE_MASK
-       and     r8, r8, r7
-       str     r8, [r6]
-
-       /* Program the PLL Multiplier */
-       ldr     r6, PLL1_PLLM
-       mov     r3, $0x15       /* For 594MHz */
-       str     r3, [r6]
-
-       /* Wait for PLL to Reset Properly */
-       mov     r10, $0xff
-
-ResetLoop:
-       subs    r10, r10, $1
-       bne     ResetLoop
-
-       /* Bring PLL out of Reset */
-       ldr     r6, PLL1_CTL
-       orr     r8, r8, $0x08
-       str     r8, [r6]
-
-       /* Wait for PLL to Lock */
-       ldr     r10, PLL_LOCK_COUNT
-
-PLL1Lock:
-       subs    r10, r10, $1
-       bne     PLL1Lock
-
-       /* Enable the PLL */
-       orr     r8, r8, $0x01
-       str     r8, [r6]
-
-       nop
-       nop
-       nop
-       nop
-
-       /*------------------------------------------------------*
-        * AEMIF configuration for NOR Flash (double check)     *
-        *------------------------------------------------------*/
-       ldr     r0, _PINMUX0
-       ldr     r1, _DEV_SETTING
-       str     r1, [r0]
-
-       ldr     r0, WAITCFG
-       ldr     r1, WAITCFG_VAL
-       ldr     r2, [r0]
-       orr     r2, r2, r1
-       str     r2, [r0]
-
-       ldr     r0, ACFG3
-       ldr     r1, ACFG3_VAL
-       ldr     r2, [r0]
-       and     r1, r2, r1
-       str     r1, [r0]
-
-       ldr     r0, ACFG4
-       ldr     r1, ACFG4_VAL
-       ldr     r2, [r0]
-       and     r1, r2, r1
-       str     r1, [r0]
-
-       ldr     r0, ACFG5
-       ldr     r1, ACFG5_VAL
-       ldr     r2, [r0]
-       and     r1, r2, r1
-       str     r1, [r0]
-
-       /*--------------------------------------*
-        * VTP manual Calibration               *
-        *--------------------------------------*/
-       ldr     r0, VTPIOCR
-       ldr     r1, VTP_MMR0
-       str     r1, [r0]
-
-       ldr     r0, VTPIOCR
-       ldr     r1, VTP_MMR1
-       str     r1, [r0]
-
-       /* Wait for 33 VTP CLK cycles.  VRP operates at 27 MHz */
-       ldr     r10, VTP_LOCK_COUNT
-VTPLock:
-       subs    r10, r10, $1
-       bne     VTPLock
-
-       ldr     r6, DFT_ENABLE
-       mov     r10, $0x01
-       str     r10, [r6]
-
-       ldr     r6, DDRVTPR
-       ldr     r7, [r6]
-       mov     r8, r7, LSL #32-10
-       mov     r8, r8, LSR #32-10        /* grab low 10 bits  */
-       ldr     r7, VTP_RECAL
-       orr     r8, r7, r8
-       ldr     r7, VTP_EN
-       orr     r8, r7, r8
-       str     r8, [r0]
-
-
-       /* Wait for 33 VTP CLK cycles.  VRP operates at 27 MHz */
-       ldr     r10, VTP_LOCK_COUNT
-VTP1Lock:
-       subs    r10, r10, $1
-       bne     VTP1Lock
-
-       ldr     r1, [r0]
-       ldr     r2, VTP_MASK
-       and     r2, r1, r2
-       str     r2, [r0]
-
-       ldr     r6, DFT_ENABLE
-       mov     r10, $0
-       str     r10, [r6]
-
-       /*
-        * Call board-specific lowlevel init.
-        * That MUST be present and THAT returns
-        * back to arch calling code with "mov pc, lr."
-        */
-       b       dv_board_init
-
-.ltorg
-
-_PINMUX0:
-       .word   0x01c40000              /* Device Configuration Registers */
-_PINMUX1:
-       .word   0x01c40004              /* Device Configuration Registers */
-
-_DEV_SETTING:
-       .word   0x00000c1f
-
-WAITCFG:
-       .word   0x01e00004
-WAITCFG_VAL:
-       .word   0
-ACFG3:
-       .word   0x01e00014
-ACFG3_VAL:
-       .word   0x3ffffffd
-ACFG4:
-       .word   0x01e00018
-ACFG4_VAL:
-       .word   0x3ffffffd
-ACFG5:
-       .word   0x01e0001c
-ACFG5_VAL:
-       .word   0x3ffffffd
-
-MDCTL_DDR2:
-       .word   0x01c41a34
-MDSTAT_DDR2:
-       .word   0x01c41834
-
-PTCMD:
-       .word   0x01c41120
-PTSTAT:
-       .word   0x01c41128
-
-EINT_ENABLE0:
-       .word   0x01c48018
-EINT_ENABLE1:
-       .word   0x01c4801c
-
-PSC_FLAG_CLEAR:
-       .word   0xffffffe0
-PSC_GEM_FLAG_CLEAR:
-       .word   0xfffffeff
-
-/* DDR2 MMR & CONFIGURATION VALUES, 162 MHZ clock */
-DDRCTL:
-       .word   0x200000e4
-DDRCTL_VAL:
-       .word   0x50006405
-SDREF:
-       .word   0x2000000c
-SDREF_VAL:
-       .word   0x000005c3
-SDCFG:
-       .word   0x20000008
-SDCFG_VAL:
-#ifdef DDR_4BANKS
-       .word   0x00178622
-#elif defined DDR_8BANKS
-       .word   0x00178632
-#else
-#error "Unknown DDR configuration!!!"
-#endif
-SDTIM0:
-       .word   0x20000010
-SDTIM0_VAL_162MHz:
-       .word   0x28923211
-SDTIM1:
-       .word   0x20000014
-SDTIM1_VAL_162MHz:
-       .word   0x0016c722
-VTPIOCR:
-       .word   0x200000f0      /* VTP IO Control register */
-DDRVTPR:
-       .word   0x01c42030      /* DDR VPTR MMR */
-VTP_MMR0:
-       .word   0x201f
-VTP_MMR1:
-       .word   0xa01f
-DFT_ENABLE:
-       .word   0x01c4004c
-VTP_LOCK_COUNT:
-       .word   0x5b0
-VTP_MASK:
-       .word   0xffffdfff
-VTP_RECAL:
-       .word   0x08000
-VTP_EN:
-       .word   0x02000
-CFGTEST:
-       .word   0x80010000
-MASK_VAL:
-       .word   0x00000fff
-
-/* GEM Power Up & LPSC Control Register */
-MDCTL_GEM:
-       .word   0x01c41a9c
-MDSTAT_GEM:
-       .word   0x01c4189c
-
-/* For WDT reset chip bug */
-P1394:
-       .word   0x01c41a20
-
-PLL_CLKSRC_MASK:
-       .word   0xfffffeff      /* Mask the Clock Mode bit */
-PLL_ENSRC_MASK:
-       .word   0xffffffdf      /* Select the PLLEN source */
-PLL_BYPASS_MASK:
-       .word   0xfffffffe      /* Put the PLL in BYPASS */
-PLL_RESET_MASK:
-       .word   0xfffffff7      /* Put the PLL in Reset Mode */
-PLL_PWRUP_MASK:
-       .word   0xfffffffd      /* PLL Power up Mask Bit  */
-PLL_DISABLE_ENABLE_MASK:
-       .word   0xffffffef      /* Enable the PLL from Disable */
-PLL_LOCK_COUNT:
-       .word   0x2000
-
-/* PLL1-SYSTEM PLL MMRs */
-PLL1_CTL:
-       .word   0x01c40900
-PLL1_PLLM:
-       .word   0x01c40910
-
-/* PLL2-SYSTEM PLL MMRs */
-PLL2_CTL:
-       .word   0x01c40d00
-PLL2_PLLM:
-       .word   0x01c40d10
-PLL2_DIV1:
-       .word   0x01c40d18
-PLL2_DIV2:
-       .word   0x01c40d1c
-PLL2_PLLCMD:
-       .word   0x01c40d38
-PLL2_PLLSTAT:
-       .word   0x01c40d3c
-PLL2_DIV_MASK:
-       .word   0xffff7fff
-
-MMARG_BRF0:
-       .word   0x01c42010      /* BRF margin mode 0 (R/W)*/
-MMARG_BRF0_VAL:
-       .word   0x00444400
-
-DDR2_START_ADDR:
-       .word   0x80000000
-DUMMY_VAL:
-       .word   0xa55aa55a
-#else /* CONFIG_SOC_DM644X */
-       mov pc, lr
-#endif