aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap_hwmod.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.h')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.h23
1 files changed, 8 insertions, 15 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h
index 78904017f18c..a8f779381fd8 100644
--- a/arch/arm/mach-omap2/omap_hwmod.h
+++ b/arch/arm/mach-omap2/omap_hwmod.h
@@ -313,6 +313,7 @@ struct omap_hwmod_ocp_if {
313 struct omap_hwmod_addr_space *addr; 313 struct omap_hwmod_addr_space *addr;
314 const char *clk; 314 const char *clk;
315 struct clk *_clk; 315 struct clk *_clk;
316 struct list_head node;
316 union { 317 union {
317 struct omap_hwmod_omap2_firewall omap2; 318 struct omap_hwmod_omap2_firewall omap2;
318 } fw; 319 } fw;
@@ -410,7 +411,6 @@ struct omap_hwmod_class_sysconfig {
410 struct omap_hwmod_sysc_fields *sysc_fields; 411 struct omap_hwmod_sysc_fields *sysc_fields;
411 u8 srst_udelay; 412 u8 srst_udelay;
412 u8 idlemodes; 413 u8 idlemodes;
413 u8 clockact;
414}; 414};
415 415
416/** 416/**
@@ -531,6 +531,10 @@ struct omap_hwmod_omap4_prcm {
531 * operate and they need to be handled at the same time as the main_clk. 531 * operate and they need to be handled at the same time as the main_clk.
532 * HWMOD_NO_IDLE: Do not idle the hwmod at all. Useful to handle certain 532 * HWMOD_NO_IDLE: Do not idle the hwmod at all. Useful to handle certain
533 * IPs like CPSW on DRA7, where clocks to this module cannot be disabled. 533 * IPs like CPSW on DRA7, where clocks to this module cannot be disabled.
534 * HWMOD_CLKDM_NOAUTO: Allows the hwmod's clockdomain to be prevented from
535 * entering HW_AUTO while hwmod is active. This is needed to workaround
536 * some modules which don't function correctly with HW_AUTO. For example,
537 * DCAN on DRA7x SoC needs this to workaround errata i893.
534 */ 538 */
535#define HWMOD_SWSUP_SIDLE (1 << 0) 539#define HWMOD_SWSUP_SIDLE (1 << 0)
536#define HWMOD_SWSUP_MSTANDBY (1 << 1) 540#define HWMOD_SWSUP_MSTANDBY (1 << 1)
@@ -548,6 +552,7 @@ struct omap_hwmod_omap4_prcm {
548#define HWMOD_RECONFIG_IO_CHAIN (1 << 13) 552#define HWMOD_RECONFIG_IO_CHAIN (1 << 13)
549#define HWMOD_OPT_CLKS_NEEDED (1 << 14) 553#define HWMOD_OPT_CLKS_NEEDED (1 << 14)
550#define HWMOD_NO_IDLE (1 << 15) 554#define HWMOD_NO_IDLE (1 << 15)
555#define HWMOD_CLKDM_NOAUTO (1 << 16)
551 556
552/* 557/*
553 * omap_hwmod._int_flags definitions 558 * omap_hwmod._int_flags definitions
@@ -617,16 +622,6 @@ struct omap_hwmod_class {
617}; 622};
618 623
619/** 624/**
620 * struct omap_hwmod_link - internal structure linking hwmods with ocp_ifs
621 * @ocp_if: OCP interface structure record pointer
622 * @node: list_head pointing to next struct omap_hwmod_link in a list
623 */
624struct omap_hwmod_link {
625 struct omap_hwmod_ocp_if *ocp_if;
626 struct list_head node;
627};
628
629/**
630 * struct omap_hwmod - integration data for OMAP hardware "modules" (IP blocks) 625 * struct omap_hwmod - integration data for OMAP hardware "modules" (IP blocks)
631 * @name: name of the hwmod 626 * @name: name of the hwmod
632 * @class: struct omap_hwmod_class * to the class of this hwmod 627 * @class: struct omap_hwmod_class * to the class of this hwmod
@@ -686,9 +681,8 @@ struct omap_hwmod {
686 const char *main_clk; 681 const char *main_clk;
687 struct clk *_clk; 682 struct clk *_clk;
688 struct omap_hwmod_opt_clk *opt_clks; 683 struct omap_hwmod_opt_clk *opt_clks;
689 char *clkdm_name; 684 const char *clkdm_name;
690 struct clockdomain *clkdm; 685 struct clockdomain *clkdm;
691 struct list_head master_ports; /* connect to *_IA */
692 struct list_head slave_ports; /* connect to *_TA */ 686 struct list_head slave_ports; /* connect to *_TA */
693 void *dev_attr; 687 void *dev_attr;
694 u32 _sysc_cache; 688 u32 _sysc_cache;
@@ -698,12 +692,11 @@ struct omap_hwmod {
698 struct list_head node; 692 struct list_head node;
699 struct omap_hwmod_ocp_if *_mpu_port; 693 struct omap_hwmod_ocp_if *_mpu_port;
700 unsigned int (*xlate_irq)(unsigned int); 694 unsigned int (*xlate_irq)(unsigned int);
701 u16 flags; 695 u32 flags;
702 u8 mpu_rt_idx; 696 u8 mpu_rt_idx;
703 u8 response_lat; 697 u8 response_lat;
704 u8 rst_lines_cnt; 698 u8 rst_lines_cnt;
705 u8 opt_clks_cnt; 699 u8 opt_clks_cnt;
706 u8 masters_cnt;
707 u8 slaves_cnt; 700 u8 slaves_cnt;
708 u8 hwmods_cnt; 701 u8 hwmods_cnt;
709 u8 _int_flags; 702 u8 _int_flags;