Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add support for S5L8720 in various places

Due to its similarity with S5L8702, clickwheel support and sleep can be used as-is on S5L8720. DRAM and IRAM are also configured.

Change-Id: I52f8a3417e6a25c7360b1cae2fb5eed621e2e0db

authored by

Vencislav Atanasov and committed by
Solomon Peachy
d7b57e33 6691214e

+20 -13
+8 -1
apps/plugins/plugin.lds
··· 76 76 #else 77 77 #define DRAMSIZE (DRAM_SIZE - PLUGIN_BUFFER_SIZE - STUBOFFSET - CODEC_SIZE - TTB_SIZE) 78 78 #endif 79 - #elif CONFIG_CPU==S5L8702 79 + #elif CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 80 80 #define ASM 81 81 #include "cpu.h" 82 82 #define DRAMSIZE (DRAM_SIZE - PLUGIN_BUFFER_SIZE - CODEC_SIZE - TTB_SIZE) ··· 172 172 #define DRAMORIG 0x08000000 173 173 #define IRAMORIG (0x00000000 + (48*1024)) 174 174 #define IRAMSIZE (80*1024) 175 + 176 + #elif CONFIG_CPU==S5L8720 177 + /* S5L8720 have 192KB of IRAM */ 178 + /* TODO: check if IRAM1 is also slow as in S5L8702 above */ 179 + #define DRAMORIG 0x08000000 180 + #define IRAMORIG (0x00000000 + (56*1024)) 181 + #define IRAMSIZE (136*1024) 175 182 176 183 #elif CONFIG_CPU == JZ4732 || CONFIG_CPU == JZ4760B 177 184 #undef STUBOFFSET
+1 -1
bootloader/SOURCES
··· 4 4 5 5 #if defined(IPOD_NANO2G) 6 6 ipodnano2g.c 7 - #elif defined(IPOD_6G) 7 + #elif defined(IPOD_6G) || defined(IPOD_NANO3G) || defined(IPOD_NANO4G) 8 8 ipod-s5l87xx.c 9 9 #elif defined(IPOD_ARCH) 10 10 ipod.c
+1 -1
firmware/export/cpu.h
··· 56 56 #if CONFIG_CPU == S5L8700 || CONFIG_CPU == S5L8701 57 57 #include "s5l8700.h" 58 58 #endif 59 - #if CONFIG_CPU == S5L8702 59 + #if CONFIG_CPU == S5L8702 || CONFIG_CPU == S5L8720 60 60 #include "s5l8702.h" 61 61 #endif 62 62 #if CONFIG_CPU == JZ4732
+9 -9
firmware/target/arm/ipod/button-clickwheel.c
··· 42 42 #ifdef IPOD_NANO2G 43 43 #include "pmu-target.h" 44 44 #endif 45 - #ifdef IPOD_6G 45 + #if defined(IPOD_6G) || defined(IPOD_NANO3G) || defined(IPOD_NANO4G) 46 46 #include "pmu-target.h" 47 47 #include "clocking-s5l8702.h" 48 48 #endif ··· 53 53 54 54 #ifdef CPU_PP 55 55 #define CLICKWHEEL_DATA (*(volatile unsigned long*)(0x7000c140)) 56 - #elif CONFIG_CPU==S5L8701 || CONFIG_CPU==S5L8702 56 + #elif CONFIG_CPU==S5L8701 || CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 57 57 #define CLICKWHEEL_DATA WHEELRX 58 58 #else 59 59 #error CPU architecture not supported! ··· 87 87 static bool send_events = true; 88 88 #endif 89 89 90 - #if CONFIG_CPU==S5L8701 || CONFIG_CPU==S5L8702 90 + #if CONFIG_CPU==S5L8701 || CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 91 91 static struct semaphore button_init_wakeup; 92 92 #endif 93 93 ··· 267 267 outl(inl(0x7000c104) | 0x04000000, 0x7000c104); 268 268 outl(inl(0x7000c100) | 0x60000000, 0x7000c100); 269 269 } 270 - #if CONFIG_CPU==S5L8701 || CONFIG_CPU==S5L8702 270 + #if CONFIG_CPU==S5L8701 || CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 271 271 else if ((status & 0x8000FFFF) == 0x8000023A) 272 272 { 273 273 if (status & 0x00010000) ··· 379 379 WHEELTX = 0x8000023A; 380 380 WHEEL04 |= 1; 381 381 PDAT10 &= ~2; 382 - #elif CONFIG_CPU==S5L8702 382 + #elif CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 383 383 clockgate_enable(CLOCKGATE_CWHEEL, true); 384 384 PCONE = (PCONE & ~0x00ffff00) | 0x00222200; 385 385 WHEEL00 = 0; /* stop s5l8702 controller */ ··· 410 410 PCON15 = PCON15 & ~0xffff0000; 411 411 else PCON15 = (PCON15 & ~0xffff0000) | 0x22220000; 412 412 return value; 413 - #elif CONFIG_CPU==S5L8702 413 + #elif CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 414 414 return pmu_holdswitch_locked(); 415 415 #endif 416 416 } ··· 419 419 { 420 420 #if CONFIG_CPU==S5L8701 421 421 return ((PDAT14 & (1 << 5)) != 0); 422 - #elif CONFIG_CPU==S5L8702 422 + #elif CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 423 423 return ((PDATA & (1 << 6)) != 0); 424 424 #endif 425 425 } ··· 453 453 WHEEL00 = 0; 454 454 WHEEL10 = 0; 455 455 PWRCONEXT |= 1; 456 - #elif CONFIG_CPU==S5L8702 456 + #elif CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 457 457 WHEEL00 = 0; 458 458 PCONE = (PCONE & ~0x00ffff00) | 0x000e0e00; 459 459 clockgate_enable(CLOCKGATE_CWHEEL, false); ··· 468 468 #elif CONFIG_CPU==S5L8701 469 469 /*pmu_ldo_power_on(1);*/ /* enable clickwheel power supply */ 470 470 s5l_clickwheel_init(); 471 - #elif CONFIG_CPU==S5L8702 471 + #elif CONFIG_CPU==S5L8702 || CONFIG_CPU==S5L8720 472 472 s5l_clickwheel_init(); 473 473 #endif 474 474 }
+1 -1
firmware/target/arm/system-arm.h
··· 385 385 #if defined(CPU_TCC780X) /* Single core only for now */ \ 386 386 || CONFIG_CPU == IMX31L || CONFIG_CPU == DM320 || CONFIG_CPU == AS3525 \ 387 387 || CONFIG_CPU == S3C2440 || CONFIG_CPU == S5L8701 || CONFIG_CPU == AS3525v2 \ 388 - || CONFIG_CPU == S5L8702 388 + || CONFIG_CPU == S5L8702 || CONFIG_CPU == S5L8720 389 389 /* Use the generic ARMv4/v5/v6 wait for IRQ */ 390 390 static inline void core_sleep(void) 391 391 {