-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Add Support for simultaneous use of JustBoom DAC and JustBoom Digi based Audio boards #3337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: rpi-4.19.y
Are you sure you want to change the base?
Conversation
When using multiple codecs, at most one codec should generate the master clock. All codecs except the first are therefore configured for slave mode.
|
I have a few problems with this PR:
|
|
Just weighing in about number 3...the zero boards are stackable using one of the through board headers used on the official PoE and the Sense HAT. The Digi HAT and DAC HAT have non-populated headers which allow you to stack boards on top of each other if you were to solder a header in. Last, but not least, we are doing a board revision soon to change the HAT boards to use the same header as the zero boards so they will be more easilly stackable. |
|
@shawaj Is this dual-headed approach something you are going to be promoting? |
|
@pelwell yes we intend to promote it in the future |
When using multiple codecs, at most one codec should generate the master clock. All codecs except the first are therefore configured for slave mode. Before this patch all codecs in a multicodec setup had to be slaves. This is needed when e.g., connecting multiple sound hats for simultaneous playback to the raspberry pi I2S output and one of the sound hats generates the I2S clocks (raspberrypi/linux#3337). I checked the raspberry pi kernel tree for multicodec usage with `fgrep num_codecs -R sound/soc/` and verified that all existing multicodec drivers with hardcoded format have indeed configured all codecs for slave mode. Doing a similar check on the current for-5.5 tree is more difficult since .num_codecs is now hidden behind a preprocessor macro. Signed-off-by: Johannes Krude <[email protected]>
68ead61 to
c1d96b8
Compare
|
To answer the raised questions:
|
|
The overlay and README look fine - the checker has no complaints. Please run |
|
The pull request now follows the Linux kernel coding style. The upstream patch did not receive any response within 12 days. Can you give any hints on how to get upstream to look at this patch? |
|
I'd just post a follow-up message asking politely for a review. In the meantime I've added Signed-off-by: lines and merged the patches into 4.19. |
kernel: dwc_otg: checking the urb->transfer_buffer too early See: raspberrypi/linux#3341 kernel: overlays: Make mcp342x run-time compatible See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=258294 kernel: Add Support for simultaneous use of JustBoom DAC and JustBoom Digi based Audio boards See: raspberrypi/linux#3337 kernel: drm/vc4: Correct disabling of render nodes See: raspberrypi/linux#3365 firmware: power: Use Pi4 PMIC values on Pi3+ firmware: Fix filtered handling of array variables See: #1296 firmware: Update libfdt to v1.5.1+ See: raspberrypi/userland#582 firmware: dtoverlay: Extend DT parameter syntax firmware: memorymap: Include FW revision in start.elf userland: mmal: Support 64 bit clients See: raspberrypi/userland#586
kernel: dwc_otg: checking the urb->transfer_buffer too early See: raspberrypi/linux#3341 kernel: overlays: Make mcp342x run-time compatible See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=258294 kernel: Add Support for simultaneous use of JustBoom DAC and JustBoom Digi based Audio boards See: raspberrypi/linux#3337 kernel: drm/vc4: Correct disabling of render nodes See: raspberrypi/linux#3365 firmware: power: Use Pi4 PMIC values on Pi3+ firmware: Fix filtered handling of array variables See: raspberrypi/firmware#1296 firmware: Update libfdt to v1.5.1+ See: raspberrypi/userland#582 firmware: dtoverlay: Extend DT parameter syntax firmware: memorymap: Include FW revision in start.elf userland: mmal: Support 64 bit clients See: raspberrypi/userland#586
These two commits enable the simultaneous use of a JustBoom DAC and JustBoom Digi board, such that both simultaneously produce the same audio output. The first commit is necessary since the sound/soc layer does not yet support multicodec setups with one codec being the master. All existing multicodec drivers have all codecs as slave and the soc as master. I tested all changes using a pi zero with extra long pin headers, where both an JustBoom DAC Zero and a JustBoom Digi Zero is connected.