tinygo/src/machine
Ayke van Laethem 91e9c84d85 nrf: make GetRNG available to all chips
All nrf chips have a cryptographically secure RNG on board. Therefore,
I've made the code more portable so that it works on all nrf chips.

I did remove a number of exported functions. I am of the opinion that
these should only be made available once we have an agreed upon API for
multiple chips. People who want to have greater control over the RNG
should use the device/nrf package directly instead.

I have also changed the behavior to always enable digital error
correction. Enabling it seems like a more conservative (and secure)
default to me. Again, people who would like to have it disabled can use
the device/nrf package directly.
2022-09-17 06:08:54 +02:00
..
usb all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
adc.go accept configuration struct for ADC parameters (#1533) 2021-01-31 14:54:27 -06:00
board_arduino.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_arduino_mega1280.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_arduino_mega2560.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_arduino_mkr1000.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_arduino_mkrwifi1010.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_arduino_nano.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_arduino_nano33.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_arduino_zero.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_atmega328p.go machine: add PWM peripheral comments to pins 2022-09-05 18:56:34 +02:00
board_atsamd21.go machine: add PWM peripheral comments to pins 2022-09-05 18:56:34 +02:00
board_atsame54-xpro.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_badger2040.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_bluepill.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_challenger_rp2040.go boards: add Challenger RP2040 LoRa 2022-07-08 13:01:14 +02:00
board_circuitplay_bluefruit.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_circuitplay_express.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_clue_alpha.go clue: remove pins D21..D28 2022-07-15 14:46:33 +02:00
board_digispark.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_esp32-coreboard-v2.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_esp32c3-12f.go esp32c3: provide hardware pin constants 2022-07-15 14:46:33 +02:00
board_fe310.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_feather-m0.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_feather-m4-can.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_feather-m4.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_feather-nrf52840-sense.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_feather-nrf52840.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_feather-stm32f405.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_feather_rp2040.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_gnse.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_grandcentral-m4.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_hifive1b.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_hifive1b_baremetal.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_itsybitsy-m0.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_itsybitsy-m4.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_itsybitsy-nrf52840.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_k210.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_lgt92.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_lorae5.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_m5stack.go esp32: provide hardware pin constants 2022-07-15 14:46:33 +02:00
board_m5stack_core2.go esp32: provide hardware pin constants 2022-07-15 14:46:33 +02:00
board_m5stamp_c3.go esp32c3: provide hardware pin constants 2022-07-15 14:46:33 +02:00
board_macropad-rp2040.go boards: add Challenger RP2040 LoRa 2022-07-08 13:01:14 +02:00
board_maixbit.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_maixbit_baremetal.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_matrixportal-m4.go Attach USB DP to the correct pin on Matrix Portal M4 2022-06-03 07:42:19 +02:00
board_mch2022.go boards: Add MCH2022 badge 2022-07-16 08:31:22 +02:00
board_mdbt50qrx.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_metro-m4-airlift.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_microbit-v2.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_microbit.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_nano-33-ble.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_nano-rp2040.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_nicenano.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_nodemcu.go esp8266: provide hardware pin constants like GPIO2 2022-07-15 14:46:33 +02:00
board_nrf51.go nrf51: define and use P0_xx constants 2022-07-15 14:46:33 +02:00
board_nrf52840-mdk-usb-dongle.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_nrf52840-mdk.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_nrf52840.go machine/circuitplay-bluefruit: move pin mappings so board can be compiled for WASM use in Playground 2022-04-25 11:17:42 +02:00
board_nucleof103rb.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_nucleof722ze.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_nucleol031k6.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_nucleol432kc.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_nucleol552ze.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_nucleowl55jc.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_p1am-100.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_particle_argon.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_particle_boron.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_particle_xenon.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_pca10031.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_pca10040.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_pca10056.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_pca10059.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_pico.go boards: add Challenger RP2040 LoRa 2022-07-08 13:01:14 +02:00
board_pinetime-devkit0.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_pybadge.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_pygamer.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_pyportal.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_qtpy.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_qtpy_rp2040.go Remove unconnected simple LED pin from qtpy-rp2040 2022-09-09 11:05:12 +02:00
board_reelboard.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_stm32f4disco.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_stm32f469disco.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_swan.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
board_teensy36.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_teensy40.go board/teensy40: Add I2C support (#1471) 2022-06-22 11:28:50 +02:00
board_teensy41.go board: add definition for Teensy 4.1 (#2618) 2022-02-13 08:21:03 +01:00
board_thingplus_rp2040.go machine: reorder pin definitions to improve pin list on tinygo.org 2022-07-15 14:46:33 +02:00
board_trinket.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_trinkey_qt2040.go machine: Add support for Adafruit QT2040 board. 2022-08-28 10:16:52 +02:00
board_tufty2040.go Add Pimoroni's Tufty2040 board 2022-08-24 13:50:02 +02:00
board_wioterminal.go wioterminal: add UART3 for RTL8720DN 2022-09-01 19:22:01 +02:00
board_x9pro.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
board_xiao-ble.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_xiao-esp32c3.go boards: Add XIAO ESP32C3 board 2022-08-26 12:44:04 +02:00
board_xiao-rp2040.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
board_xiao.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
buffer.go Working on NXP/Teensy support 2020-07-08 21:58:15 +02:00
i2c.go stm32wlx: I2C implementation for gnse,lora-e5,nucleo-wl55jc boards 2021-12-23 23:45:28 +01:00
i2s.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine.go stm32wl: STM32WL TRNG implementation in crypto/rand 2021-12-11 12:25:08 +01:00
machine_atmega.go atmega2560: support UART1-3 2022-06-18 09:26:12 +02:00
machine_atmega328p.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atmega328pb.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_atmega1280.go machine: add PWM peripheral comments to pins 2022-09-05 18:56:34 +02:00
machine_atmega1284p.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_atmega2560.go avr: fix some apparent mistake in atmega1280/atmega2560 pin constants 2022-07-15 14:46:33 +02:00
machine_atsamd21.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsamd21_usb.go machine/usb: refactorings to move functionality under machine/usb package 2022-07-14 07:20:50 +02:00
machine_atsamd21e18.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsamd21g18.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsamd51.go machine: add PWM peripheral comments to pins 2022-09-05 18:56:34 +02:00
machine_atsamd51_usb.go machine/usb: refactorings to move functionality under machine/usb package 2022-07-14 07:20:50 +02:00
machine_atsamd51g19.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsamd51j19.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsamd51j20.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsamd51p19.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsamd51p20.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsame5x_can.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_atsame51j19.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_atsame54p20.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_attiny85.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_avr.go move AVR interrupt related code to runtime 2022-01-20 15:07:16 +01:00
machine_esp32.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_esp32c3.go esp32c3: provide hardware pin constants 2022-07-15 14:46:33 +02:00
machine_esp8266.go esp8266: provide hardware pin constants like GPIO2 2022-07-15 14:46:33 +02:00
machine_fe310.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_gameboyadvance.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_generic.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_generic_peripherals.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_k210.go compiler: remove support for memory references in AsmFull 2022-04-21 15:18:18 +02:00
machine_mimxrt1062.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_mimxrt1062_i2c.go board/teensy40: Add I2C support (#1471) 2022-06-22 11:28:50 +02:00
machine_mimxrt1062_spi.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_mimxrt1062_uart.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_nrf.go nrf: make GetRNG available to all chips 2022-09-17 06:08:54 +02:00
machine_nrf51.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_nrf52.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_nrf528xx.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_nrf52833.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_nrf52840.go machine/circuitplay-bluefruit: move pin mappings so board can be compiled for WASM use in Playground 2022-04-25 11:17:42 +02:00
machine_nrf52840_enter_bootloader.go samd21,samd51,nrf52840: unify bootloader entry process 2022-07-06 09:14:11 +02:00
machine_nrf52840_usb.go machine/usb: refactorings to move functionality under machine/usb package 2022-07-14 07:20:50 +02:00
machine_nrf52840_usb_reset_bossa.go samd21,samd51,nrf52840: unify bootloader entry process 2022-07-06 09:14:11 +02:00
machine_nrf52840_usb_reset_none.go samd21,samd51,nrf52840: unify bootloader entry process 2022-07-06 09:14:11 +02:00
machine_nrf52840_usb_reset_uf2.go samd21,samd51,nrf52840: unify bootloader entry process 2022-07-06 09:14:11 +02:00
machine_nxpmk66f18.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_nxpmk66f18_uart.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_rp2040.go machine: add PWM peripheral comments to pins 2022-09-05 18:56:34 +02:00
machine_rp2040_adc.go Pico adc input ch support (#2737) 2022-04-26 11:49:38 +02:00
machine_rp2040_clocks.go rp2040: fix incorrect inline assembly 2022-02-13 07:34:40 +01:00
machine_rp2040_enter_bootloader.go rp2040: add support for EnterBootloader() 2022-07-15 09:41:32 +02:00
machine_rp2040_gpio.go machine/rp2040: turn off pullup/down when not input type not specified 2022-07-27 21:45:45 +02:00
machine_rp2040_i2c.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_rp2040_pll.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_rp2040_pwm.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_rp2040_resets.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_rp2040_rng.go rp2040: do not use GetRNG in crypto/rand 2022-09-16 14:48:41 +02:00
machine_rp2040_spi.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_rp2040_sync.go machine/rp2040: add interrupt API 2021-11-12 10:38:02 +01:00
machine_rp2040_timer.go rp2040: replace sleep 'busy loop' with timer alarm 2022-05-17 12:41:24 +02:00
machine_rp2040_uart.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_rp2040_usb.go rp2040: usb: reset device address on bus reset 2022-07-26 06:47:16 +02:00
machine_rp2040_watchdog.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_rp2040_xosc.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_stm32.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_adc_f1.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_adc_f4.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_exti_afio.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_exti_exti.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_exti_syscfg.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_exti_syscfg_noenable.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_gpio_reva.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_gpio_revb.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_gpio_revb_mp.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_i2c_reva.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_i2c_revb.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_moder_gpio.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_stm32_rng.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_spi.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32_tim.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
machine_stm32_tim_moder.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
machine_stm32_uart.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32f4.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32f7.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32f7x2.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32f40x.go targets,runtime,machine: add support for the stm32f469-disco board 2021-12-31 10:30:48 +00:00
machine_stm32f103.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32f469.go targets,runtime,machine: add support for the stm32f469-disco board 2021-12-31 10:30:48 +00:00
machine_stm32l0.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32l0x1.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32l0x2.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32l4.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32l4x2.go stm32: add blues wireless swan 2022-01-13 07:56:08 +01:00
machine_stm32l4x5.go stm32: add blues wireless swan 2022-01-13 07:56:08 +01:00
machine_stm32l5.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32l5x2.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
machine_stm32wlx.go Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
pwm.go machine: refactor PWM support 2021-04-06 20:36:10 +02:00
serial-none.go serial: use common initialization for serial 2022-07-05 20:53:37 +02:00
serial-uart.go serial: use common initialization for serial 2022-07-05 20:53:37 +02:00
serial-usb.go samd21,samd51,nrf52840: move usbcdc to machine/usb/cdc (#2972) 2022-07-10 11:33:52 +02:00
serial.go all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
spi.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
uart.go all: update build constraints to Go 1.17 2022-02-04 07:49:46 +01:00
usb.go usb: adjust buffer alignment (samd21, samd51, nrf52840) 2022-07-20 08:05:52 +02:00