9
0
Fork 0

ARM omap3: Add change OMAP_ prefix to OMAP3_ for registers

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2012-12-18 15:22:37 +01:00
parent 416a99135a
commit 95f4112191
14 changed files with 325 additions and 325 deletions

View File

@ -81,47 +81,47 @@ static void sdrc_init(void)
{
/* SDRAM software reset */
/* No idle ack and RESET enable */
writel(0x1A, SDRC_REG(SYSCONFIG));
writel(0x1A, OMAP3_SDRC_REG(SYSCONFIG));
sdelay(100);
/* No idle ack and RESET disable */
writel(0x18, SDRC_REG(SYSCONFIG));
writel(0x18, OMAP3_SDRC_REG(SYSCONFIG));
/* SDRC Sharing register */
/* 32-bit SDRAM on data lane [31:0] - CS0 */
/* pin tri-stated = 1 */
writel(0x00000100, SDRC_REG(SHARING));
writel(0x00000100, OMAP3_SDRC_REG(SHARING));
/* ----- SDRC Registers Configuration --------- */
/* SDRC_MCFG0 register */
writel(0x02584099, SDRC_REG(MCFG_0));
writel(0x02584099, OMAP3_SDRC_REG(MCFG_0));
/* SDRC_RFR_CTRL0 register */
writel(0x54601, SDRC_REG(RFR_CTRL_0));
writel(0x54601, OMAP3_SDRC_REG(RFR_CTRL_0));
/* SDRC_ACTIM_CTRLA0 register */
writel(0xA29DB4C6, SDRC_REG(ACTIM_CTRLA_0));
writel(0xA29DB4C6, OMAP3_SDRC_REG(ACTIM_CTRLA_0));
/* SDRC_ACTIM_CTRLB0 register */
writel(0x12214, SDRC_REG(ACTIM_CTRLB_0));
writel(0x12214, OMAP3_SDRC_REG(ACTIM_CTRLB_0));
/* Disble Power Down of CKE due to 1 CKE on combo part */
writel(0x00000081, SDRC_REG(POWER));
writel(0x00000081, OMAP3_SDRC_REG(POWER));
/* SDRC_MANUAL command register */
/* NOP command */
writel(0x00000000, SDRC_REG(MANUAL_0));
writel(0x00000000, OMAP3_SDRC_REG(MANUAL_0));
/* Precharge command */
writel(0x00000001, SDRC_REG(MANUAL_0));
writel(0x00000001, OMAP3_SDRC_REG(MANUAL_0));
/* Auto-refresh command */
writel(0x00000002, SDRC_REG(MANUAL_0));
writel(0x00000002, OMAP3_SDRC_REG(MANUAL_0));
/* Auto-refresh command */
writel(0x00000002, SDRC_REG(MANUAL_0));
writel(0x00000002, OMAP3_SDRC_REG(MANUAL_0));
/* SDRC MR0 register Burst length=4 */
writel(0x00000032, SDRC_REG(MR_0));
writel(0x00000032, OMAP3_SDRC_REG(MR_0));
/* SDRC DLLA control register */
writel(0x0000000A, SDRC_REG(DLLA_CTRL));
writel(0x0000000A, OMAP3_SDRC_REG(DLLA_CTRL));
return;
}
@ -293,8 +293,8 @@ static int beagle_devices_init(void)
#ifdef CONFIG_USB_EHCI_OMAP
if (ehci_omap_init(&omap_ehci_pdata) >= 0)
add_usb_ehci_device(DEVICE_ID_DYNAMIC, OMAP_EHCI_BASE,
OMAP_EHCI_BASE + 0x10, &ehci_pdata);
add_usb_ehci_device(DEVICE_ID_DYNAMIC, OMAP3_EHCI_BASE,
OMAP3_EHCI_BASE + 0x10, &ehci_pdata);
#endif /* CONFIG_USB_EHCI_OMAP */
#ifdef CONFIG_OMAP_GPMC
/* WP is made high and WAIT1 active Low */

View File

@ -94,54 +94,54 @@ pure_initcall(sdp343x_board_init);
static void sdrc_init(void)
{
/* Issue SDRC Soft reset */
writel(0x12, SDRC_REG(SYSCONFIG));
writel(0x12, OMAP3_SDRC_REG(SYSCONFIG));
/* Wait until Reset complete */
while ((readl(SDRC_REG(STATUS)) & 0x1) == 0);
while ((readl(OMAP3_SDRC_REG(STATUS)) & 0x1) == 0);
/* SDRC to normal mode */
writel(0x10, SDRC_REG(SYSCONFIG));
writel(0x10, OMAP3_SDRC_REG(SYSCONFIG));
/* SDRC Sharing register */
/* 32-bit SDRAM on data lane [31:0] - CS0 */
/* pin tri-stated = 1 */
writel(0x00000100, SDRC_REG(SHARING));
writel(0x00000100, OMAP3_SDRC_REG(SHARING));
/* ----- SDRC_REG(CS0 Configuration --------- */
/* SDRC_REG(MCFG0 register */
writel(0x02584019, SDRC_REG(MCFG_0));
writel(0x02584019, OMAP3_SDRC_REG(MCFG_0));
/* SDRC_REG(RFR_CTRL0 register */
writel(0x0003DE01, SDRC_REG(RFR_CTRL_0));
writel(0x0003DE01, OMAP3_SDRC_REG(RFR_CTRL_0));
/* SDRC_REG(ACTIM_CTRLA0 register */
writel(0X5A9A4486, SDRC_REG(ACTIM_CTRLA_0));
writel(0X5A9A4486, OMAP3_SDRC_REG(ACTIM_CTRLA_0));
/* SDRC_REG(ACTIM_CTRLB0 register */
writel(0x00000010, SDRC_REG(ACTIM_CTRLB_0));
writel(0x00000010, OMAP3_SDRC_REG(ACTIM_CTRLB_0));
/* Disble Power Down of CKE cuz of 1 CKE on combo part */
writel(0x00000081, SDRC_REG(POWER));
writel(0x00000081, OMAP3_SDRC_REG(POWER));
/* SDRC_REG(Manual command register */
/* NOP command */
writel(0x00000000, SDRC_REG(MANUAL_0));
writel(0x00000000, OMAP3_SDRC_REG(MANUAL_0));
/* Precharge command */
writel(0x00000001, SDRC_REG(MANUAL_0));
writel(0x00000001, OMAP3_SDRC_REG(MANUAL_0));
/* Auto-refresh command */
writel(0x00000002, SDRC_REG(MANUAL_0));
writel(0x00000002, OMAP3_SDRC_REG(MANUAL_0));
/* Auto-refresh command */
writel(0x00000002, SDRC_REG(MANUAL_0));
writel(0x00000002, OMAP3_SDRC_REG(MANUAL_0));
/* SDRC MR0 register */
/* CAS latency = 3 */
/* Write Burst = Read Burst */
/* Serial Mode */
writel(0x00000032, SDRC_REG(MR_0)); /* Burst length =4 */
writel(0x00000032, OMAP3_SDRC_REG(MR_0)); /* Burst length =4 */
/* SDRC DLLA control register */
/* Enable DLL A */
writel(0x0000000A, SDRC_REG(DLLA_CTRL));
writel(0x0000000A, OMAP3_SDRC_REG(DLLA_CTRL));
/* wait until DLL is locked */
while ((readl(SDRC_REG(DLLA_STATUS)) & 0x4) == 0);
while ((readl(OMAP3_SDRC_REG(DLLA_STATUS)) & 0x4) == 0);
return;
}

View File

@ -71,47 +71,47 @@ static void sdrc_init(void)
{
/* SDRAM software reset */
/* No idle ack and RESET enable */
writel(0x1A, SDRC_REG(SYSCONFIG));
writel(0x1A, OMAP3_SDRC_REG(SYSCONFIG));
sdelay(100);
/* No idle ack and RESET disable */
writel(0x18, SDRC_REG(SYSCONFIG));
writel(0x18, OMAP3_SDRC_REG(SYSCONFIG));
/* SDRC Sharing register */
/* 32-bit SDRAM on data lane [31:0] - CS0 */
/* pin tri-stated = 1 */
writel(0x00000100, SDRC_REG(SHARING));
writel(0x00000100, OMAP3_SDRC_REG(SHARING));
/* ----- SDRC Registers Configuration --------- */
/* SDRC_MCFG0 register */
writel(0x02584099, SDRC_REG(MCFG_0));
writel(0x02584099, OMAP3_SDRC_REG(MCFG_0));
/* SDRC_RFR_CTRL0 register */
writel(0x54601, SDRC_REG(RFR_CTRL_0));
writel(0x54601, OMAP3_SDRC_REG(RFR_CTRL_0));
/* SDRC_ACTIM_CTRLA0 register */
writel(0xA29DB4C6, SDRC_REG(ACTIM_CTRLA_0));
writel(0xA29DB4C6, OMAP3_SDRC_REG(ACTIM_CTRLA_0));
/* SDRC_ACTIM_CTRLB0 register */
writel(0x12214, SDRC_REG(ACTIM_CTRLB_0));
writel(0x12214, OMAP3_SDRC_REG(ACTIM_CTRLB_0));
/* Disble Power Down of CKE due to 1 CKE on combo part */
writel(0x00000081, SDRC_REG(POWER));
writel(0x00000081, OMAP3_SDRC_REG(POWER));
/* SDRC_MANUAL command register */
/* NOP command */
writel(0x00000000, SDRC_REG(MANUAL_0));
writel(0x00000000, OMAP3_SDRC_REG(MANUAL_0));
/* Precharge command */
writel(0x00000001, SDRC_REG(MANUAL_0));
writel(0x00000001, OMAP3_SDRC_REG(MANUAL_0));
/* Auto-refresh command */
writel(0x00000002, SDRC_REG(MANUAL_0));
writel(0x00000002, OMAP3_SDRC_REG(MANUAL_0));
/* Auto-refresh command */
writel(0x00000002, SDRC_REG(MANUAL_0));
writel(0x00000002, OMAP3_SDRC_REG(MANUAL_0));
/* SDRC MR0 register Burst length=4 */
writel(0x00000032, SDRC_REG(MR_0));
writel(0x00000032, OMAP3_SDRC_REG(MR_0));
/* SDRC DLLA control register */
writel(0x0000000A, SDRC_REG(DLLA_CTRL));
writel(0x0000000A, OMAP3_SDRC_REG(DLLA_CTRL));
return;
}

View File

@ -103,16 +103,16 @@ struct sdrc_config {
void init_sdram_ddr(void)
{
/* reset sdrc controller */
writel(SOFTRESET, SDRC_REG(SYSCONFIG));
wait_on_value(1<<0, 1<<0, SDRC_REG(STATUS), 12000000);
writel(0, SDRC_REG(SYSCONFIG));
writel(SOFTRESET, OMAP3_SDRC_REG(SYSCONFIG));
wait_on_value(1<<0, 1<<0, OMAP3_SDRC_REG(STATUS), 12000000);
writel(0, OMAP3_SDRC_REG(SYSCONFIG));
/* setup sdrc to ball mux */
writel(SDP_SDRC_SHARING, SDRC_REG(SHARING));
writel(SDP_SDRC_POWER_POP, SDRC_REG(POWER));
writel(SDP_SDRC_SHARING, OMAP3_SDRC_REG(SHARING));
writel(SDP_SDRC_POWER_POP, OMAP3_SDRC_REG(POWER));
/* set up dll */
writel(SDP_SDRC_DLLAB_CTRL, SDRC_REG(DLLA_CTRL));
writel(SDP_SDRC_DLLAB_CTRL, OMAP3_SDRC_REG(DLLA_CTRL));
sdelay(0x2000); /* give time to lock */
}
@ -122,21 +122,21 @@ void init_sdram_ddr(void)
void config_sdram_ddr(u8 cs, u8 cfg)
{
writel(sdrc_config[cfg].mcfg, SDRC_REG(MCFG_0) + (0x30 * cs));
writel(sdrc_config[cfg].actim_ctrla, SDRC_REG(ACTIM_CTRLA_0) + (0x28 * cs));
writel(sdrc_config[cfg].actim_ctrlb, SDRC_REG(ACTIM_CTRLB_0) + (0x28 * cs));
writel(sdrc_config[cfg].rfr_ctrl, SDRC_REG(RFR_CTRL_0) + (0x30 * cs));
writel(sdrc_config[cfg].mcfg, OMAP3_SDRC_REG(MCFG_0) + (0x30 * cs));
writel(sdrc_config[cfg].actim_ctrla, OMAP3_SDRC_REG(ACTIM_CTRLA_0) + (0x28 * cs));
writel(sdrc_config[cfg].actim_ctrlb, OMAP3_SDRC_REG(ACTIM_CTRLB_0) + (0x28 * cs));
writel(sdrc_config[cfg].rfr_ctrl, OMAP3_SDRC_REG(RFR_CTRL_0) + (0x30 * cs));
writel(CMD_NOP, SDRC_REG(MANUAL_0) + (0x30 * cs));
writel(CMD_NOP, OMAP3_SDRC_REG(MANUAL_0) + (0x30 * cs));
sdelay(5000);
writel(CMD_PRECHARGE, SDRC_REG(MANUAL_0) + (0x30 * cs));
writel(CMD_AUTOREFRESH, SDRC_REG(MANUAL_0) + (0x30 * cs));
writel(CMD_AUTOREFRESH, SDRC_REG(MANUAL_0) + (0x30 * cs));
writel(CMD_PRECHARGE, OMAP3_SDRC_REG(MANUAL_0) + (0x30 * cs));
writel(CMD_AUTOREFRESH, OMAP3_SDRC_REG(MANUAL_0) + (0x30 * cs));
writel(CMD_AUTOREFRESH, OMAP3_SDRC_REG(MANUAL_0) + (0x30 * cs));
/* set mr0 */
writel(sdrc_config[cfg].mr, SDRC_REG(MR_0) + (0x30 * cs));
writel(sdrc_config[cfg].mr, OMAP3_SDRC_REG(MR_0) + (0x30 * cs));
sdelay(2000);
}
@ -171,7 +171,7 @@ static void pcaal1_sdrc_init(void)
if (test1 == 0) {
init_sdram_ddr();
writel((sdrc_config[(uchar) cfg].mcfg & 0xfffc00ff), SDRC_REG(MCFG_1));
writel((sdrc_config[(uchar) cfg].mcfg & 0xfffc00ff), OMAP3_SDRC_REG(MCFG_1));
/* 1 x 256MByte */
if (test0 == SZ_256M)
@ -179,7 +179,7 @@ static void pcaal1_sdrc_init(void)
if (cfg != -1) {
config_sdram_ddr(0, cfg);
writel(sdrc_config[(uchar) cfg].cs_cfg, SDRC_REG(CS_CFG));
writel(sdrc_config[(uchar) cfg].cs_cfg, OMAP3_SDRC_REG(CS_CFG));
}
return;
}
@ -194,7 +194,7 @@ static void pcaal1_sdrc_init(void)
if (cfg != -1) {
init_sdram_ddr();
writel(sdrc_config[(uchar) cfg].cs_cfg, SDRC_REG(CS_CFG));
writel(sdrc_config[(uchar) cfg].cs_cfg, OMAP3_SDRC_REG(CS_CFG));
config_sdram_ddr(0, cfg);
config_sdram_ddr(1, cfg);
}
@ -358,7 +358,7 @@ static int pcaal1_mem_init(void)
*/
gpmc_generic_init(0x10);
#endif
add_mem_device("sram0", OMAP_SRAM_BASE, 60 * SZ_1K,
add_mem_device("sram0", OMAP3_SRAM_BASE, 60 * SZ_1K,
IORESOURCE_MEM_WRITEABLE);
arm_add_mem_device("ram0", OMAP_SDRC_CS0, get_sdr_cs_size(SDRC_CS0_OSET));

View File

@ -31,7 +31,7 @@
* Control register defintion which unwraps to the real register
* offset + base address
*/
#define CONTROL_REG(REGNAME) (OMAP_CTRL_BASE + CONTROL_##REGNAME)
#define OMAP3_CONTROL_REG(REGNAME) (OMAP3_CTRL_BASE + CONTROL_##REGNAME)
#define CONTROL_SCALABLE_OMAP_STATUS (0x44C)
#define CONTROL_SCALABLE_OMAP_OCP (0x534)
@ -79,7 +79,7 @@
/** Provide the Regoffset, Value */
#define MUX_VAL(OFFSET,VALUE)\
writew((VALUE), OMAP_CTRL_BASE + (OFFSET))
writew((VALUE), OMAP3_CTRL_BASE + (OFFSET))
/**
* macro for Padconfig Registers @see

View File

@ -23,7 +23,7 @@
#define _OMAP343X_CLOCKS_H_
/** CM Clock Regs Wrapper */
#define CM_REG(REGNAME) (OMAP_CM_BASE + CM_##REGNAME)
#define OMAP3_CM_REG(REGNAME) (OMAP3_CM_BASE + CM_##REGNAME)
#define CM_FCLKEN_IVA2 0X0000
#define CM_CLKEN_PLL_IVA2 0X0004
@ -73,7 +73,7 @@
#define CM_CLKSTCTRL_USBH 0x1448
/** PRM Clock Regs */
#define PRM_REG(REGNAME) (OMAP_PRM_BASE + PRM_##REGNAME)
#define OMAP3_PRM_REG(REGNAME) (OMAP3_PRM_BASE + PRM_##REGNAME)
#define PRM_CLKSEL 0x0D40
#define PRM_RSTCTRL 0x1250
#define PRM_CLKSRC_CTRL 0x1270

View File

@ -38,47 +38,47 @@ static inline struct device_d *omap3_add_spi4(void)
static inline struct device_d *omap3_add_uart1(void)
{
return omap_add_uart(0, OMAP_UART1_BASE);
return omap_add_uart(0, OMAP3_UART1_BASE);
}
static inline struct device_d *omap3_add_uart2(void)
{
return omap_add_uart(1, OMAP_UART2_BASE);
return omap_add_uart(1, OMAP3_UART2_BASE);
}
static inline struct device_d *omap3_add_uart3(void)
{
return omap_add_uart(2, OMAP_UART3_BASE);
return omap_add_uart(2, OMAP3_UART3_BASE);
}
static inline struct device_d *omap3_add_mmc1(struct omap_hsmmc_platform_data *pdata)
{
return omap_add_mmc(0, OMAP_MMC1_BASE, pdata);
return omap_add_mmc(0, OMAP3_MMC1_BASE, pdata);
}
static inline struct device_d *omap3_add_mmc2(struct omap_hsmmc_platform_data *pdata)
{
return omap_add_mmc(1, OMAP_MMC2_BASE, pdata);
return omap_add_mmc(1, OMAP3_MMC2_BASE, pdata);
}
static inline struct device_d *omap3_add_mmc3(struct omap_hsmmc_platform_data *pdata)
{
return omap_add_mmc(2, OMAP_MMC3_BASE, pdata);
return omap_add_mmc(2, OMAP3_MMC3_BASE, pdata);
}
static inline struct device_d *omap3_add_i2c1(void *pdata)
{
return omap_add_i2c(0, OMAP_I2C1_BASE, pdata);
return omap_add_i2c(0, OMAP3_I2C1_BASE, pdata);
}
static inline struct device_d *omap3_add_i2c2(void *pdata)
{
return omap_add_i2c(1, OMAP_I2C2_BASE, pdata);
return omap_add_i2c(1, OMAP3_I2C2_BASE, pdata);
}
static inline struct device_d *omap3_add_i2c3(void *pdata)
{
return omap_add_i2c(2, OMAP_I2C3_BASE, pdata);
return omap_add_i2c(2, OMAP3_I2C3_BASE, pdata);
}
#endif /* __MACH_OMAP3_DEVICES_H */

View File

@ -34,82 +34,82 @@
/* PLEASE PLACE ONLY BASE DEFINES HERE */
/** OMAP Internal Bus Base addresses */
#define OMAP_L4_CORE_BASE 0x48000000
#define OMAP_INTC_BASE 0x48200000
#define OMAP_L4_WKUP_BASE 0x48300000
#define OMAP_L4_PER_BASE 0x49000000
#define OMAP_L4_EMU_BASE 0x54000000
#define OMAP_SGX_BASE 0x50000000
#define OMAP_IVA_BASE 0x5C000000
#define OMAP_SMX_APE_BASE 0x68000000
#define OMAP_SMS_BASE 0x6C000000
#define OMAP_SDRC_BASE 0x6D000000
#define OMAP3_L4_CORE_BASE 0x48000000
#define OMAP3_INTC_BASE 0x48200000
#define OMAP3_L4_WKUP_BASE 0x48300000
#define OMAP3_L4_PER_BASE 0x49000000
#define OMAP3_L4_EMU_BASE 0x54000000
#define OMAP3_SGX_BASE 0x50000000
#define OMAP3_IVA_BASE 0x5C000000
#define OMAP3_SMX_APE_BASE 0x68000000
#define OMAP3_SMS_BASE 0x6C000000
#define OMAP3_SDRC_BASE 0x6D000000
#define OMAP3_GPMC_BASE 0x6E000000
/** Peripheral Base Addresses */
#define OMAP_CTRL_BASE (OMAP_L4_CORE_BASE + 0x02000)
#define OMAP_CM_BASE (OMAP_L4_CORE_BASE + 0x04000)
#define OMAP_PRM_BASE (OMAP_L4_WKUP_BASE + 0x06000)
#define OMAP3_CTRL_BASE (OMAP3_L4_CORE_BASE + 0x02000)
#define OMAP3_CM_BASE (OMAP3_L4_CORE_BASE + 0x04000)
#define OMAP3_PRM_BASE (OMAP3_L4_WKUP_BASE + 0x06000)
#define OMAP_UART1_BASE (OMAP_L4_CORE_BASE + 0x6A000)
#define OMAP_UART2_BASE (OMAP_L4_CORE_BASE + 0x6C000)
#define OMAP_UART3_BASE (OMAP_L4_PER_BASE + 0x20000)
#define OMAP3_UART1_BASE (OMAP3_L4_CORE_BASE + 0x6A000)
#define OMAP3_UART2_BASE (OMAP3_L4_CORE_BASE + 0x6C000)
#define OMAP3_UART3_BASE (OMAP3_L4_PER_BASE + 0x20000)
#define OMAP_I2C1_BASE (OMAP_L4_CORE_BASE + 0x70000)
#define OMAP_I2C2_BASE (OMAP_L4_CORE_BASE + 0x72000)
#define OMAP_I2C3_BASE (OMAP_L4_CORE_BASE + 0x60000)
#define OMAP3_I2C1_BASE (OMAP3_L4_CORE_BASE + 0x70000)
#define OMAP3_I2C2_BASE (OMAP3_L4_CORE_BASE + 0x72000)
#define OMAP3_I2C3_BASE (OMAP3_L4_CORE_BASE + 0x60000)
#define OMAP_GPTIMER1_BASE (OMAP_L4_WKUP_BASE + 0x18000)
#define OMAP_GPTIMER2_BASE (OMAP_L4_PER_BASE + 0x32000)
#define OMAP_GPTIMER3_BASE (OMAP_L4_PER_BASE + 0x34000)
#define OMAP_GPTIMER4_BASE (OMAP_L4_PER_BASE + 0x36000)
#define OMAP_GPTIMER5_BASE (OMAP_L4_PER_BASE + 0x38000)
#define OMAP_GPTIMER6_BASE (OMAP_L4_PER_BASE + 0x3A000)
#define OMAP_GPTIMER7_BASE (OMAP_L4_PER_BASE + 0x3C000)
#define OMAP_GPTIMER8_BASE (OMAP_L4_PER_BASE + 0x3E000)
#define OMAP_GPTIMER9_BASE (OMAP_L4_PER_BASE + 0x40000)
#define OMAP_GPTIMER10_BASE (OMAP_L4_CORE_BASE + 0x86000)
#define OMAP_GPTIMER11_BASE (OMAP_L4_CORE_BASE + 0x88000)
#define OMAP3_GPTIMER1_BASE (OMAP3_L4_WKUP_BASE + 0x18000)
#define OMAP3_GPTIMER2_BASE (OMAP3_L4_PER_BASE + 0x32000)
#define OMAP3_GPTIMER3_BASE (OMAP3_L4_PER_BASE + 0x34000)
#define OMAP3_GPTIMER4_BASE (OMAP3_L4_PER_BASE + 0x36000)
#define OMAP3_GPTIMER5_BASE (OMAP3_L4_PER_BASE + 0x38000)
#define OMAP3_GPTIMER6_BASE (OMAP3_L4_PER_BASE + 0x3A000)
#define OMAP3_GPTIMER7_BASE (OMAP3_L4_PER_BASE + 0x3C000)
#define OMAP3_GPTIMER8_BASE (OMAP3_L4_PER_BASE + 0x3E000)
#define OMAP3_GPTIMER9_BASE (OMAP3_L4_PER_BASE + 0x40000)
#define OMAP3_GPTIMER10_BASE (OMAP3_L4_CORE_BASE + 0x86000)
#define OMAP3_GPTIMER11_BASE (OMAP3_L4_CORE_BASE + 0x88000)
#define OMAP_WDTIMER2_BASE (OMAP_L4_WKUP_BASE + 0x14000)
#define OMAP_WDTIMER3_BASE (OMAP_L4_PER_BASE + 0x30000)
#define OMAP3_WDTIMER2_BASE (OMAP3_L4_WKUP_BASE + 0x14000)
#define OMAP3_WDTIMER3_BASE (OMAP3_L4_PER_BASE + 0x30000)
#define OMAP3_32KTIMER_BASE (OMAP_L4_WKUP_BASE + 0x20000)
#define OMAP3_32KTIMER_BASE (OMAP3_L4_WKUP_BASE + 0x20000)
#define OMAP_MMC1_BASE (OMAP_L4_CORE_BASE + 0x9C000)
#define OMAP_MMC2_BASE (OMAP_L4_CORE_BASE + 0xB4000)
#define OMAP_MMC3_BASE (OMAP_L4_CORE_BASE + 0xAD000)
#define OMAP3_MMC1_BASE (OMAP3_L4_CORE_BASE + 0x9C000)
#define OMAP3_MMC2_BASE (OMAP3_L4_CORE_BASE + 0xB4000)
#define OMAP3_MMC3_BASE (OMAP3_L4_CORE_BASE + 0xAD000)
#define OMAP_MUSB0_BASE (OMAP_L4_CORE_BASE + 0xAB000)
#define OMAP3_MUSB0_BASE (OMAP3_L4_CORE_BASE + 0xAB000)
#define OMAP_GPIO1_BASE (OMAP_L4_WKUP_BASE + 0x10000)
#define OMAP_GPIO2_BASE (OMAP_L4_PER_BASE + 0x50000)
#define OMAP_GPIO3_BASE (OMAP_L4_PER_BASE + 0x52000)
#define OMAP_GPIO4_BASE (OMAP_L4_PER_BASE + 0x54000)
#define OMAP_GPIO5_BASE (OMAP_L4_PER_BASE + 0x56000)
#define OMAP_GPIO6_BASE (OMAP_L4_PER_BASE + 0x58000)
#define OMAP3_GPIO1_BASE (OMAP3_L4_WKUP_BASE + 0x10000)
#define OMAP3_GPIO2_BASE (OMAP3_L4_PER_BASE + 0x50000)
#define OMAP3_GPIO3_BASE (OMAP3_L4_PER_BASE + 0x52000)
#define OMAP3_GPIO4_BASE (OMAP3_L4_PER_BASE + 0x54000)
#define OMAP3_GPIO5_BASE (OMAP3_L4_PER_BASE + 0x56000)
#define OMAP3_GPIO6_BASE (OMAP3_L4_PER_BASE + 0x58000)
/** MPU WDT Definition */
#define OMAP_MPU_WDTIMER_BASE OMAP_WDTIMER2_BASE
#define OMAP3_MPU_WDTIMER_BASE OMAP3_WDTIMER2_BASE
#define OMAP_HSUSB_OTG_BASE (OMAP_L4_CORE_BASE + 0xAB000)
#define OMAP_USBTLL_BASE (OMAP_L4_CORE_BASE + 0x62000)
#define OMAP_UHH_CONFIG_BASE (OMAP_L4_CORE_BASE + 0x64000)
#define OMAP_OHCI_BASE (OMAP_L4_CORE_BASE + 0x64400)
#define OMAP_EHCI_BASE (OMAP_L4_CORE_BASE + 0x64800)
#define OMAP3_HSUSB_OTG_BASE (OMAP3_L4_CORE_BASE + 0xAB000)
#define OMAP3_USBTLL_BASE (OMAP3_L4_CORE_BASE + 0x62000)
#define OMAP3_UHH_CONFIG_BASE (OMAP3_L4_CORE_BASE + 0x64000)
#define OMAP3_OHCI_BASE (OMAP3_L4_CORE_BASE + 0x64400)
#define OMAP3_EHCI_BASE (OMAP3_L4_CORE_BASE + 0x64800)
/** Interrupt Vector base address */
#define OMAP_SRAM_BASE 0x40200000
#define OMAP_SRAM_INTVECT 0x4020F800
#define OMAP_SRAM_INTVECT_COPYSIZE 0x64
#define OMAP3_SRAM_BASE 0x40200000
#define OMAP3_SRAM_INTVECT 0x4020F800
#define OMAP3_SRAM_INTVECT_COPYSIZE 0x64
/** Gives the silicon revision */
#define OMAP_TAP_BASE (OMAP_L4_WKUP_BASE + 0xA000)
#define IDCODE_REG (OMAP_TAP_BASE + 0x204)
#define DIE_ID_0 (OMAP_TAP_BASE + 0x218)
#define DIE_ID_1 (OMAP_TAP_BASE + 0x21c)
#define DIE_ID_2 (OMAP_TAP_BASE + 0x220)
#define DIE_ID_3 (OMAP_TAP_BASE + 0x224)
#define OMAP3_TAP_BASE (OMAP3_L4_WKUP_BASE + 0xA000)
#define OMAP3_IDCODE_REG (OMAP3_TAP_BASE + 0x204)
#define OMAP3_DIE_ID_0 (OMAP3_TAP_BASE + 0x218)
#define OMAP3_DIE_ID_1 (OMAP3_TAP_BASE + 0x21c)
#define OMAP3_DIE_ID_2 (OMAP3_TAP_BASE + 0x220)
#define OMAP3_DIE_ID_3 (OMAP3_TAP_BASE + 0x224)
/** Masks to extract information from ID code register */
#define IDCODE_HAWKEYE_MASK 0x0FFFF000

View File

@ -28,11 +28,11 @@
#define __ASM_ARCH_OMAP_SMX_H
/* SMX-APE */
#define PM_RT_APE_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x10000)
#define PM_GPMC_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x12400)
#define PM_OCM_RAM_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x12800)
#define PM_OCM_ROM_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x12C00)
#define PM_IVA2_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x14000)
#define PM_RT_APE_BASE_ADDR_ARM (OMAP3_SMX_APE_BASE + 0x10000)
#define PM_GPMC_BASE_ADDR_ARM (OMAP3_SMX_APE_BASE + 0x12400)
#define PM_OCM_RAM_BASE_ADDR_ARM (OMAP3_SMX_APE_BASE + 0x12800)
#define PM_OCM_ROM_BASE_ADDR_ARM (OMAP3_SMX_APE_BASE + 0x12C00)
#define PM_IVA2_BASE_ADDR_ARM (OMAP3_SMX_APE_BASE + 0x14000)
#define RT_REQ_INFO_PERMISSION_1 (PM_RT_APE_BASE_ADDR_ARM + 0x68)
#define RT_READ_PERMISSION_0 (PM_RT_APE_BASE_ADDR_ARM + 0x50)
@ -54,9 +54,9 @@
#define IVA2_WRITE_PERMISSION_0 (PM_IVA2_BASE_ADDR_ARM + 0x58)
/* SMS */
#define SMS_SYSCONFIG (OMAP_SMS_BASE + 0x10)
#define SMS_RG_ATT0 (OMAP_SMS_BASE + 0x48)
#define SMS_CLASS_ARB0 (OMAP_SMS_BASE + 0xD0)
#define SMS_SYSCONFIG (OMAP3_SMS_BASE + 0x10)
#define SMS_RG_ATT0 (OMAP3_SMS_BASE + 0x48)
#define SMS_CLASS_ARB0 (OMAP3_SMS_BASE + 0xD0)
#define BURSTCOMPLETE_GROUP7 (0x1 << 31)
#endif /* __ASM_ARCH_OMAP_SMX_H */

View File

@ -24,7 +24,7 @@
#ifndef _ASM_ARCH_SDRC_H
#define _ASM_ARCH_SDRC_H
#define SDRC_REG(REGNAME) (OMAP_SDRC_BASE + OMAP_SDRC_##REGNAME)
#define OMAP3_SDRC_REG(REGNAME) (OMAP3_SDRC_BASE + OMAP_SDRC_##REGNAME)
#define OMAP_SDRC_SYSCONFIG (0x10)
#define OMAP_SDRC_STATUS (0x14)
#define OMAP_SDRC_CS_CFG (0x40)

View File

@ -21,7 +21,7 @@
#define __ASM_ARCH_OMAP_WDT_H
/** Watchdog Register defines */
#define WDT_REG(REGNAME) (OMAP_MPU_WDTIMER_BASE + OMAP_WDT_##REGNAME)
#define OMAP3_WDT_REG(REGNAME) (OMAP3_MPU_WDTIMER_BASE + OMAP_WDT_##REGNAME)
#define OMAP_WDT_WIDR (0x000)
#define OMAP_WDT_SYSCONFIG (0x010)
#define OMAP_WDT_WD_SYSSTATUS (0x014)

View File

@ -58,7 +58,7 @@ static u32 get_osc_clk_speed(void)
{
u32 start, cstart, cend, cdiff, cdiv, val;
val = readl(PRM_REG(CLKSRC_CTRL));
val = readl(OMAP3_PRM_REG(CLKSRC_CTRL));
if (val & SYSCLK_DIV_2)
cdiv = 2;
@ -72,28 +72,28 @@ static u32 get_osc_clk_speed(void)
cdiv = 1;
/* enable timer2 */
val = readl(CM_REG(CLKSEL_WKUP)) | (0x1 << 0);
writel(val, CM_REG(CLKSEL_WKUP)); /* select sys_clk for GPT1 */
val = readl(OMAP3_CM_REG(CLKSEL_WKUP)) | (0x1 << 0);
writel(val, OMAP3_CM_REG(CLKSEL_WKUP)); /* select sys_clk for GPT1 */
/* Enable I and F Clocks for GPT1 */
val = readl(CM_REG(ICLKEN_WKUP)) | (0x1 << 0) | (0x1 << 2);
writel(val, CM_REG(ICLKEN_WKUP));
val = readl(CM_REG(FCLKEN_WKUP)) | (0x1 << 0);
writel(val, CM_REG(FCLKEN_WKUP));
val = readl(OMAP3_CM_REG(ICLKEN_WKUP)) | (0x1 << 0) | (0x1 << 2);
writel(val, OMAP3_CM_REG(ICLKEN_WKUP));
val = readl(OMAP3_CM_REG(FCLKEN_WKUP)) | (0x1 << 0);
writel(val, OMAP3_CM_REG(FCLKEN_WKUP));
/* start counting at 0 */
writel(0, OMAP_GPTIMER1_BASE + TLDR);
writel(0, OMAP3_GPTIMER1_BASE + TLDR);
/* enable clock */
writel(GPT_EN, OMAP_GPTIMER1_BASE + TCLR);
writel(GPT_EN, OMAP3_GPTIMER1_BASE + TCLR);
/* enable 32kHz source - enabled out of reset */
/* determine sys_clk via gauging */
start = 20 + readl(S32K_CR); /* start time in 20 cycles */
while (readl(S32K_CR) < start) ; /* dead loop till start time */
/* get start sys_clk count */
cstart = readl(OMAP_GPTIMER1_BASE + TCRR);
cstart = readl(OMAP3_GPTIMER1_BASE + TCRR);
while (readl(S32K_CR) < (start + 20)) ; /* wait for 40 cycles */
/* get end sys_clk count */
cend = readl(OMAP_GPTIMER1_BASE + TCRR);
cend = readl(OMAP3_GPTIMER1_BASE + TCRR);
cdiff = cend - cstart; /* get elapsed ticks */
if (cdiv == 2)
@ -171,8 +171,8 @@ static void init_core_dpll_34x(u32 cpu_rev, u32 clk_sel)
dp += clk_sel;
if (running_in_sram()) {
sr32(CM_REG(CLKEN_PLL), 0, 3, PLL_FAST_RELOCK_BYPASS);
wait_on_value((0x1 << 0), 0, CM_REG(IDLEST_CKGEN), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL), 0, 3, PLL_FAST_RELOCK_BYPASS);
wait_on_value((0x1 << 0), 0, OMAP3_CM_REG(IDLEST_CKGEN), LDELAY);
/*
* OMAP3430 ES1.0 Errata 1.50
@ -181,34 +181,34 @@ static void init_core_dpll_34x(u32 cpu_rev, u32 clk_sel)
*/
/* CM_CLKSEL1_EMU[DIV_DPLL3] */
sr32(CM_REG(CLKSEL1_EMU), 16, 5, CORE_M3X2 + 1);
sr32(CM_REG(CLKSEL1_EMU), 16, 5, CORE_M3X2);
sr32(OMAP3_CM_REG(CLKSEL1_EMU), 16, 5, CORE_M3X2 + 1);
sr32(OMAP3_CM_REG(CLKSEL1_EMU), 16, 5, CORE_M3X2);
/* M2 (CORE_DPLL_CLKOUT_DIV): CM_CLKSEL1_PLL[27:31] */
sr32(CM_REG(CLKSEL1_PLL), 27, 2, dp->m2);
sr32(OMAP3_CM_REG(CLKSEL1_PLL), 27, 2, dp->m2);
/* M (CORE_DPLL_MULT): CM_CLKSEL1_PLL[16:26] */
sr32(CM_REG(CLKSEL1_PLL), 16, 11, dp->m);
sr32(OMAP3_CM_REG(CLKSEL1_PLL), 16, 11, dp->m);
/* N (CORE_DPLL_DIV): CM_CLKSEL1_PLL[8:14] */
sr32(CM_REG(CLKSEL1_PLL), 8, 7, dp->n);
sr32(OMAP3_CM_REG(CLKSEL1_PLL), 8, 7, dp->n);
/* Set source CM_96M_FCLK: CM_CLKSEL1_PLL[6] */
sr32(CM_REG(CLKSEL1_PLL), 6, 1, 0);
sr32(OMAP3_CM_REG(CLKSEL1_PLL), 6, 1, 0);
sr32(CM_REG(CLKSEL_CORE), 8, 4, CORE_SSI_DIV);
sr32(CM_REG(CLKSEL_CORE), 4, 2, CORE_FUSB_DIV);
sr32(CM_REG(CLKSEL_CORE), 2, 2, CORE_L4_DIV);
sr32(CM_REG(CLKSEL_CORE), 0, 2, CORE_L3_DIV);
sr32(CM_REG(CLKSEL_GFX), 0, 3, GFX_DIV_34X);
sr32(CM_REG(CLKSEL_WKUP), 1, 2, WKUP_RSM);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 8, 4, CORE_SSI_DIV);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 4, 2, CORE_FUSB_DIV);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 2, 2, CORE_L4_DIV);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 0, 2, CORE_L3_DIV);
sr32(OMAP3_CM_REG(CLKSEL_GFX), 0, 3, GFX_DIV_34X);
sr32(OMAP3_CM_REG(CLKSEL_WKUP), 1, 2, WKUP_RSM);
/* FREQSEL (CORE_DPLL_FREQSEL): CM_CLKEN_PLL[4:7] */
sr32(CM_REG(CLKEN_PLL), 4, 4, dp->fsel);
sr32(OMAP3_CM_REG(CLKEN_PLL), 4, 4, dp->fsel);
/* Lock Mode */
sr32(CM_REG(CLKEN_PLL), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, CM_REG(IDLEST_CKGEN), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, OMAP3_CM_REG(IDLEST_CKGEN), LDELAY);
} else if (running_in_flash()) {
/***Oopps.. Wrong .config!! *****/
hang();
@ -242,41 +242,41 @@ static void init_per_dpll_34x(u32 cpu_rev, u32 clk_sel)
* value and then write the default value.
*/
sr32(CM_REG(CLKEN_PLL), 16, 3, PLL_STOP);
wait_on_value((0x1 << 1), 0, CM_REG(IDLEST_CKGEN), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL), 16, 3, PLL_STOP);
wait_on_value((0x1 << 1), 0, OMAP3_CM_REG(IDLEST_CKGEN), LDELAY);
/* Set M6 */
sr32(CM_REG(CLKSEL1_EMU), 24, 5, PER_M6X2 + 1);
sr32(CM_REG(CLKSEL1_EMU), 24, 5, PER_M6X2);
sr32(OMAP3_CM_REG(CLKSEL1_EMU), 24, 5, PER_M6X2 + 1);
sr32(OMAP3_CM_REG(CLKSEL1_EMU), 24, 5, PER_M6X2);
/* Set M5 */
sr32(CM_REG(CLKSEL_CAM), 0, 5, PER_M5X2 + 1);
sr32(CM_REG(CLKSEL_CAM), 0, 5, PER_M5X2);
sr32(OMAP3_CM_REG(CLKSEL_CAM), 0, 5, PER_M5X2 + 1);
sr32(OMAP3_CM_REG(CLKSEL_CAM), 0, 5, PER_M5X2);
/* Set M4 */
sr32(CM_REG(CLKSEL_DSS), 0, 5, PER_M4X2 + 1);
sr32(CM_REG(CLKSEL_DSS), 0, 5, PER_M4X2);
sr32(OMAP3_CM_REG(CLKSEL_DSS), 0, 5, PER_M4X2 + 1);
sr32(OMAP3_CM_REG(CLKSEL_DSS), 0, 5, PER_M4X2);
/* Set M3 */
sr32(CM_REG(CLKSEL_DSS), 8, 5, PER_M3X2 + 1);
sr32(CM_REG(CLKSEL_DSS), 8, 5, PER_M3X2);
sr32(OMAP3_CM_REG(CLKSEL_DSS), 8, 5, PER_M3X2 + 1);
sr32(OMAP3_CM_REG(CLKSEL_DSS), 8, 5, PER_M3X2);
/* Set M2 */
sr32(CM_REG(CLKSEL3_PLL), 0, 5, dp->m2 + 1);
sr32(CM_REG(CLKSEL3_PLL), 0, 5, dp->m2);
sr32(OMAP3_CM_REG(CLKSEL3_PLL), 0, 5, dp->m2 + 1);
sr32(OMAP3_CM_REG(CLKSEL3_PLL), 0, 5, dp->m2);
/* M (PERIPH_DPLL_MULT): CM_CLKSEL2_PLL[8:18] */
sr32(CM_REG(CLKSEL2_PLL), 8, 11, dp->m);
sr32(OMAP3_CM_REG(CLKSEL2_PLL), 8, 11, dp->m);
/* N (PERIPH_DPLL_DIV): CM_CLKSEL2_PLL[0:6] */
sr32(CM_REG(CLKSEL2_PLL), 0, 7, dp->n);
sr32(OMAP3_CM_REG(CLKSEL2_PLL), 0, 7, dp->n);
/* FREQSEL (PERIPH_DPLL_FREQSEL): CM_CLKEN_PLL[20:23] */
sr32(CM_REG(CLKEN_PLL), 20, 4, dp->fsel);
sr32(OMAP3_CM_REG(CLKEN_PLL), 20, 4, dp->fsel);
/* LOCK MODE (EN_PERIPH_DPLL): CM_CLKEN_PLL[16:18] */
sr32(CM_REG(CLKEN_PLL), 16, 3, PLL_LOCK);
wait_on_value((0x1 << 1), 2, CM_REG(IDLEST_CKGEN), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL), 16, 3, PLL_LOCK);
wait_on_value((0x1 << 1), 2, OMAP3_CM_REG(IDLEST_CKGEN), LDELAY);
}
static struct dpll_param mpu_dpll_param_34x_es1[] = {
@ -316,16 +316,16 @@ static void init_mpu_dpll_34x(u32 cpu_rev, u32 clk_sel)
dp += clk_sel;
/* M2 (MPU_DPLL_CLKOUT_DIV) : CM_CLKSEL2_PLL_MPU[0:4] */
sr32(CM_REG(CLKSEL2_PLL_MPU), 0, 5, dp->m2);
sr32(OMAP3_CM_REG(CLKSEL2_PLL_MPU), 0, 5, dp->m2);
/* M (MPU_DPLL_MULT) : CM_CLKSEL2_PLL_MPU[8:18] */
sr32(CM_REG(CLKSEL1_PLL_MPU), 8, 11, dp->m);
sr32(OMAP3_CM_REG(CLKSEL1_PLL_MPU), 8, 11, dp->m);
/* N (MPU_DPLL_DIV) : CM_CLKSEL2_PLL_MPU[0:6] */
sr32(CM_REG(CLKSEL1_PLL_MPU), 0, 7, dp->n);
sr32(OMAP3_CM_REG(CLKSEL1_PLL_MPU), 0, 7, dp->n);
/* FREQSEL (MPU_DPLL_FREQSEL) : CM_CLKEN_PLL_MPU[4:7] */
sr32(CM_REG(CLKEN_PLL_MPU), 4, 4, dp->fsel);
sr32(OMAP3_CM_REG(CLKEN_PLL_MPU), 4, 4, dp->fsel);
}
static struct dpll_param iva_dpll_param_34x_es1[] = {
@ -362,24 +362,24 @@ static void init_iva_dpll_34x(u32 cpu_rev, u32 clk_sel)
dp += clk_sel;
/* EN_IVA2_DPLL : CM_CLKEN_PLL_IVA2[0:2] */
sr32(CM_REG(CLKEN_PLL_IVA2), 0, 3, PLL_STOP);
wait_on_value((0x1 << 0), 0, CM_REG(IDLEST_PLL_IVA2), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL_IVA2), 0, 3, PLL_STOP);
wait_on_value((0x1 << 0), 0, OMAP3_CM_REG(IDLEST_PLL_IVA2), LDELAY);
/* M2 (IVA2_DPLL_CLKOUT_DIV) : CM_CLKSEL2_PLL_IVA2[0:4] */
sr32(CM_REG(CLKSEL2_PLL_IVA2), 0, 5, dp->m2);
sr32(OMAP3_CM_REG(CLKSEL2_PLL_IVA2), 0, 5, dp->m2);
/* M (IVA2_DPLL_MULT) : CM_CLKSEL1_PLL_IVA2[8:18] */
sr32(CM_REG(CLKSEL1_PLL_IVA2), 8, 11, dp->m);
sr32(OMAP3_CM_REG(CLKSEL1_PLL_IVA2), 8, 11, dp->m);
/* N (IVA2_DPLL_DIV) : CM_CLKSEL1_PLL_IVA2[0:6] */
sr32(CM_REG(CLKSEL1_PLL_IVA2), 0, 7, dp->n);
sr32(OMAP3_CM_REG(CLKSEL1_PLL_IVA2), 0, 7, dp->n);
/* FREQSEL (IVA2_DPLL_FREQSEL) : CM_CLKEN_PLL_IVA2[4:7] */
sr32(CM_REG(CLKEN_PLL_IVA2), 4, 4, dp->fsel);
sr32(OMAP3_CM_REG(CLKEN_PLL_IVA2), 4, 4, dp->fsel);
/* LOCK (MODE (EN_IVA2_DPLL) : CM_CLKEN_PLL_IVA2[0:2] */
sr32(CM_REG(CLKEN_PLL_IVA2), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, CM_REG(IDLEST_PLL_IVA2), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL_IVA2), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, OMAP3_CM_REG(IDLEST_PLL_IVA2), LDELAY);
}
/* FIXME: All values correspond to 26MHz only */
@ -404,37 +404,37 @@ static void init_core_dpll_36x(u32 cpu_rev, u32 clk_sel)
dp += clk_sel;
if (running_in_sram()) {
sr32(CM_REG(CLKEN_PLL), 0, 3, PLL_FAST_RELOCK_BYPASS);
wait_on_value((0x1 << 0), 0, CM_REG(IDLEST_CKGEN), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL), 0, 3, PLL_FAST_RELOCK_BYPASS);
wait_on_value((0x1 << 0), 0, OMAP3_CM_REG(IDLEST_CKGEN), LDELAY);
/* CM_CLKSEL1_EMU[DIV_DPLL3] */
sr32(CM_REG(CLKSEL1_EMU), 16, 5, CORE_M3X2);
sr32(OMAP3_CM_REG(CLKSEL1_EMU), 16, 5, CORE_M3X2);
/* M2 (CORE_DPLL_CLKOUT_DIV): CM_CLKSEL1_PLL[27:31] */
sr32(CM_REG(CLKSEL1_PLL), 27, 5, dp->m2);
sr32(OMAP3_CM_REG(CLKSEL1_PLL), 27, 5, dp->m2);
/* M (CORE_DPLL_MULT): CM_CLKSEL1_PLL[16:26] */
sr32(CM_REG(CLKSEL1_PLL), 16, 11, dp->m);
sr32(OMAP3_CM_REG(CLKSEL1_PLL), 16, 11, dp->m);
/* N (CORE_DPLL_DIV): CM_CLKSEL1_PLL[8:14] */
sr32(CM_REG(CLKSEL1_PLL), 8, 7, dp->n);
sr32(OMAP3_CM_REG(CLKSEL1_PLL), 8, 7, dp->n);
/* Set source CM_96M_FCLK: CM_CLKSEL1_PLL[6] */
sr32(CM_REG(CLKSEL1_PLL), 6, 1, 0);
sr32(OMAP3_CM_REG(CLKSEL1_PLL), 6, 1, 0);
sr32(CM_REG(CLKSEL_CORE), 8, 4, CORE_SSI_DIV);
sr32(CM_REG(CLKSEL_CORE), 4, 2, CORE_FUSB_DIV);
sr32(CM_REG(CLKSEL_CORE), 2, 2, CORE_L4_DIV);
sr32(CM_REG(CLKSEL_CORE), 0, 2, CORE_L3_DIV);
sr32(CM_REG(CLKSEL_GFX), 0, 3, GFX_DIV_36X);
sr32(CM_REG(CLKSEL_WKUP), 1, 2, WKUP_RSM);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 8, 4, CORE_SSI_DIV);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 4, 2, CORE_FUSB_DIV);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 2, 2, CORE_L4_DIV);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 0, 2, CORE_L3_DIV);
sr32(OMAP3_CM_REG(CLKSEL_GFX), 0, 3, GFX_DIV_36X);
sr32(OMAP3_CM_REG(CLKSEL_WKUP), 1, 2, WKUP_RSM);
/* FREQSEL (CORE_DPLL_FREQSEL): CM_CLKEN_PLL[4:7] */
sr32(CM_REG(CLKEN_PLL), 4, 4, dp->fsel);
sr32(OMAP3_CM_REG(CLKEN_PLL), 4, 4, dp->fsel);
/* Lock Mode */
sr32(CM_REG(CLKEN_PLL), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, CM_REG(IDLEST_CKGEN), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, OMAP3_CM_REG(IDLEST_CKGEN), LDELAY);
} else if (running_in_flash()) {
/***Oopps.. Wrong .config!! *****/
hang();
@ -462,36 +462,36 @@ static void init_per_dpll_36x(u32 cpu_rev, u32 clk_sel)
dp += clk_sel;
sr32(CM_REG(CLKEN_PLL), 16, 3, PLL_STOP);
wait_on_value((0x1 << 1), 0, CM_REG(IDLEST_CKGEN), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL), 16, 3, PLL_STOP);
wait_on_value((0x1 << 1), 0, OMAP3_CM_REG(IDLEST_CKGEN), LDELAY);
/* Set M6 (DIV_DPLL4): CM_CLKSEL1_EMU[24:29] */
sr32(CM_REG(CLKSEL1_EMU), 24, 6, dp->m6);
sr32(OMAP3_CM_REG(CLKSEL1_EMU), 24, 6, dp->m6);
/* Set M5 (CLKSEL_CAM): CM_CLKSEL_CAM[0:5] */
sr32(CM_REG(CLKSEL_CAM), 0, 6, dp->m5);
sr32(OMAP3_CM_REG(CLKSEL_CAM), 0, 6, dp->m5);
/* Set M4 (CLKSEL_DSS1): CM_CLKSEL_DSS[0:5] */
sr32(CM_REG(CLKSEL_DSS), 0, 6, dp->m4);
sr32(OMAP3_CM_REG(CLKSEL_DSS), 0, 6, dp->m4);
/* Set M3 (CLKSEL_DSS2): CM_CLKSEL_DSS[8:13] */
sr32(CM_REG(CLKSEL_DSS), 8, 6, dp->m3);
sr32(OMAP3_CM_REG(CLKSEL_DSS), 8, 6, dp->m3);
/* Set M2: CM_CLKSEL3_PLL[0:4] */
sr32(CM_REG(CLKSEL3_PLL), 0, 5, dp->m2);
sr32(OMAP3_CM_REG(CLKSEL3_PLL), 0, 5, dp->m2);
/* M (PERIPH_DPLL_MULT): CM_CLKSEL2_PLL[8:19] */
sr32(CM_REG(CLKSEL2_PLL), 8, 12, dp->m);
sr32(OMAP3_CM_REG(CLKSEL2_PLL), 8, 12, dp->m);
/* N (PERIPH_DPLL_DIV): CM_CLKSEL2_PLL[0:6] */
sr32(CM_REG(CLKSEL2_PLL), 0, 7, dp->n);
sr32(OMAP3_CM_REG(CLKSEL2_PLL), 0, 7, dp->n);
/* M2DIV (CLKSEL_96M): CM_CLKSEL_CORE[12:13] */
sr32(CM_REG(CLKSEL_CORE), 12, 2, dp->m2div);
sr32(OMAP3_CM_REG(CLKSEL_CORE), 12, 2, dp->m2div);
/* LOCK MODE (EN_PERIPH_DPLL): CM_CLKEN_PLL[16:18] */
sr32(CM_REG(CLKEN_PLL), 16, 3, PLL_LOCK);
wait_on_value((0x1 << 1), 2, CM_REG(IDLEST_CKGEN), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL), 16, 3, PLL_LOCK);
wait_on_value((0x1 << 1), 2, OMAP3_CM_REG(IDLEST_CKGEN), LDELAY);
}
/* FIXME: All values correspond to 26MHz only */
@ -516,16 +516,16 @@ static void init_mpu_dpll_36x(u32 cpu_rev, u32 clk_sel)
dp += clk_sel;
/* M2 (MPU_DPLL_CLKOUT_DIV) : CM_CLKSEL2_PLL_MPU[0:4] */
sr32(CM_REG(CLKSEL2_PLL_MPU), 0, 5, dp->m2);
sr32(OMAP3_CM_REG(CLKSEL2_PLL_MPU), 0, 5, dp->m2);
/* M (MPU_DPLL_MULT) : CM_CLKSEL2_PLL_MPU[8:18] */
sr32(CM_REG(CLKSEL1_PLL_MPU), 8, 11, dp->m);
sr32(OMAP3_CM_REG(CLKSEL1_PLL_MPU), 8, 11, dp->m);
/* N (MPU_DPLL_DIV) : CM_CLKSEL2_PLL_MPU[0:6] */
sr32(CM_REG(CLKSEL1_PLL_MPU), 0, 7, dp->n);
sr32(OMAP3_CM_REG(CLKSEL1_PLL_MPU), 0, 7, dp->n);
/* FREQSEL (MPU_DPLL_FREQSEL) : CM_CLKEN_PLL_MPU[4:7] */
sr32(CM_REG(CLKEN_PLL_MPU), 4, 4, dp->fsel);
sr32(OMAP3_CM_REG(CLKEN_PLL_MPU), 4, 4, dp->fsel);
}
/* FIXME: All values correspond to 26MHz only */
@ -550,24 +550,24 @@ static void init_iva_dpll_36x(u32 cpu_rev, u32 clk_sel)
dp += clk_sel;
/* EN_IVA2_DPLL : CM_CLKEN_PLL_IVA2[0:2] */
sr32(CM_REG(CLKEN_PLL_IVA2), 0, 3, PLL_STOP);
wait_on_value((0x1 << 0), 0, CM_REG(IDLEST_PLL_IVA2), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL_IVA2), 0, 3, PLL_STOP);
wait_on_value((0x1 << 0), 0, OMAP3_CM_REG(IDLEST_PLL_IVA2), LDELAY);
/* M2 (IVA2_DPLL_CLKOUT_DIV) : CM_CLKSEL2_PLL_IVA2[0:4] */
sr32(CM_REG(CLKSEL2_PLL_IVA2), 0, 5, dp->m2);
sr32(OMAP3_CM_REG(CLKSEL2_PLL_IVA2), 0, 5, dp->m2);
/* M (IVA2_DPLL_MULT) : CM_CLKSEL1_PLL_IVA2[8:18] */
sr32(CM_REG(CLKSEL1_PLL_IVA2), 8, 11, dp->m);
sr32(OMAP3_CM_REG(CLKSEL1_PLL_IVA2), 8, 11, dp->m);
/* N (IVA2_DPLL_DIV) : CM_CLKSEL1_PLL_IVA2[0:6] */
sr32(CM_REG(CLKSEL1_PLL_IVA2), 0, 7, dp->n);
sr32(OMAP3_CM_REG(CLKSEL1_PLL_IVA2), 0, 7, dp->n);
/* FREQSEL (IVA2_DPLL_FREQSEL) : CM_CLKEN_PLL_IVA2[4:7] */
sr32(CM_REG(CLKEN_PLL_IVA2), 4, 4, dp->fsel);
sr32(OMAP3_CM_REG(CLKEN_PLL_IVA2), 4, 4, dp->fsel);
/* LOCK (MODE (EN_IVA2_DPLL) : CM_CLKEN_PLL_IVA2[0:2] */
sr32(CM_REG(CLKEN_PLL_IVA2), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, CM_REG(IDLEST_PLL_IVA2), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL_IVA2), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, OMAP3_CM_REG(IDLEST_PLL_IVA2), LDELAY);
}
/**
@ -590,7 +590,7 @@ void prcm_init(void)
osc_clk = get_osc_clk_speed();
get_sys_clkin_sel(osc_clk, &sys_clkin_sel);
/* set input crystal speed */
sr32(PRM_REG(CLKSEL), 0, 3, sys_clkin_sel);
sr32(OMAP3_PRM_REG(CLKSEL), 0, 3, sys_clkin_sel);
/*
* OMAP3430:
@ -602,19 +602,19 @@ void prcm_init(void)
*/
if ((cpu_type != CPU_3630) && (sys_clkin_sel > 2)) {
/* input clock divider */
sr32(PRM_REG(CLKSRC_CTRL), 6, 2, 2);
sr32(OMAP3_PRM_REG(CLKSRC_CTRL), 6, 2, 2);
clk_index = sys_clkin_sel / 2;
} else {
/* input clock divider */
sr32(PRM_REG(CLKSRC_CTRL), 6, 2, 1);
sr32(OMAP3_PRM_REG(CLKSRC_CTRL), 6, 2, 1);
clk_index = sys_clkin_sel;
}
/*
* Unlock the MPU PLL. Run slow while clocks are being configured.
*/
sr32(CM_REG(CLKEN_PLL_MPU), 0, 3, PLL_LOW_POWER_BYPASS);
wait_on_value((0x1 << 0), 0, CM_REG(IDLEST_PLL_MPU), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL_MPU), 0, 3, PLL_LOW_POWER_BYPASS);
wait_on_value((0x1 << 0), 0, OMAP3_CM_REG(IDLEST_PLL_MPU), LDELAY);
if (cpu_type == CPU_3430) {
init_core_dpll_34x(cpu_rev, clk_index);
@ -636,12 +636,12 @@ void prcm_init(void)
/*
* Clock configuration complete. Lock MPU PLL.
*/
sr32(CM_REG(CLKEN_PLL_MPU), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, CM_REG(IDLEST_PLL_MPU), LDELAY);
sr32(OMAP3_CM_REG(CLKEN_PLL_MPU), 0, 3, PLL_LOCK);
wait_on_value((0x1 << 0), 1, OMAP3_CM_REG(IDLEST_PLL_MPU), LDELAY);
/* Set up GPTimers to sys_clk source only */
sr32(CM_REG(CLKSEL_PER), 0, 8, 0xff);
sr32(CM_REG(CLKSEL_WKUP), 0, 1, 1);
sr32(OMAP3_CM_REG(CLKSEL_PER), 0, 8, 0xff);
sr32(OMAP3_CM_REG(CLKSEL_WKUP), 0, 1, 1);
sdelay(5000);
@ -663,11 +663,11 @@ void prcm_init(void)
static void per_clocks_enable(void)
{
/* Enable GP2 timer. */
sr32(CM_REG(CLKSEL_PER), 0, 1, 0x1); /* GPT2 = sys clk */
sr32(CM_REG(ICLKEN_PER), 3, 1, 0x1); /* ICKen GPT2 */
sr32(CM_REG(FCLKEN_PER), 3, 1, 0x1); /* FCKen GPT2 */
sr32(OMAP3_CM_REG(CLKSEL_PER), 0, 1, 0x1); /* GPT2 = sys clk */
sr32(OMAP3_CM_REG(ICLKEN_PER), 3, 1, 0x1); /* ICKen GPT2 */
sr32(OMAP3_CM_REG(FCLKEN_PER), 3, 1, 0x1); /* FCKen GPT2 */
/* Enable the ICLK for 32K Sync Timer as its used in udelay */
sr32(CM_REG(ICLKEN_WKUP), 2, 1, 0x1);
sr32(OMAP3_CM_REG(ICLKEN_WKUP), 2, 1, 0x1);
#define FCK_IVA2_ON 0x00000001
#define FCK_CORE1_ON 0x03fffe29
@ -681,18 +681,18 @@ static void per_clocks_enable(void)
#define ICK_CAM_ON 0x00000001
#define FCK_PER_ON 0x0003ffff
#define ICK_PER_ON 0x0003ffff
sr32(CM_REG(FCLKEN_IVA2), 0, 32, FCK_IVA2_ON);
sr32(CM_REG(FCLKEN1_CORE), 0, 32, FCK_CORE1_ON);
sr32(CM_REG(ICLKEN1_CORE), 0, 32, ICK_CORE1_ON);
sr32(CM_REG(ICLKEN2_CORE), 0, 32, ICK_CORE2_ON);
sr32(CM_REG(FCLKEN_WKUP), 0, 32, FCK_WKUP_ON);
sr32(CM_REG(ICLKEN_WKUP), 0, 32, ICK_WKUP_ON);
sr32(CM_REG(FCLKEN_DSS), 0, 32, FCK_DSS_ON);
sr32(CM_REG(ICLKEN_DSS), 0, 32, ICK_DSS_ON);
sr32(CM_REG(FCLKEN_CAM), 0, 32, FCK_CAM_ON);
sr32(CM_REG(ICLKEN_CAM), 0, 32, ICK_CAM_ON);
sr32(CM_REG(FCLKEN_PER), 0, 32, FCK_PER_ON);
sr32(CM_REG(ICLKEN_PER), 0, 32, ICK_PER_ON);
sr32(OMAP3_CM_REG(FCLKEN_IVA2), 0, 32, FCK_IVA2_ON);
sr32(OMAP3_CM_REG(FCLKEN1_CORE), 0, 32, FCK_CORE1_ON);
sr32(OMAP3_CM_REG(ICLKEN1_CORE), 0, 32, ICK_CORE1_ON);
sr32(OMAP3_CM_REG(ICLKEN2_CORE), 0, 32, ICK_CORE2_ON);
sr32(OMAP3_CM_REG(FCLKEN_WKUP), 0, 32, FCK_WKUP_ON);
sr32(OMAP3_CM_REG(ICLKEN_WKUP), 0, 32, ICK_WKUP_ON);
sr32(OMAP3_CM_REG(FCLKEN_DSS), 0, 32, FCK_DSS_ON);
sr32(OMAP3_CM_REG(ICLKEN_DSS), 0, 32, ICK_DSS_ON);
sr32(OMAP3_CM_REG(FCLKEN_CAM), 0, 32, FCK_CAM_ON);
sr32(OMAP3_CM_REG(ICLKEN_CAM), 0, 32, ICK_CAM_ON);
sr32(OMAP3_CM_REG(FCLKEN_PER), 0, 32, FCK_PER_ON);
sr32(OMAP3_CM_REG(ICLKEN_PER), 0, 32, ICK_PER_ON);
/* Settle down my friend */
sdelay(1000);

View File

@ -53,7 +53,7 @@
*/
void __noreturn reset_cpu(unsigned long addr)
{
writel(OMAP3_PRM_RSTCTRL_RESET, PRM_REG(RSTCTRL));
writel(OMAP3_PRM_RSTCTRL_RESET, OMAP3_PRM_REG(RSTCTRL));
while (1);
}
@ -69,7 +69,7 @@ u32 get_cpu_type(void)
u32 idcode_val;
u16 hawkeye;
idcode_val = readl(IDCODE_REG);
idcode_val = readl(OMAP3_IDCODE_REG);
hawkeye = get_hawkeye(idcode_val);
@ -98,7 +98,7 @@ u32 get_cpu_rev(void)
u32 idcode_val;
u32 version, retval;
idcode_val = readl(IDCODE_REG);
idcode_val = readl(OMAP3_IDCODE_REG);
version = get_version(idcode_val);
@ -167,7 +167,7 @@ u32 get_sdr_cs_size(u32 offset)
{
u32 size;
/* get ram size field */
size = readl(SDRC_REG(MCFG_0) + offset) >> 8;
size = readl(OMAP3_SDRC_REG(MCFG_0) + offset) >> 8;
size &= 0x3FF; /* remove unwanted bits */
size *= 2 * (1024 * 1024); /* find size in MB */
return size;
@ -183,7 +183,7 @@ u32 get_sdr_cs1_base(void)
u32 base;
u32 cs_cfg;
cs_cfg = readl(SDRC_REG(CS_CFG));
cs_cfg = readl(OMAP3_SDRC_REG(CS_CFG));
/* get ram size field */
base = (cs_cfg & 0x0000000F) << 2; /* get CS1STARTHIGH */
base = base | ((cs_cfg & 0x00000300) >> 8); /* get CS1STARTLOW */
@ -201,7 +201,7 @@ EXPORT_SYMBOL(get_sdr_cs1_base);
*/
inline u32 get_sysboot_value(void)
{
return (0x0000003F & readl(CONTROL_REG(STATUS)));
return (0x0000003F & readl(OMAP3_CONTROL_REG(STATUS)));
}
/**
@ -290,7 +290,7 @@ u32 get_boot_type(void)
u32 get_device_type(void)
{
int mode;
mode = readl(CONTROL_REG(STATUS)) & (DEVICE_MASK);
mode = readl(OMAP3_CONTROL_REG(STATUS)) & (DEVICE_MASK);
return (mode >>= 8);
}
@ -375,17 +375,17 @@ static void watchdog_init(void)
{
int pending = 1;
sr32(CM_REG(FCLKEN_WKUP), 5, 1, 1);
sr32(CM_REG(ICLKEN_WKUP), 5, 1, 1);
wait_on_value((0x1 << 5), 0x20, CM_REG(IDLEST_WKUP), 5);
sr32(OMAP3_CM_REG(FCLKEN_WKUP), 5, 1, 1);
sr32(OMAP3_CM_REG(ICLKEN_WKUP), 5, 1, 1);
wait_on_value((0x1 << 5), 0x20, OMAP3_CM_REG(IDLEST_WKUP), 5);
writel(WDT_DISABLE_CODE1, WDT_REG(WSPR));
writel(WDT_DISABLE_CODE1, OMAP3_WDT_REG(WSPR));
do {
pending = readl(WDT_REG(WWPS));
pending = readl(OMAP3_WDT_REG(WWPS));
} while (pending);
writel(WDT_DISABLE_CODE2, WDT_REG(WSPR));
writel(WDT_DISABLE_CODE2, OMAP3_WDT_REG(WSPR));
}
/**
@ -494,17 +494,17 @@ const struct gpmc_config omap3_nand_cfg = {
#ifndef __PBL__
static int omap3_gpio_init(void)
{
add_generic_device("omap-gpio", 0, NULL, OMAP_GPIO1_BASE,
add_generic_device("omap-gpio", 0, NULL, OMAP3_GPIO1_BASE,
0xf00, IORESOURCE_MEM, NULL);
add_generic_device("omap-gpio", 1, NULL, OMAP_GPIO2_BASE,
add_generic_device("omap-gpio", 1, NULL, OMAP3_GPIO2_BASE,
0xf00, IORESOURCE_MEM, NULL);
add_generic_device("omap-gpio", 2, NULL, OMAP_GPIO3_BASE,
add_generic_device("omap-gpio", 2, NULL, OMAP3_GPIO3_BASE,
0xf00, IORESOURCE_MEM, NULL);
add_generic_device("omap-gpio", 3, NULL, OMAP_GPIO4_BASE,
add_generic_device("omap-gpio", 3, NULL, OMAP3_GPIO4_BASE,
0xf00, IORESOURCE_MEM, NULL);
add_generic_device("omap-gpio", 4, NULL, OMAP_GPIO5_BASE,
add_generic_device("omap-gpio", 4, NULL, OMAP3_GPIO5_BASE,
0xf00, IORESOURCE_MEM, NULL);
add_generic_device("omap-gpio", 5, NULL, OMAP_GPIO6_BASE,
add_generic_device("omap-gpio", 5, NULL, OMAP3_GPIO6_BASE,
0xf00, IORESOURCE_MEM, NULL);
return 0;

View File

@ -30,37 +30,37 @@ void omap_usb_utmi_init(struct omap_hcd *omap, u8 tll_channel_mask)
/* Program the 3 TLL channels upfront */
for (i = 0; i < OMAP_TLL_CHANNEL_COUNT; i++) {
reg = __raw_readl(OMAP_USBTLL_BASE + OMAP_TLL_CHANNEL_CONF(i));
reg = __raw_readl(OMAP3_USBTLL_BASE + OMAP_TLL_CHANNEL_CONF(i));
/* Disable AutoIdle, BitStuffing and use SDR Mode */
reg &= ~(OMAP_TLL_CHANNEL_CONF_UTMIAUTOIDLE
| OMAP_TLL_CHANNEL_CONF_ULPINOBITSTUFF
| OMAP_TLL_CHANNEL_CONF_ULPIDDRMODE);
__raw_writel(reg, OMAP_USBTLL_BASE + OMAP_TLL_CHANNEL_CONF(i));
__raw_writel(reg, OMAP3_USBTLL_BASE + OMAP_TLL_CHANNEL_CONF(i));
}
/* Program Common TLL register */
reg = __raw_readl(OMAP_USBTLL_BASE + OMAP_TLL_SHARED_CONF);
reg = __raw_readl(OMAP3_USBTLL_BASE + OMAP_TLL_SHARED_CONF);
reg |= (OMAP_TLL_SHARED_CONF_FCLK_IS_ON
| OMAP_TLL_SHARED_CONF_USB_DIVRATION
| OMAP_TLL_SHARED_CONF_USB_180D_SDR_EN);
reg &= ~OMAP_TLL_SHARED_CONF_USB_90D_DDR_EN;
__raw_writel(reg, OMAP_USBTLL_BASE + OMAP_TLL_SHARED_CONF);
__raw_writel(reg, OMAP3_USBTLL_BASE + OMAP_TLL_SHARED_CONF);
/* Enable channels now */
for (i = 0; i < OMAP_TLL_CHANNEL_COUNT; i++) {
reg = __raw_readl(OMAP_USBTLL_BASE + OMAP_TLL_CHANNEL_CONF(i));
reg = __raw_readl(OMAP3_USBTLL_BASE + OMAP_TLL_CHANNEL_CONF(i));
/* Enable only the reg that is needed */
if (!(tll_channel_mask & 1<<i))
continue;
reg |= OMAP_TLL_CHANNEL_CONF_CHANEN;
__raw_writel(reg, OMAP_USBTLL_BASE + OMAP_TLL_CHANNEL_CONF(i));
__raw_writel(reg, OMAP3_USBTLL_BASE + OMAP_TLL_CHANNEL_CONF(i));
__raw_writeb(0xbe,
OMAP_USBTLL_BASE + OMAP_TLL_ULPI_SCRATCH_REGISTER(i));
OMAP3_USBTLL_BASE + OMAP_TLL_ULPI_SCRATCH_REGISTER(i));
}
}
@ -78,56 +78,56 @@ int ehci_omap_init(struct omap_hcd *omap)
}
v = __raw_readl(CM_REG(CLKSEL4_PLL));
v = __raw_readl(OMAP3_CM_REG(CLKSEL4_PLL));
v |= (12 << OMAP3430ES2_PERIPH2_DPLL_DIV_SHIFT);
v |= (120 << OMAP3430ES2_PERIPH2_DPLL_MULT_SHIFT);
__raw_writel(v, CM_REG(CLKSEL4_PLL));
__raw_writel(v, OMAP3_CM_REG(CLKSEL4_PLL));
v = __raw_readl(CM_REG(CLKSEL5_PLL));
v = __raw_readl(OMAP3_CM_REG(CLKSEL5_PLL));
v |= (1 << OMAP3430ES2_DIV_120M_SHIFT);
__raw_writel(v, CM_REG(CLKSEL5_PLL));
__raw_writel(v, OMAP3_CM_REG(CLKSEL5_PLL));
v = __raw_readl(CM_REG(CLKEN2_PLL));
v = __raw_readl(OMAP3_CM_REG(CLKEN2_PLL));
v |= (7 << OMAP3430ES2_PERIPH2_DPLL_FREQSEL_SHIFT);
v |= (7 << OMAP3430ES2_EN_PERIPH2_DPLL_SHIFT);
__raw_writel(v, CM_REG(CLKEN2_PLL));
__raw_writel(v, OMAP3_CM_REG(CLKEN2_PLL));
/* PRCM settings for USBHOST:
* Interface clk un-related to domain transition
*/
v = __raw_readl(CM_REG(AIDLE_USBH));
v = __raw_readl(OMAP3_CM_REG(AIDLE_USBH));
v |= (0 << OMAP3430ES2_AUTO_USBHOST_SHIFT);
__raw_writel(v, CM_REG(AIDLE_USBH));
__raw_writel(v, OMAP3_CM_REG(AIDLE_USBH));
/* Disable sleep dependency with MPU and IVA */
v = __raw_readl(CM_REG(SLEEPD_USBH));
v = __raw_readl(OMAP3_CM_REG(SLEEPD_USBH));
v |= (0 << OMAP3430ES2_EN_MPU_SHIFT);
v |= (0 << OMAP3430ES2_EN_IVA2_SHIFT);
__raw_writel(v, CM_REG(SLEEPD_USBH));
__raw_writel(v, OMAP3_CM_REG(SLEEPD_USBH));
/* Disable Automatic transition of clock */
v = __raw_readl(CM_REG(CLKSTCTRL_USBH));
v = __raw_readl(OMAP3_CM_REG(CLKSTCTRL_USBH));
v |= (0 << OMAP3430ES2_CLKTRCTRL_USBHOST_SHIFT);
__raw_writel(v, CM_REG(CLKSTCTRL_USBH));
__raw_writel(v, OMAP3_CM_REG(CLKSTCTRL_USBH));
/* Enable Clocks for USBHOST */
/* enable usbhost_ick */
v = __raw_readl(CM_REG(ICLKEN_USBH));
v = __raw_readl(OMAP3_CM_REG(ICLKEN_USBH));
v |= (1 << OMAP3430ES2_EN_USBHOST_SHIFT);
__raw_writel(v, CM_REG(ICLKEN_USBH));
__raw_writel(v, OMAP3_CM_REG(ICLKEN_USBH));
/* enable usbhost_120m_fck */
v = __raw_readl(CM_REG(FCLKEN_USBH));
v = __raw_readl(OMAP3_CM_REG(FCLKEN_USBH));
v |= (1 << OMAP3430ES2_EN_USBHOST2_SHIFT);
__raw_writel(v, CM_REG(FCLKEN_USBH));
__raw_writel(v, OMAP3_CM_REG(FCLKEN_USBH));
/* enable usbhost_48m_fck */
v = __raw_readl(CM_REG(FCLKEN_USBH));
v = __raw_readl(OMAP3_CM_REG(FCLKEN_USBH));
v |= (1 << OMAP3430ES2_EN_USBHOST1_SHIFT);
__raw_writel(v, CM_REG(FCLKEN_USBH));
__raw_writel(v, OMAP3_CM_REG(FCLKEN_USBH));
if (omap->phy_reset) {
/* Refer: ISSUE1 */
@ -144,28 +144,28 @@ int ehci_omap_init(struct omap_hcd *omap)
}
/* enable usbtll_fck */
v = __raw_readl(CM_REG(FCLKEN3_CORE));
v = __raw_readl(OMAP3_CM_REG(FCLKEN3_CORE));
v |= (1 << OMAP3430ES2_EN_USBTLL_SHIFT);
__raw_writel(v, CM_REG(FCLKEN3_CORE));
__raw_writel(v, OMAP3_CM_REG(FCLKEN3_CORE));
/* Configure TLL for 60Mhz clk for ULPI */
/* enable usbtll_ick */
v = __raw_readl(CM_REG(ICLKEN3_CORE));
v = __raw_readl(OMAP3_CM_REG(ICLKEN3_CORE));
v |= (1 << OMAP3430ES2_EN_USBTLL_SHIFT);
__raw_writel(v, CM_REG(ICLKEN3_CORE));
__raw_writel(v, OMAP3_CM_REG(ICLKEN3_CORE));
v = __raw_readl(CM_REG(AIDLE3_CORE));
v = __raw_readl(OMAP3_CM_REG(AIDLE3_CORE));
v |= (0 << OMAP3430ES2_AUTO_USBTLL_SHIFT);
__raw_writel(v, CM_REG(AIDLE3_CORE));
__raw_writel(v, OMAP3_CM_REG(AIDLE3_CORE));
/* perform TLL soft reset, and wait until reset is complete */
__raw_writel(OMAP_USBTLL_SYSCONFIG_SOFTRESET,
OMAP_USBTLL_BASE + OMAP_USBTLL_SYSCONFIG);
OMAP3_USBTLL_BASE + OMAP_USBTLL_SYSCONFIG);
/* Wait for TLL reset to complete */
start = get_time_ns();
while (!(__raw_readl(OMAP_USBTLL_BASE + OMAP_USBTLL_SYSSTATUS)
while (!(__raw_readl(OMAP3_USBTLL_BASE + OMAP_USBTLL_SYSSTATUS)
& OMAP_USBTLL_SYSSTATUS_RESETDONE)) {
if (is_timeout(start, timeout * USECOND)) {
return -ETIMEDOUT;
@ -175,18 +175,18 @@ int ehci_omap_init(struct omap_hcd *omap)
/* (1<<3) = no idle mode only for initial debugging */
__raw_writel(OMAP_USBTLL_SYSCONFIG_ENAWAKEUP |
OMAP_USBTLL_SYSCONFIG_SIDLEMODE |
OMAP_USBTLL_SYSCONFIG_CACTIVITY, OMAP_USBTLL_BASE + OMAP_USBTLL_SYSCONFIG);
OMAP_USBTLL_SYSCONFIG_CACTIVITY, OMAP3_USBTLL_BASE + OMAP_USBTLL_SYSCONFIG);
/* Put UHH in NoIdle/NoStandby mode */
v = __raw_readl(OMAP_UHH_CONFIG_BASE + OMAP_UHH_SYSCONFIG);
v = __raw_readl(OMAP3_UHH_CONFIG_BASE + OMAP_UHH_SYSCONFIG);
v |= (OMAP_UHH_SYSCONFIG_ENAWAKEUP
| OMAP_UHH_SYSCONFIG_SIDLEMODE
| OMAP_UHH_SYSCONFIG_CACTIVITY
| OMAP_UHH_SYSCONFIG_MIDLEMODE);
v &= ~OMAP_UHH_SYSCONFIG_AUTOIDLE;
__raw_writel(v, OMAP_UHH_CONFIG_BASE + OMAP_UHH_SYSCONFIG);
__raw_writel(v, OMAP3_UHH_CONFIG_BASE + OMAP_UHH_SYSCONFIG);
v = __raw_readl(OMAP_UHH_CONFIG_BASE + OMAP_UHH_HOSTCONFIG);
v = __raw_readl(OMAP3_UHH_CONFIG_BASE + OMAP_UHH_HOSTCONFIG);
/* setup ULPI bypass and burst configurations */
v |= (OMAP_UHH_HOSTCONFIG_INCR4_BURST_EN
| OMAP_UHH_HOSTCONFIG_INCR8_BURST_EN
@ -225,7 +225,7 @@ int ehci_omap_init(struct omap_hcd *omap)
v |= OMAP_UHH_HOSTCONFIG_ULPI_P3_BYPASS;
}
__raw_writel(v, OMAP_UHH_CONFIG_BASE + OMAP_UHH_HOSTCONFIG);
__raw_writel(v, OMAP3_UHH_CONFIG_BASE + OMAP_UHH_HOSTCONFIG);
if ((omap->port_mode[0] == EHCI_HCD_OMAP_MODE_TLL) ||
(omap->port_mode[1] == EHCI_HCD_OMAP_MODE_TLL) ||