Typedefs | Functions
Functions
SYSTEM

## Typedefs
typedef void(* | clock_calib_notify_cb_t) (float SlowClockFreq)
| clock calibration notify callback. 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

## Typedef Documentation

## ◆ clock_calib_notify_cb_t

typedef void(* clock_calib_notify_cb_t) (float SlowClockFreq)

clock calibration notify callback.

Definition at line 108 of file platform_sdk.h.

## Function Documentation

## ◆ clock_calib_notify_register()

uint16_t clock_calib_notify_register | ( | clock_calib_notify_cb_t | calib_notify_cb | ) |

Register the clock calibration completion callback.

Parameters

  [in] | calib_notify_cb | : Calibration completion callback.

Return values

  SDK_SUCCESS | Register callback Successfully.
  SDK_ERR_POINTER_NULL | calib_notify_cb is null pointer.
  SDK_ERR_LIST_FULL | Operation is failed, the clock calibration completion callback is full.

## ◆ clock_calib_notify_unregister()

uint16_t clock_calib_notify_unregister | ( | clock_calib_notify_cb_t | calib_notify_cb | ) |

Unregister the clock calibration completion callback.

Parameters

  [in] | calib_notify_cb | : Calibration completion callback.

Return values

  SDK_SUCCESS | Unregister callback Successfully.
  SDK_ERR_POINTER_NULL | calib_notify_cb is null pointer.
  SDK_ERR_LIST_ITEM_NOT_FOUND | Operation is failed, the clock calibration completion has not been registered.

## ◆ clock_calibration_irq_handler()

void clock_calibration_irq_handler | ( | void |  | ) |

Handle Clock calibration interrupt request.

Return values

  | void

## ◆ clock_calibration_is_done()

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.

Return values

  : | true: clock calibration is completed. :: false: clock calibration is not completed.

## ◆ mem_pwr_mgmt_mode_set()

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.

Parameters

  [in] | mem_pwr_mode | : MEM_POWER_FULL_MODE or MEM_POWER_AUTO_MODE.

Return values

  | void

## ◆ mem_pwr_mgmt_mode_set_from()

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.

Parameters

  [in] | start_addr | : the start address of memory that user want to config
  [in] | size | : the size of memory that user want to config

Return values

  | void

## ◆ platform_clock_init()

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.

Parameters

  [in] | sys_clock | System clock.
  [in] | slow_clock | External RTC setting or internal RNG_OSC/RC_32K setting.
  [in] | accuracy | : Low speed clock accuracy.
  [in] | xo_offset | : Clock calibration parameter.

Return values

  | void

## ◆ platform_init()

void platform_init | ( | void |  | ) |

Platform init function.

Return values

  | void

## ◆ platform_rc_calibration()

void platform_rc_calibration | ( | void |  | ) |

Platform rc calibration function.

Return values

  | void

## ◆ platform_sdk_init()

void platform_sdk_init | ( | void |  | ) |

platform sdk init function.

Return values

  | void

## ◆ pmu_calibration_check_and_retry()

void pmu_calibration_check_and_retry | ( | void |  | ) |

If the last PMU calibration failed, do the calibration again.

Return values

  | void

## ◆ pmu_calibration_handler()

void pmu_calibration_handler | ( | void * | p_arg | ) |

PMU calibration handler.

Parameters

  [in] | p_arg | : no args.

Return values

  | void

## ◆ pwr_mgmt_update_comm_wkup_timing_param()

void pwr_mgmt_update_comm_wkup_timing_param | ( | void |  | ) |

update comm wakeup timing settings according to lf clock

Return values

  | void

## ◆ pwr_mgmt_warm_boot()

void pwr_mgmt_warm_boot | ( | void |  | ) |

Power Management warm boot.

Return values

  | void

## ◆ sys_dcdc_sysldo_dcore_init()

void sys_dcdc_sysldo_dcore_init | ( | void |  | ) |

set dcdc sysldo & digocre

Return values

  | void

## ◆ sys_get_protect_irq()

IRQn_Type sys_get_protect_irq | ( | void |  | ) |

Get the protected interrupt level.

Return values

  IRQn_Type |

## ◆ sys_pmu_ddvs_dcore_adjust()

void sys_pmu_ddvs_dcore_adjust | ( | uint8_t | clock_type | ) |

adjust digcore with ddvs

Parameters

  [in] | clock_type | : clock type

## ◆ sys_pmu_ddvs_ringo_get()

uint32_t sys_pmu_ddvs_ringo_get | ( | void |  | ) |

get ddvs ringo count

Return values

  | ringo count

## ◆ sys_pmu_is_ss_chip()

bool sys_pmu_is_ss_chip | ( | void |  | ) |

adjust digcore with ddvs

Return values

  bool |

## ◆ sys_set_protect_irq()

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.

Return values

  void |

## ◆ system_lp_table_update_twval()

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.

Parameters

  [in] | table_idx | : Start Index Number.
  [in] | dur_offset | : duration setting.
  [in] | ext_offset | : ext wakeup setting.
  [in] | osc_offset | : pre-wakeup setting.

Return values

  | void

## ◆ system_pmu_calibration_stop()

void system_pmu_calibration_stop | ( | void |  | ) |

stop calibration.

Return values

  | void

## ◆ system_pmu_deinit()

void system_pmu_deinit | ( | void |  | ) |

## ◆ system_pmu_init()

void system_pmu_init | ( | mcu_clock_type_t | clock_type | ) |

PMU init function.

Parameters

  [in] | clock_type | : clock type to be configured.

Return values

  | void

## ◆ system_power_mode()

void system_power_mode | ( | sys_power_t | sys_power | ) |

System power starup mode.

Parameters

  [in] | sys_power | : System power up mode to be configured.

Return values

  | void

## ◆ tx_power_15dbm_pmu_apply()

void tx_power_15dbm_pmu_apply | ( | void |  | ) |

PMU deinit function.

Return values

  | void

## ◆ tx_power_normal_pmu_apply()

void tx_power_normal_pmu_apply | ( | void |  | ) |

## ◆ warm_boot()

void warm_boot | ( | void |  | ) |

Warm boot process.

Return values

  | void

## ◆ warm_boot_first()

void warm_boot_first | ( | void |  | ) |

the first warm boot stage.

Return values

  | void

## ◆ warm_boot_second()

void warm_boot_second | ( | void |  | ) |

the second warm boot stage..

Return values

  | void