Commit 59bc516c authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'omap-for-v4.12/soc-v2-signed' of...

Merge tag 'omap-for-v4.12/soc-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "SoC changes for omaps for v4.12 merge window" from Tony Lindgren:

- Drop PM_SUSPEND_STANDBY

- Clean up hwmod code in preparation to eventually dynamically
  allocating hwmod data based on device tree data

- Implement hwmod workaround for dra7 DCAN1 and OTG module to prevent
  clockdomain from entering HW_AUTO

- Configure clockdomain and hwmod for dm81xx SATA

- Mark omap_init_rng as __init

* tag 'omap-for-v4.12/soc-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: mark omap_init_rng as __init
  ARM: OMAP2+: dm81xx: Add clkdm and hwmod for SATA
  ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss
  ARM: DRA7: hwmod: Fix DCAN1 stuck in transition
  ARM: OMAP2+ hwmod: Allow modules to disable HW_AUTO
  ARM: OMAP2+: omap_hwmod: provide space for more hwmod flags
  ARM: OMAP2+: Make hwmod clkdm_name const
  ARM: OMAP2+: Remove unused CLOCKACT_TEST_ICLK
  ARM: OMAP2+: Use list_for_each_entry for hwmod slave_ports
  ARM: OMAP2+: Remove mostly unused hwmod linkspace
  ARM: OMAP: PM: Drop useless checks for PM_SUSPEND_STANDBY
parents 2235ac90 f0e68766
...@@ -581,7 +581,6 @@ static int omap_pm_enter(suspend_state_t state) ...@@ -581,7 +581,6 @@ static int omap_pm_enter(suspend_state_t state)
{ {
switch (state) switch (state)
{ {
case PM_SUSPEND_STANDBY:
case PM_SUSPEND_MEM: case PM_SUSPEND_MEM:
omap1_pm_suspend(); omap1_pm_suspend();
break; break;
......
...@@ -91,6 +91,14 @@ static struct clockdomain default_l3_slow_81xx_clkdm = { ...@@ -91,6 +91,14 @@ static struct clockdomain default_l3_slow_81xx_clkdm = {
.flags = CLKDM_CAN_SWSUP, .flags = CLKDM_CAN_SWSUP,
}; };
static struct clockdomain default_sata_81xx_clkdm = {
.name = "default_clkdm",
.pwrdm = { .name = "default_pwrdm" },
.cm_inst = TI81XX_CM_DEFAULT_MOD,
.clkdm_offs = TI816X_CM_DEFAULT_SATA_CLKDM,
.flags = CLKDM_CAN_SWSUP,
};
/* 816x only */ /* 816x only */
static struct clockdomain alwon_mpu_816x_clkdm = { static struct clockdomain alwon_mpu_816x_clkdm = {
...@@ -173,6 +181,7 @@ static struct clockdomain *clockdomains_ti814x[] __initdata = { ...@@ -173,6 +181,7 @@ static struct clockdomain *clockdomains_ti814x[] __initdata = {
&mmu_81xx_clkdm, &mmu_81xx_clkdm,
&mmu_cfg_81xx_clkdm, &mmu_cfg_81xx_clkdm,
&default_l3_slow_81xx_clkdm, &default_l3_slow_81xx_clkdm,
&default_sata_81xx_clkdm,
NULL, NULL,
}; };
...@@ -200,6 +209,7 @@ static struct clockdomain *clockdomains_ti816x[] __initdata = { ...@@ -200,6 +209,7 @@ static struct clockdomain *clockdomains_ti816x[] __initdata = {
&default_ducati_816x_clkdm, &default_ducati_816x_clkdm,
&default_pci_816x_clkdm, &default_pci_816x_clkdm,
&default_l3_slow_81xx_clkdm, &default_l3_slow_81xx_clkdm,
&default_sata_81xx_clkdm,
NULL, NULL,
}; };
......
...@@ -57,5 +57,6 @@ ...@@ -57,5 +57,6 @@
#define TI816X_CM_DEFAULT_PCI_CLKDM 0x0010 #define TI816X_CM_DEFAULT_PCI_CLKDM 0x0010
#define TI816X_CM_DEFAULT_L3_SLOW_CLKDM 0x0014 #define TI816X_CM_DEFAULT_L3_SLOW_CLKDM 0x0014
#define TI816X_CM_DEFAULT_DUCATI_CLKDM 0x0018 #define TI816X_CM_DEFAULT_DUCATI_CLKDM 0x0018
#define TI816X_CM_DEFAULT_SATA_CLKDM 0x0060
#endif #endif
...@@ -121,7 +121,7 @@ static inline void omap_init_mcspi(void) {} ...@@ -121,7 +121,7 @@ static inline void omap_init_mcspi(void) {}
* *
* Bind the RNG hwmod to the RNG omap_device. No return value. * Bind the RNG hwmod to the RNG omap_device. No return value.
*/ */
static void omap_init_rng(void) static void __init omap_init_rng(void)
{ {
struct omap_hwmod *oh; struct omap_hwmod *oh;
struct platform_device *pdev; struct platform_device *pdev;
......
This diff is collapsed.
...@@ -313,6 +313,7 @@ struct omap_hwmod_ocp_if { ...@@ -313,6 +313,7 @@ struct omap_hwmod_ocp_if {
struct omap_hwmod_addr_space *addr; struct omap_hwmod_addr_space *addr;
const char *clk; const char *clk;
struct clk *_clk; struct clk *_clk;
struct list_head node;
union { union {
struct omap_hwmod_omap2_firewall omap2; struct omap_hwmod_omap2_firewall omap2;
} fw; } fw;
...@@ -410,7 +411,6 @@ struct omap_hwmod_class_sysconfig { ...@@ -410,7 +411,6 @@ struct omap_hwmod_class_sysconfig {
struct omap_hwmod_sysc_fields *sysc_fields; struct omap_hwmod_sysc_fields *sysc_fields;
u8 srst_udelay; u8 srst_udelay;
u8 idlemodes; u8 idlemodes;
u8 clockact;
}; };
/** /**
...@@ -531,6 +531,10 @@ struct omap_hwmod_omap4_prcm { ...@@ -531,6 +531,10 @@ struct omap_hwmod_omap4_prcm {
* operate and they need to be handled at the same time as the main_clk. * operate and they need to be handled at the same time as the main_clk.
* HWMOD_NO_IDLE: Do not idle the hwmod at all. Useful to handle certain * HWMOD_NO_IDLE: Do not idle the hwmod at all. Useful to handle certain
* IPs like CPSW on DRA7, where clocks to this module cannot be disabled. * IPs like CPSW on DRA7, where clocks to this module cannot be disabled.
* HWMOD_CLKDM_NOAUTO: Allows the hwmod's clockdomain to be prevented from
* entering HW_AUTO while hwmod is active. This is needed to workaround
* some modules which don't function correctly with HW_AUTO. For example,
* DCAN on DRA7x SoC needs this to workaround errata i893.
*/ */
#define HWMOD_SWSUP_SIDLE (1 << 0) #define HWMOD_SWSUP_SIDLE (1 << 0)
#define HWMOD_SWSUP_MSTANDBY (1 << 1) #define HWMOD_SWSUP_MSTANDBY (1 << 1)
...@@ -548,6 +552,7 @@ struct omap_hwmod_omap4_prcm { ...@@ -548,6 +552,7 @@ struct omap_hwmod_omap4_prcm {
#define HWMOD_RECONFIG_IO_CHAIN (1 << 13) #define HWMOD_RECONFIG_IO_CHAIN (1 << 13)
#define HWMOD_OPT_CLKS_NEEDED (1 << 14) #define HWMOD_OPT_CLKS_NEEDED (1 << 14)
#define HWMOD_NO_IDLE (1 << 15) #define HWMOD_NO_IDLE (1 << 15)
#define HWMOD_CLKDM_NOAUTO (1 << 16)
/* /*
* omap_hwmod._int_flags definitions * omap_hwmod._int_flags definitions
...@@ -616,16 +621,6 @@ struct omap_hwmod_class { ...@@ -616,16 +621,6 @@ struct omap_hwmod_class {
void (*unlock)(struct omap_hwmod *oh); void (*unlock)(struct omap_hwmod *oh);
}; };
/**
* struct omap_hwmod_link - internal structure linking hwmods with ocp_ifs
* @ocp_if: OCP interface structure record pointer
* @node: list_head pointing to next struct omap_hwmod_link in a list
*/
struct omap_hwmod_link {
struct omap_hwmod_ocp_if *ocp_if;
struct list_head node;
};
/** /**
* struct omap_hwmod - integration data for OMAP hardware "modules" (IP blocks) * struct omap_hwmod - integration data for OMAP hardware "modules" (IP blocks)
* @name: name of the hwmod * @name: name of the hwmod
...@@ -686,9 +681,8 @@ struct omap_hwmod { ...@@ -686,9 +681,8 @@ struct omap_hwmod {
const char *main_clk; const char *main_clk;
struct clk *_clk; struct clk *_clk;
struct omap_hwmod_opt_clk *opt_clks; struct omap_hwmod_opt_clk *opt_clks;
char *clkdm_name; const char *clkdm_name;
struct clockdomain *clkdm; struct clockdomain *clkdm;
struct list_head master_ports; /* connect to *_IA */
struct list_head slave_ports; /* connect to *_TA */ struct list_head slave_ports; /* connect to *_TA */
void *dev_attr; void *dev_attr;
u32 _sysc_cache; u32 _sysc_cache;
...@@ -698,12 +692,11 @@ struct omap_hwmod { ...@@ -698,12 +692,11 @@ struct omap_hwmod {
struct list_head node; struct list_head node;
struct omap_hwmod_ocp_if *_mpu_port; struct omap_hwmod_ocp_if *_mpu_port;
unsigned int (*xlate_irq)(unsigned int); unsigned int (*xlate_irq)(unsigned int);
u16 flags; u32 flags;
u8 mpu_rt_idx; u8 mpu_rt_idx;
u8 response_lat; u8 response_lat;
u8 rst_lines_cnt; u8 rst_lines_cnt;
u8 opt_clks_cnt; u8 opt_clks_cnt;
u8 masters_cnt;
u8 slaves_cnt; u8 slaves_cnt;
u8 hwmods_cnt; u8 hwmods_cnt;
u8 _int_flags; u8 _int_flags;
......
...@@ -55,7 +55,6 @@ static struct omap_hwmod_class_sysconfig omap2xxx_timer_sysc = { ...@@ -55,7 +55,6 @@ static struct omap_hwmod_class_sysconfig omap2xxx_timer_sysc = {
SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS), SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
.clockact = CLOCKACT_TEST_ICLK,
.sysc_fields = &omap_hwmod_sysc_type1, .sysc_fields = &omap_hwmod_sysc_type1,
}; };
......
...@@ -149,7 +149,6 @@ static struct omap_hwmod_class_sysconfig omap3xxx_timer_sysc = { ...@@ -149,7 +149,6 @@ static struct omap_hwmod_class_sysconfig omap3xxx_timer_sysc = {
SYSC_HAS_EMUFREE | SYSC_HAS_AUTOIDLE | SYSC_HAS_EMUFREE | SYSC_HAS_AUTOIDLE |
SYSS_HAS_RESET_STATUS), SYSS_HAS_RESET_STATUS),
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
.clockact = CLOCKACT_TEST_ICLK,
.sysc_fields = &omap_hwmod_sysc_type1, .sysc_fields = &omap_hwmod_sysc_type1,
}; };
...@@ -424,7 +423,6 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = { ...@@ -424,7 +423,6 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS), SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
.clockact = CLOCKACT_TEST_ICLK,
.sysc_fields = &omap_hwmod_sysc_type1, .sysc_fields = &omap_hwmod_sysc_type1,
}; };
...@@ -1045,7 +1043,6 @@ static struct omap_hwmod_class_sysconfig omap3xxx_mcbsp_sysc = { ...@@ -1045,7 +1043,6 @@ static struct omap_hwmod_class_sysconfig omap3xxx_mcbsp_sysc = {
SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
.sysc_fields = &omap_hwmod_sysc_type1, .sysc_fields = &omap_hwmod_sysc_type1,
.clockact = 0x2,
}; };
static struct omap_hwmod_class omap3xxx_mcbsp_hwmod_class = { static struct omap_hwmod_class omap3xxx_mcbsp_hwmod_class = {
...@@ -1210,7 +1207,6 @@ static struct omap_hwmod_sysc_fields omap34xx_sr_sysc_fields = { ...@@ -1210,7 +1207,6 @@ static struct omap_hwmod_sysc_fields omap34xx_sr_sysc_fields = {
static struct omap_hwmod_class_sysconfig omap34xx_sr_sysc = { static struct omap_hwmod_class_sysconfig omap34xx_sr_sysc = {
.sysc_offs = 0x24, .sysc_offs = 0x24,
.sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_NO_CACHE), .sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_NO_CACHE),
.clockact = CLOCKACT_TEST_ICLK,
.sysc_fields = &omap34xx_sr_sysc_fields, .sysc_fields = &omap34xx_sr_sysc_fields,
}; };
......
...@@ -1320,7 +1320,6 @@ static struct omap_hwmod_class_sysconfig omap44xx_i2c_sysc = { ...@@ -1320,7 +1320,6 @@ static struct omap_hwmod_class_sysconfig omap44xx_i2c_sysc = {
SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
SIDLE_SMART_WKUP), SIDLE_SMART_WKUP),
.clockact = CLOCKACT_TEST_ICLK,
.sysc_fields = &omap_hwmod_sysc_type1, .sysc_fields = &omap_hwmod_sysc_type1,
}; };
...@@ -2548,7 +2547,6 @@ static struct omap_hwmod_class_sysconfig omap44xx_timer_1ms_sysc = { ...@@ -2548,7 +2547,6 @@ static struct omap_hwmod_class_sysconfig omap44xx_timer_1ms_sysc = {
SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
SYSS_HAS_RESET_STATUS), SYSS_HAS_RESET_STATUS),
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
.clockact = CLOCKACT_TEST_ICLK,
.sysc_fields = &omap_hwmod_sysc_type1, .sysc_fields = &omap_hwmod_sysc_type1,
}; };
......
...@@ -839,7 +839,6 @@ static struct omap_hwmod_class_sysconfig omap54xx_i2c_sysc = { ...@@ -839,7 +839,6 @@ static struct omap_hwmod_class_sysconfig omap54xx_i2c_sysc = {
SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
SIDLE_SMART_WKUP), SIDLE_SMART_WKUP),
.clockact = CLOCKACT_TEST_ICLK,
.sysc_fields = &omap_hwmod_sysc_type1, .sysc_fields = &omap_hwmod_sysc_type1,
}; };
...@@ -1530,7 +1529,6 @@ static struct omap_hwmod_class_sysconfig omap54xx_timer_1ms_sysc = { ...@@ -1530,7 +1529,6 @@ static struct omap_hwmod_class_sysconfig omap54xx_timer_1ms_sysc = {
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
SIDLE_SMART_WKUP), SIDLE_SMART_WKUP),
.sysc_fields = &omap_hwmod_sysc_type2, .sysc_fields = &omap_hwmod_sysc_type2,
.clockact = CLOCKACT_TEST_ICLK,
}; };
static struct omap_hwmod_class omap54xx_timer_1ms_hwmod_class = { static struct omap_hwmod_class omap54xx_timer_1ms_hwmod_class = {
......
...@@ -359,6 +359,7 @@ static struct omap_hwmod dra7xx_dcan1_hwmod = { ...@@ -359,6 +359,7 @@ static struct omap_hwmod dra7xx_dcan1_hwmod = {
.class = &dra7xx_dcan_hwmod_class, .class = &dra7xx_dcan_hwmod_class,
.clkdm_name = "wkupaon_clkdm", .clkdm_name = "wkupaon_clkdm",
.main_clk = "dcan1_sys_clk_mux", .main_clk = "dcan1_sys_clk_mux",
.flags = HWMOD_CLKDM_NOAUTO,
.prcm = { .prcm = {
.omap4 = { .omap4 = {
.clkctrl_offs = DRA7XX_CM_WKUPAON_DCAN1_CLKCTRL_OFFSET, .clkctrl_offs = DRA7XX_CM_WKUPAON_DCAN1_CLKCTRL_OFFSET,
...@@ -374,6 +375,7 @@ static struct omap_hwmod dra7xx_dcan2_hwmod = { ...@@ -374,6 +375,7 @@ static struct omap_hwmod dra7xx_dcan2_hwmod = {
.class = &dra7xx_dcan_hwmod_class, .class = &dra7xx_dcan_hwmod_class,
.clkdm_name = "l4per2_clkdm", .clkdm_name = "l4per2_clkdm",
.main_clk = "sys_clkin1", .main_clk = "sys_clkin1",
.flags = HWMOD_CLKDM_NOAUTO,
.prcm = { .prcm = {
.omap4 = { .omap4 = {
.clkctrl_offs = DRA7XX_CM_L4PER2_DCAN2_CLKCTRL_OFFSET, .clkctrl_offs = DRA7XX_CM_L4PER2_DCAN2_CLKCTRL_OFFSET,
...@@ -1098,7 +1100,6 @@ static struct omap_hwmod_class_sysconfig dra7xx_i2c_sysc = { ...@@ -1098,7 +1100,6 @@ static struct omap_hwmod_class_sysconfig dra7xx_i2c_sysc = {
SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
SIDLE_SMART_WKUP), SIDLE_SMART_WKUP),
.clockact = CLOCKACT_TEST_ICLK,
.sysc_fields = &omap_hwmod_sysc_type1, .sysc_fields = &omap_hwmod_sysc_type1,
}; };
...@@ -2700,6 +2701,7 @@ static struct omap_hwmod dra7xx_usb_otg_ss1_hwmod = { ...@@ -2700,6 +2701,7 @@ static struct omap_hwmod dra7xx_usb_otg_ss1_hwmod = {
.class = &dra7xx_usb_otg_ss_hwmod_class, .class = &dra7xx_usb_otg_ss_hwmod_class,
.clkdm_name = "l3init_clkdm", .clkdm_name = "l3init_clkdm",
.main_clk = "dpll_core_h13x2_ck", .main_clk = "dpll_core_h13x2_ck",
.flags = HWMOD_CLKDM_NOAUTO,
.prcm = { .prcm = {
.omap4 = { .omap4 = {
.clkctrl_offs = DRA7XX_CM_L3INIT_USB_OTG_SS1_CLKCTRL_OFFSET, .clkctrl_offs = DRA7XX_CM_L3INIT_USB_OTG_SS1_CLKCTRL_OFFSET,
...@@ -2721,6 +2723,7 @@ static struct omap_hwmod dra7xx_usb_otg_ss2_hwmod = { ...@@ -2721,6 +2723,7 @@ static struct omap_hwmod dra7xx_usb_otg_ss2_hwmod = {
.class = &dra7xx_usb_otg_ss_hwmod_class, .class = &dra7xx_usb_otg_ss_hwmod_class,
.clkdm_name = "l3init_clkdm", .clkdm_name = "l3init_clkdm",
.main_clk = "dpll_core_h13x2_ck", .main_clk = "dpll_core_h13x2_ck",
.flags = HWMOD_CLKDM_NOAUTO,
.prcm = { .prcm = {
.omap4 = { .omap4 = {
.clkctrl_offs = DRA7XX_CM_L3INIT_USB_OTG_SS2_CLKCTRL_OFFSET, .clkctrl_offs = DRA7XX_CM_L3INIT_USB_OTG_SS2_CLKCTRL_OFFSET,
......
...@@ -106,6 +106,7 @@ ...@@ -106,6 +106,7 @@
*/ */
#define DM81XX_CM_DEFAULT_OFFSET 0x500 #define DM81XX_CM_DEFAULT_OFFSET 0x500
#define DM81XX_CM_DEFAULT_USB_CLKCTRL (0x558 - DM81XX_CM_DEFAULT_OFFSET) #define DM81XX_CM_DEFAULT_USB_CLKCTRL (0x558 - DM81XX_CM_DEFAULT_OFFSET)
#define DM81XX_CM_DEFAULT_SATA_CLKCTRL (0x560 - DM81XX_CM_DEFAULT_OFFSET)
/* L3 Interconnect entries clocked at 125, 250 and 500MHz */ /* L3 Interconnect entries clocked at 125, 250 and 500MHz */
static struct omap_hwmod dm81xx_alwon_l3_slow_hwmod = { static struct omap_hwmod dm81xx_alwon_l3_slow_hwmod = {
...@@ -973,6 +974,38 @@ static struct omap_hwmod_ocp_if dm816x_l4_hs__emac1 = { ...@@ -973,6 +974,38 @@ static struct omap_hwmod_ocp_if dm816x_l4_hs__emac1 = {
.user = OCP_USER_MPU, .user = OCP_USER_MPU,
}; };
static struct omap_hwmod_class_sysconfig dm81xx_sata_sysc = {
.sysc_offs = 0x1100,
.sysc_flags = SYSC_HAS_SIDLEMODE,
.idlemodes = SIDLE_FORCE,
.sysc_fields = &omap_hwmod_sysc_type3,
};
static struct omap_hwmod_class dm81xx_sata_hwmod_class = {
.name = "sata",
.sysc = &dm81xx_sata_sysc,
};
static struct omap_hwmod dm81xx_sata_hwmod = {
.name = "sata",
.clkdm_name = "default_sata_clkdm",
.flags = HWMOD_NO_IDLEST,
.prcm = {
.omap4 = {
.clkctrl_offs = DM81XX_CM_DEFAULT_SATA_CLKCTRL,
.modulemode = MODULEMODE_SWCTRL,
},
},
.class = &dm81xx_sata_hwmod_class,
};
static struct omap_hwmod_ocp_if dm81xx_l4_hs__sata = {
.master = &dm81xx_l4_hs_hwmod,
.slave = &dm81xx_sata_hwmod,
.clk = "sysclk5_ck",
.user = OCP_USER_MPU,
};
static struct omap_hwmod_class_sysconfig dm81xx_mmc_sysc = { static struct omap_hwmod_class_sysconfig dm81xx_mmc_sysc = {
.rev_offs = 0x0, .rev_offs = 0x0,
.sysc_offs = 0x110, .sysc_offs = 0x110,
...@@ -1474,6 +1507,7 @@ static struct omap_hwmod_ocp_if *dm816x_hwmod_ocp_ifs[] __initdata = { ...@@ -1474,6 +1507,7 @@ static struct omap_hwmod_ocp_if *dm816x_hwmod_ocp_ifs[] __initdata = {
&dm81xx_l4_hs__emac0, &dm81xx_l4_hs__emac0,
&dm81xx_emac0__mdio, &dm81xx_emac0__mdio,
&dm816x_l4_hs__emac1, &dm816x_l4_hs__emac1,
&dm81xx_l4_hs__sata,
&dm81xx_alwon_l3_fast__tpcc, &dm81xx_alwon_l3_fast__tpcc,
&dm81xx_alwon_l3_fast__tptc0, &dm81xx_alwon_l3_fast__tptc0,
&dm81xx_alwon_l3_fast__tptc1, &dm81xx_alwon_l3_fast__tptc1,
......
...@@ -163,7 +163,6 @@ static int omap_pm_enter(suspend_state_t suspend_state) ...@@ -163,7 +163,6 @@ static int omap_pm_enter(suspend_state_t suspend_state)
return -ENOENT; /* XXX doublecheck */ return -ENOENT; /* XXX doublecheck */
switch (suspend_state) { switch (suspend_state) {
case PM_SUSPEND_STANDBY:
case PM_SUSPEND_MEM: case PM_SUSPEND_MEM:
ret = omap_pm_suspend(); ret = omap_pm_suspend();
break; break;
......
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