summaryrefslogtreecommitdiffstats
path: root/firmware
AgeCommit message (Collapse)AuthorFilesLines
2020-09-28fix x20 and yp-r1 builds.Solomon Peachy1-1/+1
Change-Id: Ifc6638c2ed6bc862ded389f1b81f30c7a0419ec0
2020-09-28xduoo: x3ii and x20 also have their CPUs clocked at 1008 MHz.Solomon Peachy2-2/+2
Change-Id: I59fbd1edc934a6e2b2323e13b4efc3cc1caad903
2020-09-28xduoox20: UI Simulator supportSolomon Peachy3-9/+14
Change-Id: I2a03cea07fbad9fb5862ca69e4cfca2e8ca6b17f
2020-09-29rocker: CPU is actually running at 1008MHz, not 532.Solomon Peachy1-1/+1
Change-Id: If5204574cb604d1ea82f0863d300468bedcf541d
2020-09-29hosted: Slightly cleaner shutdown; kill the display first.Solomon Peachy1-0/+4
Change-Id: I620d7afb2eb0556cde07c7828b134b13892e6db4
2020-09-29rocker: Increase the long-press shutdown delay a bit.Solomon Peachy1-1/+1
Change-Id: Ief64f3d39556efa7de7df32eb7613a29a466a02e
2020-09-18jz4760: Implement USB DMA RXSolomon Peachy1-22/+135
Can be disabled at runtime by setting hold switch. Boosts sysbench sequential write performance by 34-58% Change-Id: I060c9d7dddc1b448f18aa46af8f8aff046e07843
2020-09-18Headphone / lineout pause/resume #FS13237William Wilgus2-1/+5
Allow Lineout to behave like headphone port in regards to plug/unplug pause/resume Change-Id: I9cb2c9c40e0bdf3bf7e1e272164acd343f6b3850
2020-09-17jz4760: Heavily rework USB driver to add working DMA supportSolomon Peachy3-139/+257
* DMA Bulk IN (ie our TX) results in sequential transfers 33-68% faster. * DMA Bulk OUT (ie RX) is mostly stripped out due to complete brokenness. * Interrupt and control endpoints remain PIO-driven. Other improvements: 1) Use consistent endpoint references (no magic numbers) 2) Greatly enhanced logging 3) DMA support can be compiled out completely 4) Setting lockswitch will disable all DMA operations at runtime 5) Much more robust error checking and recovery Change-Id: I57b82e655e55ced0dfe289e379b0b61d8fe443b4
2020-09-17Xduoo X3 add headphone and lineout status to IO Ports debug menuWilliam Wilgus1-13/+30
Change-Id: I9caf55c1249625dff7e437158afd20a526fa7499
2020-09-13Xduoo X3 no ADC after ROLOWilliam Wilgus2-0/+8
Speachy suggested we don't shut down the adc on ROLO this fixes the random adc drop out on ROLO Change-Id: Ife7d679ce51a6f767963210ee650815f1de12223
2020-09-13Xduoo X3 Add tree scrolling FS#13240, Emulate Multibutton pressesWilliam Wilgus2-19/+50
Fixes deficiencies with the button system on the X3 The x3 has an interesting button layout. Multiple key presses are NOT supported unless [BUTTON_POWER] is one of the combined keys As you can imagine this causes problems as the power button takes precedence in the button system and initiates a shutdown if the key is held too long instead of BUTTON_POWER use BUTTON_PWRALT in combination with other keys IF using as a prerequsite button then BUTTON_POWER should be used Multiple buttons are emulated by button_read_device but there are a few caveats to be aware of: Button Order Matters! different keys have different priorities, higher priority keys 'overide' the lower priority keys VOLUP[7] VOLDN[6] PREV[5] NEXT[4] PLAY[3] OPTION[2] HOME[1] There will be no true release or repeat events, the user can let off the button pressed initially and it will still continue to appear to be pressed as long as the second key is held Tree scrolling is PLAY+NEXT or PLAY+PREV Change-Id: I88dfee1c70a6a99659e8227f5becacc50cc43910
2020-09-08XduooX3 LCD tweaks #2William Wilgus1-48/+110
Group commands for a bit more speed bitdelay was not being inlined lower bitdelay to 12 cycles Clean-up magic numbers Change-Id: Ifeb57a5532807a598f1ec5e1c55f03e4aa1e133f
2020-09-06XduooX3 Gpio reconfigure button system #2William Wilgus1-79/+45
Fix issue with first battery sample taking 30 seconds Clean up code Change-Id: If2437d241e0ab4e3d23b141f5d853b6cf3209b07
2020-09-06jz4760: Fix and re-enable the hardware udelay() timerSolomon Peachy1-12/+19
Change-Id: I591b4f023776b3501fce03e08bfc87a355f4c69b
2020-09-06jz4760: Use a #define for the timer id, not a raw numberSolomon Peachy1-15/+17
Change-Id: Ic31267a2ae82beede72100c1cc5ddf7211aa0abe
2020-09-05mips: Convert 'nop' to 'ssnop' -- for future-proofingSolomon Peachy6-77/+77
Change-Id: I17625f4d56a1f5205887cb47668a2dcb628053f4
2020-09-04jz47xx: Audio path tweaks:Solomon Peachy5-0/+10
* Increase audio buffer size to better handle IRQ latency (256->2048) * Ensure DMA engine is idle prior to starting transfers * Set AIC to repeat last sample in case of underflows Change-Id: I9c45c20481ee072e5882b7586fb7d50bd8ef2f35
2020-09-03Xduoo Gpio fix bugWilliam Wilgus1-0/+3
Change-Id: I76eda59a391a408d1a6642497d8cc4aeb93a0da1
2020-09-03mips: Heavily rework DMA & caching codeSolomon Peachy16-128/+187
Based on code originally written by Amaury Pouly (g#1789, g#1791, g#1527) but rebased and heavily updated. Change-Id: Ic794abb5e8d89feb4b88fc3abe854270fb28db70
2020-09-03XduooX3 Gpio reconfigure button systemWilliam Wilgus1-14/+69
only check button values with adc when buttons are actually pressed battery level check frequency is now around 30 seconds switched to polling for the battery voltage w/ timeout Ifdef functions Allow BACK OPTION PLAY to be the first of a two key combo Change-Id: Icb48d62ac8d82b4dc931df5e1c5b4a84a9a69772
2020-09-02jz4760: Dial down PIXCLK as low as possibleSolomon Peachy1-0/+3
We don't use it on the X3. Should we ever get another jz4760 target we can revisit this. Change-Id: I591d02c7e47b35424b3c96b776b31a38e3c8ceee
2020-09-02xduoox3: Disable the LCD and MSC0 clocks as we don't use themSolomon Peachy2-2/+5
Change-Id: If2261aed464fcbe3ea1f036dd18376fa8ff42e69
2020-09-02XduooX3 Slow down greylib framerateWilliam Wilgus1-1/+4
halves cpu usage Change-Id: I3797b01ecd2f7615acfed53a77d8a1f51e947c8b
2020-09-02XduooX3 Debug Menu -- HW_infoWilliam Wilgus1-128/+339
add scrolling for clocks and such moved to a switch based structure.. this ends up a lot cleaner Change-Id: I940506c4b8dc73f0b776d20810780527cbf7e0d4
2020-09-02mips: use .set push/pop in asm codeSolomon Peachy2-9/+11
Change-Id: I3e7bc7ffb8d6d0c5d18a6ab38b1a270559a62fb9
2020-08-31jz4760: use SYSFONT in the hw info debug screen, and restore old fontSolomon Peachy1-1/+2
Change-Id: I0c2df20a8c87f7a5bdf25d59904d32806171a544
2020-08-31fonts: Use '08-Rockfont' as FONT_SYSFIXED on targets with 128x64 screensSolomon Peachy1-3/+6
..It's already the default UI font on those targets Change-Id: If8cb44da650d19882e4bd4b641af2f4fa59c1cd1
2020-08-31Xduoo_x3 Boot Fix red from debug menu changesWilliam Wilgus1-1/+1
Change-Id: I1a84cf28f8a3416d661a8e2e4dd31c9e86f50ba0
2020-08-31xduooX3 debug menu add GPIO IO PortsWilliam Wilgus1-0/+83
Change-Id: I6ca9f005e412240235354b9369bcc3f4a4ad256f
2020-08-30xduoox3: Fix bootloader buildSolomon Peachy1-0/+7
Change-Id: Ia2f2dba4a263c82aebc7fab9da4ad69ef90565ea
2020-08-30jz4760: Explicitly disable UARTs at startupSolomon Peachy3-2/+24
(Bootloader uses UART1, and leaves it running when it hands it off to us) Change-Id: Icde1d713574582f18e9f91b5c95f3917fe324b74
2020-08-30XduooX3 Tweak LCD drive strength and slewWilliam Wilgus2-7/+17
Change-Id: Ic5ee9e700a0c8acffc39b51cedc24ff44d230fd3
2020-08-30xduoox3: Use correct "ms_clk" divider for SADC and be smarter with pollingSolomon Peachy1-4/+14
Change-Id: Ibbbcd9fd1e7e2cfa896678cccaa00296c86c2c62
2020-08-30jz4760: Prioritize Audio DMA and TCU0 (systick) above all othersSolomon Peachy2-39/+21
(And loop in the IRQ handler to make sure we catch everything!) Change-Id: I813272c69e981fdc214ec28448ced403ad366ea0
2020-08-30jz4760: Revert back to the delay loop udelay()Solomon Peachy1-1/+1
... the timer-based version used the same timer as our os tick! Change-Id: Id84b308bfa1145cb8806e1029f2ca26159fb71e1
2020-08-29jz4760: Rework IRQ priorities, make audio the highest.Solomon Peachy1-10/+29
(it was effectively the _lowest_ prior to this. wtf?) Change-Id: I6905c5ba0d87a5e14aeae5d5b79f8f515ac5b806
2020-08-29jz4760: Disable dynamic clocking entirely.Solomon Peachy2-4/+4
Back off to 480MHz [max] clock, bus/mem clock of 120MHz. 576 is unstable on at least one unit, and 528 still glitches. Change-Id: I020e48532524e739f3bfa42bed570381ccd34959
2020-08-29XduooX3 Sources WS changesWilliam Wilgus5-147/+147
Change-Id: I17ae59e7ef0440756527ce50ab30f8bf34f79007
2020-08-29cs4398: Change default volume to -25 dB (from 0 dB)Solomon Peachy1-1/+1
Change-Id: Iac216951b6f21bd83bb1d529e231bbb3e0aa0da6
2020-08-29Xduoo X3 Tweak LCD settingsWilliam Wilgus2-12/+122
Adds contrast setting which actually sets the drive voltage Change-Id: I173238e2efe9e50c6ef4cda9bf991e7ee5568ff5
2020-08-29jz4760: do the MSC (ie SD) clocking setup when we change PLL0Solomon Peachy2-31/+13
Change-Id: Ia17b1d7069af507c3f029bcaed0f65e7e97df275
2020-08-29xduoox3: When not using dynamic clocks, use max cpuSolomon Peachy1-3/+5
Change-Id: I789bb4eccc5b663156f5d1b7cd5d291b60ccb18d
2020-08-28xduoox3: enable HAVE_GUI_BOOSTSolomon Peachy1-0/+3
Change-Id: I719057b3539d6fb80cef10238a13c5071def1be5
2020-08-28jz4740: Timer not re-enabled properlySolomon Peachy1-3/+3
(same fix as g#2703 for the jz4760) Change-Id: Ic6467d9e6085e3057528b6d1a08b7c07e9dceab4
2020-08-28Xduoo_X3 Fix timer_set_period fail to reenableWilliam Wilgus1-1/+1
when timer_set_period is called timer is stopped but never reenabled Change-Id: I5cfc7a2d5620ff998005e013952b25f1e0a52754
2020-08-28jz4760: Pull non-PLL init out of pll0_init() code.Solomon Peachy1-16/+15
So it only gets called once, at system startup. Change-Id: I4c191519009e80dfb118065391295c88a014d25a
2020-08-27Xduoo X3 - Grey scale lib updateWilliam Wilgus2-44/+45
greylib on the xduoo x3 now matches the rest of the 1bit targets Change-Id: I2685869da6734404356552cc9f4ed5f59ebd6650
2020-08-26xduoox3: Include curves for both battery typesSolomon Peachy2-6/+16
There is no way to detect this at runtime so it is a user setting Change-Id: Ibc5b87312238c59e3678d512af27e3a3bcb9a58a
2020-08-26jz4760: fix the new udelay() to use _micro_seconds, not millisecondsSolomon Peachy1-4/+6
Change-Id: I4877b1c8e4a95259b5ade126e28458b65fbd3c4b