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 | }; |
97 | |