Kinetis Bootloader  2.0.0
Common bootloader for Kinetis devices
Bootloader Hardware

Hardware management APIs. More...

+ Collaboration diagram for Bootloader Hardware:

Typedefs

typedef void(* pin_irq_callback_t) (uint32_t instance)
 Callback function invoked for a pin change interrupt. More...
 

Functions

void I2C_SetSystemIRQ (uint32_t instance, PeripheralSystemIRQSetting set)
 Configure IRQ gate for I2C peripherals. More...
 
void DSPI_SetSystemIRQ (uint32_t instance, PeripheralSystemIRQSetting set)
 Configure IRQ gate for DSPI peripherals. More...
 
void LPUART_SetSystemIRQ (uint32_t instance, PeripheralSystemIRQSetting set)
 Configure IRQ gate for LPUART peripherals. More...
 
void UART_SetSystemIRQ (uint32_t instance, PeripheralSystemIRQSetting set)
 Configure IRQ gate for UART peripherals. More...
 
void lpi2c_set_system_IRQ_gate (uint32_t instance, PeripheralSystemIRQSetting set)
 Configure IRQ gate for LPI2C peripherals. More...
 
void lpspi_set_system_IRQ_gate (uint32_t instance, PeripheralSystemIRQSetting set)
 Configure IRQ gate for LPSPI peripherals. More...
 
void init_hardware (void)
 Initialize the hardware such as pinmux.
 
void deinit_hardware (void)
 DeInitialize the hardware such as disabling port clock gate.
 
void update_available_peripherals (void)
 Update available peripherals based on specific chips.
 
void configure_clocks (bootloader_clock_option_t option)
 Returns the logic level of the board specific GPIO pin used for autobaud. More...
 
uint32_t get_available_lirc_clock (void)
 Returns the available lirc clock frequency in Hertz.
 
uint32_t get_bus_clock (void)
 Returns the current bus clock frequency in Hertz.
 
uint32_t get_system_core_clock (void)
 Returns the current core clock frequency in Hertz.
 
bool usb_clock_init (void)
 Configure usb clock.
 
uint32_t get_uart_clock (uint32_t instance)
 Returns the value in MHz of the UART clock based on the instance.
 
bool is_boot_pin_asserted (void)
 Returns true if reset BOOTROM mode is selected.
 
void enable_autobaud_pin_irq (uint32_t instance, pin_irq_callback_t func)
 Enables the autobaud pin IRQ for the specific instance passed.
 
void disable_autobaud_pin_irq (uint32_t instance)
 Disables the autobaud pin IRQ for the instance passed.
 
void Reset_Handler (void)
 Declaration for the reset handler, which is defined in assembler.
 
void bootloader_watchdog_init (void)
 Initialize watchdog.
 
void bootloader_watchdog_service (void)
 Service watchdog.
 
void bootloader_watchdog_deinit (void)
 De-initialize watchdog.
 
bool qspi_need_configure (void)
 Determine if QSPI module to be configured.
 
status_t otfad_init_as_needed (void)
 Initialize QSPI and OTFAD module. More...
 
bool is_qspi_present (void)
 Determine if QSPI memory is present or not.
 
bool is_otfad_present (void)
 Determine if OTFAD module is present or not.
 
bool is_ltc_present (void)
 Determine if LTC module is present or not.
 
status_t get_qspi_otfad_init_status (void)
 Return status for intializing qspi and otfad modules.
 
void update_qspi_otfad_init_status (status_t initStatus)
 Update status for intializing qspi and otfad modules
 
bool is_secondary_i2c_slave_address_enabled (void)
 Determine is the Secondary I2C slave address is enabled.
 
bool is_in_execute_only_region (uint32_t start, uint32_t lengthInBytes)
 Check if data to be accessed is in execute-only region.
 
bool is_second_core_present (void)
 Check if second core is present.
 

Usage Information

Hardware management APIs.

Typedef Documentation

typedef void(* pin_irq_callback_t) (uint32_t instance)

Callback function invoked for a pin change interrupt.

Function Documentation

void configure_clocks ( bootloader_clock_option_t  option)

Returns the logic level of the board specific GPIO pin used for autobaud.

Configure hardware clocks.

void DSPI_SetSystemIRQ ( uint32_t  instance,
PeripheralSystemIRQSetting  set 
)

Configure IRQ gate for DSPI peripherals.

This function enables or disables IRQ gate for specified DSPI peripheral

Parameters
instanceDSPI instance
setOption for disabling or enabling IRQ gates.
void I2C_SetSystemIRQ ( uint32_t  instance,
PeripheralSystemIRQSetting  set 
)

Configure IRQ gate for I2C peripherals.

This function enables or disables IRQ gate for specified I2C peripheral

Parameters
instanceI2C instance
setOption for disabling or enabling IRQ gates.
void lpi2c_set_system_IRQ_gate ( uint32_t  instance,
PeripheralSystemIRQSetting  set 
)

Configure IRQ gate for LPI2C peripherals.

This function enables or disables IRQ gate for specified LPI2C peripheral

Parameters
instanceLPI2C instance
setOption for disabling or enabling IRQ gates.
void lpspi_set_system_IRQ_gate ( uint32_t  instance,
PeripheralSystemIRQSetting  set 
)

Configure IRQ gate for LPSPI peripherals.

This function enables or disables IRQ gate for specified LPSPI peripheral

Parameters
instanceLPSPI instance
setOption for disabling or enabling IRQ gates.
void LPUART_SetSystemIRQ ( uint32_t  instance,
PeripheralSystemIRQSetting  set 
)

Configure IRQ gate for LPUART peripherals.

This function enables or disables IRQ gate for specified LPUART peripheral

Parameters
instanceLPUART instance
setOption for disabling or enabling IRQ gates.
status_t otfad_init_as_needed ( void  )

Initialize QSPI and OTFAD module.

Parameters
none
void UART_SetSystemIRQ ( uint32_t  instance,
PeripheralSystemIRQSetting  set 
)

Configure IRQ gate for UART peripherals.

This function enables or disables IRQ gate for specified UART peripheral

Parameters
instanceUART instance
setOption for disabling or enabling IRQ gates.