Commit f126776a authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'omap-for-v3.15/fixes-v2-signed' of...

Merge tag 'omap-for-v3.15/fixes-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Fixes for omaps, mostly to fix some GPMC, DSS and USB issues for
device tree based booting. And turns out BeagleBoard xM A/B
needs it's own minimal dts in addition to the related u-boot
changes. Also few minor documentation and typo fixes are merged
to get them out of the way.

* tag 'omap-for-v3.15/fixes-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix GPMC remap for devices using an offset
  ARM: OMAP2+: Fix oops for GPMC free
  ARM: dts: Add support for the BeagleBoard xM A/B
  ARM: dts: Grammar /that will/it will/
  ARM: dts: Grammar /is uses/ is used/
  ARM: OMAP2+: Fix config name for USB3 PHY
  ARM: dts: am335x: update USB DT references
  ARM: dts: OMAP2+: remove uses of obsolete gpmc,device-nand
  ARM: AM335X: EVM: fix pinmux documentation in devicetree
  ARM: OMAP2+: N900: remove omapdss init for DT boot
  ARM: dts: dra7xx-clocks: Correct mcasp2_ahclkx_mux bit-shift
  ARM: dts: omap5: Add clocks to USB3 PHY node
  ARM: OMAP2+: hwmod: fix missing braces in _init()
  ARM: AM43xx: fix dpll init in bypass mode
  ARM: OMAP3: hwmod data: Correct clock domains for USB modules
  ARM: OMAP3: PM: remove access to PRM_VOLTCTRL register
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 072c8b3f fb677ef7
...@@ -245,6 +245,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ ...@@ -245,6 +245,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
omap3-sbc-t3730.dtb \ omap3-sbc-t3730.dtb \
omap3-devkit8000.dtb \ omap3-devkit8000.dtb \
omap3-beagle-xm.dtb \ omap3-beagle-xm.dtb \
omap3-beagle-xm-ab.dtb \
omap3-evm.dtb \ omap3-evm.dtb \
omap3-evm-37xx.dtb \ omap3-evm-37xx.dtb \
omap3-ldp.dtb \ omap3-ldp.dtb \
......
...@@ -183,7 +183,7 @@ &uart0 { ...@@ -183,7 +183,7 @@ &uart0 {
&usb { &usb {
status = "okay"; status = "okay";
control@44e10000 { control@44e10620 {
status = "okay"; status = "okay";
}; };
...@@ -204,7 +204,7 @@ usb@47401800 { ...@@ -204,7 +204,7 @@ usb@47401800 {
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@07402000 { dma-controller@47402000 {
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -301,8 +301,8 @@ lcd_pins_s0: lcd_pins_s0 { ...@@ -301,8 +301,8 @@ lcd_pins_s0: lcd_pins_s0 {
am335x_evm_audio_pins: am335x_evm_audio_pins { am335x_evm_audio_pins: am335x_evm_audio_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rx_dv.mcasp1_aclkx */ 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_txd3.mcasp1_fsx */ 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */ 0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */ 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
>; >;
...@@ -331,7 +331,7 @@ tps: tps@2d { ...@@ -331,7 +331,7 @@ tps: tps@2d {
&usb { &usb {
status = "okay"; status = "okay";
control@44e10000 { control@44e10620 {
status = "okay"; status = "okay";
}; };
...@@ -352,7 +352,7 @@ usb@47401800 { ...@@ -352,7 +352,7 @@ usb@47401800 {
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@07402000 { dma-controller@47402000 {
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -364,7 +364,7 @@ tlv320aic3106: tlv320aic3106@1b { ...@@ -364,7 +364,7 @@ tlv320aic3106: tlv320aic3106@1b {
&usb { &usb {
status = "okay"; status = "okay";
control@44e10000 { control@44e10620 {
status = "okay"; status = "okay";
}; };
...@@ -385,7 +385,7 @@ usb@47401800 { ...@@ -385,7 +385,7 @@ usb@47401800 {
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@07402000 { dma-controller@47402000 {
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -118,7 +118,6 @@ nand@0,0 { ...@@ -118,7 +118,6 @@ nand@0,0 {
reg = <0 0 0>; /* CS0, offset 0 */ reg = <0 0 0>; /* CS0, offset 0 */
nand-bus-width = <8>; nand-bus-width = <8>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
gpmc,device-nand = "true";
gpmc,device-width = <1>; gpmc,device-width = <1>;
gpmc,sync-clk-ps = <0>; gpmc,sync-clk-ps = <0>;
gpmc,cs-on-ns = <0>; gpmc,cs-on-ns = <0>;
...@@ -202,7 +201,7 @@ &uart0 { ...@@ -202,7 +201,7 @@ &uart0 {
&usb { &usb {
status = "okay"; status = "okay";
control@44e10000 { control@44e10620 {
status = "okay"; status = "okay";
}; };
...@@ -223,7 +222,7 @@ usb@47401800 { ...@@ -223,7 +222,7 @@ usb@47401800 {
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@07402000 { dma-controller@47402000 {
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -72,7 +72,7 @@ pmu { ...@@ -72,7 +72,7 @@ pmu {
}; };
/* /*
* The soc node represents the soc top level view. It is uses for IPs * The soc node represents the soc top level view. It is used for IPs
* that are not memory mapped in the MPU view or for the MPU itself. * that are not memory mapped in the MPU view or for the MPU itself.
*/ */
soc { soc {
...@@ -94,8 +94,8 @@ am33xx_pinmux: pinmux@44e10800 { ...@@ -94,8 +94,8 @@ am33xx_pinmux: pinmux@44e10800 {
/* /*
* XXX: Use a flat representation of the AM33XX interconnect. * XXX: Use a flat representation of the AM33XX interconnect.
* The real AM33XX interconnect network is quite complex.Since * The real AM33XX interconnect network is quite complex. Since
* that will not bring real advantage to represent that in DT * it will not bring real advantage to represent that in DT
* for the moment, just use a fake OCP bus entry to represent * for the moment, just use a fake OCP bus entry to represent
* the whole bus hierarchy. * the whole bus hierarchy.
*/ */
......
...@@ -80,7 +80,7 @@ gic: interrupt-controller@48211000 { ...@@ -80,7 +80,7 @@ gic: interrupt-controller@48211000 {
}; };
/* /*
* The soc node represents the soc top level view. It is uses for IPs * The soc node represents the soc top level view. It is used for IPs
* that are not memory mapped in the MPU view or for the MPU itself. * that are not memory mapped in the MPU view or for the MPU itself.
*/ */
soc { soc {
...@@ -94,7 +94,7 @@ mpu { ...@@ -94,7 +94,7 @@ mpu {
/* /*
* XXX: Use a flat representation of the SOC interconnect. * XXX: Use a flat representation of the SOC interconnect.
* The real OMAP interconnect network is quite complex. * The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for * Since it will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus * the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy. * hierarchy.
*/ */
......
...@@ -1640,7 +1640,7 @@ mcasp2_ahclkx_mux: mcasp2_ahclkx_mux { ...@@ -1640,7 +1640,7 @@ mcasp2_ahclkx_mux: mcasp2_ahclkx_mux {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "ti,mux-clock"; compatible = "ti,mux-clock";
clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atlclkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atlclkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
ti,bit-shift = <28>; ti,bit-shift = <24>;
reg = <0x1860>; reg = <0x1860>;
}; };
......
/*
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include "omap3-beagle-xm.dts"
/ {
/* HS USB Port 2 Power enable was inverted with the xM C */
hsusb2_power: hsusb2_power_reg {
enable-active-high;
};
};
...@@ -112,7 +112,6 @@ nand@0,0 { ...@@ -112,7 +112,6 @@ nand@0,0 {
reg = <0 0 0>; /* CS0, offset 0 */ reg = <0 0 0>; /* CS0, offset 0 */
nand-bus-width = <16>; nand-bus-width = <16>;
gpmc,device-nand;
gpmc,sync-clk-ps = <0>; gpmc,sync-clk-ps = <0>;
gpmc,cs-on-ns = <0>; gpmc,cs-on-ns = <0>;
gpmc,cs-rd-off-ns = <44>; gpmc,cs-rd-off-ns = <44>;
......
...@@ -368,7 +368,6 @@ nand@0,0 { ...@@ -368,7 +368,6 @@ nand@0,0 {
/* no elm on omap3 */ /* no elm on omap3 */
gpmc,mux-add-data = <0>; gpmc,mux-add-data = <0>;
gpmc,device-nand;
gpmc,device-width = <2>; gpmc,device-width = <2>;
gpmc,wait-pin = <0>; gpmc,wait-pin = <0>;
gpmc,wait-monitoring-ns = <0>; gpmc,wait-monitoring-ns = <0>;
......
...@@ -74,7 +74,7 @@ dsp { ...@@ -74,7 +74,7 @@ dsp {
/* /*
* XXX: Use a flat representation of the OMAP3 interconnect. * XXX: Use a flat representation of the OMAP3 interconnect.
* The real OMAP interconnect network is quite complex. * The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for * Since it will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus * the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy. * hierarchy.
*/ */
......
...@@ -72,7 +72,7 @@ local-timer@48240600 { ...@@ -72,7 +72,7 @@ local-timer@48240600 {
}; };
/* /*
* The soc node represents the soc top level view. It is uses for IPs * The soc node represents the soc top level view. It is used for IPs
* that are not memory mapped in the MPU view or for the MPU itself. * that are not memory mapped in the MPU view or for the MPU itself.
*/ */
soc { soc {
...@@ -96,7 +96,7 @@ iva { ...@@ -96,7 +96,7 @@ iva {
/* /*
* XXX: Use a flat representation of the OMAP4 interconnect. * XXX: Use a flat representation of the OMAP4 interconnect.
* The real OMAP interconnect network is quite complex. * The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for * Since it will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus * the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy. * hierarchy.
*/ */
......
...@@ -93,7 +93,7 @@ gic: interrupt-controller@48211000 { ...@@ -93,7 +93,7 @@ gic: interrupt-controller@48211000 {
}; };
/* /*
* The soc node represents the soc top level view. It is uses for IPs * The soc node represents the soc top level view. It is used for IPs
* that are not memory mapped in the MPU view or for the MPU itself. * that are not memory mapped in the MPU view or for the MPU itself.
*/ */
soc { soc {
...@@ -107,7 +107,7 @@ mpu { ...@@ -107,7 +107,7 @@ mpu {
/* /*
* XXX: Use a flat representation of the OMAP3 interconnect. * XXX: Use a flat representation of the OMAP3 interconnect.
* The real OMAP interconnect network is quite complex. * The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for * Since it will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus * the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy. * hierarchy.
*/ */
...@@ -813,6 +813,12 @@ usb3_phy: usb3phy@4a084400 { ...@@ -813,6 +813,12 @@ usb3_phy: usb3phy@4a084400 {
<0x4a084c00 0x40>; <0x4a084c00 0x40>;
reg-names = "phy_rx", "phy_tx", "pll_ctrl"; reg-names = "phy_rx", "phy_tx", "pll_ctrl";
ctrl-module = <&omap_control_usb3phy>; ctrl-module = <&omap_control_usb3phy>;
clocks = <&usb_phy_cm_clk32k>,
<&sys_clkin>,
<&usb_otg_ss_refclk960m>;
clock-names = "wkupclk",
"sysclk",
"refclk";
#phy-cells = <0>; #phy-cells = <0>;
}; };
}; };
......
...@@ -226,7 +226,7 @@ CONFIG_USB_DWC3=m ...@@ -226,7 +226,7 @@ CONFIG_USB_DWC3=m
CONFIG_USB_TEST=y CONFIG_USB_TEST=y
CONFIG_NOP_USB_XCEIV=y CONFIG_NOP_USB_XCEIV=y
CONFIG_OMAP_USB2=y CONFIG_OMAP_USB2=y
CONFIG_OMAP_USB3=y CONFIG_TI_PIPE3=y
CONFIG_AM335X_PHY_USB=y CONFIG_AM335X_PHY_USB=y
CONFIG_USB_GADGET=y CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG=y CONFIG_USB_GADGET_DEBUG=y
......
...@@ -48,7 +48,7 @@ static struct omap_dss_board_info rx51_dss_board_info = { ...@@ -48,7 +48,7 @@ static struct omap_dss_board_info rx51_dss_board_info = {
static int __init rx51_video_init(void) static int __init rx51_video_init(void)
{ {
if (!machine_is_nokia_rx51() && !of_machine_is_compatible("nokia,omap3-n900")) if (!machine_is_nokia_rx51())
return 0; return 0;
if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) { if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) {
......
...@@ -209,7 +209,7 @@ u8 omap2_init_dpll_parent(struct clk_hw *hw) ...@@ -209,7 +209,7 @@ u8 omap2_init_dpll_parent(struct clk_hw *hw)
if (v == OMAP3XXX_EN_DPLL_LPBYPASS || if (v == OMAP3XXX_EN_DPLL_LPBYPASS ||
v == OMAP3XXX_EN_DPLL_FRBYPASS) v == OMAP3XXX_EN_DPLL_FRBYPASS)
return 1; return 1;
} else if (soc_is_am33xx() || cpu_is_omap44xx()) { } else if (soc_is_am33xx() || cpu_is_omap44xx() || soc_is_am43xx()) {
if (v == OMAP4XXX_EN_DPLL_LPBYPASS || if (v == OMAP4XXX_EN_DPLL_LPBYPASS ||
v == OMAP4XXX_EN_DPLL_FRBYPASS || v == OMAP4XXX_EN_DPLL_FRBYPASS ||
v == OMAP4XXX_EN_DPLL_MNBYPASS) v == OMAP4XXX_EN_DPLL_MNBYPASS)
...@@ -255,7 +255,7 @@ unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk) ...@@ -255,7 +255,7 @@ unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk)
if (v == OMAP3XXX_EN_DPLL_LPBYPASS || if (v == OMAP3XXX_EN_DPLL_LPBYPASS ||
v == OMAP3XXX_EN_DPLL_FRBYPASS) v == OMAP3XXX_EN_DPLL_FRBYPASS)
return __clk_get_rate(dd->clk_bypass); return __clk_get_rate(dd->clk_bypass);
} else if (soc_is_am33xx() || cpu_is_omap44xx()) { } else if (soc_is_am33xx() || cpu_is_omap44xx() || soc_is_am43xx()) {
if (v == OMAP4XXX_EN_DPLL_LPBYPASS || if (v == OMAP4XXX_EN_DPLL_LPBYPASS ||
v == OMAP4XXX_EN_DPLL_FRBYPASS || v == OMAP4XXX_EN_DPLL_FRBYPASS ||
v == OMAP4XXX_EN_DPLL_MNBYPASS) v == OMAP4XXX_EN_DPLL_MNBYPASS)
......
...@@ -501,7 +501,7 @@ static int gpmc_cs_delete_mem(int cs) ...@@ -501,7 +501,7 @@ static int gpmc_cs_delete_mem(int cs)
int r; int r;
spin_lock(&gpmc_mem_lock); spin_lock(&gpmc_mem_lock);
r = release_resource(&gpmc_cs_mem[cs]); r = release_resource(res);
res->start = 0; res->start = 0;
res->end = 0; res->end = 0;
spin_unlock(&gpmc_mem_lock); spin_unlock(&gpmc_mem_lock);
...@@ -527,6 +527,14 @@ static int gpmc_cs_remap(int cs, u32 base) ...@@ -527,6 +527,14 @@ static int gpmc_cs_remap(int cs, u32 base)
pr_err("%s: requested chip-select is disabled\n", __func__); pr_err("%s: requested chip-select is disabled\n", __func__);
return -ENODEV; return -ENODEV;
} }
/*
* Make sure we ignore any device offsets from the GPMC partition
* allocated for the chip select and that the new base confirms
* to the GPMC 16MB minimum granularity.
*/
base &= ~(SZ_16M - 1);
gpmc_cs_get_memconf(cs, &old_base, &size); gpmc_cs_get_memconf(cs, &old_base, &size);
if (base == old_base) if (base == old_base)
return 0; return 0;
...@@ -586,6 +594,8 @@ EXPORT_SYMBOL(gpmc_cs_request); ...@@ -586,6 +594,8 @@ EXPORT_SYMBOL(gpmc_cs_request);
void gpmc_cs_free(int cs) void gpmc_cs_free(int cs)
{ {
struct resource *res = &gpmc_cs_mem[cs];
spin_lock(&gpmc_mem_lock); spin_lock(&gpmc_mem_lock);
if (cs >= gpmc_cs_num || cs < 0 || !gpmc_cs_reserved(cs)) { if (cs >= gpmc_cs_num || cs < 0 || !gpmc_cs_reserved(cs)) {
printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs); printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs);
...@@ -594,7 +604,8 @@ void gpmc_cs_free(int cs) ...@@ -594,7 +604,8 @@ void gpmc_cs_free(int cs)
return; return;
} }
gpmc_cs_disable_mem(cs); gpmc_cs_disable_mem(cs);
release_resource(&gpmc_cs_mem[cs]); if (res->flags)
release_resource(res);
gpmc_cs_set_reserved(cs, 0); gpmc_cs_set_reserved(cs, 0);
spin_unlock(&gpmc_mem_lock); spin_unlock(&gpmc_mem_lock);
} }
......
...@@ -2546,11 +2546,12 @@ static int __init _init(struct omap_hwmod *oh, void *data) ...@@ -2546,11 +2546,12 @@ static int __init _init(struct omap_hwmod *oh, void *data)
return -EINVAL; return -EINVAL;
} }
if (np) if (np) {
if (of_find_property(np, "ti,no-reset-on-init", NULL)) if (of_find_property(np, "ti,no-reset-on-init", NULL))
oh->flags |= HWMOD_INIT_NO_RESET; oh->flags |= HWMOD_INIT_NO_RESET;
if (of_find_property(np, "ti,no-idle-on-init", NULL)) if (of_find_property(np, "ti,no-idle-on-init", NULL))
oh->flags |= HWMOD_INIT_NO_IDLE; oh->flags |= HWMOD_INIT_NO_IDLE;
}
oh->_state = _HWMOD_STATE_INITIALIZED; oh->_state = _HWMOD_STATE_INITIALIZED;
......
...@@ -1964,7 +1964,7 @@ static struct omap_hwmod_irq_info omap3xxx_usb_host_hs_irqs[] = { ...@@ -1964,7 +1964,7 @@ static struct omap_hwmod_irq_info omap3xxx_usb_host_hs_irqs[] = {
static struct omap_hwmod omap3xxx_usb_host_hs_hwmod = { static struct omap_hwmod omap3xxx_usb_host_hs_hwmod = {
.name = "usb_host_hs", .name = "usb_host_hs",
.class = &omap3xxx_usb_host_hs_hwmod_class, .class = &omap3xxx_usb_host_hs_hwmod_class,
.clkdm_name = "l3_init_clkdm", .clkdm_name = "usbhost_clkdm",
.mpu_irqs = omap3xxx_usb_host_hs_irqs, .mpu_irqs = omap3xxx_usb_host_hs_irqs,
.main_clk = "usbhost_48m_fck", .main_clk = "usbhost_48m_fck",
.prcm = { .prcm = {
...@@ -2047,7 +2047,7 @@ static struct omap_hwmod_irq_info omap3xxx_usb_tll_hs_irqs[] = { ...@@ -2047,7 +2047,7 @@ static struct omap_hwmod_irq_info omap3xxx_usb_tll_hs_irqs[] = {
static struct omap_hwmod omap3xxx_usb_tll_hs_hwmod = { static struct omap_hwmod omap3xxx_usb_tll_hs_hwmod = {
.name = "usb_tll_hs", .name = "usb_tll_hs",
.class = &omap3xxx_usb_tll_hs_hwmod_class, .class = &omap3xxx_usb_tll_hs_hwmod_class,
.clkdm_name = "l3_init_clkdm", .clkdm_name = "core_l4_clkdm",
.mpu_irqs = omap3xxx_usb_tll_hs_irqs, .mpu_irqs = omap3xxx_usb_tll_hs_irqs,
.main_clk = "usbtll_fck", .main_clk = "usbtll_fck",
.prcm = { .prcm = {
......
...@@ -330,10 +330,6 @@ void omap_sram_idle(void) ...@@ -330,10 +330,6 @@ void omap_sram_idle(void)
omap3_sram_restore_context(); omap3_sram_restore_context();
omap2_sms_restore_context(); omap2_sms_restore_context();
} }
if (core_next_state == PWRDM_POWER_OFF)
omap2_prm_clear_mod_reg_bits(OMAP3430_AUTO_OFF_MASK,
OMAP3430_GR_MOD,
OMAP3_PRM_VOLTCTRL_OFFSET);
} }
omap3_intc_resume_idle(); omap3_intc_resume_idle();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment