Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[linux-2.6-microblaze.git] / arch / arm / mach-omap2 / omap_hwmod_common_data.c
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * omap_hwmod common data structures
4  *
5  * Copyright (C) 2010 Texas Instruments, Inc.
6  * Thara Gopinath <thara@ti.com>
7  * BenoĆ®t Cousson
8  *
9  * Copyright (C) 2010 Nokia Corporation
10  * Paul Walmsley
11  *
12  * This data/structures are to be used while defining OMAP on-chip module
13  * data and their integration with other OMAP modules and Linux.
14  */
15
16 #include <linux/types.h>
17 #include <linux/platform_data/ti-sysc.h>
18
19 #include "omap_hwmod.h"
20
21 #include "omap_hwmod_common_data.h"
22
23 /**
24  * struct omap_hwmod_sysc_type1 - TYPE1 sysconfig scheme.
25  *
26  * To be used by hwmod structure to specify the sysconfig offsets
27  * if the device ip is compliant with the original PRCM protocol
28  * defined for OMAP2420.
29  */
30 struct sysc_regbits omap_hwmod_sysc_type1 = {
31         .midle_shift    = SYSC_TYPE1_MIDLEMODE_SHIFT,
32         .clkact_shift   = SYSC_TYPE1_CLOCKACTIVITY_SHIFT,
33         .sidle_shift    = SYSC_TYPE1_SIDLEMODE_SHIFT,
34         .enwkup_shift   = SYSC_TYPE1_ENAWAKEUP_SHIFT,
35         .srst_shift     = SYSC_TYPE1_SOFTRESET_SHIFT,
36         .autoidle_shift = SYSC_TYPE1_AUTOIDLE_SHIFT,
37 };
38
39 /**
40  * struct omap_hwmod_sysc_type2 - TYPE2 sysconfig scheme.
41  *
42  * To be used by hwmod structure to specify the sysconfig offsets if the
43  * device ip is compliant with the new PRCM protocol defined for new
44  * OMAP4 IPs.
45  */
46 struct sysc_regbits omap_hwmod_sysc_type2 = {
47         .midle_shift    = SYSC_TYPE2_MIDLEMODE_SHIFT,
48         .sidle_shift    = SYSC_TYPE2_SIDLEMODE_SHIFT,
49         .srst_shift     = SYSC_TYPE2_SOFTRESET_SHIFT,
50         .dmadisable_shift = SYSC_TYPE2_DMADISABLE_SHIFT,
51 };
52
53 /**
54  * struct omap_hwmod_sysc_type3 - TYPE3 sysconfig scheme.
55  * Used by some IPs on AM33xx
56  */
57 struct sysc_regbits omap_hwmod_sysc_type3 = {
58         .midle_shift    = SYSC_TYPE3_MIDLEMODE_SHIFT,
59         .sidle_shift    = SYSC_TYPE3_SIDLEMODE_SHIFT,
60 };
61
62 struct omap_dss_dispc_dev_attr omap2_3_dss_dispc_dev_attr = {
63         .manager_count          = 2,
64         .has_framedonetv_irq    = 0
65 };
66
67 struct sysc_regbits omap34xx_sr_sysc_fields = {
68         .clkact_shift   = 20,
69 };
70
71 struct sysc_regbits omap36xx_sr_sysc_fields = {
72         .sidle_shift    = 24,
73         .enwkup_shift   = 26,
74 };
75
76 struct sysc_regbits omap3_sham_sysc_fields = {
77         .sidle_shift    = 4,
78         .srst_shift     = 1,
79         .autoidle_shift = 0,
80 };
81
82 struct sysc_regbits omap3xxx_aes_sysc_fields = {
83         .sidle_shift    = 6,
84         .srst_shift     = 1,
85         .autoidle_shift = 0,
86 };
87
88 struct sysc_regbits omap_hwmod_sysc_type_mcasp = {
89         .sidle_shift    = 0,
90 };
91
92 struct sysc_regbits omap_hwmod_sysc_type_usb_host_fs = {
93         .midle_shift    = 4,
94         .sidle_shift    = 2,
95         .srst_shift     = 1,
96 };