Skip to content

Commit 9667d7e

Browse files
authored
Merge pull request #128 from maidnl/usb_post_initialization_function
Usb post initialization function and tinyusb fixes
2 parents 9c748ff + 3e2bc93 commit 9667d7e

File tree

7 files changed

+814
-2
lines changed

7 files changed

+814
-2
lines changed

Diff for: boards.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ muxto.build.fpu=
154154
muxto.build.float-abi=
155155

156156
muxto.build.board=MUXTO
157-
muxto.build.defines=-DF_CPU=48000000 -DFIRST_BULK_PIPE=4
157+
muxto.build.defines=-DF_CPU=48000000 -DFIRST_BULK_PIPE=4 -DNO_ISOCRONOUS_PIPE=1 -DNUMBER_OF_PIPES=8
158158
muxto.vid.0=0x2341
159159
muxto.pid.0=0x006C
160160
muxto.vid.1=0x2341

Diff for: bootloaders/SCIENCE_KIT/science_kit.hex

+794
Large diffs are not rendered by default.

Diff for: cores/arduino/usb/USB.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,8 @@ extern "C" {
295295
}
296296

297297
__attribute__((weak)) void configure_usb_mux() {}
298+
/* specific variant USB initialization should define this functiona in variant.cpp */
299+
__attribute__((weak)) void usb_post_initialization() {}
298300

299301
void __USBStart() {
300302
USBIrqCfg_t usb_irq_cfg;
@@ -361,6 +363,8 @@ void __USBStart() {
361363
/* init device port*/
362364
tud_init(BOARD_TUD_RHPORT);
363365

366+
usb_post_initialization();
367+
364368
#ifdef VUSB_LDO_ENABLE
365369
((R_USB_FS0_Type*)R_USB_FS0_BASE)->USBMC_b.VDCEN = 1;
366370
#endif

Diff for: extras/tinyusb

Diff for: variants/MINIMA/variant.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,11 @@ int32_t getPinIndex(bsp_io_port_pin_t p) {
7575

7676
#include "FspTimer.h"
7777

78+
void usb_post_initialization() {
79+
((R_USB_FS0_Type*)R_USB_FS0_BASE)->USBMC_b.VDCEN = 1;
80+
}
81+
82+
7883
void initVariant() {
7984
// bootloader configures LED_BUILTIN as PWM output, deconfigure it to avoid spurious signals
8085
pinMode(LED_BUILTIN, OUTPUT);

Diff for: variants/MUXTO/variant.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@ static const ioport_cfg_t bsp_pin_cfg = {
8080
};
8181
static ioport_instance_ctrl_t ioport_ctrl;
8282

83+
void usb_post_initialization() {
84+
((R_USB_FS0_Type*)R_USB_FS0_BASE)->USBMC_b.VDCEN = 1;
85+
((R_USB_FS0_Type*)R_USB_FS0_BASE)->SYSCFG_b.DPRPU = 1;
86+
}
87+
8388
void initVariant() {
8489
//R_IOPORT_Open(&ioport_ctrl, &bsp_pin_cfg);
8590
//R_IOPORT_PinCfg(NULL, BSP_IO_PORT_09_PIN_14, (uint32_t) (IOPORT_CFG_PERIPHERAL_PIN | IOPORT_PERIPHERAL_USB_FS));

Diff for: variants/UNOWIFIR4/variant.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ void configure_usb_mux() {
104104

105105
__attribute__((weak)) void __maybe_start_usb() {}
106106

107+
void usb_post_initialization() {
108+
((R_USB_FS0_Type*)R_USB_FS0_BASE)->USBMC_b.VDCEN = 1;
109+
}
110+
107111
void initVariant() {
108112
__maybe_start_usb();
109113
// bootloader configures LED_BUILTIN as PWM output, deconfigure it to avoid spurious signals

0 commit comments

Comments
 (0)