Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: OMAP3+: voltage: remove initial voltage OMAP4: Intialize IVA Device in addition to DSP device. omap: rx51: mark reserved memory earlier OMAP3: l3: fix for "irq 10: nobody cared" message arm: omap2: enable smc instruction for sleep34xx OMAP2/3: hwmod: fix gpio-reset timeouts seen during bootup. OMAP3: PM: Do not rely on ROM code to restore CM_AUTOIDLE_PLL.AUTO_PERIPH_DPLL OMAP2+: PM: Fix the saving of CM_AUTOIDLE_PLL register on scratchpad area OMAP4: clock data: Change DSS clock aliases OMAP2+: hwmod data: Fix wrong dma_system end address
This commit is contained in:
Коммит
9748d4d2b4
|
@ -68,7 +68,7 @@ obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o
|
||||||
obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
|
obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
|
||||||
|
|
||||||
AFLAGS_sleep24xx.o :=-Wa,-march=armv6
|
AFLAGS_sleep24xx.o :=-Wa,-march=armv6
|
||||||
AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a
|
AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec)
|
||||||
|
|
||||||
ifeq ($(CONFIG_PM_VERBOSE),y)
|
ifeq ($(CONFIG_PM_VERBOSE),y)
|
||||||
CFLAGS_pm_bus.o += -DDEBUG
|
CFLAGS_pm_bus.o += -DDEBUG
|
||||||
|
|
|
@ -141,14 +141,19 @@ static void __init rx51_init(void)
|
||||||
static void __init rx51_map_io(void)
|
static void __init rx51_map_io(void)
|
||||||
{
|
{
|
||||||
omap2_set_globals_3xxx();
|
omap2_set_globals_3xxx();
|
||||||
rx51_video_mem_init();
|
|
||||||
omap34xx_map_common_io();
|
omap34xx_map_common_io();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void __init rx51_reserve(void)
|
||||||
|
{
|
||||||
|
rx51_video_mem_init();
|
||||||
|
omap_reserve();
|
||||||
|
}
|
||||||
|
|
||||||
MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
|
MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
|
||||||
/* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
|
/* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
|
||||||
.boot_params = 0x80000100,
|
.boot_params = 0x80000100,
|
||||||
.reserve = omap_reserve,
|
.reserve = rx51_reserve,
|
||||||
.map_io = rx51_map_io,
|
.map_io = rx51_map_io,
|
||||||
.init_early = rx51_init_early,
|
.init_early = rx51_init_early,
|
||||||
.init_irq = omap_init_irq,
|
.init_irq = omap_init_irq,
|
||||||
|
|
|
@ -3116,14 +3116,9 @@ static struct omap_clk omap44xx_clks[] = {
|
||||||
CLK(NULL, "dsp_fck", &dsp_fck, CK_443X),
|
CLK(NULL, "dsp_fck", &dsp_fck, CK_443X),
|
||||||
CLK("omapdss_dss", "sys_clk", &dss_sys_clk, CK_443X),
|
CLK("omapdss_dss", "sys_clk", &dss_sys_clk, CK_443X),
|
||||||
CLK("omapdss_dss", "tv_clk", &dss_tv_clk, CK_443X),
|
CLK("omapdss_dss", "tv_clk", &dss_tv_clk, CK_443X),
|
||||||
CLK("omapdss_dss", "dss_clk", &dss_dss_clk, CK_443X),
|
|
||||||
CLK("omapdss_dss", "video_clk", &dss_48mhz_clk, CK_443X),
|
CLK("omapdss_dss", "video_clk", &dss_48mhz_clk, CK_443X),
|
||||||
CLK("omapdss_dss", "fck", &dss_fck, CK_443X),
|
CLK("omapdss_dss", "fck", &dss_dss_clk, CK_443X),
|
||||||
/*
|
CLK("omapdss_dss", "ick", &dss_fck, CK_443X),
|
||||||
* On OMAP4, DSS ick is a dummy clock; this is needed for compatibility
|
|
||||||
* with OMAP2/3.
|
|
||||||
*/
|
|
||||||
CLK("omapdss_dss", "ick", &dummy_ck, CK_443X),
|
|
||||||
CLK(NULL, "efuse_ctrl_cust_fck", &efuse_ctrl_cust_fck, CK_443X),
|
CLK(NULL, "efuse_ctrl_cust_fck", &efuse_ctrl_cust_fck, CK_443X),
|
||||||
CLK(NULL, "emif1_fck", &emif1_fck, CK_443X),
|
CLK(NULL, "emif1_fck", &emif1_fck, CK_443X),
|
||||||
CLK(NULL, "emif2_fck", &emif2_fck, CK_443X),
|
CLK(NULL, "emif2_fck", &emif2_fck, CK_443X),
|
||||||
|
|
|
@ -247,6 +247,7 @@ struct omap3_cm_regs {
|
||||||
u32 per_cm_clksel;
|
u32 per_cm_clksel;
|
||||||
u32 emu_cm_clksel;
|
u32 emu_cm_clksel;
|
||||||
u32 emu_cm_clkstctrl;
|
u32 emu_cm_clkstctrl;
|
||||||
|
u32 pll_cm_autoidle;
|
||||||
u32 pll_cm_autoidle2;
|
u32 pll_cm_autoidle2;
|
||||||
u32 pll_cm_clksel4;
|
u32 pll_cm_clksel4;
|
||||||
u32 pll_cm_clksel5;
|
u32 pll_cm_clksel5;
|
||||||
|
@ -319,6 +320,15 @@ void omap3_cm_save_context(void)
|
||||||
omap2_cm_read_mod_reg(OMAP3430_EMU_MOD, CM_CLKSEL1);
|
omap2_cm_read_mod_reg(OMAP3430_EMU_MOD, CM_CLKSEL1);
|
||||||
cm_context.emu_cm_clkstctrl =
|
cm_context.emu_cm_clkstctrl =
|
||||||
omap2_cm_read_mod_reg(OMAP3430_EMU_MOD, OMAP2_CM_CLKSTCTRL);
|
omap2_cm_read_mod_reg(OMAP3430_EMU_MOD, OMAP2_CM_CLKSTCTRL);
|
||||||
|
/*
|
||||||
|
* As per erratum i671, ROM code does not respect the PER DPLL
|
||||||
|
* programming scheme if CM_AUTOIDLE_PLL.AUTO_PERIPH_DPLL == 1.
|
||||||
|
* In this case, even though this register has been saved in
|
||||||
|
* scratchpad contents, we need to restore AUTO_PERIPH_DPLL
|
||||||
|
* by ourselves. So, we need to save it anyway.
|
||||||
|
*/
|
||||||
|
cm_context.pll_cm_autoidle =
|
||||||
|
omap2_cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE);
|
||||||
cm_context.pll_cm_autoidle2 =
|
cm_context.pll_cm_autoidle2 =
|
||||||
omap2_cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE2);
|
omap2_cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE2);
|
||||||
cm_context.pll_cm_clksel4 =
|
cm_context.pll_cm_clksel4 =
|
||||||
|
@ -441,6 +451,13 @@ void omap3_cm_restore_context(void)
|
||||||
CM_CLKSEL1);
|
CM_CLKSEL1);
|
||||||
omap2_cm_write_mod_reg(cm_context.emu_cm_clkstctrl, OMAP3430_EMU_MOD,
|
omap2_cm_write_mod_reg(cm_context.emu_cm_clkstctrl, OMAP3430_EMU_MOD,
|
||||||
OMAP2_CM_CLKSTCTRL);
|
OMAP2_CM_CLKSTCTRL);
|
||||||
|
/*
|
||||||
|
* As per erratum i671, ROM code does not respect the PER DPLL
|
||||||
|
* programming scheme if CM_AUTOIDLE_PLL.AUTO_PERIPH_DPLL == 1.
|
||||||
|
* In this case, we need to restore AUTO_PERIPH_DPLL by ourselves.
|
||||||
|
*/
|
||||||
|
omap2_cm_write_mod_reg(cm_context.pll_cm_autoidle, PLL_MOD,
|
||||||
|
CM_AUTOIDLE);
|
||||||
omap2_cm_write_mod_reg(cm_context.pll_cm_autoidle2, PLL_MOD,
|
omap2_cm_write_mod_reg(cm_context.pll_cm_autoidle2, PLL_MOD,
|
||||||
CM_AUTOIDLE2);
|
CM_AUTOIDLE2);
|
||||||
omap2_cm_write_mod_reg(cm_context.pll_cm_clksel4, PLL_MOD,
|
omap2_cm_write_mod_reg(cm_context.pll_cm_clksel4, PLL_MOD,
|
||||||
|
|
|
@ -316,8 +316,14 @@ void omap3_save_scratchpad_contents(void)
|
||||||
omap2_cm_read_mod_reg(WKUP_MOD, CM_CLKSEL);
|
omap2_cm_read_mod_reg(WKUP_MOD, CM_CLKSEL);
|
||||||
prcm_block_contents.cm_clken_pll =
|
prcm_block_contents.cm_clken_pll =
|
||||||
omap2_cm_read_mod_reg(PLL_MOD, CM_CLKEN);
|
omap2_cm_read_mod_reg(PLL_MOD, CM_CLKEN);
|
||||||
|
/*
|
||||||
|
* As per erratum i671, ROM code does not respect the PER DPLL
|
||||||
|
* programming scheme if CM_AUTOIDLE_PLL..AUTO_PERIPH_DPLL == 1.
|
||||||
|
* Then, in anycase, clear these bits to avoid extra latencies.
|
||||||
|
*/
|
||||||
prcm_block_contents.cm_autoidle_pll =
|
prcm_block_contents.cm_autoidle_pll =
|
||||||
omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_AUTOIDLE_PLL);
|
omap2_cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE) &
|
||||||
|
~OMAP3430_AUTO_PERIPH_DPLL_MASK;
|
||||||
prcm_block_contents.cm_clksel1_pll =
|
prcm_block_contents.cm_clksel1_pll =
|
||||||
omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL1_PLL);
|
omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL1_PLL);
|
||||||
prcm_block_contents.cm_clksel2_pll =
|
prcm_block_contents.cm_clksel2_pll =
|
||||||
|
|
|
@ -1639,6 +1639,7 @@ static struct omap_hwmod_ocp_if *omap2420_gpio1_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2420_gpio1_hwmod = {
|
static struct omap_hwmod omap2420_gpio1_hwmod = {
|
||||||
.name = "gpio1",
|
.name = "gpio1",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap242x_gpio1_irqs,
|
.mpu_irqs = omap242x_gpio1_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio1_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio1_irqs),
|
||||||
.main_clk = "gpios_fck",
|
.main_clk = "gpios_fck",
|
||||||
|
@ -1669,6 +1670,7 @@ static struct omap_hwmod_ocp_if *omap2420_gpio2_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2420_gpio2_hwmod = {
|
static struct omap_hwmod omap2420_gpio2_hwmod = {
|
||||||
.name = "gpio2",
|
.name = "gpio2",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap242x_gpio2_irqs,
|
.mpu_irqs = omap242x_gpio2_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio2_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio2_irqs),
|
||||||
.main_clk = "gpios_fck",
|
.main_clk = "gpios_fck",
|
||||||
|
@ -1699,6 +1701,7 @@ static struct omap_hwmod_ocp_if *omap2420_gpio3_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2420_gpio3_hwmod = {
|
static struct omap_hwmod omap2420_gpio3_hwmod = {
|
||||||
.name = "gpio3",
|
.name = "gpio3",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap242x_gpio3_irqs,
|
.mpu_irqs = omap242x_gpio3_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio3_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio3_irqs),
|
||||||
.main_clk = "gpios_fck",
|
.main_clk = "gpios_fck",
|
||||||
|
@ -1729,6 +1732,7 @@ static struct omap_hwmod_ocp_if *omap2420_gpio4_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2420_gpio4_hwmod = {
|
static struct omap_hwmod omap2420_gpio4_hwmod = {
|
||||||
.name = "gpio4",
|
.name = "gpio4",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap242x_gpio4_irqs,
|
.mpu_irqs = omap242x_gpio4_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio4_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio4_irqs),
|
||||||
.main_clk = "gpios_fck",
|
.main_clk = "gpios_fck",
|
||||||
|
@ -1782,7 +1786,7 @@ static struct omap_hwmod_irq_info omap2420_dma_system_irqs[] = {
|
||||||
static struct omap_hwmod_addr_space omap2420_dma_system_addrs[] = {
|
static struct omap_hwmod_addr_space omap2420_dma_system_addrs[] = {
|
||||||
{
|
{
|
||||||
.pa_start = 0x48056000,
|
.pa_start = 0x48056000,
|
||||||
.pa_end = 0x4a0560ff,
|
.pa_end = 0x48056fff,
|
||||||
.flags = ADDR_TYPE_RT
|
.flags = ADDR_TYPE_RT
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -1742,6 +1742,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio1_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2430_gpio1_hwmod = {
|
static struct omap_hwmod omap2430_gpio1_hwmod = {
|
||||||
.name = "gpio1",
|
.name = "gpio1",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap243x_gpio1_irqs,
|
.mpu_irqs = omap243x_gpio1_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio1_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio1_irqs),
|
||||||
.main_clk = "gpios_fck",
|
.main_clk = "gpios_fck",
|
||||||
|
@ -1772,6 +1773,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio2_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2430_gpio2_hwmod = {
|
static struct omap_hwmod omap2430_gpio2_hwmod = {
|
||||||
.name = "gpio2",
|
.name = "gpio2",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap243x_gpio2_irqs,
|
.mpu_irqs = omap243x_gpio2_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio2_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio2_irqs),
|
||||||
.main_clk = "gpios_fck",
|
.main_clk = "gpios_fck",
|
||||||
|
@ -1802,6 +1804,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio3_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2430_gpio3_hwmod = {
|
static struct omap_hwmod omap2430_gpio3_hwmod = {
|
||||||
.name = "gpio3",
|
.name = "gpio3",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap243x_gpio3_irqs,
|
.mpu_irqs = omap243x_gpio3_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio3_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio3_irqs),
|
||||||
.main_clk = "gpios_fck",
|
.main_clk = "gpios_fck",
|
||||||
|
@ -1832,6 +1835,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio4_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2430_gpio4_hwmod = {
|
static struct omap_hwmod omap2430_gpio4_hwmod = {
|
||||||
.name = "gpio4",
|
.name = "gpio4",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap243x_gpio4_irqs,
|
.mpu_irqs = omap243x_gpio4_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio4_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio4_irqs),
|
||||||
.main_clk = "gpios_fck",
|
.main_clk = "gpios_fck",
|
||||||
|
@ -1862,6 +1866,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio5_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap2430_gpio5_hwmod = {
|
static struct omap_hwmod omap2430_gpio5_hwmod = {
|
||||||
.name = "gpio5",
|
.name = "gpio5",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap243x_gpio5_irqs,
|
.mpu_irqs = omap243x_gpio5_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio5_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap243x_gpio5_irqs),
|
||||||
.main_clk = "gpio5_fck",
|
.main_clk = "gpio5_fck",
|
||||||
|
@ -1915,7 +1920,7 @@ static struct omap_hwmod_irq_info omap2430_dma_system_irqs[] = {
|
||||||
static struct omap_hwmod_addr_space omap2430_dma_system_addrs[] = {
|
static struct omap_hwmod_addr_space omap2430_dma_system_addrs[] = {
|
||||||
{
|
{
|
||||||
.pa_start = 0x48056000,
|
.pa_start = 0x48056000,
|
||||||
.pa_end = 0x4a0560ff,
|
.pa_end = 0x48056fff,
|
||||||
.flags = ADDR_TYPE_RT
|
.flags = ADDR_TYPE_RT
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -2141,6 +2141,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio1_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap3xxx_gpio1_hwmod = {
|
static struct omap_hwmod omap3xxx_gpio1_hwmod = {
|
||||||
.name = "gpio1",
|
.name = "gpio1",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap3xxx_gpio1_irqs,
|
.mpu_irqs = omap3xxx_gpio1_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio1_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio1_irqs),
|
||||||
.main_clk = "gpio1_ick",
|
.main_clk = "gpio1_ick",
|
||||||
|
@ -2177,6 +2178,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio2_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap3xxx_gpio2_hwmod = {
|
static struct omap_hwmod omap3xxx_gpio2_hwmod = {
|
||||||
.name = "gpio2",
|
.name = "gpio2",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap3xxx_gpio2_irqs,
|
.mpu_irqs = omap3xxx_gpio2_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio2_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio2_irqs),
|
||||||
.main_clk = "gpio2_ick",
|
.main_clk = "gpio2_ick",
|
||||||
|
@ -2213,6 +2215,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio3_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap3xxx_gpio3_hwmod = {
|
static struct omap_hwmod omap3xxx_gpio3_hwmod = {
|
||||||
.name = "gpio3",
|
.name = "gpio3",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap3xxx_gpio3_irqs,
|
.mpu_irqs = omap3xxx_gpio3_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio3_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio3_irqs),
|
||||||
.main_clk = "gpio3_ick",
|
.main_clk = "gpio3_ick",
|
||||||
|
@ -2249,6 +2252,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio4_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap3xxx_gpio4_hwmod = {
|
static struct omap_hwmod omap3xxx_gpio4_hwmod = {
|
||||||
.name = "gpio4",
|
.name = "gpio4",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap3xxx_gpio4_irqs,
|
.mpu_irqs = omap3xxx_gpio4_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio4_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio4_irqs),
|
||||||
.main_clk = "gpio4_ick",
|
.main_clk = "gpio4_ick",
|
||||||
|
@ -2285,6 +2289,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio5_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap3xxx_gpio5_hwmod = {
|
static struct omap_hwmod omap3xxx_gpio5_hwmod = {
|
||||||
.name = "gpio5",
|
.name = "gpio5",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap3xxx_gpio5_irqs,
|
.mpu_irqs = omap3xxx_gpio5_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio5_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio5_irqs),
|
||||||
.main_clk = "gpio5_ick",
|
.main_clk = "gpio5_ick",
|
||||||
|
@ -2321,6 +2326,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio6_slaves[] = {
|
||||||
|
|
||||||
static struct omap_hwmod omap3xxx_gpio6_hwmod = {
|
static struct omap_hwmod omap3xxx_gpio6_hwmod = {
|
||||||
.name = "gpio6",
|
.name = "gpio6",
|
||||||
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
||||||
.mpu_irqs = omap3xxx_gpio6_irqs,
|
.mpu_irqs = omap3xxx_gpio6_irqs,
|
||||||
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio6_irqs),
|
.mpu_irqs_cnt = ARRAY_SIZE(omap3xxx_gpio6_irqs),
|
||||||
.main_clk = "gpio6_ick",
|
.main_clk = "gpio6_ick",
|
||||||
|
@ -2386,7 +2392,7 @@ static struct omap_hwmod_irq_info omap3xxx_dma_system_irqs[] = {
|
||||||
static struct omap_hwmod_addr_space omap3xxx_dma_system_addrs[] = {
|
static struct omap_hwmod_addr_space omap3xxx_dma_system_addrs[] = {
|
||||||
{
|
{
|
||||||
.pa_start = 0x48056000,
|
.pa_start = 0x48056000,
|
||||||
.pa_end = 0x4a0560ff,
|
.pa_end = 0x48056fff,
|
||||||
.flags = ADDR_TYPE_RT
|
.flags = ADDR_TYPE_RT
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -885,7 +885,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dma_system_masters[] = {
|
||||||
static struct omap_hwmod_addr_space omap44xx_dma_system_addrs[] = {
|
static struct omap_hwmod_addr_space omap44xx_dma_system_addrs[] = {
|
||||||
{
|
{
|
||||||
.pa_start = 0x4a056000,
|
.pa_start = 0x4a056000,
|
||||||
.pa_end = 0x4a0560ff,
|
.pa_end = 0x4a056fff,
|
||||||
.flags = ADDR_TYPE_RT
|
.flags = ADDR_TYPE_RT
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -196,11 +196,11 @@ static irqreturn_t omap3_l3_app_irq(int irq, void *_l3)
|
||||||
/* No timeout error for debug sources */
|
/* No timeout error for debug sources */
|
||||||
}
|
}
|
||||||
|
|
||||||
base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
|
|
||||||
|
|
||||||
/* identify the error source */
|
/* identify the error source */
|
||||||
for (err_source = 0; !(status & (1 << err_source)); err_source++)
|
for (err_source = 0; !(status & (1 << err_source)); err_source++)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
base = l3->rt + *(omap3_l3_bases[int_type] + err_source);
|
||||||
error = omap3_l3_readll(base, L3_ERROR_LOG);
|
error = omap3_l3_readll(base, L3_ERROR_LOG);
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
|
|
|
@ -89,6 +89,7 @@ static void omap2_init_processor_devices(void)
|
||||||
if (cpu_is_omap44xx()) {
|
if (cpu_is_omap44xx()) {
|
||||||
_init_omap_device("l3_main_1", &l3_dev);
|
_init_omap_device("l3_main_1", &l3_dev);
|
||||||
_init_omap_device("dsp", &dsp_dev);
|
_init_omap_device("dsp", &dsp_dev);
|
||||||
|
_init_omap_device("iva", &iva_dev);
|
||||||
} else {
|
} else {
|
||||||
_init_omap_device("l3_main", &l3_dev);
|
_init_omap_device("l3_main", &l3_dev);
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,6 @@ static int __init _config_common_vdd_data(struct omap_vdd_info *vdd)
|
||||||
sys_clk_speed /= 1000;
|
sys_clk_speed /= 1000;
|
||||||
|
|
||||||
/* Generic voltage parameters */
|
/* Generic voltage parameters */
|
||||||
vdd->curr_volt = 1200000;
|
|
||||||
vdd->volt_scale = vp_forceupdate_scale_voltage;
|
vdd->volt_scale = vp_forceupdate_scale_voltage;
|
||||||
vdd->vp_enabled = false;
|
vdd->vp_enabled = false;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче