Changed to use stdint types.
This commit is contained in:
@@ -635,70 +635,70 @@ and ADC2
|
||||
|
||||
BEGIN_DECLS
|
||||
|
||||
void adc_power_on(u32 adc);
|
||||
void adc_start_conversion_direct(u32 adc);
|
||||
void adc_set_single_channel(u32 adc, u8 channel);
|
||||
void adc_set_dual_mode(u32 mode);
|
||||
bool adc_eoc(u32 adc);
|
||||
bool adc_eoc_injected(u32 adc);
|
||||
u32 adc_read_regular(u32 adc);
|
||||
u32 adc_read_injected(u32 adc, u8 reg);
|
||||
void adc_set_injected_offset(u32 adc, u8 reg, u32 offset);
|
||||
void adc_enable_analog_watchdog_regular(u32 adc);
|
||||
void adc_disable_analog_watchdog_regular(u32 adc);
|
||||
void adc_enable_analog_watchdog_injected(u32 adc);
|
||||
void adc_disable_analog_watchdog_injected(u32 adc);
|
||||
void adc_enable_discontinuous_mode_regular(u32 adc, u8 length);
|
||||
void adc_disable_discontinuous_mode_regular(u32 adc);
|
||||
void adc_enable_discontinuous_mode_injected(u32 adc);
|
||||
void adc_disable_discontinuous_mode_injected(u32 adc);
|
||||
void adc_enable_automatic_injected_group_conversion(u32 adc);
|
||||
void adc_disable_automatic_injected_group_conversion(u32 adc);
|
||||
void adc_enable_analog_watchdog_on_all_channels(u32 adc);
|
||||
void adc_enable_analog_watchdog_on_selected_channel(u32 adc, u8 channel);
|
||||
void adc_enable_scan_mode(u32 adc);
|
||||
void adc_disable_scan_mode(u32 adc);
|
||||
void adc_enable_eoc_interrupt_injected(u32 adc);
|
||||
void adc_disable_eoc_interrupt_injected(u32 adc);
|
||||
void adc_enable_awd_interrupt(u32 adc);
|
||||
void adc_disable_awd_interrupt(u32 adc);
|
||||
void adc_enable_eoc_interrupt(u32 adc);
|
||||
void adc_disable_eoc_interrupt(u32 adc);
|
||||
void adc_enable_temperature_sensor(u32 adc);
|
||||
void adc_disable_temperature_sensor(u32 adc);
|
||||
void adc_start_conversion_regular(u32 adc);
|
||||
void adc_start_conversion_injected(u32 adc);
|
||||
void adc_enable_external_trigger_regular(u32 adc, u32 trigger);
|
||||
void adc_disable_external_trigger_regular(u32 adc);
|
||||
void adc_enable_external_trigger_injected(u32 adc, u32 trigger);
|
||||
void adc_disable_external_trigger_injected(u32 adc);
|
||||
void adc_set_left_aligned(u32 adc);
|
||||
void adc_set_right_aligned(u32 adc);
|
||||
void adc_enable_dma(u32 adc);
|
||||
void adc_disable_dma(u32 adc);
|
||||
void adc_reset_calibration(u32 adc);
|
||||
void adc_calibration(u32 adc);
|
||||
void adc_set_continuous_conversion_mode(u32 adc);
|
||||
void adc_set_single_conversion_mode(u32 adc);
|
||||
void adc_on(u32 adc)
|
||||
void adc_power_on(uint32_t adc);
|
||||
void adc_start_conversion_direct(uint32_t adc);
|
||||
void adc_set_single_channel(uint32_t adc, uint8_t channel);
|
||||
void adc_set_dual_mode(uint32_t mode);
|
||||
bool adc_eoc(uint32_t adc);
|
||||
bool adc_eoc_injected(uint32_t adc);
|
||||
uint32_t adc_read_regular(uint32_t adc);
|
||||
uint32_t adc_read_injected(uint32_t adc, uint8_t reg);
|
||||
void adc_set_injected_offset(uint32_t adc, uint8_t reg, uint32_t offset);
|
||||
void adc_enable_analog_watchdog_regular(uint32_t adc);
|
||||
void adc_disable_analog_watchdog_regular(uint32_t adc);
|
||||
void adc_enable_analog_watchdog_injected(uint32_t adc);
|
||||
void adc_disable_analog_watchdog_injected(uint32_t adc);
|
||||
void adc_enable_discontinuous_mode_regular(uint32_t adc, uint8_t length);
|
||||
void adc_disable_discontinuous_mode_regular(uint32_t adc);
|
||||
void adc_enable_discontinuous_mode_injected(uint32_t adc);
|
||||
void adc_disable_discontinuous_mode_injected(uint32_t adc);
|
||||
void adc_enable_automatic_injected_group_conversion(uint32_t adc);
|
||||
void adc_disable_automatic_injected_group_conversion(uint32_t adc);
|
||||
void adc_enable_analog_watchdog_on_all_channels(uint32_t adc);
|
||||
void adc_enable_analog_watchdog_on_selected_channel(uint32_t adc, uint8_t channel);
|
||||
void adc_enable_scan_mode(uint32_t adc);
|
||||
void adc_disable_scan_mode(uint32_t adc);
|
||||
void adc_enable_eoc_interrupt_injected(uint32_t adc);
|
||||
void adc_disable_eoc_interrupt_injected(uint32_t adc);
|
||||
void adc_enable_awd_interrupt(uint32_t adc);
|
||||
void adc_disable_awd_interrupt(uint32_t adc);
|
||||
void adc_enable_eoc_interrupt(uint32_t adc);
|
||||
void adc_disable_eoc_interrupt(uint32_t adc);
|
||||
void adc_enable_temperature_sensor(uint32_t adc);
|
||||
void adc_disable_temperature_sensor(uint32_t adc);
|
||||
void adc_start_conversion_regular(uint32_t adc);
|
||||
void adc_start_conversion_injected(uint32_t adc);
|
||||
void adc_enable_external_trigger_regular(uint32_t adc, uint32_t trigger);
|
||||
void adc_disable_external_trigger_regular(uint32_t adc);
|
||||
void adc_enable_external_trigger_injected(uint32_t adc, uint32_t trigger);
|
||||
void adc_disable_external_trigger_injected(uint32_t adc);
|
||||
void adc_set_left_aligned(uint32_t adc);
|
||||
void adc_set_right_aligned(uint32_t adc);
|
||||
void adc_enable_dma(uint32_t adc);
|
||||
void adc_disable_dma(uint32_t adc);
|
||||
void adc_reset_calibration(uint32_t adc);
|
||||
void adc_calibration(uint32_t adc);
|
||||
void adc_set_continuous_conversion_mode(uint32_t adc);
|
||||
void adc_set_single_conversion_mode(uint32_t adc);
|
||||
void adc_on(uint32_t adc)
|
||||
LIBOPENCM3_DEPRECATED("will be removed in the first release");
|
||||
void adc_off(u32 adc);
|
||||
void adc_set_sample_time(u32 adc, u8 channel, u8 time);
|
||||
void adc_set_sample_time_on_all_channels(u32 adc, u8 time);
|
||||
void adc_set_watchdog_high_threshold(u32 adc, u16 threshold);
|
||||
void adc_set_watchdog_low_threshold(u32 adc, u16 threshold);
|
||||
void adc_set_regular_sequence(u32 adc, u8 length, u8 channel[]);
|
||||
void adc_set_injected_sequence(u32 adc, u8 length, u8 channel[]);
|
||||
void adc_off(uint32_t adc);
|
||||
void adc_set_sample_time(uint32_t adc, uint8_t channel, uint8_t time);
|
||||
void adc_set_sample_time_on_all_channels(uint32_t adc, uint8_t time);
|
||||
void adc_set_watchdog_high_threshold(uint32_t adc, uint16_t threshold);
|
||||
void adc_set_watchdog_low_threshold(uint32_t adc, uint16_t threshold);
|
||||
void adc_set_regular_sequence(uint32_t adc, uint8_t length, uint8_t channel[]);
|
||||
void adc_set_injected_sequence(uint32_t adc, uint8_t length, uint8_t channel[]);
|
||||
|
||||
void adc_set_continous_conversion_mode(u32 adc)
|
||||
void adc_set_continous_conversion_mode(uint32_t adc)
|
||||
LIBOPENCM3_DEPRECATED("change to adc_set_continuous_conversion_mode");
|
||||
void adc_set_conversion_time(u32 adc, u8 channel, u8 time)
|
||||
void adc_set_conversion_time(uint32_t adc, uint8_t channel, uint8_t time)
|
||||
LIBOPENCM3_DEPRECATED("change to adc_set_sample_time");
|
||||
void adc_set_conversion_time_on_all_channels(u32 adc, u8 time)
|
||||
void adc_set_conversion_time_on_all_channels(uint32_t adc, uint8_t time)
|
||||
LIBOPENCM3_DEPRECATED("change to adc_set_sample_time_on_all_channels");
|
||||
void adc_enable_jeoc_interrupt(u32 adc)
|
||||
void adc_enable_jeoc_interrupt(uint32_t adc)
|
||||
LIBOPENCM3_DEPRECATED("change to adc_enable_eoc_interrupt_injected");
|
||||
void adc_disable_jeoc_interrupt(u32 adc)
|
||||
void adc_disable_jeoc_interrupt(uint32_t adc)
|
||||
LIBOPENCM3_DEPRECATED("change to adc_disable_eoc_interrupt_injected");
|
||||
END_DECLS
|
||||
|
||||
|
||||
@@ -202,8 +202,8 @@
|
||||
|
||||
BEGIN_DECLS
|
||||
|
||||
void eth_smi_write(u8 phy, u8 reg, u16 data);
|
||||
u16 eth_smi_read(u8 phy, u8 reg);
|
||||
void eth_smi_write(uint8_t phy, uint8_t reg, uint16_t data);
|
||||
uint16_t eth_smi_read(uint8_t phy, uint8_t reg);
|
||||
|
||||
END_DECLS
|
||||
|
||||
|
||||
@@ -83,9 +83,9 @@
|
||||
|
||||
/* --- FLASH Keys -----------------------------------------------------------*/
|
||||
|
||||
#define FLASH_RDP_KEY ((u16)0x00a5)
|
||||
#define FLASH_KEYR_KEY1 ((u32)0x45670123)
|
||||
#define FLASH_KEYR_KEY2 ((u32)0xcdef89ab)
|
||||
#define FLASH_RDP_KEY ((uint16_t)0x00a5)
|
||||
#define FLASH_KEYR_KEY1 ((uint32_t)0x45670123)
|
||||
#define FLASH_KEYR_KEY2 ((uint32_t)0xcdef89ab)
|
||||
|
||||
/* --- Function prototypes ------------------------------------------------- */
|
||||
|
||||
@@ -95,7 +95,7 @@ void flash_prefetch_buffer_enable(void);
|
||||
void flash_prefetch_buffer_disable(void);
|
||||
void flash_halfcycle_enable(void);
|
||||
void flash_halfcycle_disable(void);
|
||||
void flash_set_ws(u32 ws);
|
||||
void flash_set_ws(uint32_t ws);
|
||||
void flash_unlock(void);
|
||||
void flash_lock(void);
|
||||
void flash_clear_pgerr_flag(void);
|
||||
@@ -103,15 +103,15 @@ void flash_clear_eop_flag(void);
|
||||
void flash_clear_wrprterr_flag(void);
|
||||
void flash_clear_bsy_flag(void);
|
||||
void flash_clear_status_flags(void);
|
||||
u32 flash_get_status_flags(void);
|
||||
uint32_t flash_get_status_flags(void);
|
||||
void flash_unlock_option_bytes(void);
|
||||
void flash_erase_all_pages(void);
|
||||
void flash_erase_page(u32 page_address);
|
||||
void flash_program_word(u32 address, u32 data);
|
||||
void flash_program_half_word(u32 address, u16 data);
|
||||
void flash_erase_page(uint32_t page_address);
|
||||
void flash_program_word(uint32_t address, uint32_t data);
|
||||
void flash_program_half_word(uint32_t address, uint16_t data);
|
||||
void flash_wait_for_last_operation(void);
|
||||
void flash_erase_option_bytes(void);
|
||||
void flash_program_option_bytes(u32 address, u16 data);
|
||||
void flash_program_option_bytes(uint32_t address, uint16_t data);
|
||||
|
||||
END_DECLS
|
||||
|
||||
|
||||
@@ -948,10 +948,10 @@ Line Devices only
|
||||
|
||||
BEGIN_DECLS
|
||||
|
||||
void gpio_set_mode(u32 gpioport, u8 mode, u8 cnf, u16 gpios);
|
||||
void gpio_set_eventout(u8 evoutport, u8 evoutpin);
|
||||
void gpio_primary_remap(u32 swjenable, u32 maps);
|
||||
void gpio_secondary_remap(u32 maps);
|
||||
void gpio_set_mode(uint32_t gpioport, uint8_t mode, uint8_t cnf, uint16_t gpios);
|
||||
void gpio_set_eventout(uint8_t evoutport, uint8_t evoutpin);
|
||||
void gpio_primary_remap(uint32_t swjenable, uint32_t maps);
|
||||
void gpio_secondary_remap(uint32_t maps);
|
||||
|
||||
END_DECLS
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
/* --- STM32 specific peripheral definitions ------------------------------- */
|
||||
|
||||
/* Memory map for all busses */
|
||||
#define FLASH_BASE ((u32)0x08000000)
|
||||
#define PERIPH_BASE ((u32)0x40000000)
|
||||
#define INFO_BASE ((u32)0x1ffff000)
|
||||
#define FLASH_BASE ((uint32_t)0x08000000)
|
||||
#define PERIPH_BASE ((uint32_t)0x40000000)
|
||||
#define INFO_BASE ((uint32_t)0x1ffff000)
|
||||
#define PERIPH_BASE_APB1 (PERIPH_BASE + 0x00000)
|
||||
#define PERIPH_BASE_APB2 (PERIPH_BASE + 0x10000)
|
||||
#define PERIPH_BASE_AHB (PERIPH_BASE + 0x18000)
|
||||
|
||||
@@ -490,8 +490,8 @@ LGPL License Terms @ref lgpl_license
|
||||
#define RCC_CFGR2_PREDIV2_DIV16 0xf
|
||||
|
||||
/* --- Variable definitions ------------------------------------------------ */
|
||||
extern u32 rcc_ppre1_frequency;
|
||||
extern u32 rcc_ppre2_frequency;
|
||||
extern uint32_t rcc_ppre1_frequency;
|
||||
extern uint32_t rcc_ppre2_frequency;
|
||||
|
||||
/* --- Function prototypes ------------------------------------------------- */
|
||||
|
||||
@@ -512,28 +512,28 @@ void rcc_osc_on(osc_t osc);
|
||||
void rcc_osc_off(osc_t osc);
|
||||
void rcc_css_enable(void);
|
||||
void rcc_css_disable(void);
|
||||
void rcc_set_mco(u32 mcosrc);
|
||||
void rcc_set_mco(uint32_t mcosrc);
|
||||
void rcc_osc_bypass_enable(osc_t osc);
|
||||
void rcc_osc_bypass_disable(osc_t osc);
|
||||
void rcc_peripheral_enable_clock(volatile u32 *reg, u32 en);
|
||||
void rcc_peripheral_disable_clock(volatile u32 *reg, u32 en);
|
||||
void rcc_peripheral_reset(volatile u32 *reg, u32 reset);
|
||||
void rcc_peripheral_clear_reset(volatile u32 *reg, u32 clear_reset);
|
||||
void rcc_set_sysclk_source(u32 clk);
|
||||
void rcc_set_pll_multiplication_factor(u32 mul);
|
||||
void rcc_set_pll2_multiplication_factor(u32 mul);
|
||||
void rcc_set_pll3_multiplication_factor(u32 mul);
|
||||
void rcc_set_pll_source(u32 pllsrc);
|
||||
void rcc_set_pllxtpre(u32 pllxtpre);
|
||||
void rcc_set_adcpre(u32 adcpre);
|
||||
void rcc_set_ppre2(u32 ppre2);
|
||||
void rcc_set_ppre1(u32 ppre1);
|
||||
void rcc_set_hpre(u32 hpre);
|
||||
void rcc_set_usbpre(u32 usbpre);
|
||||
void rcc_set_prediv1(u32 prediv);
|
||||
void rcc_set_prediv2(u32 prediv);
|
||||
void rcc_set_prediv1_source(u32 rccsrc);
|
||||
u32 rcc_system_clock_source(void);
|
||||
void rcc_peripheral_enable_clock(volatile uint32_t *reg, uint32_t en);
|
||||
void rcc_peripheral_disable_clock(volatile uint32_t *reg, uint32_t en);
|
||||
void rcc_peripheral_reset(volatile uint32_t *reg, uint32_t reset);
|
||||
void rcc_peripheral_clear_reset(volatile uint32_t *reg, uint32_t clear_reset);
|
||||
void rcc_set_sysclk_source(uint32_t clk);
|
||||
void rcc_set_pll_multiplication_factor(uint32_t mul);
|
||||
void rcc_set_pll2_multiplication_factor(uint32_t mul);
|
||||
void rcc_set_pll3_multiplication_factor(uint32_t mul);
|
||||
void rcc_set_pll_source(uint32_t pllsrc);
|
||||
void rcc_set_pllxtpre(uint32_t pllxtpre);
|
||||
void rcc_set_adcpre(uint32_t adcpre);
|
||||
void rcc_set_ppre2(uint32_t ppre2);
|
||||
void rcc_set_ppre1(uint32_t ppre1);
|
||||
void rcc_set_hpre(uint32_t hpre);
|
||||
void rcc_set_usbpre(uint32_t usbpre);
|
||||
void rcc_set_prediv1(uint32_t prediv);
|
||||
void rcc_set_prediv2(uint32_t prediv);
|
||||
void rcc_set_prediv1_source(uint32_t rccsrc);
|
||||
uint32_t rcc_system_clock_source(void);
|
||||
void rcc_clock_setup_in_hsi_out_64mhz(void);
|
||||
void rcc_clock_setup_in_hsi_out_48mhz(void);
|
||||
void rcc_clock_setup_in_hsi_out_24mhz(void);
|
||||
|
||||
@@ -150,20 +150,20 @@ BEGIN_DECLS
|
||||
void rtc_awake_from_off(osc_t clock_source);
|
||||
void rtc_enter_config_mode(void);
|
||||
void rtc_exit_config_mode(void);
|
||||
void rtc_set_alarm_time(u32 alarm_time);
|
||||
void rtc_set_alarm_time(uint32_t alarm_time);
|
||||
void rtc_enable_alarm(void);
|
||||
void rtc_disable_alarm(void);
|
||||
void rtc_set_prescale_val(u32 prescale_val);
|
||||
u32 rtc_get_counter_val(void);
|
||||
u32 rtc_get_prescale_div_val(void);
|
||||
u32 rtc_get_alarm_val(void);
|
||||
void rtc_set_counter_val(u32 counter_val);
|
||||
void rtc_set_prescale_val(uint32_t prescale_val);
|
||||
uint32_t rtc_get_counter_val(void);
|
||||
uint32_t rtc_get_prescale_div_val(void);
|
||||
uint32_t rtc_get_alarm_val(void);
|
||||
void rtc_set_counter_val(uint32_t counter_val);
|
||||
void rtc_interrupt_enable(rtcflag_t flag_val);
|
||||
void rtc_interrupt_disable(rtcflag_t flag_val);
|
||||
void rtc_clear_flag(rtcflag_t flag_val);
|
||||
u32 rtc_check_flag(rtcflag_t flag_val);
|
||||
uint32_t rtc_check_flag(rtcflag_t flag_val);
|
||||
void rtc_awake_from_standby(void);
|
||||
void rtc_auto_awake(osc_t clock_source, u32 prescale_val);
|
||||
void rtc_auto_awake(osc_t clock_source, uint32_t prescale_val);
|
||||
|
||||
END_DECLS
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ enum tim_ic_pol {
|
||||
|
||||
BEGIN_DECLS
|
||||
|
||||
void timer_ic_set_polarity(u32 timer, enum tim_ic_id ic, enum tim_ic_pol pol);
|
||||
void timer_ic_set_polarity(uint32_t timer, enum tim_ic_id ic, enum tim_ic_pol pol);
|
||||
|
||||
END_DECLS
|
||||
|
||||
|
||||
@@ -49,17 +49,17 @@ LGPL License Terms @ref lgpl_license
|
||||
/* --- USB general registers ----------------------------------------------- */
|
||||
|
||||
/* USB Control register */
|
||||
#define USB_CNTR_REG ((volatile u32 *)(USB_DEV_FS_BASE + 0x40))
|
||||
#define USB_CNTR_REG ((volatile uint32_t *)(USB_DEV_FS_BASE + 0x40))
|
||||
/* USB Interrupt status register */
|
||||
#define USB_ISTR_REG ((volatile u32 *)(USB_DEV_FS_BASE + 0x44))
|
||||
#define USB_ISTR_REG ((volatile uint32_t *)(USB_DEV_FS_BASE + 0x44))
|
||||
/* USB Frame number register */
|
||||
#define USB_FNR_REG ((volatile u32 *)(USB_DEV_FS_BASE + 0x48))
|
||||
#define USB_FNR_REG ((volatile uint32_t *)(USB_DEV_FS_BASE + 0x48))
|
||||
/* USB Device address register */
|
||||
#define USB_DADDR_REG ((volatile u32 *)(USB_DEV_FS_BASE + 0x4C))
|
||||
#define USB_DADDR_REG ((volatile uint32_t *)(USB_DEV_FS_BASE + 0x4C))
|
||||
/* USB Buffer table address register */
|
||||
#define USB_BTABLE_REG ((volatile u32 *)(USB_DEV_FS_BASE + 0x50))
|
||||
#define USB_BTABLE_REG ((volatile uint32_t *)(USB_DEV_FS_BASE + 0x50))
|
||||
/* USB EP register */
|
||||
#define USB_EP_REG(EP) ((volatile u32 *)(USB_DEV_FS_BASE) + (EP))
|
||||
#define USB_EP_REG(EP) ((volatile uint32_t *)(USB_DEV_FS_BASE) + (EP))
|
||||
|
||||
/* --- USB control register masks / bits ----------------------------------- */
|
||||
|
||||
@@ -245,16 +245,16 @@ LGPL License Terms @ref lgpl_license
|
||||
#define USB_GET_BTABLE GET_REG(USB_BTABLE_REG)
|
||||
|
||||
#define USB_EP_TX_ADDR(EP) \
|
||||
((u32 *)(USB_PMA_BASE + (USB_GET_BTABLE + EP * 8 + 0) * 2))
|
||||
((uint32_t *)(USB_PMA_BASE + (USB_GET_BTABLE + EP * 8 + 0) * 2))
|
||||
|
||||
#define USB_EP_TX_COUNT(EP) \
|
||||
((u32 *)(USB_PMA_BASE + (USB_GET_BTABLE + EP * 8 + 2) * 2))
|
||||
((uint32_t *)(USB_PMA_BASE + (USB_GET_BTABLE + EP * 8 + 2) * 2))
|
||||
|
||||
#define USB_EP_RX_ADDR(EP) \
|
||||
((u32 *)(USB_PMA_BASE + (USB_GET_BTABLE + EP * 8 + 4) * 2))
|
||||
((uint32_t *)(USB_PMA_BASE + (USB_GET_BTABLE + EP * 8 + 4) * 2))
|
||||
|
||||
#define USB_EP_RX_COUNT(EP) \
|
||||
((u32 *)(USB_PMA_BASE + (USB_GET_BTABLE + EP * 8 + 6) * 2))
|
||||
((uint32_t *)(USB_PMA_BASE + (USB_GET_BTABLE + EP * 8 + 6) * 2))
|
||||
|
||||
/* --- USB BTABLE manipulators --------------------------------------------- */
|
||||
|
||||
@@ -268,10 +268,10 @@ LGPL License Terms @ref lgpl_license
|
||||
#define USB_SET_EP_RX_COUNT(EP, COUNT) SET_REG(USB_EP_RX_COUNT(EP), COUNT)
|
||||
|
||||
#define USB_GET_EP_TX_BUFF(EP) \
|
||||
(USB_PMA_BASE + (u8 *)(USB_GET_EP_TX_ADDR(EP) * 2))
|
||||
(USB_PMA_BASE + (uint8_t *)(USB_GET_EP_TX_ADDR(EP) * 2))
|
||||
|
||||
#define USB_GET_EP_RX_BUFF(EP) \
|
||||
(USB_PMA_BASE + (u8 *)(USB_GET_EP_RX_ADDR(EP) * 2))
|
||||
(USB_PMA_BASE + (uint8_t *)(USB_GET_EP_RX_ADDR(EP) * 2))
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -28,61 +28,61 @@
|
||||
#define USB_DT_ENDPOINT 0x05
|
||||
|
||||
struct usb_desc_head {
|
||||
u8 length; /* Descriptor size 0x012 */
|
||||
u8 type; /* Descriptor type ID */
|
||||
uint8_t length; /* Descriptor size 0x012 */
|
||||
uint8_t type; /* Descriptor type ID */
|
||||
};
|
||||
|
||||
struct usb_device_desc {
|
||||
struct usb_desc_head h; /* Size 0x12, ID 0x01 */
|
||||
u16 bcd_usb; /* USB Version */
|
||||
u8 class; /* Device class */
|
||||
u8 sub_class; /* Subclass code */
|
||||
u8 protocol; /* Protocol code */
|
||||
u8 max_psize; /* Maximum packet size -> 64bytes */
|
||||
u16 vendor; /* Vendor number */
|
||||
u16 product; /* Device number */
|
||||
u16 bcd_dev; /* Device version */
|
||||
u8 man_desc; /* Index of manufacturer string desc */
|
||||
u8 prod_desc; /* Index of product string desc */
|
||||
u8 sn_desc; /* Index of serial number string desc */
|
||||
u8 num_conf; /* Number of possible configurations */
|
||||
uint16_t bcd_usb; /* USB Version */
|
||||
uint8_t class; /* Device class */
|
||||
uint8_t sub_class; /* Subclass code */
|
||||
uint8_t protocol; /* Protocol code */
|
||||
uint8_t max_psize; /* Maximum packet size -> 64bytes */
|
||||
uint16_t vendor; /* Vendor number */
|
||||
uint16_t product; /* Device number */
|
||||
uint16_t bcd_dev; /* Device version */
|
||||
uint8_t man_desc; /* Index of manufacturer string desc */
|
||||
uint8_t prod_desc; /* Index of product string desc */
|
||||
uint8_t sn_desc; /* Index of serial number string desc */
|
||||
uint8_t num_conf; /* Number of possible configurations */
|
||||
};
|
||||
|
||||
struct usb_conf_desc_header {
|
||||
struct usb_desc_head h; /* Size 0x09, Id 0x02 */
|
||||
u16 tot_leng; /* Total length of data */
|
||||
u8 num_int; /* Number of interfaces */
|
||||
u8 conf_val; /* Configuration selector */
|
||||
u8 conf_desc; /* Index of conf string desc */
|
||||
u8 attr; /* Attribute bitmap:
|
||||
uint16_t tot_leng; /* Total length of data */
|
||||
uint8_t num_int; /* Number of interfaces */
|
||||
uint8_t conf_val; /* Configuration selector */
|
||||
uint8_t conf_desc; /* Index of conf string desc */
|
||||
uint8_t attr; /* Attribute bitmap:
|
||||
* 7 : Bus powered
|
||||
* 6 : Self powered
|
||||
* 5 : Remote wakeup
|
||||
* 4..0 : Reserved -> 0000
|
||||
*/
|
||||
u8 max_power; /* Maximum power consumption in 2mA steps */
|
||||
uint8_t max_power; /* Maximum power consumption in 2mA steps */
|
||||
};
|
||||
|
||||
struct usb_int_desc_header {
|
||||
struct usb_desc_head h; /* Size 0x09, Id 0x04 */
|
||||
u8 iface_num; /* Interface id number */
|
||||
u8 alt_setting; /* Alternative setting selector */
|
||||
u8 num_endp; /* Endpoints used */
|
||||
u8 class; /* Interface class */
|
||||
u8 sub_class; /* Subclass code */
|
||||
u8 protocol; /* Protocol code */
|
||||
u8 iface_desc; /* Index of interface string desc */
|
||||
uint8_t iface_num; /* Interface id number */
|
||||
uint8_t alt_setting; /* Alternative setting selector */
|
||||
uint8_t num_endp; /* Endpoints used */
|
||||
uint8_t class; /* Interface class */
|
||||
uint8_t sub_class; /* Subclass code */
|
||||
uint8_t protocol; /* Protocol code */
|
||||
uint8_t iface_desc; /* Index of interface string desc */
|
||||
};
|
||||
|
||||
struct usb_ep_desc {
|
||||
struct usb_desc_head h; /* Size 0x07, Id 0x05 */
|
||||
u8 ep_addr; /* Endpoint address:
|
||||
uint8_t ep_addr; /* Endpoint address:
|
||||
0..3 : Endpoint Number
|
||||
4..6 : Reserved -> 0
|
||||
7 : Direction 0=out 1=in */
|
||||
u8 ep_attr; /* Endpoint attributes */
|
||||
u16 max_psize; /* Maximum packet size -> 64bytes */
|
||||
u8 interval; /* Interval for polling endpoint
|
||||
uint8_t ep_attr; /* Endpoint attributes */
|
||||
uint16_t max_psize; /* Maximum packet size -> 64bytes */
|
||||
uint8_t interval; /* Interval for polling endpoint
|
||||
data. Ignored for bulk & control
|
||||
endpoints. */
|
||||
};
|
||||
@@ -95,7 +95,7 @@ struct usb_conf_desc {
|
||||
|
||||
struct usb_string_desc {
|
||||
struct usb_desc_head h; /* Size > 0x02, Id 0x03 */
|
||||
u16 string[]; /* String UTF16 encoded */
|
||||
uint16_t string[]; /* String UTF16 encoded */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user