101 lines
4.2 KiB
C
101 lines
4.2 KiB
C
|
/*
|
||
|
* AM33XX CM offset macros
|
||
|
*
|
||
|
* Copyright (C) 2011-2012 Texas Instruments Incorporated - https://www.ti.com/
|
||
|
* Vaibhav Hiremath <hvaibhav@ti.com>
|
||
|
*
|
||
|
* 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 version 2.
|
||
|
*
|
||
|
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
||
|
* kind, whether express or implied; without even the implied warranty
|
||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*/
|
||
|
|
||
|
#ifndef __ARCH_ARM_MACH_OMAP2_CM_33XX_H
|
||
|
#define __ARCH_ARM_MACH_OMAP2_CM_33XX_H
|
||
|
|
||
|
#include "cm.h"
|
||
|
#include "cm-regbits-33xx.h"
|
||
|
#include "prcm-common.h"
|
||
|
|
||
|
/* CM base address */
|
||
|
#define AM33XX_CM_BASE 0x44e00000
|
||
|
|
||
|
#define AM33XX_CM_REGADDR(inst, reg) \
|
||
|
AM33XX_L4_WK_IO_ADDRESS(AM33XX_CM_BASE + (inst) + (reg))
|
||
|
|
||
|
/* CM instances */
|
||
|
#define AM33XX_CM_PER_MOD 0x0000
|
||
|
#define AM33XX_CM_WKUP_MOD 0x0400
|
||
|
#define AM33XX_CM_DPLL_MOD 0x0500
|
||
|
#define AM33XX_CM_MPU_MOD 0x0600
|
||
|
#define AM33XX_CM_DEVICE_MOD 0x0700
|
||
|
#define AM33XX_CM_RTC_MOD 0x0800
|
||
|
#define AM33XX_CM_GFX_MOD 0x0900
|
||
|
#define AM33XX_CM_CEFUSE_MOD 0x0A00
|
||
|
|
||
|
/* CM.PER_CM register offsets */
|
||
|
#define AM33XX_CM_PER_L4LS_CLKSTCTRL_OFFSET 0x0000
|
||
|
#define AM33XX_CM_PER_L4LS_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0000)
|
||
|
#define AM33XX_CM_PER_L3S_CLKSTCTRL_OFFSET 0x0004
|
||
|
#define AM33XX_CM_PER_L3S_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0004)
|
||
|
#define AM33XX_CM_PER_L4FW_CLKSTCTRL_OFFSET 0x0008
|
||
|
#define AM33XX_CM_PER_L4FW_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0008)
|
||
|
#define AM33XX_CM_PER_L3_CLKSTCTRL_OFFSET 0x000c
|
||
|
#define AM33XX_CM_PER_L3_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x000c)
|
||
|
#define AM33XX_CM_PER_EMIF_CLKCTRL_OFFSET 0x0028
|
||
|
#define AM33XX_CM_PER_EMIF_CLKCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0028)
|
||
|
#define AM33XX_CM_PER_L4HS_CLKSTCTRL_OFFSET 0x011c
|
||
|
#define AM33XX_CM_PER_L4HS_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x011c)
|
||
|
#define AM33XX_CM_PER_OCPWP_L3_CLKSTCTRL_OFFSET 0x012c
|
||
|
#define AM33XX_CM_PER_OCPWP_L3_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x012c)
|
||
|
#define AM33XX_CM_PER_PRUSS_CLKSTCTRL_OFFSET 0x0140
|
||
|
#define AM33XX_CM_PER_PRUSS_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0140)
|
||
|
#define AM33XX_CM_PER_CPSW_CLKSTCTRL_OFFSET 0x0144
|
||
|
#define AM33XX_CM_PER_CPSW_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0144)
|
||
|
#define AM33XX_CM_PER_LCDC_CLKSTCTRL_OFFSET 0x0148
|
||
|
#define AM33XX_CM_PER_LCDC_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0148)
|
||
|
#define AM33XX_CM_PER_CLK_24MHZ_CLKSTCTRL_OFFSET 0x0150
|
||
|
#define AM33XX_CM_PER_CLK_24MHZ_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0150)
|
||
|
|
||
|
/* CM.WKUP_CM register offsets */
|
||
|
#define AM33XX_CM_WKUP_CLKSTCTRL_OFFSET 0x0000
|
||
|
#define AM33XX_CM_WKUP_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_WKUP_MOD, 0x0000)
|
||
|
#define AM33XX_CM_L3_AON_CLKSTCTRL_OFFSET 0x0018
|
||
|
#define AM33XX_CM_L3_AON_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_WKUP_MOD, 0x0018)
|
||
|
#define AM33XX_CM_L4_WKUP_AON_CLKSTCTRL_OFFSET 0x00cc
|
||
|
#define AM33XX_CM_L4_WKUP_AON_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_WKUP_MOD, 0x00cc)
|
||
|
|
||
|
/* CM.DPLL_CM register offsets */
|
||
|
#define AM33XX_CLKSEL_GFX_FCLK AM33XX_CM_REGADDR(AM33XX_CM_DPLL_MOD, 0x002c)
|
||
|
|
||
|
/* CM.MPU_CM register offsets */
|
||
|
#define AM33XX_CM_MPU_CLKSTCTRL_OFFSET 0x0000
|
||
|
#define AM33XX_CM_MPU_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_MPU_MOD, 0x0000)
|
||
|
#define AM33XX_CM_MPU_MPU_CLKCTRL AM33XX_CM_REGADDR(AM33XX_CM_MPU_MOD, 0x0004)
|
||
|
|
||
|
/* CM.DEVICE_CM register offsets */
|
||
|
|
||
|
/* CM.RTC_CM register offsets */
|
||
|
#define AM33XX_CM_RTC_CLKSTCTRL_OFFSET 0x0004
|
||
|
#define AM33XX_CM_RTC_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_RTC_MOD, 0x0004)
|
||
|
|
||
|
/* CM.GFX_CM register offsets */
|
||
|
#define AM33XX_CM_GFX_L3_CLKSTCTRL_OFFSET 0x0000
|
||
|
#define AM33XX_CM_GFX_L3_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_GFX_MOD, 0x0000)
|
||
|
#define AM33XX_CM_GFX_L4LS_GFX_CLKSTCTRL__1_OFFSET 0x000c
|
||
|
#define AM33XX_CM_GFX_L4LS_GFX_CLKSTCTRL__1 AM33XX_CM_REGADDR(AM33XX_CM_GFX_MOD, 0x000c)
|
||
|
|
||
|
/* CM.CEFUSE_CM register offsets */
|
||
|
#define AM33XX_CM_CEFUSE_CLKSTCTRL_OFFSET 0x0000
|
||
|
#define AM33XX_CM_CEFUSE_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_CEFUSE_MOD, 0x0000)
|
||
|
|
||
|
|
||
|
#ifndef __ASSEMBLER__
|
||
|
int am33xx_cm_init(const struct omap_prcm_init_data *data);
|
||
|
#endif /* ASSEMBLER */
|
||
|
#endif
|