⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbdl_pmic6318.c

📁 MTK 平台启动源码
💻 C
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/

/*****************************************************************************
 *
 * Filename:
 * ---------
 *    usbdl_pmic6318.c
 *
 * Project:
 * --------
 *   Maui_Software
 *
 * Description:
 * ------------
 *   This Module defines functions that PMIC 6318 can support
 *
 * Author:
 * -------
 * -------
 *
 *============================================================================
 *             HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/
//#include 	"kal_release.h"
//#include 	"stack_common.h"  
//#include 	"stack_msgs.h"
//#include 	"app_ltlcom.h"       /* Task message communiction */
#include 	"drv_comm.h"
//#include    "drvsignals.h"
#include 	"reg_base.h"
#include 	"pmic6318_hw.h"
#include 	"pmic6318_sw.h"
#include 	"b2psi_hw.h"
#include 	"b2psi_sw.h"
//#include 	"intrCtrl.h"
//#include	   "stack_ltlcom.h"       /*msg_send_ext_queue.....definitions*/
//#include	   "stack_config.h"        /*MOD_UART1_HISR,MOD_UART2_HISR*/
//#include    "eint.h"
//#include    "bmt.h"
//#include    "drvsignals.h"
//#include    "custom_hw_default.h"

#if defined(MT6318)

/*
* FUNCTION                                                            
*	pmic_init
*
* DESCRIPTION                                                           
*   PMIC6318 driver initial function
*
* CALLS  
*	
*
* PARAMETERS
*	None
*	
* RETURNS
*	None
*
* GLOBALS AFFECTED
*   external_global
*/
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif

/*
* FUNCTION                                                            
*	pmic_usb_regulator_enable
*
* DESCRIPTION                                                           
*   	turn on or turn off USB LDO
*
* CALLS  
*	It is called by USB task
*
* PARAMETERS
*	enable: on or off
*	
* RETURNS
*	None
*
* GLOBALS AFFECTED
*   external_global
*/      
/*usb regulator on/off*/
void pmic_usb_regulator_enable(kal_bool enable)
{
#ifdef  __USB_DOWNLOAD__
   kal_uint8 data = 0;
//   kal_uint32 savedMask;

//   savedMask = SAVEANDSETIRQMASK();
//   data=pmic_reg_save[(PMIC_CHARGER_SPEAKER_CTRL>>PMIC_SHIFT_BITS)];
      
   if(enable==KAL_TRUE) 
   {
      data|=USB_PWR_ON;   
   }   
   else if(enable==KAL_FALSE)
   {
      data&=~USB_PWR_ON;
   }            
   B2PSI_write_fast(data, PMIC_CHARGER_SPEAKER_CTRL);
//   RESTOREIRQMASK(savedMask);
#endif  /* __USB_DOWNLOAD__ */
} 
 
 /*
* FUNCTION                                                            
*	pmic_vasw_enable
*
* DESCRIPTION                                                           
*  Turn on or Turn off VASW LDO
*
* CALLS  
*	It is called by external module that uses VASW LDO
*
* PARAMETERS
*	enable: on or off
*	
* RETURNS
*	None
*
* GLOBALS AFFECTED
*   external_global
*/   

void pmic_vasw_enable(kal_bool enable)
{
#ifdef  __USB_DOWNLOAD__
   kal_uint8 data = 0;
   kal_uint32 savedMask;
   
   //savedMask = SAVEANDSETIRQMASK();
   //data=pmic_reg_save[(PMIC_MISC>>PMIC_SHIFT_BITS)];
   
   if(enable==KAL_TRUE)
   {
      data|=VASW_ON;   
   }   
   else if(enable==KAL_FALSE)
   {
      data&=~VASW_ON;
   }            
   B2PSI_write_fast(data, PMIC_MISC); 
   //RESTOREIRQMASK(savedMask);          

#endif // #ifdef  __USB_DOWNLOAD__
} 


/*
* FUNCTION                                                            
*	pmic_sw_sel
*
* DESCRIPTION                                                           
*   auxiliary analog output voltage selection
*
* CALLS  
*  used to change auxiliary analog output voltage
*
* PARAMETERS
*	value:VASW_3_3V or VASW_2_8V
*	
* RETURNS
*	None
*
* GLOBALS AFFECTED
*   external_global
*/
void pmic_sw_sel(vasw_a_sel_enum value)
{
#ifdef  __USB_DOWNLOAD__
   kal_uint8 data = 0;
   //kal_uint32 savedMask;
   //savedMask = SAVEANDSETIRQMASK();   
   //data=pmic_reg_save[(PMIC_EXTRAS>>PMIC_SHIFT_BITS)];      
   if(value==VASW_2_8V)
      data&=~0x80;
   else if(value==VASW_3_3V)      
      data|=0x80;
   else
      ASSERT(0);   
   B2PSI_write_fast(data, PMIC_EXTRAS);         
   //RESTOREIRQMASK(savedMask);         
#endif // #ifdef  __USB_DOWNLOAD__
   
} 


 
#endif/*MT6318*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -