162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * omap_hwmod common data structures 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2010 Texas Instruments, Inc. 662306a36Sopenharmony_ci * Thara Gopinath <thara@ti.com> 762306a36Sopenharmony_ci * Benoît Cousson 862306a36Sopenharmony_ci * 962306a36Sopenharmony_ci * Copyright (C) 2010 Nokia Corporation 1062306a36Sopenharmony_ci * Paul Walmsley 1162306a36Sopenharmony_ci * 1262306a36Sopenharmony_ci * This data/structures are to be used while defining OMAP on-chip module 1362306a36Sopenharmony_ci * data and their integration with other OMAP modules and Linux. 1462306a36Sopenharmony_ci */ 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#include <linux/types.h> 1762306a36Sopenharmony_ci#include <linux/platform_data/ti-sysc.h> 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#include "omap_hwmod.h" 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#include "omap_hwmod_common_data.h" 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci/** 2462306a36Sopenharmony_ci * struct omap_hwmod_sysc_type1 - TYPE1 sysconfig scheme. 2562306a36Sopenharmony_ci * 2662306a36Sopenharmony_ci * To be used by hwmod structure to specify the sysconfig offsets 2762306a36Sopenharmony_ci * if the device ip is compliant with the original PRCM protocol 2862306a36Sopenharmony_ci * defined for OMAP2420. 2962306a36Sopenharmony_ci */ 3062306a36Sopenharmony_cistruct sysc_regbits omap_hwmod_sysc_type1 = { 3162306a36Sopenharmony_ci .midle_shift = SYSC_TYPE1_MIDLEMODE_SHIFT, 3262306a36Sopenharmony_ci .clkact_shift = SYSC_TYPE1_CLOCKACTIVITY_SHIFT, 3362306a36Sopenharmony_ci .sidle_shift = SYSC_TYPE1_SIDLEMODE_SHIFT, 3462306a36Sopenharmony_ci .enwkup_shift = SYSC_TYPE1_ENAWAKEUP_SHIFT, 3562306a36Sopenharmony_ci .srst_shift = SYSC_TYPE1_SOFTRESET_SHIFT, 3662306a36Sopenharmony_ci .autoidle_shift = SYSC_TYPE1_AUTOIDLE_SHIFT, 3762306a36Sopenharmony_ci}; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci/** 4062306a36Sopenharmony_ci * struct omap_hwmod_sysc_type2 - TYPE2 sysconfig scheme. 4162306a36Sopenharmony_ci * 4262306a36Sopenharmony_ci * To be used by hwmod structure to specify the sysconfig offsets if the 4362306a36Sopenharmony_ci * device ip is compliant with the new PRCM protocol defined for new 4462306a36Sopenharmony_ci * OMAP4 IPs. 4562306a36Sopenharmony_ci */ 4662306a36Sopenharmony_cistruct sysc_regbits omap_hwmod_sysc_type2 = { 4762306a36Sopenharmony_ci .midle_shift = SYSC_TYPE2_MIDLEMODE_SHIFT, 4862306a36Sopenharmony_ci .sidle_shift = SYSC_TYPE2_SIDLEMODE_SHIFT, 4962306a36Sopenharmony_ci .srst_shift = SYSC_TYPE2_SOFTRESET_SHIFT, 5062306a36Sopenharmony_ci .dmadisable_shift = SYSC_TYPE2_DMADISABLE_SHIFT, 5162306a36Sopenharmony_ci}; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci/** 5462306a36Sopenharmony_ci * struct omap_hwmod_sysc_type3 - TYPE3 sysconfig scheme. 5562306a36Sopenharmony_ci * Used by some IPs on AM33xx 5662306a36Sopenharmony_ci */ 5762306a36Sopenharmony_cistruct sysc_regbits omap_hwmod_sysc_type3 = { 5862306a36Sopenharmony_ci .midle_shift = SYSC_TYPE3_MIDLEMODE_SHIFT, 5962306a36Sopenharmony_ci .sidle_shift = SYSC_TYPE3_SIDLEMODE_SHIFT, 6062306a36Sopenharmony_ci}; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_cistruct omap_dss_dispc_dev_attr omap2_3_dss_dispc_dev_attr = { 6362306a36Sopenharmony_ci .manager_count = 2, 6462306a36Sopenharmony_ci .has_framedonetv_irq = 0 6562306a36Sopenharmony_ci}; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_cistruct sysc_regbits omap34xx_sr_sysc_fields = { 6862306a36Sopenharmony_ci .clkact_shift = 20, 6962306a36Sopenharmony_ci}; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_cistruct sysc_regbits omap36xx_sr_sysc_fields = { 7262306a36Sopenharmony_ci .sidle_shift = 24, 7362306a36Sopenharmony_ci .enwkup_shift = 26, 7462306a36Sopenharmony_ci}; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_cistruct sysc_regbits omap3_sham_sysc_fields = { 7762306a36Sopenharmony_ci .sidle_shift = 4, 7862306a36Sopenharmony_ci .srst_shift = 1, 7962306a36Sopenharmony_ci .autoidle_shift = 0, 8062306a36Sopenharmony_ci}; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_cistruct sysc_regbits omap3xxx_aes_sysc_fields = { 8362306a36Sopenharmony_ci .sidle_shift = 6, 8462306a36Sopenharmony_ci .srst_shift = 1, 8562306a36Sopenharmony_ci .autoidle_shift = 0, 8662306a36Sopenharmony_ci}; 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_cistruct sysc_regbits omap_hwmod_sysc_type_mcasp = { 8962306a36Sopenharmony_ci .sidle_shift = 0, 9062306a36Sopenharmony_ci}; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_cistruct sysc_regbits omap_hwmod_sysc_type_usb_host_fs = { 9362306a36Sopenharmony_ci .midle_shift = 4, 9462306a36Sopenharmony_ci .sidle_shift = 2, 9562306a36Sopenharmony_ci .srst_shift = 1, 9662306a36Sopenharmony_ci}; 97