66// PICO_CONFIG: PICO_RAND_ENTROPY_SRC_ROSC, Enable/disable use of ROSC as an entropy source, type=bool, default=1, group=pico_rand
67#ifndef PICO_RAND_ENTROPY_SRC_ROSC
68#define PICO_RAND_ENTROPY_SRC_ROSC 1
69#endif
70
71// PICO_CONFIG: PICO_RAND_ENTROPY_SRC_TIME, Enable/disable use of hardware timestamp as an entropy source, type=bool, default=1, group=pico_rand
72#ifndef PICO_RAND_ENTROPY_SRC_TIME
73#define PICO_RAND_ENTROPY_SRC_TIME 1
74#endif
75
76// PICO_CONFIG: PICO_RAND_ENTROPY_SRC_BUS_PERF_COUNTER, Enable/disable use of a bus performance counter as an entropy source, type=bool, default=1, group=pico_rand
85// PICO_CONFIG: PICO_RAND_SEED_ENTROPY_SRC_ROSC, Enable/disable use of ROSC as an entropy source for the random seed, type=bool, default=1, group=pico_rand
90// PICO_CONFIG: PICO_RAND_SEED_ENTROPY_SRC_TIME, Enable/disable use of hardware timestamp as an entropy source for the random seed, type=bool, default=1, group=pico_rand
95// PICO_CONFIG: PICO_RAND_SEED_ENTROPY_SRC_BOARD_ID, Enable/disable use of board id as part of the random seed, type=bool, default=1, group=pico_rand
96#ifndef PICO_RAND_SEED_ENTROPY_SRC_BOARD_ID
97#define PICO_RAND_SEED_ENTROPY_SRC_BOARD_ID 1
98#endif
99
100// PICO_CONFIG: PICO_RAND_SEED_ENTROPY_SRC_RAM_HASH, Enable/disable use of a RAM hash as an entropy source for the random seed, type=bool, default=1, group=pico_rand
101#ifndef PICO_RAND_SEED_ENTROPY_SRC_RAM_HASH
102#define PICO_RAND_SEED_ENTROPY_SRC_RAM_HASH 1
103#endif
104
105// ---------------------------------
106// PICO_RAND_ENTROPY_SRC_ROSC CONFIG
107// ---------------------------------
108
109// PICO_CONFIG: PICO_RAND_ROSC_BIT_SAMPLE_COUNT, Number of samples to take of the ROSC random bit per random number generation , min=1, max=64, default=1, group=pico_rand
110#ifndef PICO_RAND_ROSC_BIT_SAMPLE_COUNT
111#define PICO_RAND_ROSC_BIT_SAMPLE_COUNT 1
112#endif
113
114// PICO_CONFIG: PICO_RAND_MIN_ROSC_BIT_SAMPLE_TIME_US, Define a default minimum time between sampling the ROSC random bit, min=5, max=20, default=10, group=pico_rand
115#ifndef PICO_RAND_MIN_ROSC_BIT_SAMPLE_TIME_US
116// (Arbitrary / tested) minimum time between sampling the ROSC random bit
124// PICO_CONFIG: PICO_RAND_BUS_PERF_COUNTER_INDEX, Bus performance counter index to use for sourcing entropy, min=0, max=3, group=pico_rand
125// this is deliberately undefined by default, meaning the code will pick that appears unused
126//#define PICO_RAND_BUS_PERF_COUNTER_INDEX 0
127
128// PICO_CONFIG: PICO_RAND_BUS_PERF_COUNTER_EVENT, Bus performance counter event to use for sourcing entropy, default=arbiter_sram5_perf_event_access, group=pico_rand
137// PICO_CONFIG: PICO_RAND_RAM_HASH_END, end of address in RAM (non-inclusive) to hash during pico_rand seed initialization, default=SRAM_END, group=pico_rand
138#ifndef PICO_RAND_RAM_HASH_END
139#define PICO_RAND_RAM_HASH_END SRAM_END
140#endif
141// PICO_CONFIG: PICO_RAND_RAM_HASH_START, start of address in RAM (inclusive) to hash during pico_rand seed initialization, default=PICO_RAND_RAM_HASH_END-1024, group=pico_rand