File indexing completed on 2025-05-11 08:23:53
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033 #ifndef LIBBSP_POWERPC_MPC83XX_TIMER_H
0034 #define LIBBSP_POWERPC_MPC83XX_TIMER_H
0035
0036 #include <stdint.h>
0037 #include <stdbool.h>
0038
0039 #include <rtems.h>
0040
0041 #define MPC83XX_GTM_NUMBER 8
0042
0043 #define MPC83XX_GTM_CLOCK_CASCADED 0x0000
0044 #define MPC83XX_GTM_CLOCK_SYSTEM 0x0002
0045 #define MPC83XX_GTM_CLOCK_SYSTEM_SLOW 0x0004
0046 #define MPC83XX_GTM_CLOCK_EXTERN 0x0006
0047
0048 rtems_status_code mpc83xx_gtm_initialize( int timer, int clock);
0049
0050 rtems_status_code mpc83xx_gtm_enable_restart( int timer, bool enable);
0051
0052 rtems_status_code mpc83xx_gtm_set_clock( int timer, int clock);
0053
0054 rtems_status_code mpc83xx_gtm_get_clock( int timer, int *clock);
0055
0056 rtems_status_code mpc83xx_gtm_start( int timer);
0057
0058 rtems_status_code mpc83xx_gtm_stop( int timer);
0059
0060 rtems_status_code mpc83xx_gtm_set_value( int timer, uint16_t value);
0061
0062 rtems_status_code mpc83xx_gtm_get_value( int timer, uint16_t *value);
0063
0064 rtems_status_code mpc83xx_gtm_set_reference( int timer, uint16_t reference);
0065
0066 rtems_status_code mpc83xx_gtm_get_reference( int timer, uint16_t *reference);
0067
0068 rtems_status_code mpc83xx_gtm_set_prescale( int timer, uint8_t prescale);
0069
0070 rtems_status_code mpc83xx_gtm_get_prescale( int timer, uint8_t *prescale);
0071
0072 rtems_status_code mpc83xx_gtm_interrupt_get_vector( int timer, rtems_vector_number *vector);
0073
0074 rtems_status_code mpc83xx_gtm_interrupt_enable( int timer);
0075
0076 rtems_status_code mpc83xx_gtm_interrupt_disable( int timer);
0077
0078 rtems_status_code mpc83xx_gtm_interrupt_clear( int timer);
0079
0080 #endif