diff options
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.h')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.h | 23 |
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 | */ | ||
624 | struct 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; |