Typedefs | Enumerations | Functions
platform_sdk.h File Reference
`#include <stdint.h>`
`#include <stdbool.h>`
`#include <stdio.h>`
`#include "system_gr5405.h"`
`#include "hal_def.h"`
`#include "ll_xqspi.h"`

Go to the source code of this file.

## 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 | slow_clock_type_t { RC_OSC_CLK = 0, RTC_OSC_CLK }
| slow clock type. More...
enum | mem_power_t { MEM_POWER_FULL_MODE = 0, MEM_POWER_AUTO_MODE }
| memory power setting mode. More...
enum | sys_power_t { DCDC_MODE = 0, SYSLDO_MODE = 1, DCDC_MODE_2 = 2 }
| system power mode. More...

## Functions
void | platform_sdk_init (void)
| platform sdk init function. 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 | 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 | platform_clock_init (mcu_clock_type_t sys_clock, slow_clock_type_t slow_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...
bool | clock_calibration_is_done (void)
| Check whether the clock calibration is completed. If it is not completed, the chip is not allowed to enter sleep. More...
void | pwr_mgmt_update_comm_wkup_timing_param (void)
| update comm wakeup timing settings according to lf clock More...
void | platform_init (void)
| Platform init function. More...
void | system_power_mode (sys_power_t sys_power)
| System power starup mode. More...
void | system_pmu_init (mcu_clock_type_t clock_type)
| PMU init function. More...
void | tx_power_15dbm_pmu_apply (void)
| PMU deinit function. More...
void | tx_power_normal_pmu_apply (void)
void | system_pmu_deinit (void)
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 | pmu_calibration_check_and_retry (void)
| If the last PMU calibration failed, do the calibration again. More...
uint16_t | clock_calib_notify_register (clock_calib_notify_cb_t calib_notify_cb)
| Register the clock calibration completion callback. More...
uint16_t | clock_calib_notify_unregister (clock_calib_notify_cb_t calib_notify_cb)
| Unregister the clock calibration completion callback. More...
void | system_pmu_calibration_stop (void)
| stop calibration. More...
uint32_t | sys_pmu_ddvs_ringo_get (void)
| get ddvs ringo count More...
void | sys_dcdc_sysldo_dcore_init (void)
| set dcdc sysldo & digocre More...
void | sys_pmu_ddvs_dcore_adjust (uint8_t clock_type)
| adjust digcore with ddvs More...
bool | sys_pmu_is_ss_chip (void)
| adjust digcore with ddvs More...
void | sys_set_protect_irq (IRQn_Type IRQn)
| Set the protected interrupt level. Interrupts with a lower priority group than the protected interrupt will be blocked in pmu calibration. The default protected interrupt level is BLE_IRQn. More...
IRQn_Type | sys_get_protect_irq (void)
| Get the protected interrupt level. 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.