diff options
Diffstat (limited to 'arch/arm/include/asm/arch-omap5')
| -rw-r--r-- | arch/arm/include/asm/arch-omap5/clock.h (renamed from arch/arm/include/asm/arch-omap5/clocks.h) | 91 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap5/cpu.h | 12 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap5/mux_dra7xx.h | 7 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap5/omap.h | 65 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap5/sys_proto.h | 8 | 
5 files changed, 112 insertions, 71 deletions
| diff --git a/arch/arm/include/asm/arch-omap5/clocks.h b/arch/arm/include/asm/arch-omap5/clock.h index 68afa7669..4d2765d87 100644 --- a/arch/arm/include/asm/arch-omap5/clocks.h +++ b/arch/arm/include/asm/arch-omap5/clock.h @@ -35,19 +35,6 @@   */  #define LDELAY		1000000 -#define CM_CLKMODE_DPLL_CORE		(OMAP54XX_L4_CORE_BASE + 0x4120) -#define CM_CLKMODE_DPLL_PER		(OMAP54XX_L4_CORE_BASE + 0x8140) -#define CM_CLKMODE_DPLL_MPU		(OMAP54XX_L4_CORE_BASE + 0x4160) -#define CM_CLKSEL_CORE			(OMAP54XX_L4_CORE_BASE + 0x4100) - -/* DPLL register offsets */ -#define CM_CLKMODE_DPLL		0 -#define CM_IDLEST_DPLL		0x4 -#define CM_AUTOIDLE_DPLL	0x8 -#define CM_CLKSEL_DPLL		0xC - -#define DPLL_CLKOUT_DIV_MASK	0x1F /* post-divider mask */ -  /* CM_DLL_CTRL */  #define CM_DLL_CTRL_OVERRIDE_SHIFT		0  #define CM_DLL_CTRL_OVERRIDE_MASK		(1 << 0) @@ -93,10 +80,8 @@  #define CM_CLKSEL_DCC_EN_SHIFT			22  #define CM_CLKSEL_DCC_EN_MASK			(1 << 22) -#define OMAP4_DPLL_MAX_N	127 -  /* CM_SYS_CLKSEL */ -#define CM_SYS_CLKSEL_SYS_CLKSEL_MASK	7 +#define CM_SYS_CLKSEL_SYS_CLKSEL_MASK  7  /* CM_CLKSEL_CORE */  #define CLKSEL_CORE_SHIFT	0 @@ -113,6 +98,12 @@  #define CM_ABE_PLL_REF_CLKSEL_CLKSEL_SYSCLK	0  #define CM_ABE_PLL_REF_CLKSEL_CLKSEL_32KCLK	1 +/* CM_CLKSEL_ABE_PLL_SYS */ +#define CM_CLKSEL_ABE_PLL_SYS_CLKSEL_SHIFT	0 +#define CM_CLKSEL_ABE_PLL_SYS_CLKSEL_MASK	1 +#define CM_ABE_PLL_SYS_CLKSEL_SYSCLK1		0 +#define CM_ABE_PLL_SYS_CLKSEL_SYSCLK2		1 +  /* CM_BYPCLK_DPLL_IVA */  #define CM_BYPCLK_DPLL_IVA_CLKSEL_SHIFT		0  #define CM_BYPCLK_DPLL_IVA_CLKSEL_MASK		3 @@ -195,9 +186,7 @@  #define RSTTIME1_MASK				(0x3ff << 0)  /* Clock frequencies */ -#define OMAP_SYS_CLK_FREQ_38_4_MHZ	38400000  #define OMAP_SYS_CLK_IND_38_4_MHZ	6 -#define OMAP_32K_CLK_FREQ		32768  /* PRM_VC_VAL_BYPASS */  #define PRM_VC_I2C_CHANNEL_FREQ_KHZ	400 @@ -229,9 +218,54 @@  #define VDD_MPU_ES2_LOW 880  #define VDD_MM_ES2_LOW 880 +/* TPS659038 Voltage settings in mv for OPP_NOMINAL */ +#define VDD_MPU_DRA752		1090 +#define VDD_EVE_DRA752		1060 +#define VDD_GPU_DRA752		1060 +#define VDD_CORE_DRA752		1030 +#define VDD_IVA_DRA752		1060 + +/* Efuse register offsets for DRA7xx platform */ +#define DRA752_EFUSE_BASE	0x4A002000 +#define DRA752_EFUSE_REGBITS	16 +/* STD_FUSE_OPP_VMIN_IVA_2 */ +#define STD_FUSE_OPP_VMIN_IVA_NOM	(DRA752_EFUSE_BASE + 0x05CC) +/* STD_FUSE_OPP_VMIN_IVA_3 */ +#define STD_FUSE_OPP_VMIN_IVA_OD	(DRA752_EFUSE_BASE + 0x05D0) +/* STD_FUSE_OPP_VMIN_IVA_4 */ +#define STD_FUSE_OPP_VMIN_IVA_HIGH	(DRA752_EFUSE_BASE + 0x05D4) +/* STD_FUSE_OPP_VMIN_DSPEVE_2 */ +#define STD_FUSE_OPP_VMIN_DSPEVE_NOM	(DRA752_EFUSE_BASE + 0x05E0) +/* STD_FUSE_OPP_VMIN_DSPEVE_3 */ +#define STD_FUSE_OPP_VMIN_DSPEVE_OD	(DRA752_EFUSE_BASE + 0x05E4) +/* STD_FUSE_OPP_VMIN_DSPEVE_4 */ +#define STD_FUSE_OPP_VMIN_DSPEVE_HIGH	(DRA752_EFUSE_BASE + 0x05E8) +/* STD_FUSE_OPP_VMIN_CORE_2 */ +#define STD_FUSE_OPP_VMIN_CORE_NOM	(DRA752_EFUSE_BASE + 0x05F4) +/* STD_FUSE_OPP_VMIN_GPU_2 */ +#define STD_FUSE_OPP_VMIN_GPU_NOM	(DRA752_EFUSE_BASE + 0x1B08) +/* STD_FUSE_OPP_VMIN_GPU_3 */ +#define STD_FUSE_OPP_VMIN_GPU_OD	(DRA752_EFUSE_BASE + 0x1B0C) +/* STD_FUSE_OPP_VMIN_GPU_4 */ +#define STD_FUSE_OPP_VMIN_GPU_HIGH	(DRA752_EFUSE_BASE + 0x1B10) +/* STD_FUSE_OPP_VMIN_MPU_2 */ +#define STD_FUSE_OPP_VMIN_MPU_NOM	(DRA752_EFUSE_BASE + 0x1B20) +/* STD_FUSE_OPP_VMIN_MPU_3 */ +#define STD_FUSE_OPP_VMIN_MPU_OD	(DRA752_EFUSE_BASE + 0x1B24) +/* STD_FUSE_OPP_VMIN_MPU_4 */ +#define STD_FUSE_OPP_VMIN_MPU_HIGH	(DRA752_EFUSE_BASE + 0x1B28) +  /* Standard offset is 0.5v expressed in uv */  #define PALMAS_SMPS_BASE_VOLT_UV 500000 +/* TPS659038 */ +#define TPS659038_I2C_SLAVE_ADDR		0x58 +#define TPS659038_REG_ADDR_SMPS12_MPU		0x23 +#define TPS659038_REG_ADDR_SMPS45_EVE		0x2B +#define TPS659038_REG_ADDR_SMPS6_GPU		0x2F +#define TPS659038_REG_ADDR_SMPS7_CORE		0x33 +#define TPS659038_REG_ADDR_SMPS8_IVA		0x37 +  /* TPS */  #define TPS62361_I2C_SLAVE_ADDR		0x60  #define TPS62361_REG_ADDR_SET0		0x0 @@ -261,4 +295,25 @@   * into microsec and passing the value.   */  #define CONFIG_DEFAULT_OMAP_RESET_TIME_MAX_USEC	31219 + +#ifdef CONFIG_DRA7XX +#define V_OSCK			20000000	/* Clock output from T2 */ +#else +#define V_OSCK			19200000	/* Clock output from T2 */ +#endif + +#define V_SCLK	V_OSCK + +/* AUXCLKx reg fields */ +#define AUXCLK_ENABLE_MASK		(1 << 8) +#define AUXCLK_SRCSELECT_SHIFT		1 +#define AUXCLK_SRCSELECT_MASK		(3 << 1) +#define AUXCLK_CLKDIV_SHIFT		16 +#define AUXCLK_CLKDIV_MASK		(0xF << 16) + +#define AUXCLK_SRCSELECT_SYS_CLK	0 +#define AUXCLK_SRCSELECT_CORE_DPLL	1 +#define AUXCLK_SRCSELECT_PER_DPLL	2 +#define AUXCLK_SRCSELECT_ALTERNATE	3 +  #endif /* _CLOCKS_OMAP5_H_ */ diff --git a/arch/arm/include/asm/arch-omap5/cpu.h b/arch/arm/include/asm/arch-omap5/cpu.h index 044ab5581..4753f4624 100644 --- a/arch/arm/include/asm/arch-omap5/cpu.h +++ b/arch/arm/include/asm/arch-omap5/cpu.h @@ -119,18 +119,6 @@ struct watchdog {  #define WD_UNLOCK1		0xAAAA  #define WD_UNLOCK2		0x5555 -#define SYSCLKDIV_1		(0x1 << 6) -#define SYSCLKDIV_2		(0x1 << 7) - -#define CLKSEL_GPT1		(0x1 << 0) - -#define EN_GPT1			(0x1 << 0) -#define EN_32KSYNC		(0x1 << 2) - -#define ST_WDT2			(0x1 << 5) - -#define RESETDONE		(0x1 << 0) -  #define TCLR_ST			(0x1 << 0)  #define TCLR_AR			(0x1 << 1)  #define TCLR_PRE		(0x1 << 5) diff --git a/arch/arm/include/asm/arch-omap5/mux_dra7xx.h b/arch/arm/include/asm/arch-omap5/mux_dra7xx.h index 55e9de604..5f2b0f9f5 100644 --- a/arch/arm/include/asm/arch-omap5/mux_dra7xx.h +++ b/arch/arm/include/asm/arch-omap5/mux_dra7xx.h @@ -28,11 +28,14 @@  #include <asm/types.h> +#define FSC	(1 << 19) +#define SSC	(0 << 19) +  #define IEN	(1 << 18)  #define IDIS	(0 << 18) -#define PTU	(3 << 16) -#define PTD	(1 << 16) +#define PTU	(1 << 17) +#define PTD	(0 << 17)  #define PEN	(1 << 16)  #define PDIS	(0 << 16) diff --git a/arch/arm/include/asm/arch-omap5/omap.h b/arch/arm/include/asm/arch-omap5/omap.h index 4f43a903d..817c1ff27 100644 --- a/arch/arm/include/asm/arch-omap5/omap.h +++ b/arch/arm/include/asm/arch-omap5/omap.h @@ -44,16 +44,15 @@  #define DRAM_ADDR_SPACE_START	OMAP54XX_DRAM_ADDR_SPACE_START  #define DRAM_ADDR_SPACE_END	OMAP54XX_DRAM_ADDR_SPACE_END -/* CONTROL */ -#define CTRL_BASE		(OMAP54XX_L4_CORE_BASE + 0x2000) -#define CONTROL_PADCONF_CORE	(CTRL_BASE + 0x0800) -#define CONTROL_PADCONF_WKUP	(OMAP54XX_L4_WKUP_BASE + 0xc800) +/* CONTROL ID CODE */ +#define CONTROL_CORE_ID_CODE	0x4A002204 +#define CONTROL_WKUP_ID_CODE	0x4AE0C204 -/* LPDDR2 IO regs. To be verified */ -#define LPDDR2_IO_REGS_BASE	0x4A100638 - -/* CONTROL_ID_CODE */ -#define CONTROL_ID_CODE		(CTRL_BASE + 0x204) +#ifdef CONFIG_DRA7XX +#define CONTROL_ID_CODE		CONTROL_WKUP_ID_CODE +#else +#define CONTROL_ID_CODE		CONTROL_CORE_ID_CODE +#endif  /* To be verified */  #define OMAP5430_CONTROL_ID_CODE_ES1_0		0x0B94202F @@ -62,11 +61,6 @@  #define OMAP5432_CONTROL_ID_CODE_ES2_0          0x1B99802F  #define DRA752_CONTROL_ID_CODE_ES1_0		0x0B99002F -/* STD_FUSE_PROD_ID_1 */ -#define STD_FUSE_PROD_ID_1		(CTRL_BASE + 0x218) -#define PROD_ID_1_SILICON_TYPE_SHIFT	16 -#define PROD_ID_1_SILICON_TYPE_MASK	(3 << 16) -  /* UART */  #define UART1_BASE		(OMAP54XX_L4_PER_BASE + 0x6a000)  #define UART2_BASE		(OMAP54XX_L4_PER_BASE + 0x6c000) @@ -80,15 +74,9 @@  /* Watchdog Timer2 - MPU watchdog */  #define WDT2_BASE		(OMAP54XX_L4_WKUP_BASE + 0x14000) -/* 32KTIMER */ -#define SYNC_32KTIMER_BASE	(OMAP54XX_L4_WKUP_BASE + 0x4000) -  /* GPMC */  #define OMAP54XX_GPMC_BASE	0x50000000 -/* SYSTEM CONTROL MODULE */ -#define SYSCTRL_GENERAL_CORE_BASE	0x4A002000 -  /*   * Hardware Register Details   */ @@ -118,9 +106,9 @@  /* CONTROL_EFUSE_2 */  #define CONTROL_EFUSE_2_NMOS_PMOS_PTV_CODE_1		0x00ffc000 +#define SDCARD_BIAS_PWRDNZ				(1 << 27)  #define SDCARD_PWRDNZ					(1 << 26)  #define SDCARD_BIAS_HIZ_MODE				(1 << 25) -#define SDCARD_BIAS_PWRDNZ				(1 << 22)  #define SDCARD_PBIASLITE_VMODE				(1 << 21)  #ifndef __ASSEMBLY__ @@ -181,26 +169,17 @@ struct s32ktimer {  #define EFUSE_4 0x45145100  #endif /* __ASSEMBLY__ */ -/* - * Non-secure SRAM Addresses - * Non-secure RAM starts at 0x40300000 for GP devices. But we keep SRAM_BASE - * at 0x40304000(EMU base) so that our code works for both EMU and GP - */ +#ifdef CONFIG_DRA7XX +#define NON_SECURE_SRAM_START	0x40300000 +#define NON_SECURE_SRAM_END	0x40380000	/* Not inclusive */ +#else  #define NON_SECURE_SRAM_START	0x40300000  #define NON_SECURE_SRAM_END	0x40320000	/* Not inclusive */ +#endif +  /* base address for indirect vectors (internal boot mode) */  #define SRAM_ROM_VECT_BASE	0x4031F000 -/* Silicon revisions */ -#define OMAP4430_SILICON_ID_INVALID	0xFFFFFFFF -#define OMAP4430_ES1_0	0x44300100 -#define OMAP4430_ES2_0	0x44300200 -#define OMAP4430_ES2_1	0x44300210 -#define OMAP4430_ES2_2	0x44300220 -#define OMAP4430_ES2_3	0x44300230 -#define OMAP4460_ES1_0	0x44600100 -#define OMAP4460_ES1_1	0x44600110 -  /* CONTROL_SRCOMP_XXX_SIDE */  #define OVERRIDE_XS_SHIFT		30  #define OVERRIDE_XS_MASK		(1 << 30) @@ -215,6 +194,19 @@ struct s32ktimer {  #define SRCODE_OVERRIDE_SEL_XS_SHIFT	0  #define SRCODE_OVERRIDE_SEL_XS_MASK	(1 << 0) +/* ABB settings */ +#define OMAP_ABB_SETTLING_TIME		50 +#define OMAP_ABB_CLOCK_CYCLES		16 + +/* ABB tranxdone mask */ +#define OMAP_ABB_MPU_TXDONE_MASK		(0x1 << 7) + +/* ABB efuse masks */ +#define OMAP5_ABB_FUSE_VSET_MASK		(0x1F << 24) +#define OMAP5_ABB_FUSE_ENABLE_MASK		(0x1 << 29) +#define OMAP5_ABB_LDOVBBMPU_MUX_CTRL_MASK	(0x1 << 10) +#define OMAP5_ABB_LDOVBBMPU_VSET_OUT_MASK	(0x1f << 0) +  #ifndef __ASSEMBLY__  struct srcomp_params {  	s8 divide_factor; @@ -229,6 +221,7 @@ struct ctrl_ioregs {  	u32 ctrl_ddrio_1;  	u32 ctrl_ddrio_2;  	u32 ctrl_emif_sdram_config_ext; +	u32 ctrl_ddr_ctrl_ext_0;  };  #endif /* __ASSEMBLY__ */  #endif diff --git a/arch/arm/include/asm/arch-omap5/sys_proto.h b/arch/arm/include/asm/arch-omap5/sys_proto.h index b79161d79..0bb59d869 100644 --- a/arch/arm/include/asm/arch-omap5/sys_proto.h +++ b/arch/arm/include/asm/arch-omap5/sys_proto.h @@ -23,9 +23,9 @@  #include <asm/arch/omap.h>  #include <asm/io.h> -#include <asm/arch/clocks.h> +#include <asm/arch/clock.h>  #include <asm/omap_common.h> -#include <asm/arch/clocks.h> +#include <asm/arch/clock.h>  DECLARE_GLOBAL_DATA_PTR; @@ -58,9 +58,11 @@ void cancel_out(u32 *num, u32 *den, u32 den_limit);  void sdram_init(void);  u32 omap_sdram_size(void);  u32 cortex_rev(void); +void save_omap_boot_params(void);  void init_omap_revision(void);  void do_io_settings(void); -void omap_vc_init(u16 speed_khz); +void sri2c_init(void); +void gpi2c_init(void);  int omap_vc_bypass_send_value(u8 sa, u8 reg_addr, u8 reg_data);  u32 warm_reset(void);  void force_emif_self_refresh(void); |