platform_sdk.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>
#include "system_gr55xx.h"
#include "gr55xx_hal_def.h"
#include "gr55xx_hal.h"

Go to the source code of this file.

Macros

#define XO_CRYSTAL_FREQ   32000000
 Clock calibration macro. More...
 
#define CLK_CAL_STAT_BUSY   0x00
 
#define CLK_CAL_STAT_DONE   0x01
 
#define CLK_CAL_STAT_OVERFLOW   0x100
 

Typedefs

typedef void(* clock_calib_notify_cb_t) (float SlowClockFreq)
 clock calibration notify callback. More...
 

Enumerations

enum  table_idx_t {
  XIP_64M = 0,
  XIP_48M,
  XIP_XO16M,
  XIP_24M,
  XIP_16M,
  XIP_32M,
  MIRROR_64M,
  MIRROR_48M,
  MIRROR_XO16M,
  MIRROR_24M,
  MIRROR_16M,
  MIRROR_32M
}
 system clock and run mode. More...
 
enum  sdk_clock_type_t {
  RNG_OSC_CLK = 0,
  RTC_OSC_CLK,
  RNG_OSC_CLK2
}
 sdk clock type. More...
 
enum  mem_power_t {
  MEM_POWER_FULL_MODE = 0,
  MEM_POWER_AUTO_MODE
}
 memory power setting mode. More...
 

Functions

void platform_sdk_init (void)
 platform sdk init function. More...
 
void mem_pwr_mgmt_full_power_set (void)
 set the memory power state to full. This function is mainly used in some scenarios where all SRAMs need to be powered on More...
 
void mem_pwr_mgmt_mode_set (mem_power_t mem_pwr_mode)
 Set the memory power management mode, which can be automatic mode or full power on mode. More...
 
void mem_pwr_mgmt_mode_set_from (uint32_t start_addr, uint32_t size)
 Control the memory power supply by specifying start address and length. More...
 
void mem_pwr_mgmt_init (void)
 memory check process More...
 
void system_lp_table_update_twval (table_idx_t table_idx, int16_t dur_offset, int16_t ext_offset, int16_t osc_offset)
 Enable patch function. More...
 
void system_io_leakage_protect (void)
 Leakage Protection for Chip's IO, Only used in Bali A0. More...
 
void platform_clock_init (mcu_clock_type_t sys_clock, sdk_clock_type_t clock, uint16_t accuracy, uint16_t xo_offset)
 Platform low power clock init function. More...
 
void platform_rc_calibration (void)
 Platform rc calibration function. More...
 
void pwr_mgmt_warm_boot (void)
 Power Management warm boot. More...
 
void clock_calibration_irq_handler (void)
 Handle Clock calibration interrupt request. More...
 
void platform_init (void)
 Platform init function. More...
 
void system_pmu_init (mcu_clock_type_t clock_type)
 PMU init function. More...
 
void system_pmu_deinit (void)
 PMU deinit function. More...
 
void warm_boot_first (void)
 the first warm boot stage. More...
 
void warm_boot_second (void)
 the second warm boot stage.. More...
 
void warm_boot (void)
 Warm boot process. More...
 
void pmu_calibration_handler (void *p_arg)
 PMU calibration handler. More...
 
void clock_calib_notify_register (clock_calib_notify_cb_t calib_notify_cb)
 Register the clock calibration completion notification interface. More...
 
void system_pmu_calibration_start (uint32_t interval)
 start calibration. More...
 
void system_pmu_calibration_stop (void)
 stop calibration. More...
 
hal_status_t platform_flash_enable_quad (exflash_hp_init_t *hp_init)
 write flash QE More...
 

Detailed Description

Attention
#####Copyright (c) 2019 GOODIX All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of GOODIX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file platform_sdk.h.