arm: davinci: remove leftover code for dm* SoCs
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 29 Apr 2019 16:37:12 +0000 (18:37 +0200)
committerTom Rini <trini@konsulko.com>
Sat, 4 May 2019 17:04:10 +0000 (13:04 -0400)
The support for DaVinci DM* SoCs has been dropped a while ago. There's
still a lot of leftover code in mach-davinci though. Entirely remove
certain files and modify the common code to no longer reference
unsupported chips.

Note: all DaVinci platforms supported in u-boot now define SOC_DA8XX
but not all define SOC_DA850 (e.g. omapl138). We can safely remove
all ifdefs for the former, but let's leave the ones for the latter.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
15 files changed:
arch/arm/mach-davinci/cpu.c
arch/arm/mach-davinci/dm355.c [deleted file]
arch/arm/mach-davinci/dm365.c [deleted file]
arch/arm/mach-davinci/dm365_lowlevel.c [deleted file]
arch/arm/mach-davinci/dm644x.c [deleted file]
arch/arm/mach-davinci/dm646x.c [deleted file]
arch/arm/mach-davinci/include/mach/davinci_misc.h
arch/arm/mach-davinci/include/mach/emac_defs.h
arch/arm/mach-davinci/include/mach/gpio.h
arch/arm/mach-davinci/include/mach/hardware.h
arch/arm/mach-davinci/include/mach/i2c_defs.h
arch/arm/mach-davinci/include/mach/syscfg_defs.h [deleted file]
arch/arm/mach-davinci/misc.c
arch/arm/mach-davinci/psc.c
arch/arm/mach-davinci/spl.c

index aca2f2961d303627b7dea338692740edf249cff3..f97ad3fc740142807ea56a56a5a132deeabcbbb1 100644 (file)
@@ -27,25 +27,6 @@ DECLARE_GLOBAL_DATA_PTR;
 #define PLLC_PLLDIV8   0x170
 #define PLLC_PLLDIV9   0x174
 
-/* SOC-specific pll info */
-#ifdef CONFIG_SOC_DM355
-#define ARM_PLLDIV     PLLC_PLLDIV1
-#define DDR_PLLDIV     PLLC_PLLDIV1
-#endif
-
-#ifdef CONFIG_SOC_DM644X
-#define ARM_PLLDIV     PLLC_PLLDIV2
-#define DSP_PLLDIV     PLLC_PLLDIV1
-#define DDR_PLLDIV     PLLC_PLLDIV2
-#endif
-
-#ifdef CONFIG_SOC_DM646X
-#define DSP_PLLDIV     PLLC_PLLDIV1
-#define ARM_PLLDIV     PLLC_PLLDIV2
-#define DDR_PLLDIV     PLLC_PLLDIV1
-#endif
-
-#ifdef CONFIG_SOC_DA8XX
 unsigned int sysdiv[9] = {
        PLLC_PLLDIV1, PLLC_PLLDIV2, PLLC_PLLDIV3, PLLC_PLLDIV4, PLLC_PLLDIV5,
        PLLC_PLLDIV6, PLLC_PLLDIV7, PLLC_PLLDIV8, PLLC_PLLDIV9
@@ -110,103 +91,6 @@ int set_cpu_clk_info(void)
        return 0;
 }
 
-#else /* CONFIG_SOC_DA8XX */
-
-static unsigned pll_div(volatile void *pllbase, unsigned offset)
-{
-       u32     div;
-
-       div = REG(pllbase + offset);
-       return (div & BIT(15)) ? (1 + (div & 0x1f)) : 1;
-}
-
-static inline unsigned pll_prediv(volatile void *pllbase)
-{
-#ifdef CONFIG_SOC_DM355
-       /* this register read seems to fail on pll0 */
-       if (pllbase == (volatile void *)DAVINCI_PLL_CNTRL0_BASE)
-               return 8;
-       else
-               return pll_div(pllbase, PLLC_PREDIV);
-#elif defined(CONFIG_SOC_DM365)
-       return pll_div(pllbase, PLLC_PREDIV);
-#endif
-       return 1;
-}
-
-static inline unsigned pll_postdiv(volatile void *pllbase)
-{
-#if defined(CONFIG_SOC_DM355) || defined(CONFIG_SOC_DM365)
-       return pll_div(pllbase, PLLC_POSTDIV);
-#elif defined(CONFIG_SOC_DM6446)
-       if (pllbase == (volatile void *)DAVINCI_PLL_CNTRL0_BASE)
-               return pll_div(pllbase, PLLC_POSTDIV);
-#endif
-       return 1;
-}
-
-static unsigned pll_sysclk_mhz(unsigned pll_addr, unsigned div)
-{
-       volatile void   *pllbase = (volatile void *) pll_addr;
-#ifdef CONFIG_SOC_DM646X
-       unsigned        base = CONFIG_REFCLK_FREQ / 1000;
-#else
-       unsigned        base = CONFIG_SYS_HZ_CLOCK / 1000;
-#endif
-
-       /* the PLL might be bypassed */
-       if (readl(pllbase + PLLC_PLLCTL) & BIT(0)) {
-               base /= pll_prediv(pllbase);
-#if defined(CONFIG_SOC_DM365)
-               base *=  2 * (readl(pllbase + PLLC_PLLM) & 0x0ff);
-#else
-               base *= 1 + (REG(pllbase + PLLC_PLLM) & 0x0ff);
-#endif
-               base /= pll_postdiv(pllbase);
-       }
-       return DIV_ROUND_UP(base, 1000 * pll_div(pllbase, div));
-}
-
-#ifdef DAVINCI_DM6467EVM
-unsigned int davinci_arm_clk_get()
-{
-       return pll_sysclk_mhz(DAVINCI_PLL_CNTRL0_BASE, ARM_PLLDIV) * 1000000;
-}
-#endif
-
-#if defined(CONFIG_SOC_DM365)
-unsigned int davinci_clk_get(unsigned int div)
-{
-       return pll_sysclk_mhz(DAVINCI_PLL_CNTRL0_BASE, div) * 1000000;
-}
-#endif
-
-int set_cpu_clk_info(void)
-{
-       unsigned int pllbase = DAVINCI_PLL_CNTRL0_BASE;
-#if defined(CONFIG_SOC_DM365)
-       pllbase = DAVINCI_PLL_CNTRL1_BASE;
-#endif
-       gd->bd->bi_arm_freq = pll_sysclk_mhz(pllbase, ARM_PLLDIV);
-
-#ifdef DSP_PLLDIV
-       gd->bd->bi_dsp_freq =
-               pll_sysclk_mhz(DAVINCI_PLL_CNTRL0_BASE, DSP_PLLDIV);
-#else
-       gd->bd->bi_dsp_freq = 0;
-#endif
-
-       pllbase = DAVINCI_PLL_CNTRL1_BASE;
-#if defined(CONFIG_SOC_DM365)
-       pllbase = DAVINCI_PLL_CNTRL0_BASE;
-#endif
-       gd->bd->bi_ddr_freq = pll_sysclk_mhz(pllbase, DDR_PLLDIV) / 2;
-
-       return 0;
-}
-
-#endif /* !CONFIG_SOC_DA8XX */
-
 /*
  * Initializes on-chip ethernet controllers.
  * to override, implement board_eth_init()
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c
deleted file mode 100644 (file)
index bc158d9..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * SoC-specific code for tms320dm355 and similar chips
- *
- * Copyright (C) 2009 David Brownell
- */
-
-#include <common.h>
-#include <asm/arch/hardware.h>
-
-
-void davinci_enable_uart0(void)
-{
-       lpsc_on(DAVINCI_LPSC_UART0);
-
-       /* Bringup UART0 out of reset */
-       REG(UART0_PWREMU_MGMT) = 0x00006001;
-}
-
-
-#ifdef CONFIG_SYS_I2C_DAVINCI
-void davinci_enable_i2c(void)
-{
-       lpsc_on(DAVINCI_LPSC_I2C);
-
-       /* Enable I2C pin Mux */
-       REG(PINMUX3) |= (1 << 20) | (1 << 19);
-}
-#endif
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c
deleted file mode 100644 (file)
index 486b900..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * SoC-specific code for tms320dm365 and similar chips
- */
-
-#include <common.h>
-#include <asm/arch/hardware.h>
-
-void davinci_enable_uart0(void)
-{
-       lpsc_on(DAVINCI_LPSC_UART0);
-}
-
-#ifdef CONFIG_SYS_I2C_DAVINCI
-void davinci_enable_i2c(void)
-{
-       lpsc_on(DAVINCI_LPSC_I2C);
-}
-#endif
diff --git a/arch/arm/mach-davinci/dm365_lowlevel.c b/arch/arm/mach-davinci/dm365_lowlevel.c
deleted file mode 100644 (file)
index ad83917..0000000
+++ /dev/null
@@ -1,459 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * SoC-specific lowlevel code for tms320dm365 and similar chips
- * Actually used for booting from NAND with nand_spl.
- *
- * Copyright (C) 2011
- * Heiko Schocher, DENX Software Engineering, hs@denx.de.
- */
-#include <common.h>
-#include <nand.h>
-#include <ns16550.h>
-#include <post.h>
-#include <asm/ti-common/davinci_nand.h>
-#include <asm/arch/dm365_lowlevel.h>
-#include <asm/arch/hardware.h>
-
-void dm365_waitloop(unsigned long loopcnt)
-{
-       unsigned long   i;
-
-       for (i = 0; i < loopcnt; i++)
-               asm("   NOP");
-}
-
-int dm365_pll1_init(unsigned long pllmult, unsigned long prediv)
-{
-       unsigned int clksrc = 0x0;
-
-       /* Power up the PLL */
-       clrbits_le32(&dv_pll0_regs->pllctl, PLLCTL_PLLPWRDN);
-
-       clrbits_le32(&dv_pll0_regs->pllctl, PLLCTL_RES_9);
-       setbits_le32(&dv_pll0_regs->pllctl,
-               clksrc << PLLCTL_CLOCK_MODE_SHIFT);
-
-       /*
-        * Set PLLENSRC '0', PLL Enable(PLLEN) selection is controlled
-        * through MMR
-        */
-       clrbits_le32(&dv_pll0_regs->pllctl, PLLCTL_PLLENSRC);
-
-       /* Set PLLEN=0 => PLL BYPASS MODE */
-       clrbits_le32(&dv_pll0_regs->pllctl, PLLCTL_PLLEN);
-
-       dm365_waitloop(150);
-
-        /* PLLRST=1(reset assert) */
-       setbits_le32(&dv_pll0_regs->pllctl, PLLCTL_PLLRST);
-
-       dm365_waitloop(300);
-
-       /*Bring PLL out of Reset*/
-       clrbits_le32(&dv_pll0_regs->pllctl, PLLCTL_PLLRST);
-
-       /* Program the Multiper and Pre-Divider for PLL1 */
-       writel(pllmult, &dv_pll0_regs->pllm);
-       writel(prediv, &dv_pll0_regs->prediv);
-
-       /* Assert TENABLE = 1, TENABLEDIV = 1, TINITZ = 1 */
-       writel(PLLSECCTL_STOPMODE | PLLSECCTL_TENABLEDIV | PLLSECCTL_TENABLE |
-               PLLSECCTL_TINITZ, &dv_pll0_regs->secctl);
-       /* Assert TENABLE = 1, TENABLEDIV = 1, TINITZ = 0 */
-       writel(PLLSECCTL_STOPMODE | PLLSECCTL_TENABLEDIV | PLLSECCTL_TENABLE,
-               &dv_pll0_regs->secctl);
-       /* Assert TENABLE = 0, TENABLEDIV = 0, TINITZ = 0 */
-       writel(PLLSECCTL_STOPMODE, &dv_pll0_regs->secctl);
-       /* Assert TENABLE = 0, TENABLEDIV = 0, TINITZ = 1 */
-       writel(PLLSECCTL_STOPMODE | PLLSECCTL_TINITZ, &dv_pll0_regs->secctl);
-
-       /* Program the PostDiv for PLL1 */
-       writel(PLL_POSTDEN, &dv_pll0_regs->postdiv);
-
-       /* Post divider setting for PLL1 */
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV1, &dv_pll0_regs->plldiv1);
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV2, &dv_pll0_regs->plldiv2);
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV3, &dv_pll0_regs->plldiv3);
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV4, &dv_pll0_regs->plldiv4);
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV5, &dv_pll0_regs->plldiv5);
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV6, &dv_pll0_regs->plldiv6);
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV7, &dv_pll0_regs->plldiv7);
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV8, &dv_pll0_regs->plldiv8);
-       writel(CONFIG_SYS_DM36x_PLL1_PLLDIV9, &dv_pll0_regs->plldiv9);
-
-       dm365_waitloop(300);
-
-       /* Set the GOSET bit */
-       writel(PLLCMD_GOSET, &dv_pll0_regs->pllcmd); /* Go */
-
-       dm365_waitloop(300);
-
-       /* Wait for PLL to LOCK */
-       while (!((readl(&dv_sys_module_regs->pll0_config) & PLL0_LOCK)
-               == PLL0_LOCK))
-               ;
-
-       /* Enable the PLL Bit of PLLCTL*/
-       setbits_le32(&dv_pll0_regs->pllctl, PLLCTL_PLLEN);
-
-       return 0;
-}
-
-int dm365_pll2_init(unsigned long pllm, unsigned long prediv)
-{
-       unsigned int clksrc = 0x0;
-
-       /* Power up the PLL*/
-       clrbits_le32(&dv_pll1_regs->pllctl, PLLCTL_PLLPWRDN);
-
-       /*
-        * Select the Clock Mode as Onchip Oscilator or External Clock on
-        * MXI pin
-        * VDB has input on MXI pin
-        */
-       clrbits_le32(&dv_pll1_regs->pllctl, PLLCTL_RES_9);
-       setbits_le32(&dv_pll1_regs->pllctl,
-               clksrc << PLLCTL_CLOCK_MODE_SHIFT);
-
-       /*
-        * Set PLLENSRC '0', PLL Enable(PLLEN) selection is controlled
-        * through MMR
-        */
-       clrbits_le32(&dv_pll1_regs->pllctl, PLLCTL_PLLENSRC);
-
-       /* Set PLLEN=0 => PLL BYPASS MODE */
-       clrbits_le32(&dv_pll1_regs->pllctl, PLLCTL_PLLEN);
-
-       dm365_waitloop(50);
-
-        /* PLLRST=1(reset assert) */
-       setbits_le32(&dv_pll1_regs->pllctl, PLLCTL_PLLRST);
-
-       dm365_waitloop(300);
-
-       /* Bring PLL out of Reset */
-       clrbits_le32(&dv_pll1_regs->pllctl, PLLCTL_PLLRST);
-
-       /* Program the Multiper and Pre-Divider for PLL2 */
-       writel(pllm, &dv_pll1_regs->pllm);
-       writel(prediv, &dv_pll1_regs->prediv);
-
-       writel(PLL_POSTDEN, &dv_pll1_regs->postdiv);
-
-       /* Assert TENABLE = 1, TENABLEDIV = 1, TINITZ = 1 */
-       writel(PLLSECCTL_STOPMODE | PLLSECCTL_TENABLEDIV | PLLSECCTL_TENABLE |
-               PLLSECCTL_TINITZ, &dv_pll1_regs->secctl);
-       /* Assert TENABLE = 1, TENABLEDIV = 1, TINITZ = 0 */
-       writel(PLLSECCTL_STOPMODE | PLLSECCTL_TENABLEDIV | PLLSECCTL_TENABLE,
-               &dv_pll1_regs->secctl);
-       /* Assert TENABLE = 0, TENABLEDIV = 0, TINITZ = 0 */
-       writel(PLLSECCTL_STOPMODE, &dv_pll1_regs->secctl);
-       /* Assert TENABLE = 0, TENABLEDIV = 0, TINITZ = 1 */
-       writel(PLLSECCTL_STOPMODE | PLLSECCTL_TINITZ, &dv_pll1_regs->secctl);
-
-       /* Post divider setting for PLL2 */
-       writel(CONFIG_SYS_DM36x_PLL2_PLLDIV1, &dv_pll1_regs->plldiv1);
-       writel(CONFIG_SYS_DM36x_PLL2_PLLDIV2, &dv_pll1_regs->plldiv2);
-       writel(CONFIG_SYS_DM36x_PLL2_PLLDIV3, &dv_pll1_regs->plldiv3);
-       writel(CONFIG_SYS_DM36x_PLL2_PLLDIV4, &dv_pll1_regs->plldiv4);
-       writel(CONFIG_SYS_DM36x_PLL2_PLLDIV5, &dv_pll1_regs->plldiv5);
-
-       /* GoCmd for PostDivider to take effect */
-       writel(PLLCMD_GOSET, &dv_pll1_regs->pllcmd);
-
-       dm365_waitloop(150);
-
-       /* Wait for PLL to LOCK */
-       while (!((readl(&dv_sys_module_regs->pll1_config) & PLL1_LOCK)
-               == PLL1_LOCK))
-               ;
-
-       dm365_waitloop(4100);
-
-       /* Enable the PLL2 */
-       setbits_le32(&dv_pll1_regs->pllctl, PLLCTL_PLLEN);
-
-       /* do this after PLL's have been set up */
-       writel(CONFIG_SYS_DM36x_PERI_CLK_CTRL,
-               &dv_sys_module_regs->peri_clkctl);
-
-       return 0;
-}
-
-int dm365_ddr_setup(void)
-{
-       lpsc_on(DAVINCI_LPSC_DDR_EMIF);
-       clrbits_le32(&dv_sys_module_regs->vtpiocr,
-               VPTIO_IOPWRDN | VPTIO_CLRZ | VPTIO_LOCK | VPTIO_PWRDN);
-
-       /* Set bit CLRZ (bit 13) */
-       setbits_le32(&dv_sys_module_regs->vtpiocr, VPTIO_CLRZ);
-
-       /* Check VTP READY Status */
-       while (!(readl(&dv_sys_module_regs->vtpiocr) & VPTIO_RDY))
-               ;
-
-       /* Set bit VTP_IOPWRDWN bit 14 for DDR input buffers) */
-       setbits_le32(&dv_sys_module_regs->vtpiocr, VPTIO_IOPWRDN);
-
-       /* Set bit LOCK(bit7) */
-       setbits_le32(&dv_sys_module_regs->vtpiocr, VPTIO_LOCK);
-
-       /*
-        * Powerdown VTP as it is locked (bit 6)
-        * Set bit VTP_IOPWRDWN bit 14 for DDR input buffers)
-        */
-       setbits_le32(&dv_sys_module_regs->vtpiocr,
-               VPTIO_IOPWRDN | VPTIO_PWRDN);
-
-       /* Wait for calibration to complete */
-       dm365_waitloop(150);
-
-       /* Set the DDR2 to synreset, then enable it again */
-       lpsc_syncreset(DAVINCI_LPSC_DDR_EMIF);
-       lpsc_on(DAVINCI_LPSC_DDR_EMIF);
-
-       writel(CONFIG_SYS_DM36x_DDR2_DDRPHYCR, &dv_ddr2_regs_ctrl->ddrphycr);
-
-       /* Program SDRAM Bank Config Register */
-       writel((CONFIG_SYS_DM36x_DDR2_SDBCR | DV_DDR_BOOTUNLOCK),
-               &dv_ddr2_regs_ctrl->sdbcr);
-       writel((CONFIG_SYS_DM36x_DDR2_SDBCR | DV_DDR_TIMUNLOCK),
-               &dv_ddr2_regs_ctrl->sdbcr);
-
-       /* Program SDRAM Timing Control Register1 */
-       writel(CONFIG_SYS_DM36x_DDR2_SDTIMR, &dv_ddr2_regs_ctrl->sdtimr);
-       /* Program SDRAM Timing Control Register2 */
-       writel(CONFIG_SYS_DM36x_DDR2_SDTIMR2, &dv_ddr2_regs_ctrl->sdtimr2);
-
-       writel(CONFIG_SYS_DM36x_DDR2_PBBPR, &dv_ddr2_regs_ctrl->pbbpr);
-
-       writel(CONFIG_SYS_DM36x_DDR2_SDBCR, &dv_ddr2_regs_ctrl->sdbcr);
-
-       /* Program SDRAM Refresh Control Register */
-       writel(CONFIG_SYS_DM36x_DDR2_SDRCR, &dv_ddr2_regs_ctrl->sdrcr);
-
-       lpsc_syncreset(DAVINCI_LPSC_DDR_EMIF);
-       lpsc_on(DAVINCI_LPSC_DDR_EMIF);
-
-       return 0;
-}
-
-static void dm365_vpss_sync_reset(void)
-{
-       unsigned int PdNum = 0;
-
-       /* VPSS_CLKMD 1:1 */
-       setbits_le32(&dv_sys_module_regs->vpss_clkctl,
-               VPSS_CLK_CTL_VPSS_CLKMD);
-
-       /* LPSC SyncReset DDR Clock Enable */
-       writel(((readl(&dv_psc_regs->mdctl[DAVINCI_LPSC_VPSSMASTER]) &
-               ~PSC_MD_STATE_MSK) | PSC_SYNCRESET),
-               &dv_psc_regs->mdctl[DAVINCI_LPSC_VPSSMASTER]);
-
-       writel((1 << PdNum), &dv_psc_regs->ptcmd);
-
-       while (!(((readl(&dv_psc_regs->ptstat) >> PdNum) & PSC_GOSTAT) == 0))
-               ;
-       while (!((readl(&dv_psc_regs->mdstat[DAVINCI_LPSC_VPSSMASTER]) &
-               PSC_MD_STATE_MSK) == PSC_SYNCRESET))
-               ;
-}
-
-static void dm365_por_reset(void)
-{
-       struct davinci_timer *wdog =
-               (struct davinci_timer *)DAVINCI_WDOG_BASE;
-
-       if (readl(&dv_pll0_regs->rstype) &
-               (PLL_RSTYPE_POR | PLL_RSTYPE_XWRST)) {
-               dm365_vpss_sync_reset();
-
-               writel(DV_TMPBUF_VAL, TMPBUF);
-               setbits_le32(TMPSTATUS, FLAG_PORRST);
-               writel(DV_WDT_ENABLE_SYS_RESET, &wdog->na1);
-               writel(DV_WDT_TRIGGER_SYS_RESET, &wdog->na2);
-
-               while (1);
-       }
-}
-
-static void dm365_wdt_reset(void)
-{
-       struct davinci_timer *wdog =
-               (struct davinci_timer *)DAVINCI_WDOG_BASE;
-
-       if (readl(TMPBUF) != DV_TMPBUF_VAL) {
-               writel(DV_TMPBUF_VAL, TMPBUF);
-               setbits_le32(TMPSTATUS, FLAG_PORRST);
-               setbits_le32(TMPSTATUS, FLAG_FLGOFF);
-
-               dm365_waitloop(100);
-
-               dm365_vpss_sync_reset();
-
-               writel(DV_WDT_ENABLE_SYS_RESET, &wdog->na1);
-               writel(DV_WDT_TRIGGER_SYS_RESET, &wdog->na2);
-
-               while (1);
-       }
-}
-
-static void dm365_wdt_flag_on(void)
-{
-       /* VPSS_CLKMD 1:2 */
-       clrbits_le32(&dv_sys_module_regs->vpss_clkctl,
-               VPSS_CLK_CTL_VPSS_CLKMD);
-       writel(0, TMPBUF);
-       setbits_le32(TMPSTATUS, FLAG_FLGON);
-}
-
-void dm365_psc_init(void)
-{
-       unsigned char i = 0;
-       unsigned char lpsc_start;
-       unsigned char lpsc_end, lpscgroup, lpscmin, lpscmax;
-       unsigned int  PdNum = 0;
-
-       lpscmin = 0;
-       lpscmax = 2;
-
-       for (lpscgroup = lpscmin; lpscgroup <= lpscmax; lpscgroup++) {
-               if (lpscgroup == 0) {
-                       /* Enabling LPSC 3 to 28 SCR first */
-                       lpsc_start = DAVINCI_LPSC_VPSSMSTR;
-                       lpsc_end   = DAVINCI_LPSC_TIMER1;
-               } else if (lpscgroup == 1) { /* Skip locked LPSCs [29-37] */
-                       lpsc_start = DAVINCI_LPSC_CFG5;
-                       lpsc_end   = DAVINCI_LPSC_VPSSMASTER;
-               } else {
-                       lpsc_start = DAVINCI_LPSC_MJCP;
-                       lpsc_end   = DAVINCI_LPSC_HDVICP;
-               }
-
-               /* NEXT=0x3, Enable LPSC's */
-               for (i = lpsc_start; i <= lpsc_end; i++)
-                       setbits_le32(&dv_psc_regs->mdctl[i], PSC_ENABLE);
-
-               /*
-                * Program goctl to start transition sequence for LPSCs
-                * CSL_PSC_0_REGS->PTCMD = (1<<PdNum); Kick off Power
-                * Domain 0 Modules
-                */
-               writel((1 << PdNum), &dv_psc_regs->ptcmd);
-
-               /*
-                * Wait for GOSTAT = NO TRANSITION from PSC for Powerdomain 0
-                */
-               while (!(((readl(&dv_psc_regs->ptstat) >> PdNum) & PSC_GOSTAT)
-                       == 0))
-                       ;
-
-               /* Wait for MODSTAT = ENABLE from LPSC's */
-               for (i = lpsc_start; i <= lpsc_end; i++)
-                       while (!((readl(&dv_psc_regs->mdstat[i]) &
-                               PSC_MD_STATE_MSK) == PSC_ENABLE))
-                               ;
-       }
-}
-
-static void dm365_emif_init(void)
-{
-       writel(CONFIG_SYS_DM36x_AWCCR, &davinci_emif_regs->awccr);
-       writel(CONFIG_SYS_DM36x_AB1CR, &davinci_emif_regs->ab1cr);
-
-       setbits_le32(&davinci_emif_regs->nandfcr, DAVINCI_NANDFCR_CS2NAND);
-
-       writel(CONFIG_SYS_DM36x_AB2CR, &davinci_emif_regs->ab2cr);
-
-       return;
-}
-
-void dm365_pinmux_ctl(unsigned long offset, unsigned long mask,
-       unsigned long value)
-{
-       clrbits_le32(&dv_sys_module_regs->pinmux[offset], mask);
-       setbits_le32(&dv_sys_module_regs->pinmux[offset], (mask & value));
-}
-
-__attribute__((weak))
-void board_gpio_init(void)
-{
-       return;
-}
-
-#if defined(CONFIG_POST)
-int post_log(char *format, ...)
-{
-       return 0;
-}
-#endif
-
-void dm36x_lowlevel_init(ulong bootflag)
-{
-       struct davinci_uart_ctrl_regs *davinci_uart_ctrl_regs =
-               (struct davinci_uart_ctrl_regs *)(CONFIG_SYS_NS16550_COM1 +
-               DAVINCI_UART_CTRL_BASE);
-
-       /* Mask all interrupts */
-       writel(DV_AINTC_INTCTL_IDMODE, &dv_aintc_regs->intctl);
-       writel(0x0, &dv_aintc_regs->eabase);
-       writel(0x0, &dv_aintc_regs->eint0);
-       writel(0x0, &dv_aintc_regs->eint1);
-
-       /* Clear all interrupts */
-       writel(0xffffffff, &dv_aintc_regs->fiq0);
-       writel(0xffffffff, &dv_aintc_regs->fiq1);
-       writel(0xffffffff, &dv_aintc_regs->irq0);
-       writel(0xffffffff, &dv_aintc_regs->irq1);
-
-       dm365_por_reset();
-       dm365_wdt_reset();
-
-       /* System PSC setup - enable all */
-       dm365_psc_init();
-
-       /* Setup Pinmux */
-       dm365_pinmux_ctl(0, 0xFFFFFFFF, CONFIG_SYS_DM36x_PINMUX0);
-       dm365_pinmux_ctl(1, 0xFFFFFFFF, CONFIG_SYS_DM36x_PINMUX1);
-       dm365_pinmux_ctl(2, 0xFFFFFFFF, CONFIG_SYS_DM36x_PINMUX2);
-       dm365_pinmux_ctl(3, 0xFFFFFFFF, CONFIG_SYS_DM36x_PINMUX3);
-       dm365_pinmux_ctl(4, 0xFFFFFFFF, CONFIG_SYS_DM36x_PINMUX4);
-
-       /* PLL setup */
-       dm365_pll1_init(CONFIG_SYS_DM36x_PLL1_PLLM,
-               CONFIG_SYS_DM36x_PLL1_PREDIV);
-       dm365_pll2_init(CONFIG_SYS_DM36x_PLL2_PLLM,
-               CONFIG_SYS_DM36x_PLL2_PREDIV);
-
-       /* GPIO setup */
-       board_gpio_init();
-
-       NS16550_init((NS16550_t)(CONFIG_SYS_NS16550_COM1),
-                       CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE);
-
-       /*
-        * Fix Power and Emulation Management Register
-        * see sprufh2.pdf page 38 Table 22
-        */
-       writel((DAVINCI_UART_PWREMU_MGMT_FREE | DAVINCI_UART_PWREMU_MGMT_URRST |
-               DAVINCI_UART_PWREMU_MGMT_UTRST),
-              &davinci_uart_ctrl_regs->pwremu_mgmt);
-
-       puts("ddr init\n");
-       dm365_ddr_setup();
-
-       puts("emif init\n");
-       dm365_emif_init();
-
-       dm365_wdt_flag_on();
-
-#if defined(CONFIG_POST)
-       /*
-        * Do memory tests, calls arch_memory_failure_handle()
-        * if error detected.
-        */
-       memory_post_test(0);
-#endif
-}
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
deleted file mode 100644 (file)
index 2be6a23..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * SoC-specific code for tms320dm644x chips
- *
- * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
- * Copyright (C) 2008 Lyrtech <www.lyrtech.com>
- * Copyright (C) 2004 Texas Instruments.
- */
-
-#include <common.h>
-#include <asm/arch/hardware.h>
-
-
-#define PINMUX0_EMACEN (1 << 31)
-#define PINMUX0_AECS5  (1 << 11)
-#define PINMUX0_AECS4  (1 << 10)
-
-#define PINMUX1_I2C    (1 <<  7)
-#define PINMUX1_UART1  (1 <<  1)
-#define PINMUX1_UART0  (1 <<  0)
-
-
-void davinci_enable_uart0(void)
-{
-       lpsc_on(DAVINCI_LPSC_UART0);
-
-       /* Bringup UART0 out of reset */
-       REG(UART0_PWREMU_MGMT) = 0x00006001;
-
-       /* Enable UART0 MUX lines */
-       REG(PINMUX1) |= PINMUX1_UART0;
-}
-
-#ifdef CONFIG_DRIVER_TI_EMAC
-void davinci_enable_emac(void)
-{
-       lpsc_on(DAVINCI_LPSC_EMAC);
-       lpsc_on(DAVINCI_LPSC_EMAC_WRAPPER);
-       lpsc_on(DAVINCI_LPSC_MDIO);
-
-       /* Enable GIO3.3V cells used for EMAC */
-       REG(VDD3P3V_PWDN) = 0;
-
-       /* Enable EMAC. */
-       REG(PINMUX0) |= PINMUX0_EMACEN;
-}
-#endif
-
-#ifdef CONFIG_SYS_I2C_DAVINCI
-void davinci_enable_i2c(void)
-{
-       lpsc_on(DAVINCI_LPSC_I2C);
-
-       /* Enable I2C pin Mux */
-       REG(PINMUX1) |= PINMUX1_I2C;
-}
-#endif
-
-void davinci_errata_workarounds(void)
-{
-       /*
-        * Workaround for TMS320DM6446 errata 1.3.22:
-        *   PSC: PTSTAT Register Does Not Clear After Warm/Maximum Reset
-        *   Revision(s) Affected: 1.3 and earlier
-        */
-       REG(PSC_SILVER_BULLET) = 0;
-
-       /*
-        * Set the PR_OLD_COUNT bits in the Bus Burst Priority Register (PBBPR)
-        * as suggested in TMS320DM6446 errata 2.1.2:
-        *
-        * On DM6446 Silicon Revision 2.1 and earlier, under certain conditions
-        * low priority modules can occupy the bus and prevent high priority
-        * modules like the VPSS from getting the required DDR2 throughput.
-        * A hex value of 0x20 should provide a good ARM (cache enabled)
-        * performance and still allow good utilization by the VPSS or other
-        * modules.
-        */
-       REG(VBPR) = 0x20;
-}
diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c
deleted file mode 100644 (file)
index 199c403..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * SoC-specific code for TMS320DM646x chips
- */
-
-#include <asm/arch/hardware.h>
-
-void davinci_enable_uart0(void)
-{
-       lpsc_on(DAVINCI_DM646X_LPSC_UART0);
-}
-
-#ifdef CONFIG_DRIVER_TI_EMAC
-void davinci_enable_emac(void)
-{
-       lpsc_on(DAVINCI_DM646X_LPSC_EMAC);
-}
-#endif
-
-#ifdef CONFIG_SYS_I2C_DAVINCI
-void davinci_enable_i2c(void)
-{
-       lpsc_on(DAVINCI_DM646X_LPSC_I2C);
-}
-#endif
index 842be589fa20a0af3d095cdbe78ab492dc42c9dd..48b11f7a5c82bb3881cb127627669640df9d3ae2 100644 (file)
@@ -40,13 +40,11 @@ void davinci_sync_env_enetaddr(uint8_t *rom_enetaddr);
 int davinci_configure_pin_mux(const struct pinmux_config *pins, int n_pins);
 int davinci_configure_pin_mux_items(const struct pinmux_resource *item,
                                    int n_items);
-#if defined(CONFIG_DRIVER_TI_EMAC) && defined(CONFIG_SOC_DA8XX)
+#if defined(CONFIG_DRIVER_TI_EMAC)
 void davinci_emac_mii_mode_sel(int mode_sel);
 #endif
-#if defined(CONFIG_SOC_DA8XX)
 void irq_init(void);
 int da8xx_configure_lpsc_items(const struct lpsc_resource *item,
                                    const int n_items);
-#endif
 
 #endif /* __MISC_H */
index 2e85d842c04fbb56dc68f2900afca6b697d26e10..7c6c19ba0fa38a3a05e88f3f53540372d49ddd88 100644 (file)
 
 #include <asm/arch/hardware.h>
 
-#ifdef CONFIG_SOC_DM365
-#define EMAC_BASE_ADDR                 (0x01d07000)
-#define EMAC_WRAPPER_BASE_ADDR         (0x01d0a000)
-#define EMAC_WRAPPER_RAM_ADDR          (0x01d08000)
-#define EMAC_MDIO_BASE_ADDR            (0x01d0b000)
-#define DAVINCI_EMAC_VERSION2
-#elif defined(CONFIG_SOC_DA8XX)
 #define EMAC_BASE_ADDR                 DAVINCI_EMAC_CNTRL_REGS_BASE
 #define EMAC_WRAPPER_BASE_ADDR         DAVINCI_EMAC_WRAPPER_CNTRL_REGS_BASE
 #define EMAC_WRAPPER_RAM_ADDR          DAVINCI_EMAC_WRAPPER_RAM_BASE
 #define EMAC_MDIO_BASE_ADDR            DAVINCI_MDIO_CNTRL_REGS_BASE
 #define DAVINCI_EMAC_VERSION2
-#else
-#define EMAC_BASE_ADDR                 (0x01c80000)
-#define EMAC_WRAPPER_BASE_ADDR         (0x01c81000)
-#define EMAC_WRAPPER_RAM_ADDR          (0x01c82000)
-#define EMAC_MDIO_BASE_ADDR            (0x01c84000)
-#endif
-
-#ifdef CONFIG_SOC_DM646X
-#define DAVINCI_EMAC_VERSION2
-#define DAVINCI_EMAC_GIG_ENABLE
-#endif
 
-#ifdef CONFIG_SOC_DM646X
-/* MDIO module input frequency */
-#define EMAC_MDIO_BUS_FREQ             76500000
-/* MDIO clock output frequency */
-#define EMAC_MDIO_CLOCK_FREQ           2500000         /* 2.5 MHz */
-#elif defined(CONFIG_SOC_DM365)
-/* MDIO module input frequency */
-#define EMAC_MDIO_BUS_FREQ             121500000
-/* MDIO clock output frequency */
-#define EMAC_MDIO_CLOCK_FREQ           2200000         /* 2.2 MHz */
-#elif defined(CONFIG_SOC_DA8XX)
 /* MDIO module input frequency */
 #define EMAC_MDIO_BUS_FREQ             clk_get(DAVINCI_MDIO_CLKID)
 /* MDIO clock output frequency */
 #define EMAC_MDIO_CLOCK_FREQ           2000000         /* 2.0 MHz */
-#else
-/* MDIO module input frequency */
-#define EMAC_MDIO_BUS_FREQ             99000000        /* PLL/6 - 99 MHz */
-/* MDIO clock output frequency */
-#define EMAC_MDIO_CLOCK_FREQ           2000000         /* 2.0 MHz */
-#endif
 
 #endif  /* _DM644X_EMAC_H_ */
index 39819788a1f2b5f9578cc4f047ebe7a3a41dc460..3dca50f776befbd83ce7e626318dc191378aac41 100644 (file)
@@ -5,21 +5,12 @@
 #ifndef _GPIO_DEFS_H_
 #define _GPIO_DEFS_H_
 
-#ifndef CONFIG_SOC_DA8XX
-#define DAVINCI_GPIO_BINTEN    0x01C67008
-#define DAVINCI_GPIO_BANK01    0x01C67010
-#define DAVINCI_GPIO_BANK23    0x01C67038
-#define DAVINCI_GPIO_BANK45    0x01C67060
-#define DAVINCI_GPIO_BANK67    0x01C67088
-
-#else /* CONFIG_SOC_DA8XX */
 #define DAVINCI_GPIO_BINTEN    0x01E26008
 #define DAVINCI_GPIO_BANK01    0x01E26010
 #define DAVINCI_GPIO_BANK23    0x01E26038
 #define DAVINCI_GPIO_BANK45    0x01E26060
 #define DAVINCI_GPIO_BANK67    0x01E26088
 #define DAVINCI_GPIO_BANK8     0x01E260B0
-#endif /* CONFIG_SOC_DA8XX */
 
 #define davinci_gpio_bank01 ((struct davinci_gpio *)DAVINCI_GPIO_BANK01)
 #define davinci_gpio_bank23 ((struct davinci_gpio *)DAVINCI_GPIO_BANK23)
 #define gpio_status()          gpio_info()
 #endif
 #define GPIO_NAME_SIZE         20
-#if defined(CONFIG_SOC_DM644X)
-/* GPIO0 to GPIO53, omit the V3.3 volts one */
-#define MAX_NUM_GPIOS          70
-#elif defined(CONFIG_SOC_DA8XX) && !defined(CONFIG_SOC_DA850)
+#if !defined(CONFIG_SOC_DA850)
 #define MAX_NUM_GPIOS          128
 #else
 #define MAX_NUM_GPIOS          144
index ca5f85a8bbfe36a857ab385016f9fc51c85abda5..4466c6c1d526ec5fe314505c2a6f2cccadefc8d7 100644 (file)
@@ -23,89 +23,6 @@ typedef volatile unsigned int        dv_reg;
 typedef volatile unsigned int *        dv_reg_p;
 #endif
 
-/*
- * Base register addresses
- *
- * NOTE:  some of these DM6446-specific addresses DO NOT WORK
- * on other DaVinci chips.  Double check them before you try
- * using the addresses ... or PSC module identifiers, etc.
- */
-#ifndef CONFIG_SOC_DA8XX
-
-#define DAVINCI_DMA_3PCC_BASE                  (0x01c00000)
-#define DAVINCI_DMA_3PTC0_BASE                 (0x01c10000)
-#define DAVINCI_DMA_3PTC1_BASE                 (0x01c10400)
-#define DAVINCI_UART0_BASE                     (0x01c20000)
-#define DAVINCI_UART1_BASE                     (0x01c20400)
-#define DAVINCI_TIMER3_BASE                    (0x01c20800)
-#define DAVINCI_I2C_BASE                       (0x01c21000)
-#define DAVINCI_TIMER0_BASE                    (0x01c21400)
-#define DAVINCI_TIMER1_BASE                    (0x01c21800)
-#define DAVINCI_WDOG_BASE                      (0x01c21c00)
-#define DAVINCI_PWM0_BASE                      (0x01c22000)
-#define DAVINCI_PWM1_BASE                      (0x01c22400)
-#define DAVINCI_PWM2_BASE                      (0x01c22800)
-#define DAVINCI_TIMER4_BASE                    (0x01c23800)
-#define DAVINCI_SYSTEM_MODULE_BASE             (0x01c40000)
-#define DAVINCI_PLL_CNTRL0_BASE                        (0x01c40800)
-#define DAVINCI_PLL_CNTRL1_BASE                        (0x01c40c00)
-#define DAVINCI_PWR_SLEEP_CNTRL_BASE           (0x01c41000)
-#define DAVINCI_ARM_INTC_BASE                  (0x01c48000)
-#define DAVINCI_USB_OTG_BASE                   (0x01c64000)
-#define DAVINCI_CFC_ATA_BASE                   (0x01c66000)
-#define DAVINCI_SPI_BASE                       (0x01c66800)
-#define DAVINCI_GPIO_BASE                      (0x01c67000)
-#define DAVINCI_VPSS_REGS_BASE                 (0x01c70000)
-#if !defined(CONFIG_SOC_DM646X)
-#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE       (0x02000000)
-#define DAVINCI_ASYNC_EMIF_DATA_CE1_BASE       (0x04000000)
-#define DAVINCI_ASYNC_EMIF_DATA_CE2_BASE       (0x06000000)
-#define DAVINCI_ASYNC_EMIF_DATA_CE3_BASE       (0x08000000)
-#endif
-#define DAVINCI_DDR_BASE                       (0x80000000)
-
-#ifdef CONFIG_SOC_DM644X
-#define DAVINCI_UART2_BASE                     0x01c20800
-#define DAVINCI_UHPI_BASE                      0x01c67800
-#define DAVINCI_EMAC_CNTRL_REGS_BASE           0x01c80000
-#define DAVINCI_EMAC_WRAPPER_CNTRL_REGS_BASE   0x01c81000
-#define DAVINCI_EMAC_WRAPPER_RAM_BASE          0x01c82000
-#define DAVINCI_MDIO_CNTRL_REGS_BASE           0x01c84000
-#define DAVINCI_IMCOP_BASE                     0x01cc0000
-#define DAVINCI_ASYNC_EMIF_CNTRL_BASE          0x01e00000
-#define DAVINCI_VLYNQ_BASE                     0x01e01000
-#define DAVINCI_ASP_BASE                       0x01e02000
-#define DAVINCI_MMC_SD_BASE                    0x01e10000
-#define DAVINCI_MS_BASE                                0x01e20000
-#define DAVINCI_VLYNQ_REMOTE_BASE              0x0c000000
-
-#elif defined(CONFIG_SOC_DM355)
-#define DAVINCI_MMC_SD1_BASE                   0x01e00000
-#define DAVINCI_ASP0_BASE                      0x01e02000
-#define DAVINCI_ASP1_BASE                      0x01e04000
-#define DAVINCI_UART2_BASE                     0x01e06000
-#define DAVINCI_ASYNC_EMIF_CNTRL_BASE          0x01e10000
-#define DAVINCI_MMC_SD0_BASE                   0x01e11000
-
-#elif defined(CONFIG_SOC_DM365)
-#define DAVINCI_MMC_SD1_BASE                   0x01d00000
-#define DAVINCI_ASYNC_EMIF_CNTRL_BASE          0x01d10000
-#define DAVINCI_MMC_SD0_BASE                   0x01d11000
-#define DAVINCI_DDR_EMIF_CTRL_BASE             0x20000000
-#define DAVINCI_SPI0_BASE                      0x01c66000
-#define DAVINCI_SPI1_BASE                      0x01c66800
-
-#elif defined(CONFIG_SOC_DM646X)
-#define DAVINCI_ASYNC_EMIF_CNTRL_BASE          0x20008000
-#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE       0x42000000
-#define DAVINCI_ASYNC_EMIF_DATA_CE1_BASE       0x44000000
-#define DAVINCI_ASYNC_EMIF_DATA_CE2_BASE       0x46000000
-#define DAVINCI_ASYNC_EMIF_DATA_CE3_BASE       0x48000000
-
-#endif
-
-#else /* CONFIG_SOC_DA8XX */
-
 #define DAVINCI_UART0_BASE                     0x01c42000
 #define DAVINCI_UART1_BASE                     0x01d0c000
 #define DAVINCI_UART2_BASE                     0x01d0d000
@@ -162,66 +79,11 @@ typedef volatile unsigned int *    dv_reg_p;
 #define GPIO_BANK6_REG_OPDATA_ADDR             (DAVINCI_GPIO_BASE + 0x8c)
 #define GPIO_BANK6_REG_SET_ADDR                        (DAVINCI_GPIO_BASE + 0x90)
 #define GPIO_BANK6_REG_CLR_ADDR                        (DAVINCI_GPIO_BASE + 0x94)
-#endif /* CONFIG_SOC_DA8XX */
 
 /* Power and Sleep Controller (PSC) Domains */
 #define DAVINCI_GPSC_ARMDOMAIN         0
 #define DAVINCI_GPSC_DSPDOMAIN         1
 
-#ifndef CONFIG_SOC_DA8XX
-
-#define DAVINCI_LPSC_VPSSMSTR          0
-#define DAVINCI_LPSC_VPSSSLV           1
-#define DAVINCI_LPSC_TPCC              2
-#define DAVINCI_LPSC_TPTC0             3
-#define DAVINCI_LPSC_TPTC1             4
-#define DAVINCI_LPSC_EMAC              5
-#define DAVINCI_LPSC_EMAC_WRAPPER      6
-#define DAVINCI_LPSC_MDIO              7
-#define DAVINCI_LPSC_IEEE1394          8
-#define DAVINCI_LPSC_USB               9
-#define DAVINCI_LPSC_ATA               10
-#define DAVINCI_LPSC_VLYNQ             11
-#define DAVINCI_LPSC_UHPI              12
-#define DAVINCI_LPSC_DDR_EMIF          13
-#define DAVINCI_LPSC_AEMIF             14
-#define DAVINCI_LPSC_MMC_SD            15
-#define DAVINCI_LPSC_MEMSTICK          16
-#define DAVINCI_LPSC_McBSP             17
-#define DAVINCI_LPSC_I2C               18
-#define DAVINCI_LPSC_UART0             19
-#define DAVINCI_LPSC_UART1             20
-#define DAVINCI_LPSC_UART2             21
-#define DAVINCI_LPSC_SPI               22
-#define DAVINCI_LPSC_PWM0              23
-#define DAVINCI_LPSC_PWM1              24
-#define DAVINCI_LPSC_PWM2              25
-#define DAVINCI_LPSC_GPIO              26
-#define DAVINCI_LPSC_TIMER0            27
-#define DAVINCI_LPSC_TIMER1            28
-#define DAVINCI_LPSC_TIMER2            29
-#define DAVINCI_LPSC_SYSTEM_SUBSYS     30
-#define DAVINCI_LPSC_ARM               31
-#define DAVINCI_LPSC_SCR2              32
-#define DAVINCI_LPSC_SCR3              33
-#define DAVINCI_LPSC_SCR4              34
-#define DAVINCI_LPSC_CROSSBAR          35
-#define DAVINCI_LPSC_CFG27             36
-#define DAVINCI_LPSC_CFG3              37
-#define DAVINCI_LPSC_CFG5              38
-#define DAVINCI_LPSC_GEM               39
-#define DAVINCI_LPSC_IMCOP             40
-#define DAVINCI_LPSC_VPSSMASTER                47
-#define DAVINCI_LPSC_MJCP              50
-#define DAVINCI_LPSC_HDVICP            51
-
-#define DAVINCI_DM646X_LPSC_EMAC       14
-#define DAVINCI_DM646X_LPSC_UART0      26
-#define DAVINCI_DM646X_LPSC_I2C                31
-#define DAVINCI_DM646X_LPSC_TIMER0     34
-
-#else /* CONFIG_SOC_DA8XX */
-
 #define DAVINCI_LPSC_TPCC              0
 #define DAVINCI_LPSC_TPTC0             1
 #define DAVINCI_LPSC_TPTC1             2
@@ -283,8 +145,6 @@ typedef volatile unsigned int *     dv_reg_p;
 #define DAVINCI_LPSC_SCR_F8            (DAVINCI_LPSC_PSC1_BASE + 29)
 #define DAVINCI_LPSC_BR_F7             (DAVINCI_LPSC_PSC1_BASE + 30)
 
-#endif /* CONFIG_SOC_DA8XX */
-
 #ifndef __ASSEMBLY__
 void lpsc_on(unsigned int id);
 void lpsc_syncreset(unsigned int id);
@@ -296,30 +156,6 @@ void davinci_enable_emac(void);
 void davinci_enable_i2c(void);
 void davinci_errata_workarounds(void);
 
-#ifndef CONFIG_SOC_DA8XX
-
-/* Some PSC defines */
-#define PSC_CHP_SHRTSW                 (0x01c40038)
-#define PSC_GBLCTL                     (0x01c41010)
-#define PSC_EPCPR                      (0x01c41070)
-#define PSC_EPCCR                      (0x01c41078)
-#define PSC_PTCMD                      (0x01c41120)
-#define PSC_PTSTAT                     (0x01c41128)
-#define PSC_PDSTAT                     (0x01c41200)
-#define PSC_PDSTAT1                    (0x01c41204)
-#define PSC_PDCTL                      (0x01c41300)
-#define PSC_PDCTL1                     (0x01c41304)
-
-#define PSC_MDCTL_BASE                 (0x01c41a00)
-#define PSC_MDSTAT_BASE                        (0x01c41800)
-
-#define VDD3P3V_PWDN                   (0x01c40048)
-#define UART0_PWREMU_MGMT              (0x01c20030)
-
-#define PSC_SILVER_BULLET              (0x01c41a20)
-
-#else /* CONFIG_SOC_DA8XX */
-
 #define        PSC_ENABLE              0x3
 #define        PSC_DISABLE             0x2
 #define        PSC_SYNCRESET           0x1
@@ -354,41 +190,9 @@ struct davinci_psc_regs {
 #define davinci_psc0_regs ((struct davinci_psc_regs *)DAVINCI_PSC0_BASE)
 #define davinci_psc1_regs ((struct davinci_psc_regs *)DAVINCI_PSC1_BASE)
 
-#endif /* CONFIG_SOC_DA8XX */
-
 #define PSC_MDSTAT_STATE               0x3f
 #define PSC_MDCTL_NEXT                 0x07
 
-#ifndef CONFIG_SOC_DA8XX
-
-/* Miscellania... */
-#define VBPR                           (0x20000020)
-
-/* NOTE:  system control modules are *highly* chip-specific, both
- * as to register content (e.g. for muxing) and which registers exist.
- */
-#define PINMUX0                                0x01c40000
-#define PINMUX1                                0x01c40004
-#define PINMUX2                                0x01c40008
-#define PINMUX3                                0x01c4000c
-#define PINMUX4                                0x01c40010
-
-struct davinci_uart_ctrl_regs {
-       dv_reg  revid1;
-       dv_reg  res;
-       dv_reg  pwremu_mgmt;
-       dv_reg  mdr;
-};
-
-#define DAVINCI_UART_CTRL_BASE 0x28
-
-/* UART PWREMU_MGMT definitions */
-#define DAVINCI_UART_PWREMU_MGMT_FREE  (1 << 0)
-#define DAVINCI_UART_PWREMU_MGMT_URRST (1 << 13)
-#define DAVINCI_UART_PWREMU_MGMT_UTRST (1 << 14)
-
-#else /* CONFIG_SOC_DA8XX */
-
 struct davinci_pllc_regs {
        dv_reg  revid;
        dv_reg  rsvd1[56];
@@ -606,26 +410,6 @@ static inline enum davinci_clk_ids get_async3_src(void)
                        DAVINCI_PLL1_SYSCLK2 : DAVINCI_PLL0_SYSCLK2;
 }
 
-#endif /* CONFIG_SOC_DA8XX */
-
-#if defined(CONFIG_SOC_DM365)
-#include <asm/arch/aintc_defs.h>
-#include <asm/arch/ddr2_defs.h>
-#include <asm/arch/gpio.h>
-#include <asm/arch/pll_defs.h>
-#include <asm/arch/psc_defs.h>
-#include <asm/arch/syscfg_defs.h>
-#include <asm/arch/timer_defs.h>
-
-#define TMPBUF                 0x00017ff8
-#define TMPSTATUS              0x00017ff0
-#define DV_TMPBUF_VAL          0x591b3ed7
-#define FLAG_PORRST            0x00000001
-#define FLAG_WDTRST            0x00000002
-#define FLAG_FLGON             0x00000004
-#define FLAG_FLGOFF            0x00000010
-
-#endif
 #endif /* !__ASSEMBLY__ */
 
 #endif /* __ASM_ARCH_HARDWARE_H */
index 50e31ca3b9ab6361a2f35b1e329c8c1c66d6ffe4..f12460dd5fd73e82238ce2271c5773f86a4ea808 100644 (file)
@@ -8,10 +8,6 @@
 #ifndef _I2C_DEFS_H_
 #define _I2C_DEFS_H_
 
-#ifndef CONFIG_SOC_DA8XX
-#define I2C_BASE               0x01c21000
-#else
 #define I2C_BASE               0x01c22000
-#endif
 
 #endif
diff --git a/arch/arm/mach-davinci/include/mach/syscfg_defs.h b/arch/arm/mach-davinci/include/mach/syscfg_defs.h
deleted file mode 100644 (file)
index 41deeda..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * Copyright (C) 2011
- * Heiko Schocher, DENX Software Engineering, hs@denx.de.
- */
-#ifndef _DV_SYSCFG_DEFS_H_
-#define _DV_SYSCFG_DEFS_H_
-
-#ifndef CONFIG_SOC_DA8XX
-/* System Control Module register structure for DM365 */
-struct dv_sys_module_regs {
-       unsigned int    pinmux[5];      /* 0x00 */
-       unsigned int    bootcfg;        /* 0x14 */
-       unsigned int    arm_intmux;     /* 0x18 */
-       unsigned int    edma_evtmux;    /* 0x1C */
-       unsigned int    ddr_slew;       /* 0x20 */
-       unsigned int    clkout;         /* 0x24 */
-       unsigned int    device_id;      /* 0x28 */
-       unsigned int    vdac_config;    /* 0x2C */
-       unsigned int    timer64_ctl;    /* 0x30 */
-       unsigned int    usbbphy_ctl;    /* 0x34 */
-       unsigned int    misc;           /* 0x38 */
-       unsigned int    mstpri[2];      /* 0x3C */
-       unsigned int    vpss_clkctl;    /* 0x44 */
-       unsigned int    peri_clkctl;    /* 0x48 */
-       unsigned int    deepsleep;      /* 0x4C */
-       unsigned int    dft_enable;     /* 0x50 */
-       unsigned int    debounce[8];    /* 0x54 */
-       unsigned int    vtpiocr;        /* 0x74 */
-       unsigned int    pupdctl0;       /* 0x78 */
-       unsigned int    pupdctl1;       /* 0x7C */
-       unsigned int    hdimcopbt;      /* 0x80 */
-       unsigned int    pll0_config;    /* 0x84 */
-       unsigned int    pll1_config;    /* 0x88 */
-};
-
-#define VPTIO_RDY      (1 << 15)
-#define VPTIO_IOPWRDN  (1 << 14)
-#define VPTIO_CLRZ     (1 << 13)
-#define VPTIO_LOCK     (1 << 7)
-#define VPTIO_PWRDN    (1 << 6)
-
-#define VPSS_CLK_CTL_VPSS_CLKMD        (1 << 7)
-
-#define dv_sys_module_regs \
-       ((struct dv_sys_module_regs *)DAVINCI_SYSTEM_MODULE_BASE)
-
-#endif /* !CONFIG_SOC_DA8XX */
-#endif /* _DV_SYSCFG_DEFS_H_ */
index 919041521b95cb619940dc929e4d4da9e31f8ed8..df500c8f35bf05e5b473978ce9d54f1d6a7d3eca 100644 (file)
@@ -68,7 +68,6 @@ err:
 /*
  * Set the mii mode as MII or RMII
  */
-#if defined(CONFIG_SOC_DA8XX)
 void davinci_emac_mii_mode_sel(int mode_sel)
 {
        int val;
@@ -80,7 +79,7 @@ void davinci_emac_mii_mode_sel(int mode_sel)
                val |= (1 << 8);
        writel(val, &davinci_syscfg_regs->cfgchip3);
 }
-#endif
+
 /*
  * If there is no MAC address in the environment, then it will be initialized
  * (silently) from the value in the EEPROM.
@@ -106,7 +105,6 @@ void davinci_sync_env_enetaddr(uint8_t *rom_enetaddr)
 }
 #endif /* CONFIG_DRIVER_TI_EMAC */
 
-#if defined(CONFIG_SOC_DA8XX)
 void irq_init(void)
 {
        /*
@@ -135,4 +133,3 @@ int da8xx_configure_lpsc_items(const struct lpsc_resource *item,
 
        return 0;
 }
-#endif
index 9c3ff917bbfdb6e1da0f0c90ebcc7b4be305ea8e..dae10aa03bbb29c79d364efbb7d3bcdb41d504bd 100644 (file)
 static void lpsc_transition(unsigned int id, unsigned int state)
 {
        dv_reg_p mdstat, mdctl, ptstat, ptcmd;
-#ifdef CONFIG_SOC_DA8XX
        struct davinci_psc_regs *psc_regs;
-#endif
 
-#ifndef CONFIG_SOC_DA8XX
-       if (id >= DAVINCI_LPSC_GEM)
-               return;                 /* Don't work on DSP Power Domain */
-
-       mdstat = REG_P(PSC_MDSTAT_BASE + (id * 4));
-       mdctl = REG_P(PSC_MDCTL_BASE + (id * 4));
-       ptstat = REG_P(PSC_PTSTAT);
-       ptcmd = REG_P(PSC_PTCMD);
-#else
        if (id < DAVINCI_LPSC_PSC1_BASE) {
                if (id >= PSC_PSC0_MODULE_ID_CNT)
                        return;
@@ -62,7 +51,6 @@ static void lpsc_transition(unsigned int id, unsigned int state)
        }
        ptstat = &psc_regs->ptstat;
        ptcmd = &psc_regs->ptcmd;
-#endif
 
        while (readl(ptstat) & 0x01)
                continue;
@@ -71,29 +59,6 @@ static void lpsc_transition(unsigned int id, unsigned int state)
                return; /* Already in that state */
 
        writel((readl(mdctl) & ~PSC_MDCTL_NEXT) | state, mdctl);
-
-       switch (id) {
-#ifdef CONFIG_SOC_DM644X
-       /* Special treatment for some modules as for sprue14 p.7.4.2 */
-       case DAVINCI_LPSC_VPSSSLV:
-       case DAVINCI_LPSC_EMAC:
-       case DAVINCI_LPSC_EMAC_WRAPPER:
-       case DAVINCI_LPSC_MDIO:
-       case DAVINCI_LPSC_USB:
-       case DAVINCI_LPSC_ATA:
-       case DAVINCI_LPSC_VLYNQ:
-       case DAVINCI_LPSC_UHPI:
-       case DAVINCI_LPSC_DDR_EMIF:
-       case DAVINCI_LPSC_AEMIF:
-       case DAVINCI_LPSC_MMC_SD:
-       case DAVINCI_LPSC_MEMSTICK:
-       case DAVINCI_LPSC_McBSP:
-       case DAVINCI_LPSC_GPIO:
-               writel(readl(mdctl) | 0x200, mdctl);
-               break;
-#endif
-       }
-
        writel(0x01, ptcmd);
 
        while (readl(ptstat) & 0x01)
@@ -116,44 +81,3 @@ void lpsc_disable(unsigned int id)
 {
        lpsc_transition(id, 0x0);
 }
-
-/* Not all DaVinci chips have a DSP power domain. */
-#ifdef CONFIG_SOC_DM644X
-
-/* If DSPLINK is used, we don't want U-Boot to power on the DSP. */
-#if !defined(CONFIG_SYS_USE_DSPLINK)
-void dsp_on(void)
-{
-       int i;
-
-       if (REG(PSC_PDSTAT1) & 0x1f)
-               return;                 /* Already on */
-
-       REG(PSC_GBLCTL) |= 0x01;
-       REG(PSC_PDCTL1) |= 0x01;
-       REG(PSC_PDCTL1) &= ~0x100;
-       REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_GEM * 4)) |= 0x03;
-       REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_GEM * 4)) &= 0xfffffeff;
-       REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_IMCOP * 4)) |= 0x03;
-       REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_IMCOP * 4)) &= 0xfffffeff;
-       REG(PSC_PTCMD) = 0x02;
-
-       for (i = 0; i < 100; i++) {
-               if (REG(PSC_EPCPR) & 0x02)
-                       break;
-       }
-
-       REG(PSC_CHP_SHRTSW) = 0x01;
-       REG(PSC_PDCTL1) |= 0x100;
-       REG(PSC_EPCCR) = 0x02;
-
-       for (i = 0; i < 100; i++) {
-               if (!(REG(PSC_PTSTAT) & 0x02))
-                       break;
-       }
-
-       REG(PSC_GBLCTL) &= ~0x1f;
-}
-#endif /* CONFIG_SYS_USE_DSPLINK */
-
-#endif /* have a DSP */
index c9aaa4841b101a4b35471c3c06437df3a65c0850..103639e347579410b8005ba36e773b97afbf048a 100644 (file)
@@ -33,12 +33,7 @@ void putc(char c)
 
 void spl_board_init(void)
 {
-#ifdef CONFIG_SOC_DM365
-       dm36x_lowlevel_init(0);
-#endif
-#ifdef CONFIG_SOC_DA8XX
        arch_cpu_init();
-#endif
        preloader_console_init();
 }