This commit is contained in:
Jeff Epler 2025-03-28 12:40:54 -07:00 committed by GitHub
commit 848117cda7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 34 additions and 25 deletions

View file

@ -23,9 +23,6 @@ jobs:
with: with:
release: '13.2.Rel1' release: '13.2.Rel1'
- name: install sdl
run: sudo apt-get update && sudo apt-get install -y eatmydata && sudo eatmydata apt-get install -y libsdl2-dev
- name: get submodules - name: get submodules
run: git submodule update --init --recursive run: git submodule update --init --recursive
@ -37,6 +34,8 @@ jobs:
./fetch-rom-dsk.sh ./fetch-rom-dsk.sh
./fruitjam-build.sh -m 4096 ./fruitjam-build.sh -m 4096
./fruitjam-build.sh -m 4096 -v ./fruitjam-build.sh -m 4096 -v
./fruitjam-build.sh -m 4096 -o
./fruitjam-build.sh -m 4096 -v -o
./fruitjam-build.sh -m 400 ./fruitjam-build.sh -m 400
./fruitjam-build.sh -m 400 -v ./fruitjam-build.sh -m 400 -v
./fruitjam-build.sh -m 400 -o ./fruitjam-build.sh -m 400 -o

View file

@ -31,7 +31,7 @@ static void __no_inline_not_in_flash_func(set_qmi_timing)() {
#endif #endif
#ifndef RP2350_PSRAM_MAX_SCK_HZ #ifndef RP2350_PSRAM_MAX_SCK_HZ
#define RP2350_PSRAM_MAX_SCK_HZ (109000000) #define RP2350_PSRAM_MAX_SCK_HZ (66777777)
#endif #endif
#define SEC_TO_FS 1000000000000000ll #define SEC_TO_FS 1000000000000000ll
@ -62,6 +62,7 @@ static void __no_inline_not_in_flash_func(set_psram_timing)(void) {
printf("syshz=%u\n", sysHz); printf("syshz=%u\n", sysHz);
printf("Max Select: %d, Min Deselect: %d, clock divider: %d\n", maxSelect, minDeselect, clockDivider); printf("Max Select: %d, Min Deselect: %d, clock divider: %d\n", maxSelect, minDeselect, clockDivider);
printf("PSRAM clock rate %.1fMHz\n", (float)sysHz / clockDivider / 1e6);
qmi_hw->m[1].timing = QMI_M1_TIMING_PAGEBREAK_VALUE_1024 << QMI_M1_TIMING_PAGEBREAK_LSB | // Break between pages. qmi_hw->m[1].timing = QMI_M1_TIMING_PAGEBREAK_VALUE_1024 << QMI_M1_TIMING_PAGEBREAK_LSB | // Break between pages.
3 << QMI_M1_TIMING_SELECT_HOLD_LSB | // Delay releasing CS for 3 extra system cycles. 3 << QMI_M1_TIMING_SELECT_HOLD_LSB | // Delay releasing CS for 3 extra system cycles.
@ -142,10 +143,6 @@ void overclock(enum clk_sys_speed clk_sys_div, uint32_t bit_clk_khz) {
stdio_init_all(); stdio_init_all();
set_psram_timing(); set_psram_timing();
#define SHOW_CLK(i) printf("clk_get_hz(%s) -> %u\n", #i, clock_get_hz(i)); #define SHOW_CLK(i) printf("clk_get_hz(%s) -> %u\n", #i, clock_get_hz(i));
SHOW_CLK(clk_gpout0);
SHOW_CLK(clk_gpout1);
SHOW_CLK(clk_gpout2);
SHOW_CLK(clk_gpout3);
SHOW_CLK(clk_ref); SHOW_CLK(clk_ref);
SHOW_CLK(clk_sys); SHOW_CLK(clk_sys);
SHOW_CLK(clk_peri); SHOW_CLK(clk_peri);

View file

@ -480,27 +480,40 @@ static void __no_inline_not_in_flash_func(setup_psram)(void) {
int main() int main()
{ {
#if defined(OVERCLOCK) && OVERCLOCK+0 setup_psram();
#if OVERCLOCK
overclock(CLK_SYS_264MHZ, 252000); overclock(CLK_SYS_264MHZ, 252000);
#endif #endif
// set_sys_clock_khz(250*1000, true);
setup_psram();
stdio_init_all(); stdio_init_all();
io_init();
#define SHOW_CLK(i) printf("clk_get_hz(%s) -> %u\n", #i, clock_get_hz(i)); printf("psram size %u\n", _psram_size);
SHOW_CLK(clk_gpout0);
SHOW_CLK(clk_gpout1); #ifndef RAM_TEST
SHOW_CLK(clk_gpout2); #define RAM_TEST (0)
SHOW_CLK(clk_gpout3); #endif
SHOW_CLK(clk_ref);
SHOW_CLK(clk_sys); #if RAM_TEST
SHOW_CLK(clk_peri); for(int pass=0; pass<10; pass++) {
SHOW_CLK(clk_hstx); uint8_t acc = 1;
SHOW_CLK(clk_usb); for(int i=0; i < _psram_size; i++) {
SHOW_CLK(clk_adc); umac_ram[i] = acc;
acc = acc * 13 + 21;
}
acc = 1;
for(int i=0; i < _psram_size; i++) {
uint8_t ri = umac_ram[i];
if(ri != acc) {
panic("[%08x] Stored %02x read %02x", i, acc, ri);
}
acc = acc * 13 + 21;
}
printf("ram test pass %d OK\n", pass);
}
#endif
io_init();
#if ENABLE_AUDIO #if ENABLE_AUDIO
audio_setup(); audio_setup();