[Keyboard] Add Akko 5075B Plus - #26395
Open
rijojohn85 wants to merge 1 commit into
Open
Conversation
A 75% board with a rotary encoder and per-key RGB, in its wired USB configuration. No vendor sources are published, so the matrix pinout, diode direction and LED layout were recovered from the stock firmware image, and the encoder pins and LED power gates were found by probing the hardware. The lighting is a WS2812 chain on SPIM2's MOSI rather than an I2C matrix driver. WB32 takes the SPI divisor verbatim (SCK = PCLK / divisor) and needs 24 for 4MHz, which is the timing the stock firmware uses and puts T0H/T1H at 0.25us/0.75us. ws2812_spi.c previously accepted only power-of-two divisors on every platform, but the value is not mapped onto a register field on WB32, so the macro chain is skipped there; the nearest allowed value, 32, gives a 1.0us T1H that overruns the WS2812 "1" high time. Bluetooth and 2.4GHz are out of scope: they are driven by a separate radio module behind a proprietary stack. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RbWr8pTkbLsVZHQ6qvPcKP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds support for the Akko 5075B Plus, a 75% board with a rotary encoder and per-key RGB, in its wired USB configuration.
No vendor sources are published for this board, so the matrix pinout, diode direction and LED layout were recovered from the stock firmware image, and the encoder pins and LED power gates were found by probing the hardware. Everything here is verified on a physical board.
Note this is a different PCB to the
akko/5075that circulates under a similar name: 15 matrix columns against that board's 16, and an unrelated pinout. The two firmwares are not interchangeable.Bluetooth and 2.4GHz are deliberately out of scope — they are driven by a separate radio module behind a proprietary stack, so only wired USB is supported.
The core change
This touches one core file, and I am happy to split it into its own PR if you would prefer it reviewed separately.
ws2812_spi.caccepted only power-of-two values forWS2812_SPI_DIVISORon every platform. On WB32 that value is not mapped onto a register field at all — it is passed verbatim in the SPI config and used asSCK = PCLK / WS2812_SPI_DIVISOR— so the restriction is not meaningful there, and the macro chain is now skipped for WB32. The driver documentation is updated to match.It matters for this board because PCLK2 is 96MHz and the divisor needs to be 24 for 4MHz, matching the stock firmware and giving T0H/T1H of 0.25µs/0.75µs. The nearest permitted value, 32, produces 3MHz and a 1.0µs T1H, which overruns the WS2812 "1" high time.
Types of Changes
Checklist