int qdss_fuse_trace_access_non_secure(void)
{
   unsigned int uNIDEN_DISABLE;
   unsigned int uDBGGEN_DISABLE;

   uNIDEN_DISABLE = HWIO_INF(OEM_CONFIG1, DAP_NIDEN_DISABLE);
   uDBGGEN_DISABLE = HWIO_INF(OEM_CONFIG1, DAP_DBGEN_DISABLE);
   return ((!uDBGGEN_DISABLE) || (!uNIDEN_DISABLE)) ? 1 : 0;
}
int qdss_fuse_trace_access_secure(void)
{
   unsigned int uSPIDEN_DISABLE;
   unsigned int uSPNIDEN_DISABLE;

   uSPNIDEN_DISABLE = HWIO_INF(OEM_CONFIG1, DAP_SPNIDEN_DISABLE);
   uSPIDEN_DISABLE  = HWIO_INF(OEM_CONFIG1, DAP_SPIDEN_DISABLE);
   return ((!uSPIDEN_DISABLE) || (!uSPNIDEN_DISABLE)) ? 1 : 0;
}
boolean HAL_clk_LPMIsOn
(
   HAL_clk_ClockDescType *pmClockDesc
)
{
  if((HWIO_INF(LPASS_AUDIO_CORE_LPM_CBCR, CLK_OFF) == 0) &&
     (HWIO_INF(LPASS_AUDIO_CORE_LPM_MEM0_CBCR, CLK_OFF) == 0) &&
     (HWIO_INF(LPASS_AUDIO_CORE_LPM_MEM1_CBCR, CLK_OFF) == 0) &&
     (HWIO_INF(LPASS_AUDIO_CORE_LPM_MEM2_CBCR, CLK_OFF) == 0) &&
     (HWIO_INF(LPASS_AUDIO_CORE_LPM_MEM3_CBCR, CLK_OFF) == 0))
  {
    return TRUE;
  }
  else
  {
    return FALSE;
  }

} /* HAL_clk_LPMIsOn */
Exemplo n.º 4
0
/*===========================================================================
FUNCTION HSU_PHY_UTILS_SPOOF_DISCONNECT

DESCRIPTION
This function causes the device to disconnect from host, 
while USB cable can still be attached.

DEPENDENCIES
None.

RETURN VALUE
TRUE - Operation successful. FALSE - Otherwise.

SIDE EFFECTS
None.
===========================================================================*/
boolean hsu_phy_utils_spoof_disconnect(void)
{
  #ifdef FEATURE_HS_USB_INTEGRATED_PHY
#ifndef FEATURE_HS_USB_HAL
  const uint32 MAX_SPOOF_DISCONNECT_GUARD_LOOP = 10000;
  uint32 loop_itor;
#endif /* FEATURE_HS_USB_HAL */
  #endif /* FEATURE_HS_USB_INTEGRATED_PHY */
  
  /* Stop the core */
#ifdef FEATURE_HS_USB_HAL
  HAL_hsusb_ClearBits32(0, HAL_HSUSB_USBCMD_ADDR, HAL_HSUSB_USBCMD_RS_BMSK); 
#else /* FEATURE_HS_USB_HAL */
  HWIO_OUTF(USB_OTG_HS_USBCMD, RS, 0);
#endif /* FEATURE_HS_USB_HAL */

  #ifdef FEATURE_HS_USB_INTEGRATED_PHY
  /* SW workaround for intg. phy in which clearing the RS bit does not pull down D+   
     Write function control register: 
     bits [3,4] (OpMode) =   [0,1] (Non-Driving)
     bit  [6]   (SuspendM) = [1]   (Normal Power) */
#ifdef FEATURE_HS_USB_HAL
  if (HAL_hsusb_WriteUlpiPhy(0, 0, 0x4, 0x48) == HAL_HSUSB_Success)
  {
    return TRUE;
  }
#else /* FEATURE_HS_USB_HAL */
  HWIO_OUT(USB_OTG_HS_ULPI_VIEWPORT, 0x60040048);

  for (loop_itor = 0 ; loop_itor < MAX_SPOOF_DISCONNECT_GUARD_LOOP 
      ; ++loop_itor)
  {
      /* Wait until the ULPI running bit is cleared */
      if (!(HWIO_INF(USB_OTG_HS_ULPI_VIEWPORT, ULPIRUN)))
      {
          return TRUE;
      }
  }
#endif /* FEATURE_HS_USB_HAL */

  HSU_MSG_ERROR("hsu_os_bus_spoof_disconnect: couldn't write termselect", 
        0, 0, 0);
   
  return FALSE;

  #else /* !FEATURE_HS_USB_INTEGRATED_PHY */

  return TRUE;

  #endif /* FEATURE_HS_USB_INTEGRATED_PHY */
}  /* hsu_phy_utils_spoof_disconnect */
Exemplo n.º 5
0
/**
  Internal API which returns whether a clock is on or not.
    
  @param[in]  eClockId  - The ID of the clock to enable.

  @return
  TRUE  - The clock is on.
  FALSE - Otherwise.
  
  @dependencies
  None.

*/
boolean uClock_IsOn(uClockIdType eClockId)
{
  uint32 nVal = 0;
    
  switch(eClockId)
  {
    case CLOCK_GCC_BLSP1_QUP1_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP1_QUP1_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP1_QUP2_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP1_QUP2_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP1_QUP3_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP1_QUP3_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP1_QUP4_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP1_QUP4_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP1_QUP5_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP1_QUP5_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP1_QUP6_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP1_QUP6_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP2_QUP1_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP2_QUP1_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP2_QUP2_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP2_QUP2_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP2_QUP3_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP2_QUP3_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP2_QUP4_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP2_QUP4_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP2_QUP5_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP2_QUP5_I2C_APPS_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP2_QUP6_APPS_CLK:
       nVal = HWIO_INF(GCC_BLSP2_QUP6_I2C_APPS_CBCR, CLK_OFF);
       break;
       
    case CLOCK_GCC_BLSP1_AHB_CLK:
       nVal = HWIO_INF(GCC_BLSP1_AHB_CBCR, CLK_OFF);
       break;

    case CLOCK_GCC_BLSP2_AHB_CLK:
       nVal = HWIO_INF(GCC_BLSP2_AHB_CBCR, CLK_OFF);
       break;
       
    default:
       break;
   }
   
   if(nVal != 0)
   {
     return(FALSE);
   }
   else
   {
     return(TRUE);
   }
   
} /* uClock_IsOn */