Merge branch 'master' of git://www.denx.de/git/u-boot-mips
[oweals/u-boot.git] / arch / arm / include / asm / arch-davinci / hardware.h
index 89bcbbeeea3667a4c475c0bc1f7a610a0199705a..05ecc787685d40b1bf3d45a5053452fd9d936832 100644 (file)
@@ -9,26 +9,7 @@
  *
  *  Copyright (C) 2006 Texas Instruments.
  *
- *  This program is free software; you can redistribute  it and/or modify it
- *  under  the terms of  the GNU General  Public License as published by the
- *  Free Software Foundation;  either version 2 of the  License, or (at your
- *  option) any later version.
- *
- *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
- *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
- *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
- *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
- *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
- *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *  You should have received a copy of the  GNU General Public License along
- *  with this program; if not, write  to the Free Software Foundation, Inc.,
- *  675 Mass Ave, Cambridge, MA 02139, USA.
- *
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 #ifndef __ASM_ARCH_HARDWARE_H
 #define __ASM_ARCH_HARDWARE_H
@@ -306,6 +287,7 @@ typedef volatile unsigned int *     dv_reg_p;
 
 void lpsc_on(unsigned int id);
 void lpsc_syncreset(unsigned int id);
+void lpsc_disable(unsigned int id);
 void dsp_on(void);
 
 void davinci_enable_uart0(void);
@@ -345,6 +327,8 @@ void davinci_errata_workarounds(void);
 #define PSC_PSC0_MODULE_ID_CNT         16
 #define PSC_PSC1_MODULE_ID_CNT         32
 
+#define UART0_PWREMU_MGMT              (0x01c42030)
+
 struct davinci_psc_regs {
        dv_reg  revid;
        dv_reg  rsvd0[71];
@@ -459,15 +443,16 @@ enum davinci_clk_ids {
        DAVINCI_PLL0_SYSCLK2                    = DAVINCI_PLLC0_FLAG | 2,
        DAVINCI_PLL0_SYSCLK4                    = DAVINCI_PLLC0_FLAG | 4,
        DAVINCI_PLL0_SYSCLK6                    = DAVINCI_PLLC0_FLAG | 6,
+       DAVINCI_PLL1_SYSCLK1                    = DAVINCI_PLLC1_FLAG | 1,
        DAVINCI_PLL1_SYSCLK2                    = DAVINCI_PLLC1_FLAG | 2,
 
        /* map peripherals to clock IDs */
        DAVINCI_ARM_CLKID                       = DAVINCI_PLL0_SYSCLK6,
+       DAVINCI_DDR_CLKID                       = DAVINCI_PLL1_SYSCLK1,
        DAVINCI_MDIO_CLKID                      = DAVINCI_PLL0_SYSCLK4,
        DAVINCI_MMC_CLKID                       = DAVINCI_PLL0_SYSCLK2,
        DAVINCI_SPI0_CLKID                      = DAVINCI_PLL0_SYSCLK2,
        DAVINCI_MMCSD_CLKID                     = DAVINCI_PLL0_SYSCLK2,
-       DAVINCI_UART2_CLKID                     = DAVINCI_PLL0_SYSCLK2,
 
        /* special clock ID - output of PLL multiplier */
        DAVINCI_PLLM_CLKID                      = 0x0FF,
@@ -479,6 +464,9 @@ enum davinci_clk_ids {
        DAVINCI_AUXCLK_CLKID                    = 0x101,
 };
 
+#define DAVINCI_UART2_CLKID    (cpu_is_da830() ? DAVINCI_PLL0_SYSCLK2 \
+                                               : get_async3_src())
+
 #define DAVINCI_SPI1_CLKID     (cpu_is_da830() ? DAVINCI_PLL0_SYSCLK2 \
                                                : get_async3_src())