From: Keith Packard Date: Sat, 6 Feb 2016 13:15:47 +0000 (+1100) Subject: altos/chaoskey-v0.1: Add power management and change USB classes X-Git-Tag: 1.6.3~2^2~105 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=1473f9234ffd34d8f37bc489dfc9fc4d7f1b3eed altos/chaoskey-v0.1: Add power management and change USB classes Enable power management. Expose only a single IN endpoint. Signed-off-by: Keith Packard --- diff --git a/src/chaoskey-v0.1/Makefile b/src/chaoskey-v0.1/Makefile index ac4a6788..4948a4c5 100644 --- a/src/chaoskey-v0.1/Makefile +++ b/src/chaoskey-v0.1/Makefile @@ -13,6 +13,7 @@ INC = \ ao_product.h \ ao_task.h \ ao_adc_fast.h \ + ao_power.h \ stm32f0.h # @@ -33,6 +34,8 @@ ALTOS_SRC = \ ao_usb_stm.c \ ao_trng_send.c \ ao_task.c \ + ao_power.c \ + ao_gpio.c \ ao_product.c PRODUCT=ChaosKey-v0.1 diff --git a/src/chaoskey-v0.1/ao_chaoskey.c b/src/chaoskey-v0.1/ao_chaoskey.c index c9490184..48c8bf04 100644 --- a/src/chaoskey-v0.1/ao_chaoskey.c +++ b/src/chaoskey-v0.1/ao_chaoskey.c @@ -20,12 +20,6 @@ #include #include -static void -ao_hv_init(void) -{ - ao_enable_output(AO_HV_ENABLE_PORT, AO_HV_ENABLE_BIT, AO_HV_ENABLE_PIN, 1); -} - void main(void) { ao_led_init(LEDS_AVAILABLE); @@ -39,8 +33,6 @@ void main(void) ao_usb_init(); - ao_hv_init(); - ao_trng_send_init(); ao_led_off(AO_LED_RED); diff --git a/src/chaoskey-v0.1/ao_pins.h b/src/chaoskey-v0.1/ao_pins.h index 95d9a576..a8109282 100644 --- a/src/chaoskey-v0.1/ao_pins.h +++ b/src/chaoskey-v0.1/ao_pins.h @@ -27,6 +27,9 @@ #define LEDS_AVAILABLE (AO_LED_RED | AO_LED_GREEN) +#define AO_POWER_MANAGEMENT 1 +#define AO_LED_POWER AO_LED_RED + #define HAS_BEEP 0 /* 48MHz clock based on USB */ @@ -40,10 +43,15 @@ #define AO_APB_PRESCALER 1 #define AO_RCC_CFGR_PPRE_DIV STM_RCC_CFGR_PPRE_DIV_1 -#define HAS_USB 1 -#define AO_USB_DIRECTIO 1 -#define AO_PA11_PA12_RMP 0 -#define AO_USB_INTERFACE_CLASS 0xff +#define HAS_USB 1 +#define AO_USB_DIRECTIO 1 +#define AO_PA11_PA12_RMP 0 +#define AO_USB_DEVICE_CLASS 0xff +#define AO_USB_INTERFACE_CLASS_DATA 0xff +#define AO_USB_HAS_OUT 0 +#define AO_USB_HAS_IN 1 +#define AO_USB_HAS_INT 0 +#define AO_USB_SELF_POWER 0 #define IS_FLASH_LOADER 0 @@ -57,10 +65,10 @@ #define AO_NUM_ADC 1 -/* HV enable */ +/* TRNG enable */ -#define AO_HV_ENABLE_PORT (&stm_gpioa) -#define AO_HV_ENABLE_BIT 8 +#define AO_TRNG_ENABLE_PORT (&stm_gpioa) +#define AO_TRNG_ENABLE_BIT 8 /* CRC */ #define AO_CRC_WIDTH 32 @@ -68,7 +76,7 @@ /* TRNG */ #define AO_LED_TRNG_COOKED AO_LED_GREEN -#define AO_LED_TRNG_RAW AO_LED_RED +#define AO_LED_TRNG_RAW AO_LED_GREEN /* Mode pin */ #define AO_RAW_PORT (&stm_gpioa)