blob: 77c0b7618ea25547d351f373b733bd48a3b2ec1d [file] [log] [blame]
Thara Gopinath358f0e62010-02-24 12:05:58 -07001/*
2 * omap_hwmod common data structures
3 *
4 * Copyright (C) 2010 Texas Instruments, Inc.
5 * Thara Gopinath <thara@ti.com>
Paul Walmsley43b40992010-02-22 22:09:34 -07006 * BenoƮt Cousson
7 *
8 * Copyright (C) 2010 Nokia Corporation
9 * Paul Walmsley
Thara Gopinath358f0e62010-02-24 12:05:58 -070010 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
14 *
15 * This data/structures are to be used while defining OMAP on-chip module
16 * data and their integration with other OMAP modules and Linux.
17 */
18
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080019#include <linux/types.h>
20#include <linux/platform_data/ti-sysc.h>
21
Tony Lindgren2a296c82012-10-02 17:41:35 -070022#include "omap_hwmod.h"
Thara Gopinath358f0e62010-02-24 12:05:58 -070023
Paul Walmsley43b40992010-02-22 22:09:34 -070024#include "omap_hwmod_common_data.h"
25
Thara Gopinath358f0e62010-02-24 12:05:58 -070026/**
27 * struct omap_hwmod_sysc_type1 - TYPE1 sysconfig scheme.
28 *
29 * To be used by hwmod structure to specify the sysconfig offsets
30 * if the device ip is compliant with the original PRCM protocol
31 * defined for OMAP2420.
32 */
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080033struct sysc_regbits omap_hwmod_sysc_type1 = {
Thara Gopinath358f0e62010-02-24 12:05:58 -070034 .midle_shift = SYSC_TYPE1_MIDLEMODE_SHIFT,
35 .clkact_shift = SYSC_TYPE1_CLOCKACTIVITY_SHIFT,
36 .sidle_shift = SYSC_TYPE1_SIDLEMODE_SHIFT,
37 .enwkup_shift = SYSC_TYPE1_ENAWAKEUP_SHIFT,
38 .srst_shift = SYSC_TYPE1_SOFTRESET_SHIFT,
39 .autoidle_shift = SYSC_TYPE1_AUTOIDLE_SHIFT,
40};
41
42/**
43 * struct omap_hwmod_sysc_type2 - TYPE2 sysconfig scheme.
44 *
45 * To be used by hwmod structure to specify the sysconfig offsets if the
46 * device ip is compliant with the new PRCM protocol defined for new
47 * OMAP4 IPs.
48 */
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080049struct sysc_regbits omap_hwmod_sysc_type2 = {
Thara Gopinath358f0e62010-02-24 12:05:58 -070050 .midle_shift = SYSC_TYPE2_MIDLEMODE_SHIFT,
51 .sidle_shift = SYSC_TYPE2_SIDLEMODE_SHIFT,
52 .srst_shift = SYSC_TYPE2_SOFTRESET_SHIFT,
Kishon Vijay Abraham I66685462012-07-04 05:09:21 -060053 .dmadisable_shift = SYSC_TYPE2_DMADISABLE_SHIFT,
Thara Gopinath358f0e62010-02-24 12:05:58 -070054};
Paul Walmsley43b40992010-02-22 22:09:34 -070055
Vaibhav Hiremath248b3b32012-07-04 03:40:59 -060056/**
57 * struct omap_hwmod_sysc_type3 - TYPE3 sysconfig scheme.
58 * Used by some IPs on AM33xx
59 */
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080060struct sysc_regbits omap_hwmod_sysc_type3 = {
Vaibhav Hiremath248b3b32012-07-04 03:40:59 -060061 .midle_shift = SYSC_TYPE3_MIDLEMODE_SHIFT,
62 .sidle_shift = SYSC_TYPE3_SIDLEMODE_SHIFT,
63};
64
Archit Tanejab923d402011-10-06 18:04:08 -060065struct omap_dss_dispc_dev_attr omap2_3_dss_dispc_dev_attr = {
66 .manager_count = 2,
67 .has_framedonetv_irq = 0
68};
Tony Lindgrenbf807052017-12-15 09:41:01 -080069
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080070struct sysc_regbits omap34xx_sr_sysc_fields = {
Tony Lindgrenbf807052017-12-15 09:41:01 -080071 .clkact_shift = 20,
72};
73
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080074struct sysc_regbits omap36xx_sr_sysc_fields = {
Tony Lindgrenbf807052017-12-15 09:41:01 -080075 .sidle_shift = 24,
76 .enwkup_shift = 26,
77};
78
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080079struct sysc_regbits omap3_sham_sysc_fields = {
Tony Lindgrenbf807052017-12-15 09:41:01 -080080 .sidle_shift = 4,
81 .srst_shift = 1,
82 .autoidle_shift = 0,
83};
84
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080085struct sysc_regbits omap3xxx_aes_sysc_fields = {
Tony Lindgrenbf807052017-12-15 09:41:01 -080086 .sidle_shift = 6,
87 .srst_shift = 1,
88 .autoidle_shift = 0,
89};
90
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080091struct sysc_regbits omap_hwmod_sysc_type_mcasp = {
Tony Lindgrenbf807052017-12-15 09:41:01 -080092 .sidle_shift = 0,
93};
94
Tony Lindgren49a0a3d2017-12-15 09:41:05 -080095struct sysc_regbits omap_hwmod_sysc_type_usb_host_fs = {
Tony Lindgrenbf807052017-12-15 09:41:01 -080096 .midle_shift = 4,
97 .sidle_shift = 2,
98 .srst_shift = 1,
99};