From 828b9614c2f956c62f02311cc1a196a4bf1d4514 Mon Sep 17 00:00:00 2001 From: BCG Date: Mon, 12 Feb 2024 04:37:19 -0500 Subject: [PATCH] nrf52840: generic board support (#4121) machine/nrf52840: generic board support --- GNUmakefile | 2 ++ src/machine/board_nrf52840_generic.go | 25 ++++++++++++++++++++ src/machine/machine_nrf52840_lfxtal_false.go | 5 ++++ src/machine/machine_nrf52840_lfxtal_true.go | 5 ++++ targets/nrf52840-s140v6-uf2-generic.json | 5 ++++ 5 files changed, 42 insertions(+) create mode 100644 src/machine/board_nrf52840_generic.go create mode 100644 src/machine/machine_nrf52840_lfxtal_false.go create mode 100644 src/machine/machine_nrf52840_lfxtal_true.go create mode 100644 targets/nrf52840-s140v6-uf2-generic.json diff --git a/GNUmakefile b/GNUmakefile index bf23397d..431090d1 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -684,6 +684,8 @@ endif @$(MD5SUM) test.hex $(TINYGO) build -size short -o test.hex -target=feather-nrf52840 examples/usb-midi @$(MD5SUM) test.hex + $(TINYGO) build -size short -o test.hex -target=nrf52840-s140v6-uf2-generic examples/serial + @$(MD5SUM) test.hex ifneq ($(STM32), 0) $(TINYGO) build -size short -o test.hex -target=bluepill examples/blinky1 @$(MD5SUM) test.hex diff --git a/src/machine/board_nrf52840_generic.go b/src/machine/board_nrf52840_generic.go new file mode 100644 index 00000000..1cf30e2c --- /dev/null +++ b/src/machine/board_nrf52840_generic.go @@ -0,0 +1,25 @@ +//go:build nrf52840 && nrf52840_generic + +package machine + +var ( + LED = NoPin + SDA_PIN = NoPin + SCL_PIN = NoPin + UART_TX_PIN = NoPin + UART_RX_PIN = NoPin + SPI0_SCK_PIN = NoPin + SPI0_SDO_PIN = NoPin + SPI0_SDI_PIN = NoPin + + // https://pid.codes/org/TinyGo/ + usb_VID uint16 = 0x1209 + usb_PID uint16 = 0x9090 + + usb_STRING_MANUFACTURER = "TinyGo" + usb_STRING_PRODUCT = "nRF52840 Generic board" +) + +var ( + DefaultUART = UART0 +) diff --git a/src/machine/machine_nrf52840_lfxtal_false.go b/src/machine/machine_nrf52840_lfxtal_false.go new file mode 100644 index 00000000..ba38a326 --- /dev/null +++ b/src/machine/machine_nrf52840_lfxtal_false.go @@ -0,0 +1,5 @@ +//go:build nrf52840 && nrf52840_lfxtal_false + +package machine + +const HasLowFrequencyCrystal = false diff --git a/src/machine/machine_nrf52840_lfxtal_true.go b/src/machine/machine_nrf52840_lfxtal_true.go new file mode 100644 index 00000000..4bef553b --- /dev/null +++ b/src/machine/machine_nrf52840_lfxtal_true.go @@ -0,0 +1,5 @@ +//go:build nrf52840 && ((nrf52840_generic && !nrf52840_lfxtal_false) || nrf52840_lfxtal_true) + +package machine + +const HasLowFrequencyCrystal = true diff --git a/targets/nrf52840-s140v6-uf2-generic.json b/targets/nrf52840-s140v6-uf2-generic.json new file mode 100644 index 00000000..034f5933 --- /dev/null +++ b/targets/nrf52840-s140v6-uf2-generic.json @@ -0,0 +1,5 @@ +{ + "inherits": ["nrf52840", "nrf52840-s140v6-uf2"], + "build-tags": ["nrf52840_generic"], + "serial-port": ["1209:9090"] +}