Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * omap_hwmod common data structures
0004  *
0005  * Copyright (C) 2010 Texas Instruments, Inc.
0006  * Thara Gopinath <thara@ti.com>
0007  * BenoƮt Cousson
0008  *
0009  * Copyright (C) 2010 Nokia Corporation
0010  * Paul Walmsley
0011  *
0012  * This data/structures are to be used while defining OMAP on-chip module
0013  * data and their integration with other OMAP modules and Linux.
0014  */
0015 
0016 #include <linux/types.h>
0017 #include <linux/platform_data/ti-sysc.h>
0018 
0019 #include "omap_hwmod.h"
0020 
0021 #include "omap_hwmod_common_data.h"
0022 
0023 /**
0024  * struct omap_hwmod_sysc_type1 - TYPE1 sysconfig scheme.
0025  *
0026  * To be used by hwmod structure to specify the sysconfig offsets
0027  * if the device ip is compliant with the original PRCM protocol
0028  * defined for OMAP2420.
0029  */
0030 struct sysc_regbits omap_hwmod_sysc_type1 = {
0031     .midle_shift    = SYSC_TYPE1_MIDLEMODE_SHIFT,
0032     .clkact_shift   = SYSC_TYPE1_CLOCKACTIVITY_SHIFT,
0033     .sidle_shift    = SYSC_TYPE1_SIDLEMODE_SHIFT,
0034     .enwkup_shift   = SYSC_TYPE1_ENAWAKEUP_SHIFT,
0035     .srst_shift = SYSC_TYPE1_SOFTRESET_SHIFT,
0036     .autoidle_shift = SYSC_TYPE1_AUTOIDLE_SHIFT,
0037 };
0038 
0039 /**
0040  * struct omap_hwmod_sysc_type2 - TYPE2 sysconfig scheme.
0041  *
0042  * To be used by hwmod structure to specify the sysconfig offsets if the
0043  * device ip is compliant with the new PRCM protocol defined for new
0044  * OMAP4 IPs.
0045  */
0046 struct sysc_regbits omap_hwmod_sysc_type2 = {
0047     .midle_shift    = SYSC_TYPE2_MIDLEMODE_SHIFT,
0048     .sidle_shift    = SYSC_TYPE2_SIDLEMODE_SHIFT,
0049     .srst_shift = SYSC_TYPE2_SOFTRESET_SHIFT,
0050     .dmadisable_shift = SYSC_TYPE2_DMADISABLE_SHIFT,
0051 };
0052 
0053 /**
0054  * struct omap_hwmod_sysc_type3 - TYPE3 sysconfig scheme.
0055  * Used by some IPs on AM33xx
0056  */
0057 struct sysc_regbits omap_hwmod_sysc_type3 = {
0058     .midle_shift    = SYSC_TYPE3_MIDLEMODE_SHIFT,
0059     .sidle_shift    = SYSC_TYPE3_SIDLEMODE_SHIFT,
0060 };
0061 
0062 struct omap_dss_dispc_dev_attr omap2_3_dss_dispc_dev_attr = {
0063     .manager_count      = 2,
0064     .has_framedonetv_irq    = 0
0065 };
0066 
0067 struct sysc_regbits omap34xx_sr_sysc_fields = {
0068     .clkact_shift   = 20,
0069 };
0070 
0071 struct sysc_regbits omap36xx_sr_sysc_fields = {
0072     .sidle_shift    = 24,
0073     .enwkup_shift   = 26,
0074 };
0075 
0076 struct sysc_regbits omap3_sham_sysc_fields = {
0077     .sidle_shift    = 4,
0078     .srst_shift = 1,
0079     .autoidle_shift = 0,
0080 };
0081 
0082 struct sysc_regbits omap3xxx_aes_sysc_fields = {
0083     .sidle_shift    = 6,
0084     .srst_shift = 1,
0085     .autoidle_shift = 0,
0086 };
0087 
0088 struct sysc_regbits omap_hwmod_sysc_type_mcasp = {
0089     .sidle_shift    = 0,
0090 };
0091 
0092 struct sysc_regbits omap_hwmod_sysc_type_usb_host_fs = {
0093     .midle_shift    = 4,
0094     .sidle_shift    = 2,
0095     .srst_shift = 1,
0096 };