diff options
Diffstat (limited to 'arch/arm/include/asm/arch-davinci')
| -rw-r--r-- | arch/arm/include/asm/arch-davinci/aintc_defs.h | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-davinci/da850_lowlevel.h (renamed from arch/arm/include/asm/arch-davinci/am1808_lowlevel.h) | 26 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-davinci/ddr2_defs.h | 4 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-davinci/emif_defs.h | 1 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-davinci/hardware.h | 22 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-davinci/pll_defs.h | 14 | 
6 files changed, 56 insertions, 13 deletions
| diff --git a/arch/arm/include/asm/arch-davinci/aintc_defs.h b/arch/arm/include/asm/arch-davinci/aintc_defs.h index 8f3705320..38f814c01 100644 --- a/arch/arm/include/asm/arch-davinci/aintc_defs.h +++ b/arch/arm/include/asm/arch-davinci/aintc_defs.h @@ -47,4 +47,6 @@ struct dv_aintc_regs {  #define dv_aintc_regs ((struct dv_aintc_regs *)DAVINCI_ARM_INTC_BASE) +#define DV_AINTC_INTCTL_IDMODE	(1 << 2) +  #endif /* _DV_AINTC_DEFS_H_ */ diff --git a/arch/arm/include/asm/arch-davinci/am1808_lowlevel.h b/arch/arm/include/asm/arch-davinci/da850_lowlevel.h index 0bc7f76f1..e489c4747 100644 --- a/arch/arm/include/asm/arch-davinci/am1808_lowlevel.h +++ b/arch/arm/include/asm/arch-davinci/da850_lowlevel.h @@ -1,5 +1,5 @@  /* - * SoC-specific lowlevel code for AM1808 and similar chips + * SoC-specific lowlevel code for DA850   *   * Copyright (C) 2011   * Heiko Schocher, DENX Software Engineering, hs@denx.de. @@ -21,24 +21,24 @@   * along with this program; if not, write to the Free Software   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   */ -#ifndef __AM1808_LOWLEVEL_H -#define __AM1808_LOWLEVEL_H +#ifndef __DA850_LOWLEVEL_H +#define __DA850_LOWLEVEL_H  /* NOR Boot Configuration Word Field Descriptions */ -#define AM1808_NORBOOT_COPY_XK(X)	((X - 1) << 8) -#define AM1808_NORBOOT_METHOD_DIRECT	(1 << 4) -#define AM1808_NORBOOT_16BIT		(1 << 0) +#define DA850_NORBOOT_COPY_XK(X)	((X - 1) << 8) +#define DA850_NORBOOT_METHOD_DIRECT	(1 << 4) +#define DA850_NORBOOT_16BIT		(1 << 0)  #define dv_maskbits(addr, val) \  	writel((readl(addr) & val), addr) -void am1808_waitloop(unsigned long loopcnt); -int am1808_pll_init(struct davinci_pllc_regs *reg, unsigned long pllmult); -void am1808_lpc_transition(unsigned char pscnum, unsigned char module, +void da850_waitloop(unsigned long loopcnt); +int da850_pll_init(struct davinci_pllc_regs *reg, unsigned long pllmult); +void da850_lpc_transition(unsigned char pscnum, unsigned char module,  		unsigned char domain, unsigned char state); -int am1808_ddr_setup(unsigned int freq); -void am1808_psc_init(void); -void am1808_pinmux_ctl(unsigned long offset, unsigned long mask, +int da850_ddr_setup(void); +void da850_psc_init(void); +void da850_pinmux_ctl(unsigned long offset, unsigned long mask,  	unsigned long value); -#endif /* #ifndef __AM1808_LOWLEVEL_H */ +#endif /* #ifndef __DA850_LOWLEVEL_H */ diff --git a/arch/arm/include/asm/arch-davinci/ddr2_defs.h b/arch/arm/include/asm/arch-davinci/ddr2_defs.h index 1b9430ce6..4f943b81b 100644 --- a/arch/arm/include/asm/arch-davinci/ddr2_defs.h +++ b/arch/arm/include/asm/arch-davinci/ddr2_defs.h @@ -63,6 +63,7 @@ struct dv_ddr2_regs_ctrl {  #define DV_DDR_SDTMR2_RASMAX_SHIFT	27  #define DV_DDR_SDTMR2_XP_SHIFT	25 +#define DV_DDR_SDTMR2_ODT_SHIFT	23  #define DV_DDR_SDTMR2_XSNR_SHIFT	16  #define DV_DDR_SDTMR2_XSRD_SHIFT	8  #define DV_DDR_SDTMR2_RTP_SHIFT	5 @@ -84,6 +85,9 @@ struct dv_ddr2_regs_ctrl {  #define DV_DDR_SDCR_IBANK_SHIFT	4  #define DV_DDR_SDCR_PAGESIZE_SHIFT	0 +#define DV_DDR_SDRCR_LPMODEN	(1 << 31) +#define DV_DDR_SDRCR_MCLKSTOPEN	(1 << 30) +  #define DV_DDR_SRCR_LPMODEN_SHIFT	31  #define DV_DDR_SRCR_MCLKSTOPEN_SHIFT	30 diff --git a/arch/arm/include/asm/arch-davinci/emif_defs.h b/arch/arm/include/asm/arch-davinci/emif_defs.h index b48ec17e9..b9e78a5db 100644 --- a/arch/arm/include/asm/arch-davinci/emif_defs.h +++ b/arch/arm/include/asm/arch-davinci/emif_defs.h @@ -70,6 +70,7 @@ struct davinci_emif_regs {  #define DAVINCI_NANDFCR_1BIT_ECC_START(n)		(1 << (8 + (n-2)))  #define DAVINCI_NANDFCR_4BIT_ECC_START			(1 << 12)  #define DAVINCI_NANDFCR_4BIT_CALC_START			(1 << 13) +#define DAVINCI_NANDFCR_CS2NAND				(1 << 0)  /* Chip Select setup */  #define DAVINCI_ABCR_STROBE_SELECT			(1 << 31) diff --git a/arch/arm/include/asm/arch-davinci/hardware.h b/arch/arm/include/asm/arch-davinci/hardware.h index bea14993e..3e9a3b6de 100644 --- a/arch/arm/include/asm/arch-davinci/hardware.h +++ b/arch/arm/include/asm/arch-davinci/hardware.h @@ -230,6 +230,9 @@ typedef volatile unsigned int *	dv_reg_p;  #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 @@ -385,6 +388,20 @@ struct davinci_psc_regs {  #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 { @@ -431,6 +448,7 @@ struct davinci_pllc_regs {  enum davinci_clk_ids {  	DAVINCI_SPI0_CLKID = 2,  	DAVINCI_UART2_CLKID = 2, +	DAVINCI_MMC_CLKID = 2,  	DAVINCI_MDIO_CLKID = 4,  	DAVINCI_ARM_CLKID = 6,  	DAVINCI_PLLM_CLKID = 0xff, @@ -468,6 +486,7 @@ struct davinci_syscfg_regs {  #define DAVINCI_SYSCFG_SUSPSRC_SPI0		(1 << 21)  #define DAVINCI_SYSCFG_SUSPSRC_SPI1		(1 << 22)  #define DAVINCI_SYSCFG_SUSPSRC_UART0		(1 << 18) +#define DAVINCI_SYSCFG_SUSPSRC_UART2		(1 << 20)  #define DAVINCI_SYSCFG_SUSPSRC_TIMER0		(1 << 27)  struct davinci_syscfg1_regs { @@ -491,6 +510,9 @@ struct davinci_syscfg1_regs {  #define VTP_READY		(1 << 15)  #define VTP_IOPWRDWN		(1 << 14) +#define DV_SYSCFG_KICK0_UNLOCK	0x83e70b13 +#define DV_SYSCFG_KICK1_UNLOCK	0x95a4f1e0 +  /* Interrupt controller */  struct davinci_aintc_regs {  	dv_reg	revid; diff --git a/arch/arm/include/asm/arch-davinci/pll_defs.h b/arch/arm/include/asm/arch-davinci/pll_defs.h index 5c309533a..f1396e319 100644 --- a/arch/arm/include/asm/arch-davinci/pll_defs.h +++ b/arch/arm/include/asm/arch-davinci/pll_defs.h @@ -57,11 +57,24 @@ struct dv_pll_regs {  	unsigned int	plldiv9;	/* 0x174 */  }; +#define PLL_MASTER_LOCK	(1 << 4) + +#define PLLCTL_CLOCK_MODE_SHIFT	8  #define PLLCTL_PLLEN	(1 << 0)  #define PLLCTL_PLLPWRDN	(1 << 1)  #define PLLCTL_PLLRST	(1 << 3) +#define PLLCTL_PLLDIS	(1 << 4)  #define PLLCTL_PLLENSRC	(1 << 5)  #define PLLCTL_RES_9	(1 << 8) +#define PLLCTL_EXTCLKSRC	(1 << 9) + +#define PLL_POSTDEN	(1 << 15) + +#define PLL_SCSCFG3_DIV45PENA	(1 << 2) +#define PLL_SCSCFG3_EMA_CLKSRC	(1 << 1) + +#define PLL_RSTYPE_POR		(1 << 0) +#define PLL_RSTYPE_XWRST	(1 << 1)  #define PLLSECCTL_TINITZ	(1 << 16)  #define PLLSECCTL_TENABLE	(1 << 17) @@ -69,6 +82,7 @@ struct dv_pll_regs {  #define PLLSECCTL_STOPMODE	(1 << 22)  #define PLLCMD_GOSET		(1 << 0) +#define PLLCMD_GOSTAT		(1 << 0)  #define PLL0_LOCK		0x07000000  #define PLL1_LOCK		0x07000000 |