fw/icE1usb: Update to support production hardware
Also default build to it since very few people would want to build firmware targetted to the prototypes ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
This commit is contained in:
parent
bd83e53ff6
commit
5e86047024
|
@ -2,7 +2,7 @@
|
||||||
#ice1usb-proto-icebreaker
|
#ice1usb-proto-icebreaker
|
||||||
#ice1usb-proto-bitsty
|
#ice1usb-proto-bitsty
|
||||||
#e1-tracer
|
#e1-tracer
|
||||||
BOARD ?= ice1usb-proto-icebreaker
|
BOARD ?= ice1usb
|
||||||
CROSS ?= riscv-none-embed-
|
CROSS ?= riscv-none-embed-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
OBJCOPY = $(CROSS)objcopy
|
OBJCOPY = $(CROSS)objcopy
|
||||||
|
|
|
@ -80,19 +80,27 @@ void main()
|
||||||
|
|
||||||
/* SPI */
|
/* SPI */
|
||||||
spi_init();
|
spi_init();
|
||||||
|
serial_no_init();
|
||||||
|
|
||||||
|
/* Enable LED now that we're done with SPI */
|
||||||
|
e1_led_set(true, 0x00);
|
||||||
|
|
||||||
/* Setup E1 Vref */
|
/* Setup E1 Vref */
|
||||||
int d = 25;
|
int d = 25;
|
||||||
|
#if defined(BOARD_ICE1USB_PROTO_ICEBREAKER) || defined(BOARD_ICE1USB_PROTO_BITSY)
|
||||||
pdm_set(PDM_E1_CT, true, 128, false);
|
pdm_set(PDM_E1_CT, true, 128, false);
|
||||||
pdm_set(PDM_E1_P, true, 128 - d, false);
|
pdm_set(PDM_E1_P, true, 128 - d, false);
|
||||||
pdm_set(PDM_E1_N, true, 128 + d, false);
|
pdm_set(PDM_E1_N, true, 128 + d, false);
|
||||||
|
#else
|
||||||
|
pdm_set(PDM_E1_RX0, true, 128 + d, false);
|
||||||
|
pdm_set(PDM_E1_RX1, true, 128 + d, false);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Setup clock tuning */
|
/* Setup clock tuning */
|
||||||
pdm_set(PDM_CLK_HI, true, 2048, false);
|
pdm_set(PDM_CLK_HI, true, 2048, false);
|
||||||
pdm_set(PDM_CLK_LO, false, 0, false);
|
pdm_set(PDM_CLK_LO, false, 0, false);
|
||||||
|
|
||||||
/* Enable USB directly */
|
/* Enable USB directly */
|
||||||
serial_no_init();
|
|
||||||
usb_init(&app_stack_desc);
|
usb_init(&app_stack_desc);
|
||||||
usb_dfu_rt_init();
|
usb_dfu_rt_init();
|
||||||
usb_e1_init();
|
usb_e1_init();
|
||||||
|
|
|
@ -45,6 +45,12 @@ pdm_set(int chan, bool enable, unsigned value, bool normalize)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
e1_led_set(bool enable, uint8_t cfg)
|
||||||
|
{
|
||||||
|
misc_regs->e1_led = (enable ? 0x100 : 0x000) | cfg;
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t
|
uint16_t
|
||||||
e1_tick_read(void)
|
e1_tick_read(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,6 +13,12 @@
|
||||||
enum pdm_chan {
|
enum pdm_chan {
|
||||||
PDM_CLK_LO = 0,
|
PDM_CLK_LO = 0,
|
||||||
PDM_CLK_HI = 1,
|
PDM_CLK_HI = 1,
|
||||||
|
|
||||||
|
/* icE1usb */
|
||||||
|
PDM_E1_RX0 = 2,
|
||||||
|
PDM_E1_RX1 = 3,
|
||||||
|
|
||||||
|
/* icE1usb-proto */
|
||||||
PDM_E1_N = 2,
|
PDM_E1_N = 2,
|
||||||
PDM_E1_P = 3,
|
PDM_E1_P = 3,
|
||||||
PDM_E1_CT = 4,
|
PDM_E1_CT = 4,
|
||||||
|
@ -20,4 +26,5 @@ enum pdm_chan {
|
||||||
|
|
||||||
void pdm_set(int chan, bool enable, unsigned value, bool normalize);
|
void pdm_set(int chan, bool enable, unsigned value, bool normalize);
|
||||||
|
|
||||||
|
void e1_led_set(bool enable, uint8_t cfg);
|
||||||
uint16_t e1_tick_read(void);
|
uint16_t e1_tick_read(void);
|
||||||
|
|
Loading…
Reference in New Issue